3 ?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
5 ?RCS: You may redistribute only under the terms of the Artistic License,
6 ?RCS: as specified in the README file that comes with the distribution.
7 ?RCS: You may reuse parts of this distribution only within the terms of
8 ?RCS: that same Artistic License; a copy of which may be found at the root
9 ?RCS: of the source tree for dist 4.0.
11 ?RCS: $Log: charsize.U,v $
12 ?RCS: Revision 3.0.1.1 1994/10/29 16:07:13 ram
13 ?RCS: patch36: added ?F: line for metalint file checking
15 ?RCS: Revision 3.0 1993/08/18 12:05:34 ram
16 ?RCS: Baseline for dist 3.0 netwide release.
18 ?MAKE:charsize: Assert Myread cat rm +cc +ccflags echo n c
19 ?MAKE: -pick add $@ %<
21 ?S: This variable contains the value of the CHARSIZE symbol, which
22 ?S: indicates to the C program how many bytes there are in a character.
25 ?C: This symbol contains the size of a char, so that the C preprocessor
26 ?C: can make decisions based on it.
28 ?H:#define CHARSIZE $charsize
31 : check for length of character
33 $echo $n "Checking to see how big your characters are...$c" >&4
34 for size in 1 2 4 8 error; do
36 #include "static_assert.h"
40 STATIC_ASSERT($size == sizeof(foo));
44 if $cc -c $ccflags try.c >/dev/null 2>&1; then break; fi
48 echo " cannot compute it." >&4
50 rp="What is the size of a character (in bytes)?"
59 echo " $size byte$s." >&4