+2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
+ Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
+ Jim Blandy <jimb@codesourcery.com>
+
+ * dwarf2read.c (read_partial_die): check the value
+ of DW_AT_calling_convention in Fortran programs.
+
2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
Thiago Jung Bauermann <bauerman@br.ibm.com>
case DW_AT_byte_size:
part_die->has_byte_size = 1;
break;
+ case DW_AT_calling_convention:
+ /* DWARF doesn't provide a way to identify a program's source-level
+ entry point. DW_AT_calling_convention attributes are only meant
+ to describe functions' calling conventions.
+
+ However, because it's a necessary piece of information in
+ Fortran, and because DW_CC_program is the only piece of debugging
+ information whose definition refers to a 'main program' at all,
+ several compilers have begun marking Fortran main programs with
+ DW_CC_program --- even when those functions use the standard
+ calling conventions.
+
+ So until DWARF specifies a way to provide this information and
+ compilers pick up the new representation, we'll support this
+ practice. */
+ if (DW_UNSND (&attr) == DW_CC_program
+ && cu->language == language_fortran)
+ set_main_name (part_die->name);
+ break;
default:
break;
}