aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2006-09-14 00:37:14 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2006-09-13 17:37:14 -0700
commit3c3f1a6f39914d92cccd9b7377d931b32e7067f8 (patch)
treeee879b1ae3bb3b74f5787468038ba50344d7297c
parent9dc728318087c4695fe7b22fab0b16a717095cf0 (diff)
downloadgcc-3c3f1a6f39914d92cccd9b7377d931b32e7067f8.zip
gcc-3c3f1a6f39914d92cccd9b7377d931b32e7067f8.tar.gz
gcc-3c3f1a6f39914d92cccd9b7377d931b32e7067f8.tar.bz2
re PR debug/28980 (ICE in loc_descriptor_from_tree_1 with -g)
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. From-SVN: r116939
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/debugvlafunction-1.c11
4 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0bdff8c..b0b36ce 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 982d908..e82c81c 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 ae45dee..ce08250 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 0000000..3911f87
--- /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)))
+];
+}
+
+