+ return is_linker_constant(expression->conditional.false_expression);
+ }
+ }
+
+ case EXPR_SELECT: {
+ entity_t *entity = expression->select.compound_entry;
+ if (!is_declaration(entity))
+ return EXPR_CLASS_VARIABLE;
+ type_t *type = skip_typeref(entity->declaration.type);
+ if (is_type_array(type)) {
+ /* arrays automatically convert to their address */
+ expression_t *compound = expression->select.compound;
+ type_t *base_type = skip_typeref(compound->base.type);
+ if (is_type_pointer(base_type)) {
+ /* it's a -> */
+ return is_linker_constant(compound);
+ } else {
+ return is_object_with_linker_constant_address(compound);
+ }