https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86248
Harald Anlauf <anlauf at gmx dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |anlauf at gmx dot de --- Comment #3 from Harald Anlauf <anlauf at gmx dot de> --- It is strange that changing the line character(len=3),dimension(0:2),parameter :: darray_fixed = (/"el0","el1","el2"/) by character(len=3),dimension(0:2),save :: darray_fixed = (/"el0","el1","el2"/) I get exactly the same(!) tree-dump with 9-trunk, but different .o, since running nm on the first case gives: 0000000000000000 R __test_module_MOD__test_module_PROC_darray_fixed vs. 0000000000000000 D __test_module_MOD_darray_fixed My poor understanding of the assembler suggests that this is the origin of all trouble. The fact that the combined file seems to work (links OK) is not proof that everything is fine, again seen only from the assembler. I have no idea where the strange name mangling comes from.