------- Comment #1 from pinskia at gcc dot gnu dot org 2006-03-15 12:58 -------
Hmm, the IR looks fine in .gimple:
struct A a;
__comp_ctor (&a, 3);
#pragma omp parallel private(a)
{
{
int D.2487;
D.2487 = a.n;
printf (&"%d\n"[0], D.2487);
}
}
D.2488 = 0;
return D.2488;
But broken in omplower:
__comp_ctor (&a, 3);
{
#pragma omp parallel private(a) [child fn: main.omp_fn.0 (???)]
{
__comp_ctor (&a);
D.2495 = a.n;
D.2487 = D.2495;
printf (&"%d\n"[0], D.2487);
OMP_RETURN
}
}
D.2488 = 0;
return D.2488;
Looks like we don't create the correct ctor for a, the one with the 3 as an
agrument.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Component|c++ |middle-end
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-03-15 12:58:26
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26691