http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60060
--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Dominique d'Humieres from comment #0) > warning: invalid DWARF generated by the compiler: DIE 0x000001f0 has > multiple AT_calling_convention attributes in > '/var/folders/8q/sh_swgz96r7f5vnn08f7fxr00000gn/T//ccLHCwpM.ltrans0.ltrans. > o'. (In reply to Dominique d'Humieres from comment #5) > The ICE is gone with the patch in comment 4 without regression. However on > darwin I still get the warnings reported in comment 0. The calling convention should be (except on sh, cf. sh/sh.c's TARGET_DWARF_CALLING_CONVENTION) be always DW_CC_normal - which is not emitted as DWARF symbol. The only exception is Fortran's MAIN__ function, which is set to DW_CC_program. I wonder whether you see twice DW_CC_program or some other DW_CC_*. You could try readelf to find out which AT_calling_convention are generated.