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 (); +} +