[gcc(refs/vendors/redhat/heads/gcc-10-branch)] debug/94273 - avoid creating type DIEs for DINFO_LEVEL_TERSE
Jakub Jelinek
jakub@gcc.gnu.org
Sat Mar 28 09:42:54 GMT 2020
https://gcc.gnu.org/g:45cfaf9903d3f5aa916d330f2013eb7d820a7137
commit 45cfaf9903d3f5aa916d330f2013eb7d820a7137
Author: Richard Biener <rguenther@suse.de>
Date: Fri Mar 27 13:57:42 2020 +0100
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.
Diff:
---
gcc/ChangeLog | 6 ++++++
gcc/dwarf2out.c | 3 +++
gcc/testsuite/ChangeLog | 5 +++++
gcc/testsuite/g++.dg/debug/pr94273.C | 4 ++++
4 files changed, 18 insertions(+)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 97cad024271..ef8dffbbf1e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+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
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index b1fa6f5ff7c..378a27394e8 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 d5a1c8e1a8e..156eee12cdd 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 00000000000..4e5c66d8e26
--- /dev/null
+++ b/gcc/testsuite/g++.dg/debug/pr94273.C
@@ -0,0 +1,4 @@
+class a {
+ virtual void c() {}
+} extern b;
+a b;
More information about the Gcc-cvs
mailing list