1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
Use system cfortran header.
--- a/f77_wrap.h
+++ b/f77_wrap.h
@@ -1,6 +1,6 @@
#define UNSIGNED_BYTE
-#include "cfortran.h"
+#include <cfortran/cfortran.h>
/************************************************************************
Some platforms creates longs as 8-byte integers. On other machines, ints
@@ -29,16 +29,16 @@
#undef LONGV_cfT
#undef PLONG_cfT
-#define LONGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,LONGV,A,B,C,D,E)
-#define PLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PLONG,A,B,C,D,E)
+#define LONGV_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,LONGV,A,B,C,D,E)
+#define PLONG_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,PLONG,A,B,C,D,E)
#define LONGVVVVVVV_cfTYPE int
#define PLONG_cfTYPE int
-#define LONGV_cfQ(B) long *B, _(B,N);
+#define LONGV_cfQ(B) long *B, CFORTRAN_XCAT_(B,N);
#define PLONG_cfQ(B) long B;
-#define LONGV_cfT(M,I,A,B,D) ( (_(B,N) = * _3(M,_LONGV_A,I)), \
- B = F2Clongv(_(B,N),A) )
+#define LONGV_cfT(M,I,A,B,D) ( (CFORTRAN_XCAT_(B,N) = * CFORTRAN_XCAT_3(M,_LONGV_A,I)), \
+ B = F2Clongv(CFORTRAN_XCAT_(B,N),A) )
#define PLONG_cfT(M,I,A,B,D) ((B=*A),&B)
-#define LONGV_cfR(A,B,D) C2Flongv(_(B,N),A,B);
+#define LONGV_cfR(A,B,D) C2Flongv(CFORTRAN_XCAT_(B,N),A,B);
#define PLONG_cfR(A,B,D) *A=B;
#define LONGV_cfH(S,U,B)
#define PLONG_cfH(S,U,B)
@@ -93,7 +93,7 @@ extern unsigned long gMinStrLen;
A->dsc$w_length, \
num_elem(A->dsc$a_pointer, \
A->dsc$w_length, \
- _3(M,_STRV_A,I) ) )
+ CFORTRAN_XCAT_3(M,_STRV_A,I) ) )
#else
#ifdef CRAYFortran
#define PPSTRING_cfT(M,I,A,B,D) (unsigned char*)_fcdtocp(A)
@@ -103,20 +103,20 @@ extern unsigned long gMinStrLen;
#endif
#define _cfMAX(A,B) ( (A>B) ? A : B )
-#define STRINGV_cfQ(B) char **B; unsigned int _(B,N), _(B,M);
+#define STRINGV_cfQ(B) char **B; unsigned int CFORTRAN_XCAT_(B,N), CFORTRAN_XCAT_(B,M);
#define STRINGV_cfR(A,B,D) free(B[0]); free(B);
#define TTSTR( A,B,D) \
((B=(char*)malloc(_cfMAX(D,gMinStrLen)+1))[D]='\0',memcpy(B,A,D), \
kill_trailing(B,' '))
#define TTTTSTRV( A,B,D,E) ( \
- _(B,N)=_cfMAX(E,1), \
- _(B,M)=_cfMAX(D,gMinStrLen)+1, \
- B=(char**)malloc(_(B,N)*sizeof(char*)), \
- B[0]=(char*)malloc(_(B,N)*_(B,M)), \
- vindex(B,_(B,M),_(B,N),f2cstrv2(A,B[0],D,_(B,M),_(B,N))) \
+ CFORTRAN_XCAT_(B,N)=_cfMAX(E,1), \
+ CFORTRAN_XCAT_(B,M)=_cfMAX(D,gMinStrLen)+1, \
+ B=(char**)malloc(CFORTRAN_XCAT_(B,N)*sizeof(char*)), \
+ B[0]=(char*)malloc(CFORTRAN_XCAT_(B,N)*CFORTRAN_XCAT_(B,M)), \
+ vindex(B,CFORTRAN_XCAT_(B,M),CFORTRAN_XCAT_(B,N),f2cstrv2(A,B[0],D,CFORTRAN_XCAT_(B,M),CFORTRAN_XCAT_(B,N))) \
)
#define RRRRPSTRV(A,B,D) \
- c2fstrv2(B[0],A,_(B,M),D,_(B,N)), \
+ c2fstrv2(B[0],A,CFORTRAN_XCAT_(B,M),D,CFORTRAN_XCAT_(B,N)), \
free(B[0]), \
free(B);
@@ -169,10 +169,10 @@ static char *f2cstrv2(char *fstr, char*
#undef BYTE_cfSTR
#undef BYTEV_cfSTR
-#define BYTE_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,BYTE,B,X,Y,Z,0)
-#define BYTEV_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,BYTEV,B,X,Y,Z,0)
-#define BYTE_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,BYTE,A,B,C,D,E)
-#define BYTEV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,BYTEV,A,B,C,D,E)
+#define BYTE_cfINT(N,A,B,X,Y,Z) CFORTRAN_XCAT_(CFARGS,N)(A,BYTE,B,X,Y,Z,0)
+#define BYTEV_cfINT(N,A,B,X,Y,Z) CFORTRAN_XCAT_(CFARGS,N)(A,BYTEV,B,X,Y,Z,0)
+#define BYTE_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,BYTE,A,B,C,D,E)
+#define BYTEV_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,BYTEV,A,B,C,D,E)
#define BYTE_cfSEP(T,B) INT_cfSEP(T,B)
#define BYTEV_cfSEP(T,B) INT_cfSEP(T,B)
#define BYTE_cfH(S,U,B) STRING_cfH(S,U,B)
@@ -211,11 +211,11 @@ static char *f2cstrv2(char *fstr, char*
#undef LOGICALV_cfSTR
#undef LOGICALV_cfT
-#define LOGICALV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,LOGICALV,A,B,C,D,E)
-#define LOGICALV_cfQ(B) char *B; unsigned int _(B,N);
-#define LOGICALV_cfT(M,I,A,B,D) (_(B,N)= * _3(M,_LOGV_A,I), \
- B=F2CcopyLogVect(_(B,N),A))
-#define LOGICALV_cfR(A,B,D) C2FcopyLogVect(_(B,N),A,B);
+#define LOGICALV_cfSTR(N,T,A,B,C,D,E) CFORTRAN_XCAT_(CFARGS,N)(T,LOGICALV,A,B,C,D,E)
+#define LOGICALV_cfQ(B) char *B; unsigned int CFORTRAN_XCAT_(B,N);
+#define LOGICALV_cfT(M,I,A,B,D) (CFORTRAN_XCAT_(B,N)= * CFORTRAN_XCAT_3(M,_LOGV_A,I), \
+ B=F2CcopyLogVect(CFORTRAN_XCAT_(B,N),A))
+#define LOGICALV_cfR(A,B,D) C2FcopyLogVect(CFORTRAN_XCAT_(B,N),A,B);
#define LOGICALV_cfH(S,U,B)
static char *F2CcopyLogVect(long size, int *A)
@@ -268,20 +268,20 @@ extern fitsfile *gFitsFiles[]; /*
memchr(A,'\0',D) ? A : TTSTR(A,B,D)
#define FCALLSCFUN0(T0,CN,UN,LN) \
- CFextern _(T0,_cfFZ)(UN,LN) void ABSOFT_cf2(T0)); \
- CFextern _(T0,_cfFZ)(UN,LN) void ABSOFT_cf2(T0)) \
- {_Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN(); _Icf(0,K,T0,0,0) _(T0,_cfI)}
+ CFextern CFORTRAN_XCAT_(T0,_cfFZ)(UN,LN) void ABSOFT_cf2(T0)); \
+ CFextern CFORTRAN_XCAT_(T0,_cfFZ)(UN,LN) void ABSOFT_cf2(T0)) \
+ {_Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN(); _Icf(0,K,T0,0,0) CFORTRAN_XCAT_(T0,_cfI)}
#define FCALLSCFUN14(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
- CFextern _(T0,_cfF)(UN,LN) \
+ CFextern CFORTRAN_XCAT_(T0,_cfF)(UN,LN) \
CFARGT14(NCF,DCF,ABSOFT_cf2(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)); \
- CFextern _(T0,_cfF)(UN,LN) \
+ CFextern CFORTRAN_XCAT_(T0,_cfF)(UN,LN) \
CFARGT14(NCF,DCF,ABSOFT_cf2(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)) \
{ CFARGT14S(QCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
_Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN( TCF(LN,T1,1,0) TCF(LN,T2,2,1) \
TCF(LN,T3,3,1) TCF(LN,T4,4,1) TCF(LN,T5,5,1) TCF(LN,T6,6,1) TCF(LN,T7,7,1) \
TCF(LN,T8,8,1) TCF(LN,T9,9,1) TCF(LN,TA,10,1) TCF(LN,TB,11,1) TCF(LN,TC,12,1) \
TCF(LN,TD,13,1) TCF(LN,TE,14,1) ); _Icf(0,K,T0,0,0) \
- CFARGT14S(RCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) _(T0,_cfI) \
+ CFARGT14S(RCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) CFORTRAN_XCAT_(T0,_cfI) \
}
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,7 @@ soname_version = @version_info@
soname_version_lnx = ${soname_version}.0.0
include_HEADERS = fitsio.h fitsio2.h longnam.h drvrsmem.h \
- cfortran.h f77_wrap.h region.h
+ f77_wrap.h region.h
F77_WRAPPERS = f77_wrap1.c f77_wrap2.c f77_wrap3.c f77_wrap4.c
|