Interesting about the primary source file not being the first... The compiler that is generating DW_TAG_compile_unit tags that have no DW_AT_name should have a bug file against it to get this fixed to avoid possibly getting this wrong. http://reviews.llvm.org/D11003