summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/cp/semantics.c
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2011-03-29 20:53:51 +0000
committermm <mm@FreeBSD.org>2011-03-29 20:53:51 +0000
commit24a0f968ca05de3f4d12a803e9141af94f6d0aee (patch)
tree8dd18f9d0a6d8b9d0b38d505e33d37244cd1c655 /contrib/gcc/cp/semantics.c
parent9d571f70778884c98026689ff71368ffa7c1cb9d (diff)
downloadFreeBSD-src-24a0f968ca05de3f4d12a803e9141af94f6d0aee.zip
FreeBSD-src-24a0f968ca05de3f4d12a803e9141af94f6d0aee.tar.gz
Upgrade of base gcc and libstdc++ to the last GPLv2-licensed revision
(rev. 127959 of gcc-4_2-branch). Resolved GCC bugs: c++: 17763, 29365, 30535, 30917, 31337, 31941, 32108, 32112, 32346, 32898, 32992 debug: 32610, 32914 libstdc++: 33084, 33128 middle-end: 32563 rtl-optimization: 33148 tree-optimization: 25413, 32723 target: 32218 Tested by: pointyhat (miwi) Obtained from: gcc (gcc-4_2-branch up to rev. 127959) PR: gnu/153298, gnu/153959, gnu/154385 MFC after: 1 month
Diffstat (limited to 'contrib/gcc/cp/semantics.c')
-rw-r--r--contrib/gcc/cp/semantics.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/contrib/gcc/cp/semantics.c b/contrib/gcc/cp/semantics.c
index 8ad1978..9c37b36 100644
--- a/contrib/gcc/cp/semantics.c
+++ b/contrib/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. */
OpenPOWER on IntegriCloud