From b01e3e38023941728a67738debeaa15d1f67753e Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Mon, 25 Aug 2003 20:14:45 +0000 Subject: [PATCH] combine.c (distribute_notes): Handle REG_ALWAYS_RETURN. * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN. * gcc.dg/20030702-1.c: New test. From-SVN: r70779 --- gcc/ChangeLog | 4 ++++ gcc/combine.c | 1 + gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/20030702-1.c | 10 ++++++++++ 4 files changed, 19 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/20030702-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 019fca2fa6e..a2bca73dbc9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-08-25 Ulrich Weigand + + * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN. + 2003-08-25 Ulrich Weigand * combine.c (combine_simplify_rtx): Fix RTL sharing bug. diff --git a/gcc/combine.c b/gcc/combine.c index 67e4b019567..afa25b0357d 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -12498,6 +12498,7 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2) abort (); break; + case REG_ALWAYS_RETURN: case REG_NORETURN: case REG_SETJMP: /* These notes must remain with the call. It should not be diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1a6f848121e..e98c748aad7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2003-08-25 Ulrich Weigand + + * gcc.dg/20030702-1.c: New test. + 2003-08-25 Mark Mitchell PR c++/8795 diff --git a/gcc/testsuite/gcc.dg/20030702-1.c b/gcc/testsuite/gcc.dg/20030702-1.c new file mode 100644 index 00000000000..70dad2eb8a9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20030702-1.c @@ -0,0 +1,10 @@ +/* This tests whether REG_ALWAYS_RETURN notes are handled + correctly in combine. */ +/* { dg-do compile } */ +/* { dg-options "-O2 -fpic -fprofile-arcs" } */ + +void test (void) +{ + fork (); +} +