diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b63c3201d29..6ca069bbf57 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-08-30 Joern Rennecke + + * recog.c (verify_changes): Verify that changes[i].old is non-zero + before applying REG_P. + 2013-08-30 Jakub Jelinek PR tree-optimization/58277 diff --git a/gcc/recog.c b/gcc/recog.c index 2d44416892e..690b20e4751 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))