1 
2 struct tag {
3   int m1;
4   char *m2[5];
5 } s1, *p1;
6 
7 int i;
8 
main()9 main()
10 {
11   s1.m1 = -1;
12   p1 = &s1;
13 
14   if ( func1( &p1->m1 ) == -1 )
15     foo ("ok");
16   else
17     abort ();
18 
19   i = 3;
20   s1.m2[3]= "123";
21 
22   if ( strlen( (p1->m2[i])++ ) == 3 )
23     foo ("ok");
24   else
25     abort ();
26 
27   exit (0);
28 }
29 
func1(int * p)30 func1(int *p) { return(*p); }
31 
foo(char * s)32 foo (char *s) {}
33