From a4890dc9771057032da0a0fbfd0e336e10e4f591 Mon Sep 17 00:00:00 2001 From: jakub Date: Thu, 13 Mar 2008 09:26:25 +0000 Subject: PR middle-end/35185 * omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed. (lower_omp_2): New function. (lower_omp_1, lower_omp): Rewritten. * testsuite/libgomp.c++/pr35185.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133162 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgomp/ChangeLog | 5 +++++ libgomp/testsuite/libgomp.c++/pr35185.C | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 libgomp/testsuite/libgomp.c++/pr35185.C (limited to 'libgomp') diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 30782434487..17d714c1d45 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,8 @@ +2008-03-13 Jakub Jelinek + + PR middle-end/35185 + * testsuite/libgomp.c++/pr35185.C: New test. + 2008-03-12 Jakub Jelinek PR middle-end/35549 diff --git a/libgomp/testsuite/libgomp.c++/pr35185.C b/libgomp/testsuite/libgomp.c++/pr35185.C new file mode 100644 index 00000000000..f22c7720787 --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/pr35185.C @@ -0,0 +1,33 @@ +// PR middle-end/35185 +// { dg-do run } + +extern "C" void abort (); + +struct S +{ + S () : s (6) {} + ~S () {} + int s; +}; + +__attribute__((noinline)) +bool +bar (S s) +{ + return s.s != 6; +} + +int +main () +{ + S s; + int err = 0; +#pragma omp parallel shared (s) + { + if (bar (s)) + #pragma omp atomic + err++; + } + if (err) + abort (); +} -- cgit v1.2.1