summaryrefslogtreecommitdiff
path: root/gcc/sdbout.c
diff options
context:
space:
mode:
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2014-03-18 20:02:54 +0000
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2014-03-18 20:02:54 +0000
commit7020833cf35f739d84c69c3ddfbf5e377cccaa6f (patch)
treed81a814a0eaf33a5aa51e613eda80e34749ca92d /gcc/sdbout.c
parentf3d693fa9fa71a71c8c0f5751cb162a84a6ebc01 (diff)
downloadgcc-7020833cf35f739d84c69c3ddfbf5e377cccaa6f.tar.gz
PR rtl-optimization/56356
* sdbout.c (sdbout_parms): Verify that parms' incoming argument is valid. (sdbout_reg_parms): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208663 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sdbout.c')
-rw-r--r--gcc/sdbout.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/sdbout.c b/gcc/sdbout.c
index 2e781c96273..b07824bbe90 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));