X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=attribute.c;h=1ea8f1d126f29a08c7c222c1bffa0a348036f590;hb=1c4f7c9f6ddb6c289ccab22a3795ebc6facfd518;hp=9385333b207912f80f0f40519a9668d62eed4887;hpb=9901ca07efc9af25e27ace2a0bd5885c3ddd6d5e;p=cparser diff --git a/attribute.c b/attribute.c index 9385333..1ea8f1d 100644 --- a/attribute.c +++ b/attribute.c @@ -242,7 +242,7 @@ static void warn_arguments(const attribute_t *attribute) if (warning.other) { warningf(&attribute->source_position, - "attribute '%s' needs no attributes", + "attribute '%s' needs no arguments", get_attribute_name(attribute->kind)); } } @@ -310,6 +310,7 @@ void handle_entity_attributes(const attribute_t *attributes, 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; @@ -378,7 +379,7 @@ type_t *handle_type_attributes(const attribute_t *attributes, type_t *type) switch(attribute->kind) { case ATTRIBUTE_GNU_PACKED: handle_attribute_packed(attribute, type); - break; + break; case ATTRIBUTE_GNU_CDECL: case ATTRIBUTE_MS_CDECL: type = change_calling_convention(type, CC_CDECL); @@ -419,7 +420,7 @@ const char *get_deprecated_string(const attribute_t *attribute) expression_t *expression = argument->v.expression; if (expression->kind != EXPR_STRING_LITERAL) return NULL; - return expression->string.value.begin; + return expression->literal.value.begin; } return NULL; }