aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-08-23 12:11:03 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-08-23 12:11:03 +0000
commit3767b2e4bebebeac612cc4c3210b43c31786a956 (patch)
treed4c0fd318a7d0cff565706b1f9f95026d0f78052 /gcc
parentc37691e5cd4c354951282777502d3f23e191b977 (diff)
downloadgcc-3767b2e4bebebeac612cc4c3210b43c31786a956.zip
gcc-3767b2e4bebebeac612cc4c3210b43c31786a956.tar.gz
gcc-3767b2e4bebebeac612cc4c3210b43c31786a956.tar.bz2
re PR lto/81940 (internal compiler error: in dwarf2out_abstract_function, at dwarf2out.c:21613)
2017-08-23 Richard Biener <rguenther@suse.de> PR lto/81940 * dwarf2out.c (dwarf2out_abstract_function): Handle LTO with -g0 at compile-time. * g++.dg/lto/pr81940_0.C: New testcase. From-SVN: r251306
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/lto/pr81940_0.C5
4 files changed, 20 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 37be75b..4d221a2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-08-23 Richard Biener <rguenther@suse.de>
+
+ PR lto/81940
+ * dwarf2out.c (dwarf2out_abstract_function): Handle LTO with
+ -g0 at compile-time.
+
2017-08-23 Tamar Christina <tamar.christina@arm.com>
PR middle-end/19706
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 0c339bd..ba8d24b 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -21609,7 +21609,10 @@ dwarf2out_abstract_function (tree decl)
return;
old_die = lookup_decl_die (decl);
- /* With early debug we always have an old DIE. */
+ /* With early debug we always have an old DIE unless we are in LTO
+ and the user did not compile but only link with debug. */
+ if (in_lto_p && ! old_die)
+ return;
gcc_assert (old_die != NULL);
if (get_AT (old_die, DW_AT_inline)
|| get_AT (old_die, DW_AT_abstract_origin))
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 487d94b..ff50edf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-08-23 Richard Biener <rguenther@suse.de>
+
+ PR lto/81940
+ * g++.dg/lto/pr81940_0.C: New testcase.
+
2017-08-23 Tamar Christina <tamar.christina@arm.com>
PR middle-end/19706
diff --git a/gcc/testsuite/g++.dg/lto/pr81940_0.C b/gcc/testsuite/g++.dg/lto/pr81940_0.C
new file mode 100644
index 0000000..4eba5fd
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lto/pr81940_0.C
@@ -0,0 +1,5 @@
+// { dg-lto-do link }
+// { dg-lto-options { { -O -flto } } }
+// { dg-extra-ld-options "-r -nostdlib -g" }
+
+int a, b = a;