taken from /usr/src/gnu/lib/libg2c/g2c.h of FreeBSD 6.2-RELEASE --- src/xsum0.out.orig 2020-09-16 22:54:09.000000000 +0000 +++ src/xsum0.out 2020-12-06 12:12:56.822181000 +0000 @@ -10,7 +10,7 @@ expr.c 6bfe005 72276 f2c.1 b0441b2 7532 f2c.1t bf1f87 7574 -f2c.h e770b7d8 4688 +f2c.h 119ccae4 5589 format.c f00da069 59974 format.h b396862 458 formatdata.c 1f0f56eb 28988 --- libf2c/f2c.h0.orig 1999-09-07 17:46:24 UTC +++ libf2c/f2c.h0 @@ -1,5 +1,14 @@ -/* f2c.h -- Standard Fortran to C header file */ +/* g2c.h -- g77 version of f2c (Standard Fortran to C header file) */ +/* This file is generated by the g77 libg2c configuration process from a + file named g2c.hin. This process sets up the appropriate types, + defines the appropriate macros, and so on. The resulting g2c.h file + is used to build g77's copy of libf2c, named libg2c, and also can + be used when compiling C code produced by f2c to link the resulting + object file(s) with those produced by the same version of g77 that + produced this file, allowing inter-operability of f2c-compiled and + g77-compiled code. */ + /** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed." - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */ @@ -7,24 +16,24 @@ #ifndef F2C_INCLUDE #define F2C_INCLUDE -typedef long int integer; -typedef unsigned long int uinteger; +/* F2C_INTEGER will normally be `int' but would be `long' on 16-bit systems */ +/* we assume short, float are OK */ +typedef int /* long int */ integer; +typedef unsigned long int /* long */ uinteger; typedef char *address; typedef short int shortint; typedef float real; typedef double doublereal; typedef struct { real r, i; } complex; typedef struct { doublereal r, i; } doublecomplex; -typedef long int logical; +typedef int /* long int */ logical; typedef short int shortlogical; typedef char logical1; typedef char integer1; -#ifdef INTEGER_STAR_8 /* Adjust for integer*8. */ -typedef long long longint; /* system-dependent */ -typedef unsigned long long ulongint; /* system-dependent */ +typedef long long int /* long long */ longint; /* system-dependent */ +typedef unsigned long long int /* long long */ ulongint; /* system-dependent */ #define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b))) #define qbit_set(a,b) ((a) | ((ulongint)1 << (b))) -#endif #define TRUE_ (1) #define FALSE_ (0) @@ -37,14 +46,15 @@ typedef unsigned long long ulongint; /* system-depende /* I/O stuff */ #ifdef f2c_i2 +#error "f2c_i2 will not work with g77!!!!" /* for -i2 */ typedef short flag; typedef short ftnlen; typedef short ftnint; #else -typedef long int flag; -typedef long int ftnlen; -typedef long int ftnint; +typedef int /* long int */ flag; +typedef int /* long int */ ftnlen; +typedef int /* long int */ ftnint; #endif /*external read, write*/ @@ -201,6 +211,9 @@ typedef doublereal E_f; /* real function with -R not s /* undef any lower-case symbols that your C compiler predefines, e.g.: */ #ifndef Skip_f2c_Undefs +/* (No such symbols should be defined in a strict ANSI C compiler. + We can avoid trouble with f2c-translated code by using + gcc -ansi [-traditional].) */ #undef cray #undef gcos #undef mc68010 --- src/f2c.h.orig 1999-09-07 17:46:24 UTC +++ src/f2c.h @@ -1,5 +1,14 @@ -/* f2c.h -- Standard Fortran to C header file */ +/* g2c.h -- g77 version of f2c (Standard Fortran to C header file) */ +/* This file is generated by the g77 libg2c configuration process from a + file named g2c.hin. This process sets up the appropriate types, + defines the appropriate macros, and so on. The resulting g2c.h file + is used to build g77's copy of libf2c, named libg2c, and also can + be used when compiling C code produced by f2c to link the resulting + object file(s) with those produced by the same version of g77 that + produced this file, allowing inter-operability of f2c-compiled and + g77-compiled code. */ + /** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed." - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */ @@ -7,24 +16,24 @@ #ifndef F2C_INCLUDE #define F2C_INCLUDE -typedef long int integer; -typedef unsigned long int uinteger; +/* F2C_INTEGER will normally be `int' but would be `long' on 16-bit systems */ +/* we assume short, float are OK */ +typedef int /* long int */ integer; +typedef unsigned long int /* long */ uinteger; typedef char *address; typedef short int shortint; typedef float real; typedef double doublereal; typedef struct { real r, i; } complex; typedef struct { doublereal r, i; } doublecomplex; -typedef long int logical; +typedef int /* long int */ logical; typedef short int shortlogical; typedef char logical1; typedef char integer1; -#ifdef INTEGER_STAR_8 /* Adjust for integer*8. */ -typedef long long longint; /* system-dependent */ -typedef unsigned long long ulongint; /* system-dependent */ +typedef long long int /* long long */ longint; /* system-dependent */ +typedef unsigned long long int /* long long */ ulongint; /* system-dependent */ #define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b))) #define qbit_set(a,b) ((a) | ((ulongint)1 << (b))) -#endif #define TRUE_ (1) #define FALSE_ (0) @@ -37,14 +46,15 @@ typedef unsigned long long ulongint; /* system-depende /* I/O stuff */ #ifdef f2c_i2 +#error "f2c_i2 will not work with g77!!!!" /* for -i2 */ typedef short flag; typedef short ftnlen; typedef short ftnint; #else -typedef long int flag; -typedef long int ftnlen; -typedef long int ftnint; +typedef int /* long int */ flag; +typedef int /* long int */ ftnlen; +typedef int /* long int */ ftnint; #endif /*external read, write*/ @@ -201,6 +211,9 @@ typedef doublereal E_f; /* real function with -R not s /* undef any lower-case symbols that your C compiler predefines, e.g.: */ #ifndef Skip_f2c_Undefs +/* (No such symbols should be defined in a strict ANSI C compiler. + We can avoid trouble with f2c-translated code by using + gcc -ansi [-traditional].) */ #undef cray #undef gcos #undef mc68010