OSDN Git Service

2008-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / c_f_tests_driver.c
1 extern void abort(void);
2
3 typedef struct myCDerived
4 {
5    int cInt;
6    double cDouble;
7    float cFloat;
8    short cShort;
9    void *ptr;
10 }myCDerived_t;
11
12 #define DERIVED_ARRAY_LEN 10
13 #define ARRAY_LEN_2 3
14 #define DIM1 2
15 #define DIM2 3
16
17 void testDerivedPtrs(myCDerived_t *cDerivedPtr,
18                      myCDerived_t *derivedArray, int arrayLen,
19                      myCDerived_t *derived2d, int dim1, int dim2);
20
21 int main(int argc, char **argv)
22 {
23    myCDerived_t cDerived;
24    myCDerived_t derivedArray[DERIVED_ARRAY_LEN];
25    myCDerived_t derived2DArray[DIM1][DIM2];
26    int i = 0;
27    int j = 0;
28
29    cDerived.cInt = 1;
30    cDerived.cDouble = 2.0;
31    cDerived.cFloat = 3.0;
32    cDerived.cShort = 4;
33 /*    cDerived.ptr = NULL; */
34    /* nullify the ptr */
35    cDerived.ptr = 0;
36
37    for(i = 0; i < DERIVED_ARRAY_LEN; i++)
38    {
39       derivedArray[i].cInt = (i+1) * 1;
40       derivedArray[i].cDouble = (i+1) * 1.0; /* 2.0; */
41       derivedArray[i].cFloat = (i+1) * 1.0; /* 3.0; */
42       derivedArray[i].cShort = (i+1) * 1; /* 4; */
43 /*       derivedArray[i].ptr = NULL; */
44       derivedArray[i].ptr = 0;
45    }
46
47    for(i = 0; i < DIM1; i++)
48    {
49       for(j = 0; j < DIM2; j++)
50       {
51          derived2DArray[i][j].cInt = ((i*DIM1) * 1) + j;
52          derived2DArray[i][j].cDouble = ((i*DIM1) * 1.0) + j;
53          derived2DArray[i][j].cFloat = ((i*DIM1) * 1.0) + j;
54          derived2DArray[i][j].cShort = ((i*DIM1) * 1) + j;
55 /*          derived2DArray[i][j].ptr = NULL; */
56          derived2DArray[i][j].ptr = 0;
57       }
58    }
59
60    /* send in the transpose size (dim2 is dim1, dim1 is dim2) */
61    testDerivedPtrs(&cDerived, derivedArray, DERIVED_ARRAY_LEN,
62                    derived2DArray[0], DIM2, DIM1);
63    
64    return 0;
65 }/* end main() */
66