diff options
| -rw-r--r-- | gcc/c-tree.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/c-tree.h b/gcc/c-tree.h index dde8dc3..0e28dfe 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -131,6 +131,16 @@ struct c_expr enum tree_code original_code; }; +/* A storage class specifier. */ +enum c_storage_class { + csc_none, + csc_auto, + csc_extern, + csc_register, + csc_static, + csc_typedef +}; + /* A sequence of declaration specifiers in C. */ struct c_declspecs { /* The type specified, not reflecting modifiers such as "short" and @@ -144,6 +154,8 @@ struct c_declspecs { tree attrs; /* The modifier bits present. */ int specbits; + /* The storage class specifier, or csc_none if none. */ + enum c_storage_class storage_class; /* Whether something other than a storage class specifier or attribute has been seen. This is used to warn for the obsolescent usage of storage class specifiers other than at the @@ -164,6 +176,10 @@ struct c_declspecs { BOOL_BITFIELD explicit_char_p : 1; /* Whether "long" was specified more than once. */ BOOL_BITFIELD long_long_p : 1; + /* Whether "inline" was specified. */ + BOOL_BITFIELD inline_p : 1; + /* Whether "__thread" was specified. */ + BOOL_BITFIELD thread_p : 1; }; /* The various kinds of declarators in C. */ |
