|
|
1.1 root 1: main() {
2: exit(0);
3: }
4:
5: nested(a,b) {
6: if ((a<4 && b == 'r')
7: || (a == 1 && (b == 'h' || b == 'i'))
8: || (a == 2 && (b == 'o' || b == 'y'))
9: ) a=b;
10: }
11:
12: /* type name scope */
13:
14: void s(struct D *d) {} /* this struct D differs from the one below */
15: typedef struct D D;
16: struct D {int x, y;} Dy={0};
17: D Dz={1};
18: Dfunc(){
19: D a; a.y=1;
20: s(&Dy); /* error */
21: }
22:
23: /* qualifiers */
24:
25: const a; int b;
26: const int a, *x; int b, *y;
27: volatile unsigned z;
28:
29: f() {
30: x = y;
31: z = z + z; /* should be 2 references to z's r-value */
32: }
33: f1() {
34: x = &a;
35: x = &b;
36: y = &a; /* error */
37: y = &b;
38: }
39: f2(int **a, int **b) {
40: f(&x, &y);
41: **a = 0;
42: return **b;
43: }
44: g(const int *p) {
45: g(&a);
46: g(&b);
47: return *p;
48: }
49: h(int *p) {
50: f(&a);
51: f(&b);
52: return *p;
53: }
54: h1(const int x, int y) {
55: h1(a,b);
56: h1(b,a);
57: return x + y;
58: }
59: h2() {
60: char *b; const void *p;
61: p = b;
62: b = p; /* error */
63: }
64:
65:
66: /* static naming */
67:
68: extern int yy; set1() { { static yy=1; yy=2;} yy=4;}
69: static int yy; set2() { yy=5; {static yy=2; yy=3; }}
70: static void goo() {}
71: sss() { int goo; { static int goo();} goo=1;}
72: rrr(p) float *p; { extern int xr;
73: { static float xr;
74: { extern int *xr; } p=&xr; }}
75:
76: /* local extern */
77:
78: static int ss1;
79: int ss3;
80: extern int ss5;
81: setstatic() { extern int ss1,ss2,ss3,ss4; ss1 = ss2; ss3 = ss4; ss5 = 0;}
82: static int ss2;
83: int ss4;
84: static int ss5;
85:
86: /* function prototypes */
87:
88: int fx1(void);
89: int fx1();
90:
91: int gx1(double x);
92: int gx1(x) double x; { gx1(&x); } /* error */
93:
94: int hx1();
95: int hx1(double x,...); /* error */
96:
97: int ff1(double x, int *y);
98: int ff1(x,y) float x; int y[]; {x=y[0];}
99:
100: int gg1(int a);
101: int gg1(a,b){a=b;}
102:
103: int hh1(const int x);
104: hh1(a) {return a;}
105:
106: extern int strcmp(const char*, const char*);
107: extern void qsort(void*, int, int, int (*)(const void*, const void*));
108: extern int cmp(char**a, char**b) { return strcmp(*a,*b); }
109: sort() {
110: int n; char *a[100];
111: qsort(a, n, sizeof(char*), (int (*)(const void*, const void*))cmp);
112: qsort(a, n, sizeof(char*), cmp); /* error */
113: }
114:
115: /* nasty calls */
116:
117: onearg(){
118: int a,b,c,d;
119: f( ( (a? (b = 1): (c = 2)), (d ? 3 : 4) ) ); /* 1 argument */
120: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.