further attributes+types tweaks
[cparser] / ast_t.h
diff --git a/ast_t.h b/ast_t.h
index 182c85a..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:        \
@@ -533,7 +533,6 @@ typedef enum statement_kind_t {
        STATEMENT_COMPOUND,
        STATEMENT_RETURN,
        STATEMENT_DECLARATION,
-       STATEMENT_LOCAL_LABEL,
        STATEMENT_IF,
        STATEMENT_SWITCH,
        STATEMENT_EXPRESSION,
@@ -578,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 {
@@ -586,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;
@@ -700,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;