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

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code, openmp
                 CC|                            |burnus at gcc dot gnu.org
            Summary|ICE in make_decl_rtl, at    |[4.6 Regression] ICE in
                   |varasm.c:1133               |make_decl_rtl, at
                   |                            |varasm.c:1133 (with
                   |                            |-fopenmp)

--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-01-17 
17:02:21 UTC ---
I have marked it as 4.6 regression, though it might be no regression and just
an effect of release checking that it works with 4.4 and 4.5.

The failing assert is make_decl_rtl's

  /* A weak alias has TREE_PUBLIC set but not the other bits.  */
  gcc_assert (TREE_CODE (decl) != VAR_DECL
              || TREE_STATIC (decl)
              || TREE_PUBLIC (decl)
              || DECL_EXTERNAL (decl)
              || DECL_REGISTER (decl));

Reduced code:

      subroutine DOIT
!$OMP PARALLEL
!$OMP MASTER
        call WRT()
!!!$OMP END MASTER
!$OMP END PARALLEL
      end subroutine DOIT

      subroutine WRT()
        do K=1,5
          ICELL = INDEXMAKER(K)
        end do
      end subroutine DOIT

      call DOIT
      end

Reply via email to