This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/55501] [F03] ICE using MERGE in constant expr
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 26 Sep 2013 05:47:08 +0000
- Subject: [Bug fortran/55501] [F03] ICE using MERGE in constant expr
- Auto-submitted: auto-generated
- References: <bug-55501-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55501
--- Comment #15 from Tobias Burnus <burnus at gcc dot gnu.org> ---
(In reply to Bill Long from comment #14)
> Just a note that I'm now using
> GNU Fortran (MacPorts gcc49 4.9-20130609_0) 4.9.0 20130609 (experimental)
> and the original test case works with this version.
That issue was fixed for PR 56649 - which is the identical to the original test
case.
(In reply to john.harper from comment #13)
> ICE from using MERGE in a constant specification expression, not in this
> program an initialization expression because it's an array bound, with
> gfortran 4.7.2.
>
> cayley[~/Jfh] % cat testmerge3.f90
> program testmerge3
> implicit none
> integer,parameter::iarray(merge(2,3,.true.)) = 1, i = size(iarray)
> print "(A,99I2)",'i,iarray =',i,iarray
> end program testmerge3
That program still gives an ICE with GCC 4.9:
f951: internal compiler error: in is_illegal_recursion, at
fortran/resolve.c:1555
(Crossref: See also
https://groups.google.com/forum/#!topic/comp.lang.fortran/sURf0GnYYfg )