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
