diff options
author | Martin Matuska <mm@FreeBSD.org> | 2011-03-10 13:59:17 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2011-03-10 13:59:17 +0000 |
commit | 0e5d163d93004259465517b8c58ecda57537d2f9 (patch) | |
tree | bd0b88102eb344ebbe4baf27724c362578cf50b6 /gcc/cp/semantics.c | |
parent | 497e80a371f70c0bdf4bf3ca609adaa065080794 (diff) | |
download | src-0e5d163d93004259465517b8c58ecda57537d2f9.tar.gz src-0e5d163d93004259465517b8c58ecda57537d2f9.zip |
Vendor upgrade of gcc 4.2 to last GPLv2 revision.
PR: gnu/153298
Obtained from: gcc (gcc-4_2-branch, rev. 127959)
Notes
Notes:
svn path=/vendor/gcc/dist/; revision=219451
Diffstat (limited to 'gcc/cp/semantics.c')
-rw-r--r-- | gcc/cp/semantics.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 8ad197858d0f..9c37b36cea34 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -1320,8 +1320,13 @@ finish_label_stmt (tree name) void finish_label_decl (tree name) { - tree decl = declare_local_label (name); - add_decl_expr (decl); + if (!at_function_scope_p ()) + { + error ("__label__ declarations are only allowed in function scopes"); + return; + } + + add_decl_expr (declare_local_label (name)); } /* When DECL goes out of scope, make sure that CLEANUP is executed. */ |