This commit is contained in:
Jakub Jelinek 2020-09-16 13:35:23 +02:00
parent 15fd636cd1
commit 888bd7b767
2 changed files with 0 additions and 57 deletions

View File

@ -273,7 +273,6 @@ Patch13: gcc10-pr96939.patch
Patch14: gcc10-pr96939-2.patch
Patch15: gcc10-pr96939-3.patch
Patch16: gcc10-pr97032.patch
Patch17: gcc10-pr97060.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@ -790,7 +789,6 @@ to NVidia PTX capable devices if available.
%patch14 -p0 -b .pr96939-2~
%patch15 -p0 -b .pr96939-3~
%patch16 -p0 -b .pr97032~
%patch17 -p0 -b .pr97060~
find gcc/testsuite -name \*.pr96939~ | xargs rm -f
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
@ -3074,8 +3072,6 @@ end
- fix up ARM target attribute/pragma handling (#1875814, PR target/96939)
- don't ICE on sp clobbers with -mincoming-stack-boundary=2 on ia32
(#1862029, PR target/97032)
- emit DW_AT_declaration on DIEs for external FUNCTION_DECLs without body
(PR debug/97060)
* Wed Aug 26 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-3
- update from releases/gcc-10 branch

View File

@ -1,53 +0,0 @@
2020-09-16 Jakub Jelinek <jakub@redhat.com>
PR debug/97060
* dwarf2out.c (dwarf2out_early_global_decl): For FUNCTION_DECLs
and their abstract origins, if they don't have gimple body,
set current_function_decl to NULL rather than the decl or origin.
* gcc.dg/debug/dwarf2/pr97060.c: New test.
--- gcc/dwarf2out.c.jj 2020-09-07 13:17:58.383594248 +0200
+++ gcc/dwarf2out.c 2020-09-16 11:14:57.763550862 +0200
@@ -26547,7 +26547,11 @@ dwarf2out_early_global_decl (tree decl)
&& ((origin_die = lookup_decl_die (origin)) == NULL
|| is_declaration_die (origin_die)))
{
- current_function_decl = origin;
+ cgraph_node *cnode = cgraph_node::get (origin);
+ if (cnode && cnode->has_gimple_body_p ())
+ current_function_decl = origin;
+ else
+ current_function_decl = NULL_TREE;
dwarf2out_decl (origin);
}
@@ -26556,7 +26560,11 @@ dwarf2out_early_global_decl (tree decl)
if ((old_die = lookup_decl_die (decl)) == NULL
|| is_declaration_die (old_die))
{
- current_function_decl = decl;
+ cgraph_node *cnode = cgraph_node::get (decl);
+ if (cnode && cnode->has_gimple_body_p ())
+ current_function_decl = decl;
+ else
+ current_function_decl = NULL_TREE;
dwarf2out_decl (decl);
}
--- gcc/testsuite/gcc.dg/debug/dwarf2/pr97060.c.jj 2020-09-16 11:03:22.358420449 +0200
+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr97060.c 2020-09-16 11:03:17.717486318 +0200
@@ -0,0 +1,13 @@
+/* PR debug/97060 */
+/* { dg-do compile } */
+/* { dg-options "-g -dA" } */
+/* { dg-final { scan-assembler-times "DW_AT_declaration" 2 } } */
+
+extern int foo (unsigned int, unsigned int);
+
+int
+bar (void)
+{
+ foo (1, 2);
+ return 0;
+}