Better check for is_Cond() instead of !is_Bad(): The Cond could have become a Tuple...
[cparser] / ast_t.h
diff --git a/ast_t.h b/ast_t.h
index ab3e6ee..2c32f85 100644 (file)
--- 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:        \
@@ -465,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,
@@ -532,7 +533,6 @@ typedef enum statement_kind_t {
        STATEMENT_COMPOUND,
        STATEMENT_RETURN,
        STATEMENT_DECLARATION,
-       STATEMENT_LOCAL_LABEL,
        STATEMENT_IF,
        STATEMENT_SWITCH,
        STATEMENT_EXPRESSION,
@@ -577,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 {
@@ -585,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;
@@ -699,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;