Make types globally visible, add more type(def)s.
[cparser] / ast_t.h
diff --git a/ast_t.h b/ast_t.h
index 342d546..bbabdca 100644 (file)
--- 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;