?RCS: Revision 3.0 1993/08/18 12:05:23 ram
?RCS: Baseline for dist 3.0 netwide release.
?RCS:
-?MAKE:alignbytes: Myread Compile cat rm crosscompile multiarch
+?MAKE:alignbytes: Myread Compile cat rm crosscompile multiarch \
+ d_longdbl uselongdouble longdblsize
?MAKE: -pick add $@ %<
?S:alignbytes:
?S: This variable holds the number of bytes required to align a
-?S: double. Usual values are 2, 4 and 8.
+?S: double-- or a long double when applicable. Usual values are
+?S: 2, 4 and 8. The default is eight, for safety.
?S:.
?X: This used to be called ALIGNBYTES, but that conflicts with
?X: <machines/param.h> in NetBSD.
?C:MEM_ALIGNBYTES (ALIGNBYTES):
?C: This symbol contains the number of bytes required to align a
-?C: double. Usual values are 2, 4 and 8. The default is eight,
-?C: for safety.
+?C: double, or a long double when applicable. Usual values are 2,
+?C: 4 and 8. The default is eight, for safety.
?C:.
?H:?%<:#if defined(CROSSCOMPILE) || defined(MULTIARCH)
?H:?%<:# define MEM_ALIGNBYTES 8
*)
case "$alignbytes" in
'') echo "Checking alignment constraints..." >&4
- $cat >try.c <<'EOCP'
+ if $test "X$uselongdouble" = Xdefine -a "X$d_longdbl" = Xdefine; then
+ $cat >try.c <<'EOCP'
+typedef long double NV;
+EOCP
+ else
+ $cat >try.c <<'EOCP'
+typedef double NV;
+EOCP
+ fi
+ $cat >>try.c <<'EOCP'
#include <stdio.h>
struct foobar {
char foo;
- double bar;
+ NV bar;
} try_algn;
int main()
{