X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ast_t.h;h=bbabdcac6ed3fe44c2d7b83993359def6afaecf2;hb=6fb5b6813ea936aee285ede3b7b2b096303a3a4c;hp=342d546b4f8e514c34caeb692105661778fa9ba6;hpb=26b0ae39a6c0f1b157b62ac9f228f3c3e0e2407c;p=cparser diff --git a/ast_t.h b/ast_t.h index 342d546..bbabdca 100644 --- a/ast_t.h +++ b/ast_t.h @@ -81,6 +81,7 @@ typedef enum { EXPR_BINARY_BITWISE_OR_ASSIGN, EXPR_BINARY_COMMA, + EXPR_BINARY_BUILTIN_EXPECT, EXPR_BINARY_ISGREATER, EXPR_BINARY_ISGREATEREQUAL, EXPR_BINARY_ISLESS, @@ -122,6 +123,7 @@ typedef enum { case EXPR_BINARY_BITWISE_XOR_ASSIGN: \ case EXPR_BINARY_BITWISE_OR_ASSIGN: \ case EXPR_BINARY_COMMA: \ + case EXPR_BINARY_BUILTIN_EXPECT: \ case EXPR_BINARY_ISGREATER: \ case EXPR_BINARY_ISGREATEREQUAL: \ case EXPR_BINARY_ISLESS: \ @@ -349,9 +351,23 @@ union initializer_t { initializer_wide_string_t wide_string; }; +typedef enum { + DM_DLLIMPORT = (1 << 0), + DM_DLLEXPORT = (1 << 1), + DM_THREAD = (1 << 2), + DM_NAKED = (1 << 3), + DM_FORCEINLINE = (1 << 4), + DM_NOTHROW = (1 << 5), + DM_NORETURN = (1 << 6), + DM_NOINLINE = (1 << 7) +} decl_modifier_t; + +typedef unsigned short decl_modifiers_t; + struct declaration_t { unsigned char namespc; unsigned char storage_class; + decl_modifiers_t decl_modifiers; unsigned int address_taken : 1; unsigned int is_inline : 1; type_t *type;