summaryrefslogtreecommitdiff
path: root/handy.h
diff options
context:
space:
mode:
authorMalcolm Beattie <mbeattie@sable.ox.ac.uk>1998-04-02 15:25:18 +0000
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1998-04-02 15:25:18 +0000
commitdc45a647708b6c5442e1362e6b6e7a2583c30346 (patch)
tree77eb71f3ede3b243141f6874d47e94606370b5f1 /handy.h
parent67ce88566282df78bad77aeb9c4b93768bda70aa (diff)
downloadperl-dc45a647708b6c5442e1362e6b6e7a2583c30346.tar.gz
Andy Dougherty's configuration patches (Config_63-01 up to 04).
p4raw-id: //depot/perl@845
Diffstat (limited to 'handy.h')
-rw-r--r--handy.h46
1 files changed, 21 insertions, 25 deletions
diff --git a/handy.h b/handy.h
index b9d3462940..233304b1f2 100644
--- a/handy.h
+++ b/handy.h
@@ -82,31 +82,27 @@
expecting an int), but the disadvantage that an I32 is not 32 bits.
Andy Dougherty August 1996
- In the future, we may perhaps want to think about something like
- #if INTSIZE == 4
- typedef I32 int;
- #else
- # if LONGSIZE == 4
- typedef I32 long;
- # else
- # if SHORTSIZE == 4
- typedef I32 short;
- # else
- typedef I32 int;
- # endif
- # endif
- #endif
-
- except that still won't work if a system has no integral type
- with a size that is 32 bytes.
-
- Further, we need to know about PTRSIZE == sizeof(void *) and
- DOUBLESIZE == sizeof(double) if we really want to try to handle
- 32/64-bit combinations. Finally, we might also need to know
- HAS_LONG_DOUBLE and LONG_DOUBLESIZE.
-
- For the moment, these are only mentioned here so metaconfig will
- construct Configure to figure out the various sizes.
+ There is no guarantee that there is *any* integral type with
+ exactly 32 bits. It is perfectly legal for a system to have
+ sizeof(short) == sizeof(int) == sizeof(long) == 8.
+
+ Similarly, there is no guarantee that I16 and U16 have exactly 16
+ bits.
+
+ For dealing with issues that may arise from various 32/64-bit
+ systems, we will ask Configure to check out
+ SHORTSIZE == sizeof(short)
+ INTSIZE == sizeof(int)
+ LONGSIZE == sizeof(long)
+ LONGLONGSIZE == sizeof(long long) (if HAS_LONG_LONG)
+ PTRSIZE == sizeof(void *)
+ DOUBLESIZE == sizeof(double)
+ LONG_DOUBLESIZE == sizeof(long double) (if HAS_LONG_DOUBLE).
+ Most of these are currently unused, but they are mentioned here so
+ metaconfig will include the appropriate tests in Configure and
+ we can then start to consider how best to deal with long long
+ variables.
+ Andy Dougherty April 1998
*/
typedef char I8;