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. From-SVN: r72166
This commit is contained in:
parent
9a557707dd
commit
8a7a6f4ded
@ -1,3 +1,10 @@
|
|||||||
|
2003-10-06 Devang Patel <dpatel@apple.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
|
* fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
|
||||||
|
@ -3443,12 +3443,6 @@ static unsigned long next_die_offset;
|
|||||||
/* Record the root of the DIE's built for the current compilation unit. */
|
/* Record the root of the DIE's built for the current compilation unit. */
|
||||||
static GTY(()) dw_die_ref comp_unit_die;
|
static GTY(()) dw_die_ref comp_unit_die;
|
||||||
|
|
||||||
#ifdef DWARF2_DEBUGGING_INFO
|
|
||||||
/* We need special handling in dwarf2out_start_source_file if it is
|
|
||||||
first one. */
|
|
||||||
static int is_main_source;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* A list of DIEs with a NULL parent waiting to be relocated. */
|
/* A list of DIEs with a NULL parent waiting to be relocated. */
|
||||||
static GTY(()) limbo_die_node *limbo_die_list;
|
static GTY(()) limbo_die_node *limbo_die_list;
|
||||||
|
|
||||||
@ -12285,7 +12279,7 @@ dwarf2out_source_line (unsigned int line, const char *filename)
|
|||||||
static void
|
static void
|
||||||
dwarf2out_start_source_file (unsigned int lineno, const char *filename)
|
dwarf2out_start_source_file (unsigned int lineno, const char *filename)
|
||||||
{
|
{
|
||||||
if (flag_eliminate_dwarf2_dups && !is_main_source)
|
if (flag_eliminate_dwarf2_dups)
|
||||||
{
|
{
|
||||||
/* Record the beginning of the file for break_out_includes. */
|
/* Record the beginning of the file for break_out_includes. */
|
||||||
dw_die_ref bincl_die;
|
dw_die_ref bincl_die;
|
||||||
@ -12294,8 +12288,6 @@ dwarf2out_start_source_file (unsigned int lineno, const char *filename)
|
|||||||
add_AT_string (bincl_die, DW_AT_name, filename);
|
add_AT_string (bincl_die, DW_AT_name, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
is_main_source = 0;
|
|
||||||
|
|
||||||
if (debug_info_level >= DINFO_LEVEL_VERBOSE)
|
if (debug_info_level >= DINFO_LEVEL_VERBOSE)
|
||||||
{
|
{
|
||||||
named_section_flags (DEBUG_MACINFO_SECTION, SECTION_DEBUG);
|
named_section_flags (DEBUG_MACINFO_SECTION, SECTION_DEBUG);
|
||||||
@ -12396,7 +12388,6 @@ dwarf2out_init (const char *filename ATTRIBUTE_UNUSED)
|
|||||||
invoked when the given (base) source file was compiled. We will fill
|
invoked when the given (base) source file was compiled. We will fill
|
||||||
in this value in dwarf2out_finish. */
|
in this value in dwarf2out_finish. */
|
||||||
comp_unit_die = gen_compile_unit_die (NULL);
|
comp_unit_die = gen_compile_unit_die (NULL);
|
||||||
is_main_source = 1;
|
|
||||||
|
|
||||||
VARRAY_TREE_INIT (incomplete_types, 64, "incomplete_types");
|
VARRAY_TREE_INIT (incomplete_types, 64, "incomplete_types");
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2003-10-06 Devang Patel <dpatel@apple.com>
|
||||||
|
|
||||||
|
* gcc.dg/debug/dwarf2-3.h: New test.
|
||||||
|
* gcc.dg/debug/dwarf2-3.c: New test case for -feliminate-dwarf2-dups.
|
||||||
|
|
||||||
2003-10-06 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
|
2003-10-06 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
|
||||||
|
|
||||||
* g++.dg/opt/cfg2.C: New test.
|
* g++.dg/opt/cfg2.C: New test.
|
||||||
|
13
gcc/testsuite/gcc.dg/debug/dwarf2-3.c
Normal file
13
gcc/testsuite/gcc.dg/debug/dwarf2-3.c
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/* Test -feliminate-dwarf2-dups */
|
||||||
|
/* Contributed by Devang Patel <dpatel@apple.com> */
|
||||||
|
/* { dg-do compile } */
|
||||||
|
/* { dg-options "-feliminate-dwarf2-dups" } */
|
||||||
|
|
||||||
|
#include "dwarf2-3.h"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
struct point p;
|
||||||
|
p.x = 0;
|
||||||
|
p.y = 0;
|
||||||
|
}
|
9
gcc/testsuite/gcc.dg/debug/dwarf2-3.h
Normal file
9
gcc/testsuite/gcc.dg/debug/dwarf2-3.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
/* Test -feliminate-dwarf2-dups */
|
||||||
|
/* Contributed by Devang Patel <dpatel@apple.com> */
|
||||||
|
|
||||||
|
struct point
|
||||||
|
{
|
||||||
|
int x;
|
||||||
|
int y;
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user