X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=type_t.h;h=a8f07fce49d6d87f1f1a490c1838dcf82d724cfe;hb=a25daef22bc375bea28f7c8965c69edec5679e84;hp=0773f70feb894902fef8bb26c00b7fbc88bf322a;hpb=02f47f268839c472e23095ac0025e5ccbb5ed70a;p=cparser diff --git a/type_t.h b/type_t.h index 0773f70..a8f07fc 100644 --- a/type_t.h +++ b/type_t.h @@ -116,6 +116,13 @@ struct function_parameter_t { function_parameter_t *next; /**< Points to the next type inthe parameter list.*/ }; +/** Linkage specifications. */ +typedef enum linkage_kind_t { + LINKAGE_INVALID, + LINKAGE_C, /**< C linkage. */ + LINKAGE_CXX /**< C++ linkage. */ +} linkage_kind_t; + /** Calling conventions. */ typedef enum cc_kind_t { CC_DEFAULT, /**< default calling convention. */ @@ -132,7 +139,8 @@ struct function_type_t { type_base_t base; type_t *return_type; /**< The return type. */ function_parameter_t *parameters; /**< A list of the parameter types. */ - symbol_t *linkage; + linkage_kind_t linkage; + cc_kind_t calling_convention; /**< The specified calling convention. */ bool variadic : 1; bool unspecified_parameters : 1; bool kr_style_parameters : 1;