From 3259ad7890a2c70b16fc8cfb249512e40bb40152 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 24 May 2002 23:26:54 +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: r53855 --- 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 964a27fab1e0..d66135c09a28 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 David Edelsohn * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer. diff --git a/gcc/final.c b/gcc/final.c index 34eda6cfd702..d86ed5e7c71a 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3021,6 +3021,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 226aec5d7292..24cc0dbf6ed0 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 000000000000..7d105d31cda9 --- /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; +} -- 2.47.2