summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/20020206-1.c
blob: c21c564540977d1aa1a92c55df853c72e9f0c768 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* Origin: PR optimization/5429 from Philipp Thomas <pthomas@suse.de>.  */
/* 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;
}