]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR debug/28980 (ICE in loc_descriptor_from_tree_1 with -g)
authorAndrew Pinski <pinskia@physics.uc.edu>
Mon, 9 Oct 2006 04:25:44 +0000 (04:25 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Mon, 9 Oct 2006 04:25:44 +0000 (21:25 -0700)
2006-10-08  Andrew Pinski  <pinskia@physics.uc.edu>

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

2006-10-08  Andrew Pinski  <pinskia@physics.uc.edu>

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

From-SVN: r117568

gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/debugvlafunction-1.c [new file with mode: 0644]

index 723c360256c9a533962252cb14ded087daaf576d..597da2e099bce6614f039842f56b2004f94e4443 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR debug/28980
+       * dwarf2out.c (loc_descriptor_from_tree_1): Handle
+       FUNCTION_DECL.
+
 2006-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR middle-end/28862
index 457349e4db47343846a7e9889a80cbf0ce80363c..0594c01b413c7360fc1ab2c3e8907caefcfcd06e 100644 (file)
@@ -8929,6 +8929,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);
 
index 9cc68351d8e3c81861b290621cc255318ba90d34..556dfca8d8f77a709ba7544081d96c46a253e032 100644 (file)
@@ -1,3 +1,8 @@
+2006-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR debug/28980
+       * gcc.c-torture/compile/debugvlafunction-1.c: New test.
+
 2006-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR middle-end/28862
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 (file)
index 0000000..3911f87
--- /dev/null
@@ -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)))
+];
+}
+
+