diff -uNr src.ORIG/config/MacOSX.cf src/config/MacOSX.cf --- src.ORIG/config/MacOSX.cf 2005-05-26 23:34:09.000000000 +0900 +++ src/config/MacOSX.cf 2005-05-27 10:48:05.000000000 +0900 @@ -111,8 +111,8 @@ #undef CcCmd #undef CplusplusCmd #ifdef MacOSXArchitecture -#define CcCmd cc -arch "ppc" -no-cpp-precomp -#define CplusplusCmd c++ -no-cpp-precomp +#define CcCmd cc -arch "ppc" -no-cpp-precomp -ftree-vectorize +#define CplusplusCmd c++ -no-cpp-precomp -ftree-vectorize #endif #ifndef CcCmd #define CcCmd cc @@ -126,17 +126,15 @@ /* #define GLX_DIRECT_RENDERING */ #define f2cFortran YES -#define FortranCmd g77 +#define FortranCmd gfortran #define XargsCmd xargs #define FortranSaveFlags /* */ /* Everything static !? */ -#define OptimisedFortranFlags -O0 -g -funroll-loops -fomit-frame-pointer -#define DefaultFCOptions -fno-automatic \ - -fno-second-underscore \ - -fno-f90 -fugly-complex -fno-globals \ - -fugly-init -Wno-globals +#define OptimisedFortranFlags -O0 -g -funroll-loops -fomit-frame-pointer \ + -ftree-vectorize +#define DefaultFCOptions -fno-second-underscore #define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX \ - -DCERNLIB_PPC -DCERNLIB_QMGLIBC \ - -DCERNLIB_MACOSX + -DCERNLIB_PPC -DCERNLIB_QMGLIBC \ + -DCERNLIB_MACOSX -DCERNLIB_GFORTRAN /* #define CERNLIB_SHIFT NO */ #define CERNLIB_LINUX diff -uNr src.ORIG/packlib/cspack/tcpaw/tcpaw.c src/packlib/cspack/tcpaw/tcpaw.c --- src.ORIG/packlib/cspack/tcpaw/tcpaw.c 2005-05-26 23:33:54.000000000 +0900 +++ src/packlib/cspack/tcpaw/tcpaw.c 2005-05-27 01:04:55.000000000 +0900 @@ -2353,6 +2353,13 @@ } #endif + +#if defined(__APPLE__) +static rnetrc(char *host, char **aname, char **apass); +static token(); +static void catch(); +#endif + #include #include @@ -2547,7 +2554,7 @@ # endif #endif -#ifndef __convexc__ +#if !defined(__convexc__) && !defined(__APPLE__) extern int kill(), ioctl(), getpid(); #endif /* __convexc__ */ static int intrupt; @@ -2571,7 +2578,11 @@ register int c; FILE *fi; static char pbuf[ MAXPASSWD + 1 ]; +#if !defined(__APPLE__) void (*sig)(), catch(); +#else + void (*sig)(); +#endif if((fi = fopen("/dev/tty", "r")) == NULL) return((char*)NULL); diff -uNr src.ORIG/packlib/fatmen/fatbody/fatini.F src/packlib/fatmen/fatbody/fatini.F --- src.ORIG/packlib/fatmen/fatbody/fatini.F 1996-03-08 00:18:01.000000000 +0900 +++ src/packlib/fatmen/fatbody/fatini.F 2005-05-27 10:42:37.000000000 +0900 @@ -42,8 +42,14 @@ CHARACTER*8 CHTAG(LKEYFA) CHARACTER*10 CHFOR COMMON /PAWC/ NWPAW,IXPAWC,IHBOOK,IXHIGZ,IXKUIP,IFENCE(5) +* 2005/05/27 K.Fujii to work around gfortran bug. +#ifdef CERNLIB_GFORTRAN + DATA CHTAG/'Num.Id.','Fname','Fname','Fname','Fname','Fname' + + ,'cp.level','loc.code','medium','nm.banks'/ +#else DATA CHTAG/'Num.Id.',5*'Fname' + ,'cp.level','loc.code','medium','nm.banks'/ +#endif DATA CHFOR/'IHHHHHIIII'/ *_______________________________________________________________________ * diff -uNr src.ORIG/packlib/fatmen/fatbody/fmbook.F src/packlib/fatmen/fatbody/fmbook.F --- src.ORIG/packlib/fatmen/fatbody/fmbook.F 1996-03-08 00:18:01.000000000 +0900 +++ src/packlib/fatmen/fatbody/fmbook.F 2005-05-27 10:53:47.000000000 +0900 @@ -24,8 +24,14 @@ DIMENSION INKEYS(LKEYFA),KEYS(LKEYFA) CHARACTER*8 CHTAG(LKEYFA) CHARACTER*10 CHFOR +* 2005/05/27 K.Fujii to work around gfortran bug. +#ifdef CERNLIB_GFORTRAN + DATA CHTAG/'Num.Id.','Fname','Fname','Fname','Fname','Fname' + + ,'cp.level','loc.code','medium','nm.banks'/ +#else DATA CHTAG/'Num.Id.',5*'Fname' + ,'cp.level','loc.code','medium','nm.banks'/ +#endif DATA CHFOR/'IHHHHHIIII'/ * *______________________________________________________________________ diff -uNr src.ORIG/packlib/fatmen/fatbody/fmlift.F src/packlib/fatmen/fatbody/fmlift.F --- src.ORIG/packlib/fatmen/fatbody/fmlift.F 1996-03-08 00:18:01.000000000 +0900 +++ src/packlib/fatmen/fatbody/fmlift.F 2005-05-27 10:54:58.000000000 +0900 @@ -47,8 +47,14 @@ CHARACTER*8 CHTAG(LKEYFA) CHARACTER*10 CHFOR CHARACTER*(*) CHOPT +* 2005/05/27 K.Fujii to work around gfortran bug. +#ifdef CERNLIB_GFORTRAN + DATA CHTAG/'Num.Id.','Fname','Fname','Fname','Fname','Fname' + + ,'cp.level','loc.code','medium','nm.banks'/ +#else DATA CHTAG/'Num.Id.',5*'Fname' + ,'cp.level','loc.code','medium','nm.banks'/ +#endif DATA CHFOR/'IHHHHHIIII'/ * *______________________________________________________________________ diff -uNr src.ORIG/packlib/kernlib/kerngen/tcgen/vizpri.F src/packlib/kernlib/kerngen/tcgen/vizpri.F --- src.ORIG/packlib/kernlib/kerngen/tcgen/vizpri.F 1996-02-16 02:49:51.000000000 +0900 +++ src/packlib/kernlib/kerngen/tcgen/vizpri.F 2005-05-28 01:21:24.000000000 +0900 @@ -19,7 +19,11 @@ CHARACTER TEXT*(*) CHARACTER LINE*(MXCHAR) CHARACTER CHLINE(MXCHAR)*1 +#if !defined(CERNLIB_GFORTRAN) EQUIVALENCE (CHLINE(1),LINE(1:1)) +#else + EQUIVALENCE (CHLINE(1),LINE) +#endif DIMENSION MTRAN(MXTEXT), MBITS(12) CHARACTER CHT*1 diff -uNr src.ORIG/packlib/zebra/dzebra/dzsnap.F src/packlib/zebra/dzebra/dzsnap.F --- src.ORIG/packlib/zebra/dzebra/dzsnap.F 1996-04-25 02:26:15.000000000 +0900 +++ src/packlib/zebra/dzebra/dzsnap.F 2005-05-27 16:04:59.000000000 +0900 @@ -201,7 +201,12 @@ DO 1000 JDIVI = 1,NDVMXQ IF ( JDIVI.GT.JQDVLL.AND.JDIVI.LT.JQDVSY) GO TO 1000 IF (JBIT(JJDIV,JDIVI).EQ.0) GO TO 1000 +* 2005/05/27 K.Fujii to work around gfortran bug. +#ifdef CERNLIB_GFORTRAN + WRITE(CQMAP(1),'(1X,/, +#else WRITE(CQMAP,'(1X,/, +#endif W '' DZSNAP. ----- Store nb.'',I2,'' = '',2A4, W '' Division nb.'',I2,'' = '',2A4,20X,20(''-''),/)') W JQSTOR,NQSNAM(1), NQSNAM(2), @@ -265,7 +270,12 @@ NDW = MIN(LN - LBKCL,NQWCUT) JDFD = 1 CALL DZDATA(CDUMMQ) +* 2005/05/27 K.Fujii to work around gfortran bug. +#ifdef CERNLIB_GFORTRAN + WRITE(CQMAP(1),'(1X,/,'' RECOVER AT ADR'',I8)') LN +#else WRITE(CQMAP,'(1X,/,'' RECOVER AT ADR'',I8)') LN +#endif CALL DZTEXT(0,CDUMMQ,2) IQUEST(1) = 0 GO TO 300 diff -uNr src.ORIG/packlib/zebra/dzebra/dzstdv.F src/packlib/zebra/dzebra/dzstdv.F --- src.ORIG/packlib/zebra/dzebra/dzstdv.F 1996-04-25 02:26:16.000000000 +0900 +++ src/packlib/zebra/dzebra/dzstdv.F 2005-05-27 16:11:07.000000000 +0900 @@ -116,7 +116,13 @@ ELSE +* 2005/05/27 K.Fujii to work around gfortran bug. +#ifdef CERNLIB_GFORTRAN + WRITE(CQMAP(1), + W '('' ?????? Bank beginning at address='',I8, +#else WRITE(CQMAP,'('' ?????? Bank beginning at address='',I8, +#endif W '' has problems -- no bank statistics'',/, #if !defined(CERNLIB_QMIBM) W I4,2X,2A4,3I8,1X,A7,2X,A5,4I7,2X)',ERR=300) diff -uNr src.ORIG/packlib/zebra/dzebra/dzstor.F src/packlib/zebra/dzebra/dzstor.F --- src.ORIG/packlib/zebra/dzebra/dzstor.F 1996-03-06 19:47:07.000000000 +0900 +++ src/packlib/zebra/dzebra/dzstor.F 2005-05-27 16:12:09.000000000 +0900 @@ -45,7 +45,12 @@ #if !defined(CERNLIB_WORDMAP) LSTABS = LSTABS*4 #endif +* 2005/05/27 K.Fujii to work around gfortran bug. +#ifdef CERNLIB_GFORTRAN + WRITE(CQMAP(1),'(1X,/,'' --- Store Parameters ---'',/, +#else WRITE(CQMAP,'(1X,/,'' --- Store Parameters ---'',/, +#endif W'' Id Name Abs.addr. Length Fence NS NL'', W'' WS Min.Resv. Act.Resv. Min(1+2) Low High'',/, #if (!defined(CERNLIB_OCTMAP))&&(!defined(CERNLIB_QMIBM)) diff -uNr src.ORIG/packlib/zebra/dzebra/dzsurv.F src/packlib/zebra/dzebra/dzsurv.F --- src.ORIG/packlib/zebra/dzebra/dzsurv.F 1996-04-25 02:26:18.000000000 +0900 +++ src/packlib/zebra/dzebra/dzsurv.F 2005-05-27 16:13:53.000000000 +0900 @@ -228,7 +228,13 @@ 9991 IF (CHTEXT.NE.'-') THEN +* 2005/05/27 K.Fujii to work around gfortran bug. +#ifdef CERNLIB_GFORTRAN + WRITE(CQMAP(1), + + '(1X,/,'' DZSURV --- The structure supported by'', +#else WRITE(CQMAP,'(1X,/,'' DZSURV --- The structure supported by'', +#endif + '' bank '',A4,'' at '',I10,'' in store '',2A4,'' occupies '', + I10,'' words in '',I6,'' banks '')') + IDSTR,LSTART,NQPNAM(KQT+1),NQPNAM(KQT+2),NWCUM,NBCUM diff -uNr src.ORIG/packlib/zebra/tq/tzfree.F src/packlib/zebra/tq/tzfree.F --- src.ORIG/packlib/zebra/tq/tzfree.F 1999-06-18 22:31:33.000000000 +0900 +++ src/packlib/zebra/tq/tzfree.F 2005-05-28 00:53:40.000000000 +0900 @@ -28,7 +28,11 @@ * COMMON /SLATE/ NDSLAT,NESLAT,NFSLAT,NGSLAT,NUM(2),DUMMY(34) CHARACTER COL(LGL)*1 +#if !defined(CERNLIB_GFORTRAN) EQUIVALENCE (COL(1), LINE(1:1)) +#else + EQUIVALENCE (COL(1), LINE) +#endif CHARACTER CHTYP*(*), FAULT*20 PARAMETER (CHTYP = '#''":') diff -uNr src.ORIG/packlib/zebra/tq/tzinit.F src/packlib/zebra/tq/tzinit.F --- src.ORIG/packlib/zebra/tq/tzinit.F 1999-06-18 22:31:33.000000000 +0900 +++ src/packlib/zebra/tq/tzinit.F 2005-05-28 00:55:25.000000000 +0900 @@ -33,7 +33,11 @@ * COMMON /SLATE/ NDSLAT,NESLAT,NFSLAT,NGSLAT,DUMMY(36) CHARACTER COL(LGL)*1 +#if !defined(CERNLIB_GFORTRAN) EQUIVALENCE (COL(1), LINE(1:1)) +#else + EQUIVALENCE (COL(1), LINE) +#endif CHARACTER CHWORK*8 #if defined(CERNLIB_EQUHOLCH) INTEGER IWORK(2) diff -uNr src.ORIG/packlib/zebra/zebra/pilot.h src/packlib/zebra/zebra/pilot.h --- src.ORIG/packlib/zebra/zebra/pilot.h 1998-09-25 18:33:46.000000000 +0900 +++ src/packlib/zebra/zebra/pilot.h 2005-05-27 21:03:43.000000000 +0900 @@ -4,11 +4,15 @@ #define CERNLIB_A4 #define CERNLIB_B32 #define CERNLIB_HEX +#if !defined(CERNLIB_GFORTRAN) #define CERNLIB_QHOLL +#endif # ifndef CERNLIB_QFEPC #define CERNLIB_EQUHOLCH # endif +#if !defined(CERNLIB_GFORTRAN) #define CERNLIB_QTRHOLL +#endif #define CERNLIB_QASCII #define CERNLIB_QCFIO #define CERNLIB_QIEEE diff -uNr src.ORIG/packlib/zebra/zebra/zbcdch.inc src/packlib/zebra/zebra/zbcdch.inc --- src.ORIG/packlib/zebra/zebra/zbcdch.inc 1996-03-06 19:46:52.000000000 +0900 +++ src/packlib/zebra/zebra/zbcdch.inc 2005-05-27 15:29:50.000000000 +0900 @@ -16,7 +16,13 @@ CHARACTER CQALLC*96 COMMON /ZBCDCH/ CQALLC CHARACTER*1 CQLETT(96), CQNUM(10) +* 2005/05/27 K.Fujii to work around gfortran bug. +#ifdef CERNLIB_GFORTRAN + EQUIVALENCE (CQLETT(1),CQALLC) + EQUIVALENCE (CQNUM(1), CQLETT(27)) +#else EQUIVALENCE (CQLETT(1),CQALLC(1:1)) EQUIVALENCE (CQNUM(1), CQALLC(27:27)) +#endif #endif diff -uNr src.ORIG/packlib/kernlib/kerngen/tcgen/tcdump.F src/packlib/kernlib/kerngen/tcgen/tcdump.F --- src.ORIG/packlib/kernlib/kerngen/tcgen/tcdump.F 1996-02-16 02:49:50.000000000 +0900 +++ src/packlib/kernlib/kerngen/tcgen/tcdump.F 2005-05-28 23:32:51.000000000 +0900 @@ -16,7 +16,11 @@ C C CALL UBLOW ( IND,IDN,3) +#if defined(CERNLIB_QRTHOLL) CALL UBLOW (3HIFH,IFM,3) +#else + CALL UBLOW ('IFH',IFM,3) +#endif DO 12 J=1,3 IF (IUCOMP(IFM(J),IDN,3).EQ.0) IFM(J)=0 12 CONTINUE