aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.demon.co.uk>2002-05-07 21:07:24 +0000
committerNeil Booth <neil@gcc.gnu.org>2002-05-07 21:07:24 +0000
commit44a147ad2ee5436c0f2b1bb95e3de61cce8c226e (patch)
tree74df1638e099a3467f9206ea84d1ec4945ea2b23 /gcc/c-common.c
parent522e3d222659a0f3ea3d0ffc1e72b35feafed01e (diff)
downloadgcc-44a147ad2ee5436c0f2b1bb95e3de61cce8c226e.zip
gcc-44a147ad2ee5436c0f2b1bb95e3de61cce8c226e.tar.gz
gcc-44a147ad2ee5436c0f2b1bb95e3de61cce8c226e.tar.bz2
c-common.c (c_common_init): Set options->unsigned_wchar.
* c-common.c (c_common_init): Set options->unsigned_wchar. * cppinit.c (cpp_create_reader): Default unsigned_wchar, group target dependencies. (init_builtins, cpp_handle_option): Update. * cpplex.c (cpp_interpret_charconst): Update. * cpplib.h (struct cpp_options): Add unsigned_wchar, rename signed_char to unsigned_char, group target dependencies. * defaults.h (WCHAR_UNSIGNED): Remove. * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison. config: * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h, i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h, i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h, i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h, sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED. doc: * tm.texi: Remove MAX_CHAR_TYPE_SIZE. From-SVN: r53271
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index bc4b0b9..b23bcfe 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -4310,6 +4310,15 @@ c_common_init (filename)
options->char_precision = TYPE_PRECISION (char_type_node);
options->int_precision = TYPE_PRECISION (integer_type_node);
options->wchar_precision = TYPE_PRECISION (wchar_type_node);
+ options->unsigned_wchar = TREE_UNSIGNED (wchar_type_node);
+ /* This can be uncommented when 1) This all happens before
+ cpp_post_options() (needed for __CHAR_UNSIGNED__ builtin), which
+ in turn requires wchat_type_node to be set up properly by then,
+ and 2) tradcpp is integrated, so that the preprocessors don't
+ need to handle the command-line options and the specs in gcc.c
+ can be updated.
+
+ options->unsigned_char = !flag_signed_char; */
options->warn_multichar = warn_multichar;