EXPR_OFFSETOF,
EXPR_VA_ARG,
EXPR_STATEMENT
-} expresion_type_t;
+} expression_type_t;
struct context_t {
declaration_t *declarations;
};
struct expression_base_t {
- expresion_type_t type;
- type_t *datatype;
- source_position_t source_position;
+ expression_type_t type;
+ type_t *datatype;
+ source_position_t source_position;
};
struct const_expression_t {
};
union expression_t {
- expresion_type_t type;
+ expression_type_t type;
expression_base_t base;
const_expression_t conste;
- string_literal_expression_t string_literal;
+ string_literal_expression_t string;
builtin_symbol_expression_t builtin_symbol;
reference_expression_t reference;
call_expression_t call;
array_access_expression_t array_access;
sizeof_expression_t sizeofe;
offsetof_expression_t offsetofe;
- va_arg_expression_t va_arg;
+ va_arg_expression_t va_arge;
conditional_expression_t conditional;
statement_expression_t statement;
classify_type_expression_t classify_type;
STORAGE_CLASS_STATIC,
STORAGE_CLASS_AUTO,
STORAGE_CLASS_REGISTER,
- STORAGE_CLASS_ENUM_ENTRY
-} storage_class_t;
+ STORAGE_CLASS_ENUM_ENTRY,
+ STORAGE_CLASS_THREAD,
+ STORAGE_CLASS_THREAD_EXTERN,
+ STORAGE_CLASS_THREAD_STATIC
+} storage_class_tag_t;
typedef enum {
NAMESPACE_NORMAL,
NAMESPACE_STRUCT,
NAMESPACE_UNION,
NAMESPACE_ENUM,
- NAMESPACE_LABEL
+ NAMESPACE_LABEL,
} namespace_t;
typedef enum {