------- Additional Comments From dberlin at gcc dot gnu dot org 2005-02-28 20:39 ------- Devang, we *need* to have a start_source_file for the main source file. It is required by the standard that we ouptut a begin/end pair for the main source file, and the start_source_file call is where this should be done.
If STABS needs to do something else, it should simply ignore the first call to start_source file. Please note that this fixing this may break your followup patch to try to fix -feliminate-dwarf2-dups, and cause it to be redone: ---------------------------- revision 1.457 date: 2003/10/06 22:25:15; author: dpatel; state: Exp; lines: +1 -10 Fix -feliminate-dwarf2-dups ICE. gcc * dwarf2out.c (is_main_source): Remove variable. (dwarf2out_start_source_file): Do not check is_main_source. Do not reset is_main_source. (dwarf2out_init): Do not initialize is_main_source. testsuite * gcc.dg/debug/dwarf2-3.h: New test. * gcc.dg/debug/dwarf2-3.c: New test case for -feliminate-dwarf2-dups. The check i meant below to look for in the .s file is actually wrong, you want to look for .byte 0x3 # Start new file .uleb128 0x0 # Included from line number 0 .file 1 "<filename of test>" -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20253