summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/20040914-1.c
blob: 824664c889b27b78ec3ac30a33e574250b80559f (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
30
31
32
33
34
35
36
37
38
39
extern int clobber_k (int *); 
extern int barrier (void); 
int t, u; 

int
process_second_stream(void) 
{ 
  int k; 
  int i = 0, j = 0, result; 
 
  clobber_k (&k); 
 
  while(t)
    ;
 
  while(!j) 
    {
      while(!j) 
	{ 
	  barrier (); 
	  if (t == 0) 
	    break; 
	  else if(t == 1) 
	    t = 2; 
	  else 
	    {
	      if(t < 0) 
		j=1; 
	      if(u < 0) 
		k = i++; 
	    }
	} 
 
      if(!j && u) 
	j=1; 
    } 
 
  return 0; 
}