This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/47331] [4.6 Regression] ICE in make_decl_rtl, at varasm.c:1133 (with -fopenmp)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]