]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/56356 (DJGPP compiler crashing)
authorKai Tietz <ktietz@redhat.com>
Tue, 18 Mar 2014 20:06:37 +0000 (21:06 +0100)
committerKai Tietz <ktietz@gcc.gnu.org>
Tue, 18 Mar 2014 20:06:37 +0000 (21:06 +0100)
PR rtl-optimization/56356
* sdbout.c (sdbout_parms): Verify that parms'
incoming argument is valid.
(sdbout_reg_parms): Likewise.

From-SVN: r208664

gcc/ChangeLog
gcc/sdbout.c

index 740cf785bc73de3689a228f85a5ac731673fb77a..65f6bfdff1a4350cf09dd0aa80b0d3b82e62cffa 100644 (file)
@@ -1,3 +1,10 @@
+2014-03-18  Kai Tietz  <ktietz@redhat.com>
+
+       PR rtl-optimization/56356
+       * sdbout.c (sdbout_parms): Verify that parms'
+       incoming argument is valid.
+       (sdbout_reg_parms): Likewise.
+
 2014-03-18  Eric Botcazou  <ebotcazou@adacore.com>
 
        * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
index 13c11c296820307b09316de5c2a25654239ca2a9..44bdf3ef06f6dd60a086e82acf7f12b5c56a28f5 100644 (file)
@@ -1226,7 +1226,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));
@@ -1358,7 +1361,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));