From 1823c4f69ba4b5e59a460e8a3eb59dc345f24bc2 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 22 Aug 2017 08:50:37 +0000 Subject: [PATCH] common.opt (feliminate-dwarf2-dups): Ignore. 2017-08-22 Richard Biener * common.opt (feliminate-dwarf2-dups): Ignore. * doc/invoke.texi (feliminate-dwarf2-dups): Remove documentation. * dwarf2out.c (push_new_compile_unit, pop_compile_unit, same_die_p_wrap, compute_section_prefix, is_symbol_die, assign_symbol_names, break_out_includes): Remove. (comdat_symbol_id, comdat_symbol_number): Likewise. (cu_hash_table_entry, cu_hash_table_entry_hasher, cu_hash_type): Likewise. (check_duplicate_cu, record_comdat_symbol_number): Likewise. (output_die): Mark unreachable path unreachable. (dwarf2out_start_source_file): Do not create DW_TAG_GNU_BINCL. (dwarf2out_end_source_file): Do not create DW_TAG_GNU_EINCL. (dwarf2out_init): Remove code handling flag_eliminate_dwarf2_dups. (dwarf2out_early_finish): Likewise. * g++.dg/debug/dwarf2/dwarf2-1.C: Remove -feliminate-dwarf2-dups. * g++.dg/debug/dwarf2/dwarf2-2.C: Likewise. * g++.dg/debug/dwarf2/pr46123-2.C: Likewise. * g++.dg/debug/dwarf2/typedef5.C: Likewise. * gcc.dg/debug/dwarf2/dwarf2-3.c: Likewise. * gcc.dg/debug/dwarf2/dwarf2-3.h: Likewise. * gcc.dg/debug/dwarf2/dups-types.c: Remove. * gcc.dg/debug/dwarf2/dups-types.h: Likewise. From-SVN: r251262 --- gcc/ChangeLog | 17 + gcc/common.opt | 4 +- gcc/doc/invoke.texi | 12 +- gcc/dwarf2out.c | 302 +----------------- gcc/testsuite/ChangeLog | 11 + gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C | 3 +- gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C | 3 +- gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C | 3 +- gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C | 3 +- .../gcc.dg/debug/dwarf2/dups-types.c | 8 - .../gcc.dg/debug/dwarf2/dups-types.h | 10 - gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c | 3 +- gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.h | 1 - 13 files changed, 42 insertions(+), 338 deletions(-) delete mode 100644 gcc/testsuite/gcc.dg/debug/dwarf2/dups-types.c delete mode 100644 gcc/testsuite/gcc.dg/debug/dwarf2/dups-types.h diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e482b040e3..e24f5119334 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,20 @@ +2017-08-22 Richard Biener + + * common.opt (feliminate-dwarf2-dups): Ignore. + * doc/invoke.texi (feliminate-dwarf2-dups): Remove documentation. + * dwarf2out.c (push_new_compile_unit, pop_compile_unit, + same_die_p_wrap, compute_section_prefix, + is_symbol_die, assign_symbol_names, break_out_includes): Remove. + (comdat_symbol_id, comdat_symbol_number): Likewise. + (cu_hash_table_entry, cu_hash_table_entry_hasher, cu_hash_type): + Likewise. + (check_duplicate_cu, record_comdat_symbol_number): Likewise. + (output_die): Mark unreachable path unreachable. + (dwarf2out_start_source_file): Do not create DW_TAG_GNU_BINCL. + (dwarf2out_end_source_file): Do not create DW_TAG_GNU_EINCL. + (dwarf2out_init): Remove code handling flag_eliminate_dwarf2_dups. + (dwarf2out_early_finish): Likewise. + 2017-08-22 Aldy Hernandez * wide-int.h (hwi_with_prec::hwi_with_prec): Sign extend. diff --git a/gcc/common.opt b/gcc/common.opt index 1cb1c83d306..1331008f811 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -1303,8 +1303,8 @@ Common Report Var(flag_early_inlining) Init(1) Optimization Perform early inlining. feliminate-dwarf2-dups -Common Report Var(flag_eliminate_dwarf2_dups) -Perform DWARF duplicate elimination. +Common Ignore +Does nothing. Preserved for backward compatibility. fipa-sra Common Report Var(flag_ipa_sra) Init(0) Optimization diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 40d0c8d5af1..64363e54a00 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -347,7 +347,7 @@ Objective-C and Objective-C++ Dialects}. -gcolumn-info -gno-column-info @gol -gvms -gxcoff -gxcoff+ -gz@r{[}=@var{type}@r{]} @gol -fdebug-prefix-map=@var{old}=@var{new} -fdebug-types-section @gol --feliminate-dwarf2-dups -fno-eliminate-unused-debug-types @gol +-fno-eliminate-unused-debug-types @gol -femit-struct-debug-baseonly -femit-struct-debug-reduced @gol -femit-struct-debug-detailed@r{[}=@var{spec-list}@r{]} @gol -feliminate-unused-debug-symbols -femit-class-debug-always @gol @@ -6834,8 +6834,8 @@ for maximum benefit. GCC no longer supports DWARF Version 1, which is substantially different than Version 2 and later. For historical reasons, some -other DWARF-related options (including @option{-feliminate-dwarf2-dups} -and @option{-fno-dwarf2-cfi-asm}) retain a reference to DWARF Version 2 +other DWARF-related options such as +@option{-fno-dwarf2-cfi-asm}) retain a reference to DWARF Version 2 in their names, but apply to all currently-supported versions of DWARF. @item -gstabs @@ -7027,12 +7027,6 @@ writing compressed debug sections, the option is rejected. Otherwise, if the assembler does not support them, @option{-gz} is silently ignored when producing object files. -@item -feliminate-dwarf2-dups -@opindex feliminate-dwarf2-dups -Compress DWARF debugging information by eliminating duplicated -information about each symbol. This option only makes sense when -generating DWARF debugging information. - @item -femit-struct-debug-baseonly @opindex femit-struct-debug-baseonly Emit debug information for struct-like types diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 764fd36bc82..0c339bd46f0 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -3422,8 +3422,6 @@ static void equate_decl_number_to_die (tree, dw_die_ref); static struct var_loc_node *add_var_loc_to_decl (tree, rtx, const char *); static void print_spaces (FILE *); static void print_die (dw_die_ref, FILE *); -static dw_die_ref push_new_compile_unit (dw_die_ref, dw_die_ref); -static dw_die_ref pop_compile_unit (dw_die_ref); static void loc_checksum (dw_loc_descr_ref, struct md5_ctx *); static void attr_checksum (dw_attr_node *, struct md5_ctx *, int *); static void die_checksum (dw_die_ref, struct md5_ctx *, int *); @@ -3441,14 +3439,9 @@ static int same_loc_p (dw_loc_descr_ref, dw_loc_descr_ref, int *); static int same_dw_val_p (const dw_val_node *, const dw_val_node *, int *); static int same_attr_p (dw_attr_node *, dw_attr_node *, int *); static int same_die_p (dw_die_ref, dw_die_ref, int *); -static int same_die_p_wrap (dw_die_ref, dw_die_ref); -static void compute_section_prefix (dw_die_ref); static int is_type_die (dw_die_ref); static int is_comdat_die (dw_die_ref); -static int is_symbol_die (dw_die_ref); static inline bool is_template_instantiation (dw_die_ref); -static void assign_symbol_names (dw_die_ref); -static void break_out_includes (dw_die_ref); static int is_declaration_die (dw_die_ref); static int should_move_die_to_comdat (dw_die_ref); static dw_die_ref clone_as_declaration (dw_die_ref); @@ -5545,7 +5538,7 @@ dwarf2out_die_ref_for_decl (tree decl, const char **sym, while (die->die_parent) die = die->die_parent; /* For the containing CU DIE we compute a die_symbol in - compute_section_prefix. */ + compute_comp_unit_symbol. */ gcc_assert (die->die_tag == DW_TAG_compile_unit && die->die_id.die_symbol != NULL); *sym = die->die_id.die_symbol; @@ -6468,31 +6461,6 @@ check_die (dw_die_ref die) } } -/* Start a new compilation unit DIE for an include file. OLD_UNIT is the CU - for the enclosing include file, if any. BINCL_DIE is the DW_TAG_GNU_BINCL - DIE that marks the start of the DIEs for this include file. */ - -static dw_die_ref -push_new_compile_unit (dw_die_ref old_unit, dw_die_ref bincl_die) -{ - const char *filename = get_AT_string (bincl_die, DW_AT_name); - dw_die_ref new_unit = gen_compile_unit_die (filename); - - new_unit->die_sib = old_unit; - return new_unit; -} - -/* Close an include-file CU and reopen the enclosing one. */ - -static dw_die_ref -pop_compile_unit (dw_die_ref old_unit) -{ - dw_die_ref new_unit = old_unit->die_sib; - - old_unit->die_sib = NULL; - return new_unit; -} - #define CHECKSUM(FOO) md5_process_bytes (&(FOO), sizeof (FOO), ctx) #define CHECKSUM_BLOCK(FOO, SIZE) md5_process_bytes ((FOO), (SIZE), ctx) #define CHECKSUM_STRING(FOO) md5_process_bytes ((FOO), strlen (FOO), ctx) @@ -7462,27 +7430,6 @@ same_die_p (dw_die_ref die1, dw_die_ref die2, int *mark) return 1; } -/* Do the dies look the same? Wrapper around same_die_p. */ - -static int -same_die_p_wrap (dw_die_ref die1, dw_die_ref die2) -{ - int mark = 0; - int ret = same_die_p (die1, die2, &mark); - - unmark_all_dies (die1); - unmark_all_dies (die2); - - return ret; -} - -/* The prefix to attach to symbols on DIEs in the current comdat debug - info section. */ -static const char *comdat_symbol_id; - -/* The index of the current symbol within the current comdat CU. */ -static unsigned int comdat_symbol_number; - /* Calculate the MD5 checksum of the compilation unit DIE UNIT_DIE and its children, and set die_symbol. */ @@ -7523,15 +7470,6 @@ compute_comp_unit_symbol (dw_die_ref unit_die) unit_die->die_id.die_symbol = xstrdup (name); } -static void -compute_section_prefix (dw_die_ref unit_die) -{ - compute_comp_unit_symbol (unit_die); - unit_die->comdat_type_p = true; - comdat_symbol_id = unit_die->die_id.die_symbol; - comdat_symbol_number = 0; -} - /* Returns nonzero if DIE represents a type, in the sense of TYPE_P. */ static int @@ -7595,18 +7533,6 @@ is_comdat_die (dw_die_ref c) return is_type_die (c); } -/* Returns 1 iff C is the sort of DIE that might be referred to from another - compilation unit. */ - -static int -is_symbol_die (dw_die_ref c) -{ - return (is_type_die (c) - || is_declaration_die (c) - || c->die_tag == DW_TAG_namespace - || c->die_tag == DW_TAG_module); -} - /* Returns true iff C is a compile-unit DIE. */ static inline bool @@ -7683,190 +7609,6 @@ gen_internal_sym (const char *prefix) return xstrdup (buf); } -/* Assign symbols to all worthy DIEs under DIE. */ - -static void -assign_symbol_names (dw_die_ref die) -{ - dw_die_ref c; - - if (is_symbol_die (die) && !die->comdat_type_p) - { - if (comdat_symbol_id) - { - char *p = XALLOCAVEC (char, strlen (comdat_symbol_id) + 64); - - sprintf (p, "%s.%s.%x", DIE_LABEL_PREFIX, - comdat_symbol_id, comdat_symbol_number++); - die->die_id.die_symbol = xstrdup (p); - } - else - die->die_id.die_symbol = gen_internal_sym ("LDIE"); - } - - FOR_EACH_CHILD (die, c, assign_symbol_names (c)); -} - -struct cu_hash_table_entry -{ - dw_die_ref cu; - unsigned min_comdat_num, max_comdat_num; - struct cu_hash_table_entry *next; -}; - -/* Helpers to manipulate hash table of CUs. */ - -struct cu_hash_table_entry_hasher : pointer_hash -{ - typedef die_struct *compare_type; - static inline hashval_t hash (const cu_hash_table_entry *); - static inline bool equal (const cu_hash_table_entry *, const die_struct *); - static inline void remove (cu_hash_table_entry *); -}; - -inline hashval_t -cu_hash_table_entry_hasher::hash (const cu_hash_table_entry *entry) -{ - return htab_hash_string (entry->cu->die_id.die_symbol); -} - -inline bool -cu_hash_table_entry_hasher::equal (const cu_hash_table_entry *entry1, - const die_struct *entry2) -{ - return !strcmp (entry1->cu->die_id.die_symbol, entry2->die_id.die_symbol); -} - -inline void -cu_hash_table_entry_hasher::remove (cu_hash_table_entry *entry) -{ - struct cu_hash_table_entry *next; - - while (entry) - { - next = entry->next; - free (entry); - entry = next; - } -} - -typedef hash_table cu_hash_type; - -/* Check whether we have already seen this CU and set up SYM_NUM - accordingly. */ -static int -check_duplicate_cu (dw_die_ref cu, cu_hash_type *htable, unsigned int *sym_num) -{ - struct cu_hash_table_entry dummy; - struct cu_hash_table_entry **slot, *entry, *last = &dummy; - - dummy.max_comdat_num = 0; - - slot = htable->find_slot_with_hash (cu, - htab_hash_string (cu->die_id.die_symbol), - INSERT); - entry = *slot; - - for (; entry; last = entry, entry = entry->next) - { - if (same_die_p_wrap (cu, entry->cu)) - break; - } - - if (entry) - { - *sym_num = entry->min_comdat_num; - return 1; - } - - entry = XCNEW (struct cu_hash_table_entry); - entry->cu = cu; - entry->min_comdat_num = *sym_num = last->max_comdat_num; - entry->next = *slot; - *slot = entry; - - return 0; -} - -/* Record SYM_NUM to record of CU in HTABLE. */ -static void -record_comdat_symbol_number (dw_die_ref cu, cu_hash_type *htable, - unsigned int sym_num) -{ - struct cu_hash_table_entry **slot, *entry; - - slot = htable->find_slot_with_hash (cu, - htab_hash_string (cu->die_id.die_symbol), - NO_INSERT); - entry = *slot; - - entry->max_comdat_num = sym_num; -} - -/* Traverse the DIE (which is always comp_unit_die), and set up - additional compilation units for each of the include files we see - bracketed by BINCL/EINCL. */ - -static void -break_out_includes (dw_die_ref die) -{ - dw_die_ref c; - dw_die_ref unit = NULL; - limbo_die_node *node, **pnode; - - c = die->die_child; - if (c) do { - dw_die_ref prev = c; - c = c->die_sib; - while (c->die_tag == DW_TAG_GNU_BINCL || c->die_tag == DW_TAG_GNU_EINCL - || (unit && is_comdat_die (c))) - { - dw_die_ref next = c->die_sib; - - /* This DIE is for a secondary CU; remove it from the main one. */ - remove_child_with_prev (c, prev); - - if (c->die_tag == DW_TAG_GNU_BINCL) - unit = push_new_compile_unit (unit, c); - else if (c->die_tag == DW_TAG_GNU_EINCL) - unit = pop_compile_unit (unit); - else - add_child_die (unit, c); - c = next; - if (c == die->die_child) - break; - } - } while (c != die->die_child); - -#if 0 - /* We can only use this in debugging, since the frontend doesn't check - to make sure that we leave every include file we enter. */ - gcc_assert (!unit); -#endif - - assign_symbol_names (die); - cu_hash_type cu_hash_table (10); - for (node = limbo_die_list, pnode = &limbo_die_list; - node; - node = node->next) - { - int is_dupl; - - compute_section_prefix (node->die); - is_dupl = check_duplicate_cu (node->die, &cu_hash_table, - &comdat_symbol_number); - assign_symbol_names (node->die); - if (is_dupl) - *pnode = node->next; - else - { - pnode = &node->next; - record_comdat_symbol_number (node->die, &cu_hash_table, - comdat_symbol_number); - } - } -} - /* Return non-zero if this DIE is a declaration. */ static int @@ -10452,9 +10194,9 @@ output_die (dw_die_ref die) else size = DWARF_OFFSET_SIZE; /* ??? We cannot unconditionally output die_offset if - non-zero - at least -feliminate-dwarf2-dups will - create references to those DIEs via symbols. And we - do not clear its DIE offset after outputting it + non-zero - others might create references to those + DIEs via symbols. + And we do not clear its DIE offset after outputting it (and the label refers to the actual DIEs, not the DWARF CU unit header which is when using label + offset would be the correct thing to do). @@ -26946,15 +26688,6 @@ dwarf2out_source_line (unsigned int line, unsigned int column, static void dwarf2out_start_source_file (unsigned int lineno, const char *filename) { - if (flag_eliminate_dwarf2_dups) - { - /* Record the beginning of the file for break_out_includes. */ - dw_die_ref bincl_die; - - bincl_die = new_die (DW_TAG_GNU_BINCL, comp_unit_die (), NULL); - add_AT_string (bincl_die, DW_AT_name, remap_debug_filename (filename)); - } - if (debug_info_level >= DINFO_LEVEL_VERBOSE) { macinfo_entry e; @@ -26970,10 +26703,6 @@ dwarf2out_start_source_file (unsigned int lineno, const char *filename) static void dwarf2out_end_source_file (unsigned int lineno ATTRIBUTE_UNUSED) { - if (flag_eliminate_dwarf2_dups) - /* Record the end of the file for break_out_includes. */ - new_die (DW_TAG_GNU_EINCL, comp_unit_die (), NULL); - if (debug_info_level >= DINFO_LEVEL_VERBOSE) { macinfo_entry e; @@ -27634,14 +27363,6 @@ init_sections_and_labels (bool early_lto_debug) static void dwarf2out_init (const char *filename ATTRIBUTE_UNUSED) { - /* This option is currently broken, see (PR53118 and PR46102). */ - if (flag_eliminate_dwarf2_dups - && strstr (lang_hooks.name, "C++")) - { - warning (0, "-feliminate-dwarf2-dups is broken for C++, ignoring"); - flag_eliminate_dwarf2_dups = 0; - } - /* Allocate the file_table. */ file_table = hash_table::create_ggc (50); @@ -30790,21 +30511,6 @@ dwarf2out_early_finish (const char *filename) prune_unused_types (); } - /* Generate separate CUs for each of the include files we've seen. - They will go into limbo_die_list and from there to cu_die_list. */ - if (flag_eliminate_dwarf2_dups) - { - gcc_assert (limbo_die_list == NULL); - break_out_includes (comp_unit_die ()); - limbo_die_node *cu; - while ((cu = limbo_die_list)) - { - limbo_die_list = cu->next; - cu->next = cu_die_list; - cu_die_list = cu; - } - } - /* Traverse the DIE's and note DIEs with DW_OP_GNU_variable_value still with dw_val_class_decl_ref operand. */ note_variable_value (comp_unit_die ()); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ed19baca404..64d16180137 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2017-08-22 Richard Biener + + * g++.dg/debug/dwarf2/dwarf2-1.C: Remove -feliminate-dwarf2-dups. + * g++.dg/debug/dwarf2/dwarf2-2.C: Likewise. + * g++.dg/debug/dwarf2/pr46123-2.C: Likewise. + * g++.dg/debug/dwarf2/typedef5.C: Likewise. + * gcc.dg/debug/dwarf2/dwarf2-3.c: Likewise. + * gcc.dg/debug/dwarf2/dwarf2-3.h: Likewise. + * gcc.dg/debug/dwarf2/dups-types.c: Remove. + * gcc.dg/debug/dwarf2/dups-types.h: Likewise. + 2017-08-21 Jerry DeLisle PR fortran/81296 diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C index ada9fef5cbe..33ef97beec5 100644 --- a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C +++ b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C @@ -1,11 +1,10 @@ -/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } } */ // Copyright (C) 2006 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 6 Jan 2006 // PR 24824 // Origin: wanderer@rsu.ru -// { dg-options "-gdwarf -feliminate-dwarf2-dups" } +// { dg-options "-gdwarf" } namespace N { diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C index 13861866a4c..9c2657ca269 100644 --- a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C +++ b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C @@ -1,7 +1,6 @@ -/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } } */ // PR debug/27057 // { dg-do compile } -// { dg-options "-gdwarf -feliminate-dwarf2-dups" } +// { dg-options "-gdwarf" } namespace N { diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C b/gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C index 71e2baff176..84b168223ea 100644 --- a/gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C +++ b/gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C @@ -1,7 +1,6 @@ -/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } } */ // PR debug/46123 // { dg-do compile } -// { dg-options "-g -feliminate-dwarf2-dups" } +// { dg-options "-g" } struct foo { diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C b/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C index e7c50032b62..ca06433e530 100644 --- a/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C +++ b/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C @@ -1,6 +1,5 @@ -/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } } */ // Origin: PR debug/46101 -// { dg-options "-gdwarf-2 -feliminate-dwarf2-dups" } +// { dg-options "-gdwarf-2" } // { dg-do compile } typedef struct diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dups-types.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dups-types.c deleted file mode 100644 index d9c01d07da7..00000000000 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dups-types.c +++ /dev/null @@ -1,8 +0,0 @@ -/* Test that these two options can work together. */ -/* { dg-options "-gdwarf-4 -dA -feliminate-dwarf2-dups -fdebug-types-section" } */ -/* { dg-final { scan-assembler "DW.dups_types\.h\[^)\]*. DW_TAG_typedef" } } */ -/* { dg-final { scan-assembler "DW_TAG_type_unit" } } */ - -#include "dups-types.h" - -A2 a; diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dups-types.h b/gcc/testsuite/gcc.dg/debug/dwarf2/dups-types.h deleted file mode 100644 index 99b7d907c0f..00000000000 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dups-types.h +++ /dev/null @@ -1,10 +0,0 @@ -struct A -{ - int i; - int j; -}; - -typedef struct A A2; -extern A2 a; - -A2 f(A2); diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c index e3646705706..b3cc8e6e71f 100644 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c +++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c @@ -1,7 +1,6 @@ -/* Test -feliminate-dwarf2-dups */ /* Contributed by Devang Patel */ /* { dg-do compile } */ -/* { dg-options "-gdwarf -feliminate-dwarf2-dups" } */ +/* { dg-options "-gdwarf" } */ #include "dwarf2-3.h" diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.h b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.h index 26ad0bace22..a60b6baa027 100644 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.h +++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.h @@ -1,4 +1,3 @@ -/* Test -feliminate-dwarf2-dups */ /* Contributed by Devang Patel */ struct point -- 2.30.2