<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 27/09/15 09:05, Edmund Grimley Evans wrote:
<blockquote cite="mid:20150927080522.GD4789@rano.org" type="cite">
  <pre wrap="">peter green <a class="moz-txt-link-rfc2396E" href="mailto:plugwash@p10link.net"><plugwash@p10link.net></a>:

  </pre>
  <blockquote type="cite">
    <pre wrap="">From the ppc64 build log (s390x was much the same).
    </pre>
  </blockquote>
  <pre wrap="">
Thank you for taking the trouble to look at the build logs; I just saw
that it was "Installed" and naively assumed it had worked!

Perhaps then the architectures for which "INTEGER" is "long" (or
whatever) really are exactly those architectures for which a pointer
is 64-bit. </pre>
</blockquote>
<br>
Umm, you seem to be reading things backwards.<br>
<br>
#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__)
|| defined(__ia64__)<br>
typedef int integer;<br>
typedef int logical;<br>
#else<br>
typedef long int integer;<br>
typedef long int logical;<br>
#endif<br>
<br>
That code is defining "integer" and "logical" as "long" on most
architectures but as "int" on a list of 64-bit architectures. My
interpretation is that the code is trying to make "integer" and
"logical" 32-bit on all systems.<br>
<br>
If you only care about Debian and other modern systems you could
probablly reduce the code to<br>
<br>
typedef int integer;<br>
typedef int logical;<br>
<br>
Since int is 32-bit on all Debian architectures.<br>
<blockquote cite="mid:20150927080522.GD4789@rano.org" type="cite">
  <pre wrap="">#include <stdint.h>
#if UINTPTR_MAX == UINT64_MAX

I think that last approach is required to work by the standards, while
__LP64__ is a GCC extension, though I might be wrong.
  </pre>
</blockquote>
If my understanding of the intent of the ifdef is correct and you
believe it's ok to rely on c99 stuff you may as well just do<br>
<br>
#include <<code>inttypes.h</code>><br>
typedef int32_t integer;<br>
typedef int32_t logical;<br>
<br>
<br>
</body>
</html>