This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/35846] ICE on nested character constructors
- From: "d at domob dot eu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 May 2008 15:06:07 -0000
- Subject: [Bug fortran/35846] ICE on nested character constructors
- References: <bug-35846-13404@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from d at domob dot eu 2008-05-21 15:06 -------
Created an attachment (id=15664)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15664&action=view)
Testcase without nested array constructors
Actually, this does not depend on nested array constructors as this test-case
proves (and also has nothing to do with the globals used for bounds-checking,
it seems).
I believe the problem is that the gfc_expr* corresponding to the concatenation
doesn't have a cl->length set on its ts (because the arguments don't have one
when resolution is called); this NULL later causes the ICE. When this
expression turns up in an assignment, this does not matter as the expected
length is known from the target's character length definition.
But when there is no "expected" charlen (like in the nested constructor or in a
function call as in this test) it is needed and the NULL pointer dereferenced.
Hopefully I can soon come up with a real solution to this problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35846