X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=entity_t.h;h=7c54b353d4f5f8905e03165d9395999994d705c4;hb=bf69cc60f5e4c0743513754dec05978a57d5e76c;hp=c9e2294a5df48755b54f7748cc55d45f11c8abbf;hpb=02f47f268839c472e23095ac0025e5ccbb5ed70a;p=cparser diff --git a/entity_t.h b/entity_t.h index c9e2294..7c54b35 100644 --- a/entity_t.h +++ b/entity_t.h @@ -57,13 +57,11 @@ typedef enum storage_class_tag_t { STORAGE_CLASS_TYPEDEF, STORAGE_CLASS_AUTO, STORAGE_CLASS_REGISTER, - STORAGE_CLASS_THREAD, - STORAGE_CLASS_THREAD_EXTERN, - STORAGE_CLASS_THREAD_STATIC, } storage_class_tag_t; typedef unsigned char storage_class_t; typedef enum decl_modifier_t { + DM_NONE = 0, DM_DLLIMPORT = 1 << 0, DM_DLLEXPORT = 1 << 1, DM_THREAD = 1 << 2, @@ -124,6 +122,7 @@ struct entity_base_t { struct compound_t { entity_base_t base; + entity_t *alias; /* used for name mangling of anonymous types */ scope_t members; decl_modifiers_t modifiers; bool complete : 1; @@ -136,6 +135,7 @@ struct compound_t { struct enum_t { entity_base_t base; + entity_t *alias; /* used for name mangling of anonymous types */ bool complete : 1; /* ast2firm info */ @@ -198,6 +198,7 @@ struct compound_member_t { struct variable_t { declaration_t base; + bool thread_local : 1; /**< GCC __thread */ bool address_taken : 1; /**< Set if the address of this declaration was taken. */ bool read : 1; unsigned char alignment; /**< Alignment of the declaration, 0 for default. */