aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-05-19 15:11:56 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-05-19 15:11:56 +0200
commitea93a47bc825a409079665551203aa194e71fc18 (patch)
tree8a93ed0f8e4aefee902ff63a0c36dfb80398207e /gcc
parent5ee093edf0ff049ece01649376c1b2975e0371f2 (diff)
downloadgcc-ea93a47bc825a409079665551203aa194e71fc18.zip
gcc-ea93a47bc825a409079665551203aa194e71fc18.tar.gz
gcc-ea93a47bc825a409079665551203aa194e71fc18.tar.bz2
re PR c++/49043 ([OpenMP & C++0x]: Compiler error when lambda-function within OpenMP loop)
PR c++/49043 * decl.c (check_omp_return): Stop searching on sk_function_parms. * testsuite/libgomp.c++/pr49043.C: New test. From-SVN: r173907
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/decl.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1ab2119..7e59b6b 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
2011-05-19 Jakub Jelinek <jakub@redhat.com>
+ PR c++/49043
+ * decl.c (check_omp_return): Stop searching on sk_function_parms.
+
PR c++/48869
* method.c (get_dtor, get_copy_ctor): Add COMPLAIN argument,
pass it down to locate_fn_flags.
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index e950c43..91df9ee 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -2833,6 +2833,8 @@ check_omp_return (void)
error ("invalid exit from OpenMP structured block");
return false;
}
+ else if (b->kind == sk_function_parms)
+ break;
return true;
}