gcc/libgomp/testsuite/libgomp.c++/pr81130.C
Jakub Jelinek d54d1fc3bc re PR c++/81130 (ICE OpenMP shared clause in gimplify_var_or_parm_decl, at gimplify.c:2584)
PR c++/81130
	* gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
	with ctors/dtors if GOVD_SHARED is set.

	* testsuite/libgomp.c++/pr81130.C: New test.

From-SVN: r249445
2017-06-21 12:58:00 +02:00

42 lines
351 B
C

// PR c++/81130
// { dg-do run }
struct A
{
A ();
~A ();
int a;
};
A::A ()
{
a = 0;
}
A::~A ()
{
}
struct B
{
A b;
int c;
B () : c (1)
{
#pragma omp parallel shared (b, c) num_threads (2)
#pragma omp master
{
b.a++;
c += 2;
}
}
};
int
main ()
{
B v;
if (v.b.a != 1 || v.c != 3)
__builtin_abort ();
}