1255376Sdes
2141098Sdesstruct tag {
3117610Sdes  int m1;
4255376Sdes  char *m2[5];
5255376Sdes} s1, *p1;
6117610Sdes
7117610Sdesint i;
8117610Sdes
9117610Sdesmain()
10117610Sdes{
11117610Sdes  s1.m1 = -1;
12117610Sdes  p1 = &s1;
13117610Sdes
14117610Sdes  if ( func1( &p1->m1 ) == -1 )
15117610Sdes    foo ("ok");
16117610Sdes  else
17271947Sdes    abort ();
18147455Sdes
19117610Sdes  i = 3;
20117610Sdes  s1.m2[3]= "123";
21255376Sdes
22255376Sdes  if ( strlen( (p1->m2[i])++ ) == 3 )
23255376Sdes    foo ("ok");
24255376Sdes  else
25255376Sdes    abort ();
26255376Sdes
27255376Sdes  exit (0);
28255376Sdes}
29255376Sdes
30255376Sdesfunc1(int *p) { return(*p); }
31255376Sdes
32255376Sdesfoo (char *s) {}
33255376Sdes