aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-semantics.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-08-11 21:09:57 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-08-11 21:09:57 -0700
commit174283a3c26828ee2bf0acd05f6350f439beefcc (patch)
tree0cb6f5299b432c6f23ca205a73d8654219b13413 /gcc/c-semantics.c
parent159319544b909404d2ba3997c58a0cbe6541030a (diff)
downloadgcc-174283a3c26828ee2bf0acd05f6350f439beefcc.zip
gcc-174283a3c26828ee2bf0acd05f6350f439beefcc.tar.gz
gcc-174283a3c26828ee2bf0acd05f6350f439beefcc.tar.bz2
c-common.h (STATEMENT_LIST_HAS_LABEL): New.
* c-common.h (STATEMENT_LIST_HAS_LABEL): New. * c-semantics.c (add_stmt): Set it. * c-decl.c (finish_decl): Use it to create a new BIND_EXPR before instantiating a variable sized type. From-SVN: r85849
Diffstat (limited to 'gcc/c-semantics.c')
-rw-r--r--gcc/c-semantics.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c
index f40f5a2..f011cb9 100644
--- a/gcc/c-semantics.c
+++ b/gcc/c-semantics.c
@@ -140,6 +140,9 @@ add_stmt (tree t)
STMT_IS_FULL_EXPR_P (t) = stmts_are_full_exprs_p ();
}
+ if (code == LABEL_EXPR || code == CASE_LABEL_EXPR)
+ STATEMENT_LIST_HAS_LABEL (cur_stmt_list) = 1;
+
/* Add T to the statement-tree. Non-side-effect statements need to be
recorded during statement expressions. */
append_to_statement_list_force (t, &cur_stmt_list);