From: "Barak A. Pearlmutter" <barak+git@pearlmutter.net>
Date: Tue, 7 Jul 2020 17:11:07 +0100
Subject: XintXX_t

Instead of casing off on architectures, use int/uint _ 16/32/64.
See bugs.debian.org/800040
---
 f2c.h0 | 47 ++++++++++++++---------------------------------
 1 file changed, 14 insertions(+), 33 deletions(-)

diff --git a/f2c.h0 b/f2c.h0
index d33e7bd..602eb18 100644
--- a/f2c.h0
+++ b/f2c.h0
@@ -6,36 +6,23 @@
 
 #ifndef F2C_INCLUDE
 #define F2C_INCLUDE
+#include <inttypes.h>
 
-#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
-typedef int integer;
-typedef unsigned int uinteger;
-#else
-typedef long int integer;
-typedef unsigned long int uinteger;
-#endif
+typedef int32_t integer;
+typedef uint32_t uinteger;
 typedef char *address;
-typedef short int shortint;
+typedef int16_t shortint;
 typedef float real;
 typedef double doublereal;
 typedef struct { real r, i; } complex;
 typedef struct { doublereal r, i; } doublecomplex;
-#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
-typedef int logical;
-#else
-typedef long int logical;
-#endif
-typedef short int shortlogical;
+typedef int32_t logical;
+typedef int16_t shortlogical;
 typedef char logical1;
 typedef char integer1;
 #ifdef INTEGER_STAR_8	/* Adjust for integer*8. */
-#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
-typedef long longint;		/* system-dependent */
-typedef unsigned long ulongint;	/* system-dependent */
-#else
-typedef long long longint;              /* system-dependent - oh yeah*/
-typedef unsigned long long ulongint;    /* system-dependent - oh yeah*/
-#endif
+typedef int64_t longit;
+typedef uint64_t ulongint;
 #define qbit_clear(a,b)	((a) & ~((ulongint)1 << (b)))
 #define qbit_set(a,b)	((a) |  ((ulongint)1 << (b)))
 #endif
@@ -52,19 +39,13 @@ typedef unsigned long long ulongint;    /* system-dependent - oh yeah*/
 
 #ifdef f2c_i2
 /* for -i2 */
-typedef short flag;
-typedef short ftnlen;
-typedef short ftnint;
+typedef int16_t flag;
+typedef int16_t ftnlen;
+typedef int16_t ftnint;
 #else
-#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
-typedef int flag;
-typedef int ftnlen;
-typedef int ftnint;
-#else
-typedef long int flag;
-typedef long int ftnlen;
-typedef long int ftnint;
-#endif
+typedef int32_t flag;
+typedef int32_t ftnlen;
+typedef int32_t ftnint;
 #endif
 
 /*external read, write*/
