------- Comment #6 from d at domob dot eu 2008-03-25 12:44 ------- After looking at the assembly dump, the problem with the strings seems to be that the literals are stored packed to each other in the data section and the array constructor simply lists the pointers to them and sets the length value to 7; thus, the shorter strings get the following character (that happens to be the first one of the next string) appended to them.
Could we resolve this problem by keeping track for each string literal in which content it will accessed and padding them with spaces to the longest used length when dumping to the data section? Possibly when gfc_convert_expr is called on a string literal? BTW, is this a problem that affects other things also, for instance, user defined records? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27997