summaryrefslogtreecommitdiff
path: root/gcc/c-semantics.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-12 04:09:57 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-12 04:09:57 +0000
commit2e3f487777bc08719871aed1a0807e9a969ab48d (patch)
tree0cb6f5299b432c6f23ca205a73d8654219b13413 /gcc/c-semantics.c
parent59ff7b6e271e2d9b3cd5df791e039d9c12d178e0 (diff)
downloadgcc-2e3f487777bc08719871aed1a0807e9a969ab48d.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85849 138bc75d-0d04-0410-961f-82ee72b054a4
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 f40f5a2e495..f011cb90a1e 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);