Mercurial > hg > CbC > old > device
annotate test/scope.c @ 544:dbfd6e88e2c3 s-dandy-ok
s-dandy compile OK
author | kono |
---|---|
date | Mon, 02 Jan 2006 12:55:17 +0900 |
parents | a379da780856 |
children | df60b120675d |
rev | line source |
---|---|
363 | 1 /* |
2 | |
3 gcc -g -std=gnu99 test/scope.c | |
4 | |
5 */ | |
6 | |
7 #include <stdio.h> | |
8 | |
9 void | |
10 f(int *i,void *label) | |
11 { | |
12 static int k = 3; | |
13 { | |
14 static int k = 3; | |
15 *i = k++; | |
16 } | |
17 k--; | |
427 | 18 printf("#0017:f %d\n",k); |
363 | 19 } |
20 | |
21 int | |
22 main() | |
23 { | |
24 int i,k; | |
25 void *exit = &&exit0; | |
26 i = 3;k=10; | |
544 | 27 |
28 printf("%s,%s,%d\n", | |
29 __FILE__, | |
30 __FUNCTION__, | |
31 __LINE__ | |
32 ); | |
33 | |
34 | |
363 | 35 for(int k=0;k<10;k++) { |
36 int i; | |
37 i = 4; | |
38 if (({ | |
39 __label__ exit0; | |
40 int i; | |
41 f(&i,&&exit0); | |
42 if (i==5) | |
43 goto exit0; | |
427 | 44 printf("#0035:2nd inner %d %d %0x\n",i,k,&&exit1==exit); |
363 | 45 exit0: |
46 i; | |
47 })!=7) { | |
48 goto exit1; | |
49 } else | |
50 goto *exit; | |
450
eaf9e2746c83
parallel assign for simple expr. (too complex solution)
kono
parents:
427
diff
changeset
|
51 /* not reached */ |
eaf9e2746c83
parallel assign for simple expr. (too complex solution)
kono
parents:
427
diff
changeset
|
52 i = ({ int k=3; k; }); |
363 | 53 exit1: |
491 | 54 printf("#0045:inner %d %d %0x\n",i,k,&&exit1==exit); |
363 | 55 } |
56 k++; | |
57 exit0: | |
491 | 58 printf("#0049:outer %d %d %0x\n",i,k,&&exit0==exit); |
363 | 59 return 0; |
60 } |