From cfdab33280f5dee3a438db2d7f25a55a77d87e51 Mon Sep 17 00:00:00 2001
From: pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu, 14 Sep 2006 00:37:14 +0000
Subject: [PATCH] 2006-09-13  Andrew Pinski  <pinskia@physics.uc.edu>

	PR debug/28980
        * dwarf2out.c (loc_descriptor_from_tree_1): Handle
        FUNCTION_DECL.

2006-09-13  Andrew Pinski  <pinskia@physics.uc.edu>

	PR debug/28980
        * gcc.c-torture/compile/debugvlafunction-1.c: New test.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116939 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog                                         |  6 ++++++
 gcc/dwarf2out.c                                       |  1 +
 gcc/testsuite/ChangeLog                               |  5 +++++
 .../gcc.c-torture/compile/debugvlafunction-1.c        | 11 +++++++++++
 4 files changed, 23 insertions(+)
 create mode 100644 gcc/testsuite/gcc.c-torture/compile/debugvlafunction-1.c

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0bdff8c3aa85..b0b36ce1380f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+	PR debug/28980
+	* dwarf2out.c (loc_descriptor_from_tree_1): Handle
+	FUNCTION_DECL.
+
 2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
 
 	* basic_block.h (bb_has_eh_pred): Fix comment.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 982d90823de2..e82c81cc0a0c 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -9167,6 +9167,7 @@ loc_descriptor_from_tree_1 (tree loc, int want_address)
       /* FALLTHRU */
 
     case RESULT_DECL:
+    case FUNCTION_DECL:
       {
 	rtx rtl = rtl_for_decl_location (loc);
 
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ae45deee4047..ce08250c81f0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+	PR debug/28980
+	* gcc.c-torture/compile/debugvlafunction-1.c: New test.
+
 2006-09-13  Eric Botcazou  <ebotcazou@adacore.com>
 
 	* gnat.dg/specs/unchecked_union.ads: New test.
diff --git a/gcc/testsuite/gcc.c-torture/compile/debugvlafunction-1.c b/gcc/testsuite/gcc.c-torture/compile/debugvlafunction-1.c
new file mode 100644
index 000000000000..3911f87bc944
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/debugvlafunction-1.c
@@ -0,0 +1,11 @@
+extern void dynreplace_trampoline(void);
+extern void dynreplace_trampoline_endlabel(void);
+int dynreplace_add_trampoline(void)
+{
+  unsigned long trampoline_code[(((unsigned long)
+(&(dynreplace_trampoline_endlabel))
+-(unsigned long) (&dynreplace_trampoline)))
+];
+}
+
+
-- 
GitLab