------- 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

Reply via email to