3 ?RCS: Copyright (c) 1999 Jarkko Hietaniemi
5 ?RCS: You may distribute under the terms of either the GNU General Public
6 ?RCS: License or the Artistic License, as specified in the README file.
8 ?MAKE:d_quad quadtype uquadtype quadkind: \
9 longsize intsize d_longlong longlongsize d_int64_t \
11 ?MAKE: -pick add $@ %<
13 ?S: This variable, if defined, tells that there's a 64-bit integer type,
17 ?S: This variable defines Quad_t to be something like long, int,
18 ?S: long long, int64_t, or whatever type is used for 64-bit integers.
21 ?S: This variable, if defined, encodes the type of a quad:
22 ?S: 1 = int, 2 = long, 3 = long long, 4 = int64_t.
25 ?S: This variable defines Uquad_t to be something like unsigned long,
26 ?S: unsigned int, unsigned long long, uint64_t, or whatever type is
27 ?S: used for 64-bit integers.
30 ?C: This symbol, if defined, tells that there's a 64-bit integer type,
31 ?C: Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
32 ?C: of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
34 ?H:#$d_quad HAS_QUAD /**/
35 ?H:?%<:#ifdef HAS_QUAD
36 ?H:?%<:# define Quad_t $quadtype /**/
37 ?H:?%<:# define Uquad_t $uquadtype /**/
38 ?H:?%<:# define QUADKIND $quadkind /**/
39 ?H:?%<:# define QUAD_IS_INT 1
40 ?H:?%<:# define QUAD_IS_LONG 2
41 ?H:?%<:# define QUAD_IS_LONG_LONG 3
42 ?H:?%<:# define QUAD_IS_INT64_T 4
49 echo "Checking which 64-bit integer type we could use..." >&4
50 ?X: We prefer quad types in order of int, long, long long, int64_t.
61 *) case "$longsize" in
70 *) case "$d_longlong:$longlongsize" in
75 val='"unsigned long long"'
80 *) case "$d_int64_t" in
99 '') echo "Alas, no 64-bit integer types in sight." >&4
102 *) echo "We could use '$quadtype' for 64-bit integers." >&4