http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56356

Kai Tietz <ktietz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
            Summary|DJGPP compiler crashing     |[4.7/4.8/4.9 regression]:
                   |                            |DJGPP compiler crashing

--- Comment #2 from Kai Tietz <ktietz at gcc dot gnu.org> ---
Following patch (doing same as dbxout for params and reg-parms) fixes issue for
me:

Index: sdbout.c
===================================================================
--- sdbout.c    (Revision 208594)
+++ sdbout.c    (Arbeitskopie)
@@ -1229,7 +1229,10 @@ static void
 sdbout_parms (tree parms)
 {
   for (; parms; parms = TREE_CHAIN (parms))
-    if (DECL_NAME (parms))
+    if (DECL_NAME (parms)
+    && TREE_TYPE (parms) != error_mark_node
+    && DECL_RTL_SET_P (parms)
+    && DECL_INCOMING_RTL (parms))
       {
     int current_sym_value = 0;
     const char *name = IDENTIFIER_POINTER (DECL_NAME (parms));
@@ -1361,7 +1364,10 @@ static void
 sdbout_reg_parms (tree parms)
 {
   for (; parms; parms = TREE_CHAIN (parms))
-    if (DECL_NAME (parms))
+    if (DECL_NAME (parms)
+        && TREE_TYPE (parms) != error_mark_node
+        && DECL_RTL_SET_P (parms)
+        && DECL_INCOMING_RTL (parms))
       {
     const char *name = IDENTIFIER_POINTER (DECL_NAME (parms));

Reply via email to