1      PROGRAM CMakeFortranCompilerABI
2#if 0
3! Address Size
4#endif
5#if defined(_LP64)
6        PRINT *, 'INFO:sizeof_dptr[8]'
7#elif defined(_M_IA64)
8        PRINT *, 'INFO:sizeof_dptr[8]'
9#elif defined(_M_X64)
10        PRINT *, 'INFO:sizeof_dptr[8]'
11#elif defined(_M_AMD64)
12        PRINT *, 'INFO:sizeof_dptr[8]'
13#elif defined(__x86_64__)
14        PRINT *, 'INFO:sizeof_dptr[8]'
15
16#elif defined(_ILP32)
17        PRINT *, 'INFO:sizeof_dptr[4]'
18#elif defined(_M_IX86)
19        PRINT *, 'INFO:sizeof_dptr[4]'
20#elif defined(__i386__)
21        PRINT *, 'INFO:sizeof_dptr[4]'
22
23#elif defined(__SIZEOF_POINTER__) && __SIZEOF_POINTER__ == 8
24        PRINT *, 'INFO:sizeof_dptr[8]'
25#elif defined(__SIZEOF_POINTER__) && __SIZEOF_POINTER__ == 4
26        PRINT *, 'INFO:sizeof_dptr[4]'
27#elif defined(__SIZEOF_SIZE_T__) && __SIZEOF_SIZE_T__ == 8
28        PRINT *, 'INFO:sizeof_dptr[8]'
29#elif defined(__SIZEOF_SIZE_T__) && __SIZEOF_SIZE_T__ == 4
30        PRINT *, 'INFO:sizeof_dptr[4]'
31#endif
32
33#if 0
34! Application Binary Interface
35#endif
36#if defined(__ELF__)
37        PRINT *, 'INFO:abi[ELF]'
38#endif
39        PRINT *, 'ABI Detection'
40      END
41