1double fabs(double);
2
3void test_coms(void);
4
5extern void abort(void);
6
7struct {double r, s; } com;     /* refers to the common block "com" */
8double single;                  /* refers to the common block "single" */
9long int mycom;                 /* refers to the common block "MYCOM" */
10long long int mycom2;           /* refers to the common block "MYCOM2" */
11struct {int i, j; } f03_com2;   /* refers to the common block "com2" */
12
13int main(int argc, char **argv)
14{
15  com.r = 1.0;
16  com.s = 2.0;
17  single = 1.0;
18  mycom = 1;
19  mycom2 = 2;
20  f03_com2.i = 1;
21  f03_com2.j = 2;
22
23  /* change the common block variables in F90 */
24  test_coms();
25
26  if(fabs(com.r - 1.1) > 0.00000000)
27    abort();
28  if(fabs(com.s - 2.1) > 0.00000000)
29    abort();
30  if(fabs(single - 1.1) > 0.00000000)
31    abort();
32  if(mycom != 2)
33    abort();
34  if(mycom2 != 3)
35    abort();
36  if(f03_com2.i != 2)
37    abort();
38  if(f03_com2.j != 3)
39    abort();
40
41  return 0;
42}/* end main() */
43