From 5364626ac42b3eb2efc7462f6832a352db03439b Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 6 Feb 2002 20:27:05 +0100 Subject: [PATCH] re PR rtl-optimization/5429 (gcc 3.1 20020114 fails with Internal compiler error in verify_wide_reg_1, at flow.c:526) PR optimization/5429: * gcc.c-torture/compile/20020206-1.c: New test. From-SVN: r49548 --- gcc/testsuite/ChangeLog | 5 +++++ .../gcc.c-torture/compile/20020206-1.c | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/20020206-1.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 54f15563334..30b219e906a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2002-02-06 Jakub Jelinek + + PR optimization/5429: + * gcc.c-torture/compile/20020206-1.c: New test. + 2002-02-06 Nick Clifton * g++.dg/ext/align1.C: Do not use an explicit alignment value diff --git a/gcc/testsuite/gcc.c-torture/compile/20020206-1.c b/gcc/testsuite/gcc.c-torture/compile/20020206-1.c new file mode 100644 index 00000000000..c21c5645409 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20020206-1.c @@ -0,0 +1,18 @@ +/* Origin: PR optimization/5429 from Philipp Thomas . */ +/* This testcase caused ICE on IA-32 -O2 -march=i686 due to rtl sharing + problem in noce_process_if_block. Fixed by + http://gcc.gnu.org/ml/gcc-patches/2002-01/msg02146.html. */ + +typedef struct { + unsigned char a; +} A; + +unsigned int foo (A *x) +{ + unsigned char b[2] = { 0, 0 }; + unsigned char c = 0; + + c = (x->a) ? b[1] : b[0]; + + return (unsigned int) c; +} -- 2.30.2