This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/20253] [3.4/4.0/4.1 regression]: Macro debug info broken due to lexer change
- From: "dberlin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Feb 2005 20:39:08 -0000
- Subject: [Bug debug/20253] [3.4/4.0/4.1 regression]: Macro debug info broken due to lexer change
- References: <20050228195936.20253.dberlin@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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