During GCC-9, the codegen for unreachable switch case statements changed such that the (undefined) behaviour of reaching such statements is directed to one of the existing switch cases. This means that the testcase which deals with the old behaviour can no longer work (and there is nothing to test with it). The [Darwin-specific] test is now redundant fails for all Darwin but can be removed.
applied to mainline, thanks Iain gcc/testsuite/ 2019-07-12 Iain Sandoe <i...@sandoe.co.uk> * gcc.dg/pr57438-2.c: Remove. diff --git a/gcc/testsuite/gcc.dg/pr57438-2.c b/gcc/testsuite/gcc.dg/pr57438-2.c deleted file mode 100644 index f3ff1dc..0000000 --- a/gcc/testsuite/gcc.dg/pr57438-2.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile { target *-*-darwin* } } */ -/* { dg-options "--param case-values-threshold=3 -O2" } */ -/* { dg-additional-options "-funwind-tables" { target powerpc*-*-darwin* } } - -/* This is testing that a trailing local label is followed by a - nop where required. */ - -int foo (int x) -{ - switch (x) - { - case 0: - return 10; - case 3: - return -1; - case 5: - return 29; - default: - __builtin_unreachable(); - } -} - -/* { dg-final { scan-assembler "nop\\nLFE.*" { target { *-*-darwin* } } } } */