PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 981019-1.c
blob1cf3741dc0e1244b9fc04871bf43c009bae96b1b
1 /* { dg-skip-if "ptxas seg faults" { nvptx-*-* } { "-O3*" } { "" } } */
3 extern int f2(void);
4 extern int f3(void);
5 extern void f1(void);
7 void
8 ff(int fname, int part, int nparts)
10 if (fname) /* bb 0 */
12 if (nparts) /* bb 1 */
13 f1(); /* bb 2 */
15 else
16 fname = 2; /* bb 3 */
18 /* bb 4 is the branch to bb 10
19 (bb 10 is physically at the end of the loop) */
20 while (f3() /* bb 10 */)
22 if (nparts /* bb 5 */ && f2() /* bb 6 */)
24 f1(); /* bb 7 ... */
25 nparts = part;
26 if (f3()) /* ... bb 7 */
27 f1(); /* bb 8 */
28 f1(); /* bb 9 */
29 break;
33 if (nparts) /* bb 11 */
34 f1(); /* bb 12 */
35 return; /* bb 13 */
38 int main(void)
40 ff(0, 1, 0);
41 return 0;
44 int f3(void) { static int x = 0; x = !x; return x; }
45 void f1(void) { abort(); }
46 int f2(void) { abort(); }