diff options
author | Kai Tietz <ktietz@redhat.com> | 2014-03-18 21:02:54 +0100 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2014-03-18 21:02:54 +0100 |
commit | 234f76cb20ceb0a1f08b96aba50b3f1c50715b7f (patch) | |
tree | d81a814a0eaf33a5aa51e613eda80e34749ca92d /gcc/sdbout.c | |
parent | 58ca6edfe58eed4b038c6fd8973c1052898e78e5 (diff) | |
download | gcc-234f76cb20ceb0a1f08b96aba50b3f1c50715b7f.zip gcc-234f76cb20ceb0a1f08b96aba50b3f1c50715b7f.tar.gz gcc-234f76cb20ceb0a1f08b96aba50b3f1c50715b7f.tar.bz2 |
re PR rtl-optimization/56356 (DJGPP compiler crashing)
PR rtl-optimization/56356
* sdbout.c (sdbout_parms): Verify that parms'
incoming argument is valid.
(sdbout_reg_parms): Likewise.
From-SVN: r208663
Diffstat (limited to 'gcc/sdbout.c')
-rw-r--r-- | gcc/sdbout.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/sdbout.c b/gcc/sdbout.c index 2e781c9..b07824b 100644 --- a/gcc/sdbout.c +++ b/gcc/sdbout.c @@ -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)); |