summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-04 23:04:18 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-04 23:04:18 +0000
commitd85a20139d881d9d1adab64ffc7305cb3ae98e2a (patch)
tree0f4ef35ecb306a63e1426bcc2ec3b362210eccfe /gcc/recog.c
parent4d4ec3c86cac3f21e5908f762285a995b69dd4e2 (diff)
parent7d500d30a2205a6e6e6783a4b92cc38d66f3b70b (diff)
downloadgcc-d85a20139d881d9d1adab64ffc7305cb3ae98e2a.tar.gz
Merge in trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@202265 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 49daebd453e..aa052f32449 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -397,7 +397,10 @@ verify_changes (int num)
MEM_ADDR_SPACE (object)))
break;
}
- else if (REG_P (changes[i].old)
+ else if (/* changes[i].old might be zero, e.g. when putting a
+ REG_FRAME_RELATED_EXPR into a previously empty list. */
+ changes[i].old
+ && REG_P (changes[i].old)
&& asm_noperands (PATTERN (object)) > 0
&& REG_EXPR (changes[i].old) != NULL_TREE
&& DECL_ASSEMBLER_NAME_SET_P (REG_EXPR (changes[i].old))