diff options
Diffstat (limited to 'gcc/cppinit.c')
-rw-r--r-- | gcc/cppinit.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/cppinit.c b/gcc/cppinit.c index ab3dad78d90..717fb3ff72c 100644 --- a/gcc/cppinit.c +++ b/gcc/cppinit.c @@ -490,6 +490,11 @@ cpp_create_reader (lang) CPP_OPTION (pfile, show_column) = 1; CPP_OPTION (pfile, tabstop) = 8; CPP_OPTION (pfile, operator_names) = 1; +#if DEFAULT_SIGNED_CHAR + CPP_OPTION (pfile, signed_char) = 1; +#else + CPP_OPTION (pfile, signed_char) = 0; +#endif CPP_OPTION (pfile, pending) = (struct cpp_pending *) xcalloc (1, sizeof (struct cpp_pending)); @@ -761,6 +766,9 @@ init_builtins (pfile) else if (CPP_OPTION (pfile, c99)) _cpp_define_builtin (pfile, "__STDC_VERSION__ 199901L"); + if (CPP_OPTION (pfile, signed_char) == 0) + _cpp_define_builtin (pfile, "__CHAR_UNSIGNED__ 1"); + if (CPP_OPTION (pfile, lang) == CLK_STDC89 || CPP_OPTION (pfile, lang) == CLK_STDC94 || CPP_OPTION (pfile, lang) == CLK_STDC99) @@ -1186,7 +1194,9 @@ new_pending_directive (pend, text, handler) DEF_OPT("fno-show-column", 0, OPT_fno_show_column) \ DEF_OPT("fpreprocessed", 0, OPT_fpreprocessed) \ DEF_OPT("fshow-column", 0, OPT_fshow_column) \ + DEF_OPT("fsigned-char", 0, OPT_fsigned_char) \ DEF_OPT("ftabstop=", no_num, OPT_ftabstop) \ + DEF_OPT("funsigned-char", 0, OPT_funsigned_char) \ DEF_OPT("h", 0, OPT_h) \ DEF_OPT("idirafter", no_dir, OPT_idirafter) \ DEF_OPT("imacros", no_fil, OPT_imacros) \ @@ -1395,6 +1405,12 @@ cpp_handle_option (pfile, argc, argv, ignore) case OPT_fno_show_column: CPP_OPTION (pfile, show_column) = 0; break; + case OPT_fsigned_char: + CPP_OPTION (pfile, signed_char) = 1; + break; + case OPT_funsigned_char: + CPP_OPTION (pfile, signed_char) = 0; + break; case OPT_ftabstop: /* Silently ignore empty string, non-longs and silly values. */ if (arg[0] != '\0') |