ports/86884: Fix f2c to work on 64 bit platforms

Daniel O'Connor doconnor at gsoft.com.au
Tue Oct 4 08:20:28 UTC 2005


>Number:         86884
>Category:       ports
>Synopsis:       Fix f2c to work on 64 bit platforms
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 04 08:20:25 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Daniel O'Connor
>Release:        FreeBSD 6.0-BETA5 amd64
>Organization:
>Environment:
System: FreeBSD andenes.gsoft.com.au 6.0-BETA5 FreeBSD 6.0-BETA5 #0: Fri Sep 30 06:27:43 UTC 2005 radar at andenes.gsoft.com.au:/usr/obj/usr/src/sys/GENESIS amd64


>Description:
>How-To-Repeat:
>Fix:
Use specific width types in f2c.h to handle assumptions about width.

--- f2c.h.orig  Tue Oct  4 05:38:52 2005
+++ f2c.h       Tue Oct  4 08:05:43 2005
@@ -6,22 +6,23 @@

 #ifndef F2C_INCLUDE
 #define F2C_INCLUDE
+#include <sys/types.h>

-typedef long int integer;
-typedef unsigned long int uinteger;
+typedef int32_t integer;
+typedef uint32_t 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 int32_t 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 int64_t longint;               /* system-dependent */
+typedef uint64_t ulongint;     /* system-dependent */
 #define qbit_clear(a,b)        ((a) & ~((ulongint)1 << (b)))
 #define qbit_set(a,b)  ((a) |  ((ulongint)1 << (b)))
 #endif
@@ -42,9 +43,9 @@
 typedef short ftnlen;
 typedef short ftnint;
 #else
-typedef long int flag;
-typedef long int ftnlen;
-typedef long int ftnint;
+typedef int32_t flag;
+typedef int32_t ftnlen;
+typedef int32_t ftnint;
 #endif

 /*external read, write*/


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list