From 904422914077869b678ef73e8bd4cf9e165cb7f7 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 24 May 2002 23:40:25 +0200 Subject: [PATCH] re PR other/6782 (Specifing "-fverbose-asm" option throws ICE.) PR other/6782 * final.c (get_mem_expr_from_op): Return 0 if op is NULL. * gcc.dg/verbose-asm.c: New test. From-SVN: r53856 --- gcc/ChangeLog | 5 +++++ gcc/final.c | 3 +++ gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/verbose-asm.c | 27 +++++++++++++++++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/verbose-asm.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cfcc5fbeb04..fc69284ef3f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-05-24 Jakub Jelinek + + PR other/6782 + * final.c (get_mem_expr_from_op): Return 0 if op is NULL. + 2002-05-24 Neil Booth PR preprocessor/6780 diff --git a/gcc/final.c b/gcc/final.c index 07e96197a66..25a4e84c423 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3171,6 +3171,9 @@ get_mem_expr_from_op (op, paddressp) *paddressp = 0; + if (op == NULL) + return 0; + if (GET_CODE (op) == REG && ORIGINAL_REGNO (op) >= FIRST_PSEUDO_REGISTER) return REGNO_DECL (ORIGINAL_REGNO (op)); else if (GET_CODE (op) != MEM) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index deabe47ee7a..82ea6baac64 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2002-05-24 Jakub Jelinek + + * gcc.dg/verbose-asm.c: New test. + 2002-05-24 Neil Booth * gcc.dg/cpp/paste12.c: New test. diff --git a/gcc/testsuite/gcc.dg/verbose-asm.c b/gcc/testsuite/gcc.dg/verbose-asm.c new file mode 100644 index 00000000000..7d105d31cda --- /dev/null +++ b/gcc/testsuite/gcc.dg/verbose-asm.c @@ -0,0 +1,27 @@ +/* Test whether -fverbose-asm works. */ +/* { dg-do compile } */ +/* { dg-options "-fverbose-asm" } */ + +void foo (int *x) +{ + (*x)++; +} + +int bar (int *y) +{ + int a, b; + b = 10; + a = 26; + foo (&a); + a += 10; + foo (&a); + *y--; + return b; +} + +int +main (int argc, char *argv []) +{ + bar (&argc); + return 0; +}