------- 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