if (modifiers & DM_USED) {
add_entity_linkage(irentity, IR_LINKAGE_HIDDEN_USER);
}
+ if (modifiers & DM_WEAK) {
+ add_entity_linkage(irentity, IR_LINKAGE_WEAK);
+ }
}
static bool is_main(entity_t *entity)
case ATTRIBUTE_GNU_UNUSED: modifiers |= DM_UNUSED; break;
case ATTRIBUTE_GNU_DLLIMPORT: modifiers |= DM_DLLIMPORT; break;
case ATTRIBUTE_GNU_DLLEXPORT: modifiers |= DM_DLLEXPORT; break;
+ case ATTRIBUTE_GNU_WEAK: modifiers |= DM_WEAK; break;
case ATTRIBUTE_MS_ALLOCATE: modifiers |= DM_MALLOC; break;
case ATTRIBUTE_MS_DLLIMPORT: modifiers |= DM_DLLIMPORT; break;
DM_DEPRECATED = 1 << 24,
DM_RETURNS_TWICE = 1 << 25,
DM_MALLOC = 1 << 26,
+ DM_WEAK = 1 << 27,
} decl_modifier_t;
/**