diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2013-08-30 14:20:29 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2013-08-30 15:20:29 +0100 |
commit | ac7eacd2f37c1565ef92a1e3c8cc7510059d4a6c (patch) | |
tree | 16a9f77dfa88a4e960235838eb97546b981db960 /gcc/recog.c | |
parent | 8f2ea9a3b7203a16520353b72606396a22460c24 (diff) | |
download | gcc-ac7eacd2f37c1565ef92a1e3c8cc7510059d4a6c.zip gcc-ac7eacd2f37c1565ef92a1e3c8cc7510059d4a6c.tar.gz gcc-ac7eacd2f37c1565ef92a1e3c8cc7510059d4a6c.tar.bz2 |
recog.c (verify_changes): Verify that changes[i].old is non-zero before applying REG_P.
* recog.c (verify_changes): Verify that changes[i].old is non-zero
before applying REG_P.
From-SVN: r202107
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 2d44416..690b20e 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)) |