[Bug middle-end/41344] [4.4/4.5 Regression] ICE / Bus error on OpenMP compile

hjl dot tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Dec 28 01:09:00 GMT 2009



------- Comment #7 from hjl dot tools at gmail dot com  2009-12-28 01:09 -------
The omplower pass turns

---
  #pragma omp parallel private(ix) private(ndfl)
    {
      ix = 0;
      {
        integer(kind=4) D.1393;

        D.1393 = dfm.ndfl;
        #pragma omp for private(i)
        for (i = 1; i <= D.1393; i = i + 1)
          {
            ix = ix + 1;
            if (ix > 5) goto __label_009000; else goto <D.1396>;
            <D.1396>:
            L.1:
          }
      }
    }
  __label_009000:
---

into:

---
{
    #pragma omp parallel private(ix) private(ndfl) [child fn: xrotate_.omp_fn.0
(???)]
      {
        ix = 0;
        {
          integer(kind=4) D.1393;

          D.1393 = dfm.ndfl;
          {
            integer(kind=4) D.1407;
            integer(kind=4) i;

            D.1407 = D.1393;
            #pragma omp for private(i)
            for (i = 1; i <= D.1407; i = i + 1)
            ix = ix + 1;
            if (ix > 5) goto <D.1404>; else goto <D.1405>;
            <D.1405>:
            <D.1406>:
            #pragma omp continue (i, i)
            #pragma omp return
          }
        }
        #pragma omp return
      }
  }
  __label_009000:
---

D.1404 isn't defined anywhere. Also I didn't see diagnose_sb_2 handle
GIMPLE_COND stmt with GIMPLE_GOTO stmt.


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41344



More information about the Gcc-bugs mailing list