aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/opt/max1.C
blob: 10a6e57d92dd10ab75549a567c1da45f9b51ddff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* PR middle-end/19068 */
/* Test case by Andrew Pinski <pinskia@physics.uc.edu> */
/* { dg-do run } */
/* { dg-options "-O2 -Wno-deprecated" } */

extern "C" void abort (void);

long fff[10];

void f(long a)
{
  int i;
  a =  *((long*)(a+1+sizeof(long))) >? *((long*)(a+1)); 

  for(i=0;i<10;i++)
   fff[i] = a;
}

int main(void)
{
  int i;
  long a[2] = {10,5};
  f((long)(&a)-1);
  for(i = 0;i<10;i++)
   if (fff[i]!=10)
    abort ();
  return 0;
}