This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/28167] ICE: in fold_binary, at fold-const.c:8239 (temporary character array?)
- From: "paul dot richard dot thomas at cea dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Jun 2006 14:17:35 -0000
- Subject: [Bug fortran/28167] ICE: in fold_binary, at fold-const.c:8239 (temporary character array?)
- References: <bug-28167-6318@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from paul dot richard dot thomas at cea dot fr 2006-06-27 14:17 -------
I believe that a frontend problem is involved, even if it is only part of the
story. This exhibits the same symptoms as Harald's testcase:
call foo ( (/( 'a',i=1,2 )/) )
end
but this works fine:
call foo ( (/'a', 'b'/) )
end
Both expand the constructor just fine. However the second makes just one call
to resolve_expr and leaves with a value for the string length. The first calls
resolve_expr twice and has lost the string length between the first and second
calls. I am blowed if I can see where this happens for the moment but I am
looking furiously!
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28167