X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ast_t.h;h=2c32f85de5abdb36015b8b487d3bcbebabb284b7;hb=d2e6965a9bdae61491e0b88ac661559550999ce5;hp=c0955abfba7c1b86518b7101ad53a10b9408dd46;hpb=a71b896e451da9851aecbde5b5726304530f91f6;p=cparser diff --git a/ast_t.h b/ast_t.h index c0955ab..2c32f85 100644 --- a/ast_t.h +++ b/ast_t.h @@ -217,7 +217,7 @@ typedef enum funcname_kind_t { case EXPR_UNARY_DELETE_ARRAY: /** - * unary expression with optinal operand + * unary expression with optional operand */ #define EXPR_UNARY_CASES_OPTIONAL \ case EXPR_UNARY_THROW: \ @@ -230,6 +230,7 @@ struct expression_base_t { expression_kind_t kind; type_t *type; source_position_t source_position; + bool parenthesized; #ifndef NDEBUG bool transformed; #endif @@ -464,6 +465,7 @@ typedef enum gnu_attribute_kind_t { GNU_AK_FASTCALL, GNU_AK_DEPRECATED, GNU_AK_NOINLINE, + GNU_AK_RETURNS_TWICE, GNU_AK_NORETURN, GNU_AK_NAKED, GNU_AK_PURE, @@ -531,7 +533,6 @@ typedef enum statement_kind_t { STATEMENT_COMPOUND, STATEMENT_RETURN, STATEMENT_DECLARATION, - STATEMENT_LOCAL_LABEL, STATEMENT_IF, STATEMENT_SWITCH, STATEMENT_EXPRESSION, @@ -576,6 +577,7 @@ struct compound_statement_t { statement_base_t base; statement_t *statements; scope_t scope; + bool stmt_expr; /* The compound statement is a statement expression */ }; struct declaration_statement_t { @@ -584,12 +586,6 @@ struct declaration_statement_t { entity_t *declarations_end; }; -struct local_label_statement_t { - statement_base_t base; - entity_t *labels_begin; - entity_t *labels_end; -}; - struct if_statement_t { statement_base_t base; expression_t *condition; @@ -698,7 +694,6 @@ union statement_t { return_statement_t returns; compound_statement_t compound; declaration_statement_t declaration; - local_label_statement_t local_label; if_statement_t ifs; switch_statement_t switchs; goto_statement_t gotos;