diff options
author | Richard Biener <rguenther@suse.de> | 2020-03-27 13:57:42 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-03-27 14:00:43 +0100 |
commit | 45cfaf9903d3f5aa916d330f2013eb7d820a7137 (patch) | |
tree | 6e3c1c751c03776994edd86e8a48a8025855c6ea | |
parent | 917e21e8bcddf5047ee0ced063fca412ad81ce7f (diff) | |
download | gcc-45cfaf9903d3f5aa916d330f2013eb7d820a7137.zip gcc-45cfaf9903d3f5aa916d330f2013eb7d820a7137.tar.gz gcc-45cfaf9903d3f5aa916d330f2013eb7d820a7137.tar.bz2 |
debug/94273 - avoid creating type DIEs for DINFO_LEVEL_TERSE
This avoids completing types for DINFO_LEVEL_TERSE by using
the should_emit_struct_debug machinery.
2020-03-27 Richard Biener <rguenther@suse.de>
PR debug/94273
* dwarf2out.c (should_emit_struct_debug): Return false for
DINFO_LEVEL_TERSE.
* g++.dg/debug/pr94273.C: New testcase.
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/debug/pr94273.C | 4 |
4 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 97cad02..ef8dffb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2020-03-27 Richard Biener <rguenther@suse.de> + PR debug/94273 + * dwarf2out.c (should_emit_struct_debug): Return false for + DINFO_LEVEL_TERSE. + +2020-03-27 Richard Biener <rguenther@suse.de> + PR tree-optimization/94352 * tree-ssa-propagate.c (ssa_prop_init): Move seeding of the worklist ... diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index b1fa6f5..378a273 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -399,6 +399,9 @@ get_full_len (const wide_int &op) static bool should_emit_struct_debug (tree type, enum debug_info_usage usage) { + if (debug_info_level <= DINFO_LEVEL_TERSE) + return false; + enum debug_struct_file criterion; tree type_decl; bool generic = lang_hooks.types.generic_p (type); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d5a1c8e..156eee1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-03-27 Richard Biener <rguenther@suse.de> + + PR debug/94273 + * g++.dg/debug/pr94273.C: New testcase. + 2020-03-27 Tobias Burnus <tobias@codesourcery.com> PR fortran/93957 diff --git a/gcc/testsuite/g++.dg/debug/pr94273.C b/gcc/testsuite/g++.dg/debug/pr94273.C new file mode 100644 index 0000000..4e5c66d --- /dev/null +++ b/gcc/testsuite/g++.dg/debug/pr94273.C @@ -0,0 +1,4 @@ +class a { + virtual void c() {} +} extern b; +a b; |