diff options
-rw-r--r-- | gcc/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/Makefile.in | 3 | ||||
-rw-r--r-- | gcc/c-opts.c | 275 | ||||
-rw-r--r-- | gcc/cppinit.c | 187 | ||||
-rw-r--r-- | gcc/cpplib.h | 5 | ||||
-rw-r--r-- | gcc/doc/cppopts.texi | 2 | ||||
-rw-r--r-- | gcc/gcc.c | 2 |
7 files changed, 248 insertions, 242 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9e0b085..13f43d8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,19 @@ +2002-08-09 Neil Booth <neil@daikokuya.co.uk> + + * Makefile.in (c-opts.o): Update + * c-opts.c: Include intl.h. + (print_help): Move from cppinit.c. Remove unused options. + (COMMAND_LINE_OPTIONS): Move more from cppinit.c. + (missing_arg): Complain for switches without an argument. + (c_common_decode_option): Reject missing joined arguments. + Handle new switches from cppinit.c. + * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c. + (cpp_handle_option): Similarly. + (print_help): Moved to c-opts.c. + * cpplib.h (struct cpp_options): Remove help_only. + * gcc.c (cpp_unique_options): Remove -$. + * doc/cppopts.texi: Undocument -h. + 2002-08-08 Jakub Jelinek <jakub@redhat.com> * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 821519d..c747007 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1241,7 +1241,8 @@ c-pretty-print.o : c-pretty-print.c c-pretty-print.h pretty-print.h \ $(C_COMMON_H) $(CONFIG_H) $(SYSTEM_H) real.h c-opts.o : c-opts.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(C_COMMON_H) \ - c-pragma.h flags.h toplev.h langhooks.h tree-inline.h diagnostic.h + c-pragma.h flags.h toplev.h langhooks.h tree-inline.h diagnostic.h \ + intl.h # A file used by all variants of C and some other languages. diff --git a/gcc/c-opts.c b/gcc/c-opts.c index c729211..9f25343 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -29,6 +29,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "langhooks.h" #include "tree-inline.h" #include "diagnostic.h" +#include "intl.h" static cpp_options *cpp_opts; @@ -37,6 +38,8 @@ static size_t parse_option PARAMS ((const char *, int)); static void set_Wimplicit PARAMS ((int)); static void complain_wrong_lang PARAMS ((size_t)); static void write_langs PARAMS ((char *, int)); +static void print_help PARAMS ((void)); +static void handle_OPT_d PARAMS ((const char *)); #define CL_C_ONLY (1 << 0) /* Only C. */ #define CL_OBJC_ONLY (1 << 1) /* Only ObjC. */ @@ -68,15 +71,19 @@ static void write_langs PARAMS ((char *, int)); If you request an argument with CL_JOINED, CL_SEPARATE or their combination CL_ARG, it is stored in the variable "arg", which is - guaranteed non-NULL. It points to the argument either within the - argv[] vector or within one of its strings, and so the text is not - temporary and copies need not be made. - - If you use the CL_SEPARATE flag (which is also in CL_ARG) be sure - to add an error message in missing_arg(). */ + guaranteed to be non-NULL and to not be an empty string. It points + to the argument either within the argv[] vector or within one of + that vector's strings, and so the text is permanent and copies need + not be made. Be sure to add an error message in missing_arg() if + the default is not appropriate. */ #define COMMAND_LINE_OPTIONS \ + OPT("-help", CL_ALL, OPT__help) \ + OPT("C", CL_ALL, OPT_C) \ + OPT("CC", CL_ALL, OPT_CC) \ OPT("E", CL_ALL, OPT_E) \ + OPT("H", CL_ALL, OPT_H) \ + OPT("P", CL_ALL, OPT_P) \ OPT("Wall", CL_ALL, OPT_Wall) \ OPT("Wbad-function-cast", CL_C, OPT_Wbad_function_cast) \ OPT("Wcast-qual", CL_ALL, OPT_Wcast_qual) \ @@ -138,6 +145,7 @@ static void write_langs PARAMS ((char *, int)); OPT("Wunused-macros", CL_ALL, OPT_Wunused_macros) \ OPT("Wwrite-strings", CL_ALL, OPT_Wwrite_strings) \ OPT("ansi", CL_ALL, OPT_ansi) \ + OPT("d", CL_ALL | CL_JOINED, OPT_d) \ OPT("faccess-control", CL_CXX, OPT_faccess_control) \ OPT("fall-virtual", CL_CXX, OPT_fall_virtual) \ OPT("falt-external-templates",CL_CXX, OPT_falt_external_templates) \ @@ -191,7 +199,7 @@ static void write_langs PARAMS ((char *, int)); OPT("fsquangle", CL_CXX, OPT_fsquangle) \ OPT("fstats", CL_CXX, OPT_fstats) \ OPT("fstrict-prototype", CL_CXX, OPT_fstrict_prototype) \ - OPT("ftabstop=", CL_ALL | CL_JOINED, OPT_ftabstop) \ + OPT("ftabstop=", CL_ALL | CL_JOINED, OPT_ftabstop) \ OPT("ftemplate-depth-", CL_CXX | CL_JOINED, OPT_ftemplate_depth) \ OPT("fthis-is-variable", CL_CXX, OPT_fthis_is_variable) \ OPT("funsigned-bitfields", CL_ALL, OPT_funsigned_bitfields) \ @@ -202,6 +210,8 @@ static void write_langs PARAMS ((char *, int)); OPT("fweak", CL_CXX, OPT_fweak) \ OPT("fxref", CL_CXX, OPT_fxref) \ OPT("gen-decls", CL_OBJC, OPT_gen_decls) \ + OPT("nostdinc", CL_ALL, OPT_nostdinc) \ + OPT("nostdinc++", CL_ALL, OPT_nostdincplusplus) \ OPT("pedantic", CL_ALL, OPT_pedantic) \ OPT("pedantic-errors", CL_ALL, OPT_pedantic_errors) \ OPT("print-objc-runtime-info", CL_OBJC, OPT_print_objc_runtime_info) \ @@ -217,7 +227,11 @@ static void write_langs PARAMS ((char *, int)); OPT("std=iso9899:199409", CL_C, OPT_std_iso9899_199409) \ OPT("std=iso9899:1999", CL_C, OPT_std_iso9899_1999) \ OPT("std=iso9899:199x", CL_C, OPT_std_iso9899_199x) \ - OPT("undef", CL_ALL, OPT_undef) + OPT("traditional-cpp", CL_ALL, OPT_traditional_cpp) \ + OPT("trigraphs", CL_ALL, OPT_trigraphs) \ + OPT("undef", CL_ALL, OPT_undef) \ + OPT("v", CL_ALL, OPT_v) \ + OPT("w", CL_ALL, OPT_w) #define OPT(text, flags, code) code, enum opt_code @@ -260,6 +274,32 @@ opt_comp (p1, p2) } #endif +/* Complain that switch OPT_INDEX expects an argument but none was + provided. */ +static void +missing_arg (opt_index) + size_t opt_index; +{ + switch (opt_index) + { + case OPT_Wformat_eq: + case OPT_d: + case OPT_fbuiltin_: + case OPT_fdump: + case OPT_fname_mangling: + case OPT_ftabstop: + case OPT_ftemplate_depth: + case OPT_std_bad: + default: + error ("missing argument to \"-%s\"", cl_options[opt_index].opt_text); + break; + + case OPT_fconstant_string_class: + error ("no class name specified with -fconstant-string-class="); + break; + } +} + /* Perform a binary search to find which option the command-line INPUT matches. Returns its index in the option array, and N_OPTS on failure. @@ -431,6 +471,8 @@ c_common_decode_option (argc, argv) opt_index = parse_option (opt + 1, lang_flag); if (opt_index == N_OPTS) goto done; + + result = 1; option = &cl_options[opt_index]; /* Sort out any argument the switch takes. */ @@ -444,32 +486,54 @@ c_common_decode_option (argc, argv) arg = argv[0] + cl_options[opt_index].opt_len + 1; if (!on) arg += strlen ("no-"); - if (*arg == '\0' && (option->flags & CL_SEPARATE)) - arg = 0; } - /* If arg is still 0, we can only be a CL_SEPARATE switch. */ - if (arg == 0) + /* If we don't have an argument, and CL_SEPARATE, try the next + argument in the vector. */ + if (!arg || (*arg == '\0' && option->flags & CL_SEPARATE)) { arg = argv[1]; - if (!arg) - { - missing_arg (opt_index); - result = argc; - goto done; - } + result = 2; + } + + if (!arg || *arg == '\0') + { + missing_arg (opt_index); + result = argc; + goto done; } } - switch (code = cl_options[opt_index].opt_code) + switch (code = option->opt_code) { case N_OPTS: /* Shut GCC up. */ break; + case OPT__help: + print_help (); + break; + + case OPT_C: + cpp_opts->discard_comments = 0; + break; + + case OPT_CC: + cpp_opts->discard_comments = 0; + cpp_opts->discard_comments_in_macro_exp = 0; + break; + case OPT_E: flag_preprocess_only = 1; break; + case OPT_H: + cpp_opts->print_include_names = 1; + break; + + case OPT_P: + cpp_opts->no_line_commands = 1; + break; + case OPT_Wall: set_Wunused (on); set_Wformat (on); @@ -558,11 +622,9 @@ c_common_decode_option (argc, argv) case OPT_Werror_implicit_function_decl: if (!on) - { - result = 0; - goto done; - } - mesg_implicit_function_declaration = 2; + result = 0; + else + mesg_implicit_function_declaration = 2; break; case OPT_Wfloat_equal: @@ -757,6 +819,10 @@ c_common_decode_option (argc, argv) warn_write_strings = on; break; + case OPT_d: + handle_OPT_d (arg); + break; + case OPT_fcond_mismatch: if (c_language == clk_c || c_language == clk_objective_c) { @@ -804,11 +870,9 @@ c_common_decode_option (argc, argv) case OPT_fbuiltin_: if (on) - { - result = 0; - goto done; - } - disable_builtin_function (arg); + result = 0; + else + disable_builtin_function (arg); break; case OPT_fdollars_in_identifiers: @@ -817,10 +881,7 @@ c_common_decode_option (argc, argv) case OPT_fdump: if (!on || !dump_switch_p (argv[0] + strlen ("-f"))) - { - result = 0; - goto done; - } + result = 0; break; case OPT_ffreestanding: @@ -877,10 +938,7 @@ c_common_decode_option (argc, argv) break; case OPT_fconstant_string_class: - if (*arg == 0) - error ("no class name specified with -fconstant-string-class="); - else - constant_string_class_name = arg; + constant_string_class_name = arg; break; case OPT_fdefault_inline: @@ -980,7 +1038,6 @@ c_common_decode_option (argc, argv) return 0; /* It is documented that we silently ignore silly values. */ - if (*arg) { char *endptr; long tabstop = strtol (arg, &endptr, 10); @@ -1009,6 +1066,17 @@ c_common_decode_option (argc, argv) flag_gen_declaration = 1; break; + case OPT_nostdinc: + /* No default include directories. You must specify all + include-file directories with -I. */ + cpp_opts->no_standard_includes = 1; + break; + + case OPT_nostdincplusplus: + /* No default C++-specific include directories. */ + cpp_opts->no_standard_cplusplus_includes = 1; + break; + /* We need to handle the -pedantic switches here, rather than in c_common_post_options, so that a subsequent -Wno-endif-labels is not overridden. */ @@ -1091,12 +1159,26 @@ c_common_decode_option (argc, argv) flag_isoc94 = 1; break; + case OPT_trigraphs: + cpp_opts->trigraphs = 1; + break; + + case OPT_traditional_cpp: + cpp_opts->traditional = 1; + break; + case OPT_undef: flag_undef = 1; break; - } - result = 1 + (arg == argv[1]); + case OPT_w: + cpp_opts->inhibit_warnings = 1; + break; + + case OPT_v: + cpp_opts->verbose = 1; + break; + } done: if (dup) @@ -1167,15 +1249,33 @@ set_Wimplicit (on) mesg_implicit_function_declaration = 0; } -/* Complain that switch OPT_INDEX expects an argument but none was - provided. This is currenlty unused, as the C front ends have no - switches that take separate arguments. Will be used when cpplib's - switches are integrated. */ +/* Args to -d specify what to dump. Silently ignore + unrecognised options; they may be aimed at toplev.c. */ static void -missing_arg (opt_index) - size_t opt_index ATTRIBUTE_UNUSED; +handle_OPT_d (arg) + const char *arg; { - abort (); + char c; + + while ((c = *arg++) != '\0') + switch (c) + { + case 'M': + cpp_opts->dump_macros = dump_only; + break; + + case 'N': + cpp_opts->dump_macros = dump_names; + break; + + case 'D': + cpp_opts->dump_macros = dump_definitions; + break; + + case 'I': + cpp_opts->dump_includes = 1; + break; + } } /* Write a slash-separated list of languages in FLAGS to BUF. */ @@ -1214,3 +1314,84 @@ complain_wrong_lang (opt_index) warning ("\"-%s\" is valid for %s but not for %s", cl_options[opt_index].opt_text, ok_langs, bad_langs); } + +/* Handle --help output. */ +static void +print_help () +{ + /* To keep the lines from getting too long for some compilers, limit + to about 500 characters (6 lines) per chunk. */ + fputs (_("\ +Switches:\n\ + -include <file> Include the contents of <file> before other files\n\ + -imacros <file> Accept definition of macros in <file>\n\ + -iprefix <path> Specify <path> as a prefix for next two options\n\ + -iwithprefix <dir> Add <dir> to the end of the system include path\n\ + -iwithprefixbefore <dir> Add <dir> to the end of the main include path\n\ + -isystem <dir> Add <dir> to the start of the system include path\n\ +"), stdout); + fputs (_("\ + -idirafter <dir> Add <dir> to the end of the system include path\n\ + -I <dir> Add <dir> to the end of the main include path\n\ + -I- Fine-grained include path control; see info docs\n\ + -nostdinc Do not search system include directories\n\ + (dirs specified with -isystem will still be used)\n\ + -nostdinc++ Do not search system include directories for C++\n\ + -o <file> Put output into <file>\n\ +"), stdout); + fputs (_("\ + -trigraphs Support ISO C trigraphs\n\ + -std=<std name> Specify the conformance standard; one of:\n\ + gnu89, gnu99, c89, c99, iso9899:1990,\n\ + iso9899:199409, iso9899:1999, c++98\n\ + -w Inhibit warning messages\n\ + -W[no-]trigraphs Warn if trigraphs are encountered\n\ + -W[no-]comment{s} Warn if one comment starts inside another\n\ +"), stdout); + fputs (_("\ + -W[no-]traditional Warn about features not present in traditional C\n\ + -W[no-]undef Warn if an undefined macro is used by #if\n\ + -W[no-]import Warn about the use of the #import directive\n\ +"), stdout); + fputs (_("\ + -W[no-]error Treat all warnings as errors\n\ + -W[no-]system-headers Do not suppress warnings from system headers\n\ + -W[no-]all Enable most preprocessor warnings\n\ +"), stdout); + fputs (_("\ + -M Generate make dependencies\n\ + -MM As -M, but ignore system header files\n\ + -MD Generate make dependencies and compile\n\ + -MMD As -MD, but ignore system header files\n\ + -MF <file> Write dependency output to the given file\n\ + -MG Treat missing header file as generated files\n\ +"), stdout); + fputs (_("\ + -MP Generate phony targets for all headers\n\ + -MQ <target> Add a MAKE-quoted target\n\ + -MT <target> Add an unquoted target\n\ +"), stdout); + fputs (_("\ + -D<macro> Define a <macro> with string '1' as its value\n\ + -D<macro>=<val> Define a <macro> with <val> as its value\n\ + -A<question>=<answer> Assert the <answer> to <question>\n\ + -A-<question>=<answer> Disable the <answer> to <question>\n\ + -U<macro> Undefine <macro> \n\ + -v Display the version number\n\ +"), stdout); + fputs (_("\ + -H Print the name of header files as they are used\n\ + -C Do not discard comments\n\ + -dM Display a list of macro definitions active at end\n\ + -dD Preserve macro definitions in output\n\ + -dN As -dD except that only the names are preserved\n\ + -dI Include #include directives in the output\n\ +"), stdout); + fputs (_("\ + -f[no-]preprocessed Treat the input file as already preprocessed\n\ + -ftabstop=<number> Distance between tab stops for column reporting\n\ + -P Do not generate #line directives\n\ + -remap Remap file names when including files\n\ + --help Display this information\n\ +"), stdout); +} diff --git a/gcc/cppinit.c b/gcc/cppinit.c index 3203027..b7d204c 100644 --- a/gcc/cppinit.c +++ b/gcc/cppinit.c @@ -87,7 +87,6 @@ struct cpp_pending } while (0) #endif -static void print_help PARAMS ((void)); static void path_include PARAMS ((cpp_reader *, char *, int)); static void init_library PARAMS ((void)); @@ -1136,14 +1135,8 @@ new_pending_directive (pend, text, handler) /* This is the list of all command line options, with the leading "-" removed. It must be sorted in ASCII collating order. */ #define COMMAND_LINE_OPTIONS \ - DEF_OPT("-help", 0, OPT__help) \ - DEF_OPT("-target-help", 0, OPT_target__help) \ - DEF_OPT("-version", 0, OPT__version) \ DEF_OPT("A", no_ass, OPT_A) \ - DEF_OPT("C", 0, OPT_C) \ - DEF_OPT("CC", 0, OPT_CC) \ DEF_OPT("D", no_mac, OPT_D) \ - DEF_OPT("H", 0, OPT_H) \ DEF_OPT("I", no_dir, OPT_I) \ DEF_OPT("M", 0, OPT_M) \ DEF_OPT("MD", no_fil, OPT_MD) \ @@ -1154,10 +1147,7 @@ new_pending_directive (pend, text, handler) DEF_OPT("MP", 0, OPT_MP) \ DEF_OPT("MQ", no_tgt, OPT_MQ) \ DEF_OPT("MT", no_tgt, OPT_MT) \ - DEF_OPT("P", 0, OPT_P) \ DEF_OPT("U", no_mac, OPT_U) \ - DEF_OPT("d", no_arg, OPT_d) \ - DEF_OPT("h", 0, OPT_h) \ DEF_OPT("idirafter", no_dir, OPT_idirafter) \ DEF_OPT("imacros", no_fil, OPT_imacros) \ DEF_OPT("include", no_fil, OPT_include) \ @@ -1170,8 +1160,6 @@ new_pending_directive (pend, text, handler) DEF_OPT("lang-c++", 0, OPT_lang_cplusplus) \ DEF_OPT("lang-c89", 0, OPT_lang_c89) \ DEF_OPT("lang-objc", 0, OPT_lang_objc) \ - DEF_OPT("nostdinc", 0, OPT_nostdinc) \ - DEF_OPT("nostdinc++", 0, OPT_nostdincplusplus) \ DEF_OPT("o", no_fil, OPT_o) \ DEF_OPT("remap", 0, OPT_remap) \ DEF_OPT("std=c++98", 0, OPT_std_cplusplus98) \ @@ -1184,11 +1172,7 @@ new_pending_directive (pend, text, handler) DEF_OPT("std=iso9899:1990", 0, OPT_std_iso9899_1990) \ DEF_OPT("std=iso9899:199409", 0, OPT_std_iso9899_199409) \ DEF_OPT("std=iso9899:1999", 0, OPT_std_iso9899_1999) \ - DEF_OPT("std=iso9899:199x", 0, OPT_std_iso9899_199x) \ - DEF_OPT("traditional-cpp", 0, OPT_traditional_cpp) \ - DEF_OPT("trigraphs", 0, OPT_trigraphs) \ - DEF_OPT("v", 0, OPT_v) \ - DEF_OPT("w", 0, OPT_w) + DEF_OPT("std=iso9899:199x", 0, OPT_std_iso9899_199x) #define DEF_OPT(text, msg, code) code, enum opt_code @@ -1334,48 +1318,13 @@ cpp_handle_option (pfile, argc, argv) { case N_OPTS: /* Shut GCC up. */ break; - case OPT_w: - CPP_OPTION (pfile, inhibit_warnings) = 1; - break; - case OPT_h: - case OPT__help: - print_help (); - /* fall through */ - case OPT_target__help: - case OPT__version: - /* Nothing to do for these cases, but we need to be sure - help_only is set. */ - CPP_OPTION (pfile, help_only) = 1; - break; - case OPT_v: - CPP_OPTION (pfile, verbose) = 1; - break; - case OPT_C: - CPP_OPTION (pfile, discard_comments) = 0; - break; - case OPT_CC: - CPP_OPTION (pfile, discard_comments) = 0; - CPP_OPTION (pfile, discard_comments_in_macro_exp) = 0; - break; - case OPT_P: - CPP_OPTION (pfile, no_line_commands) = 1; - break; - case OPT_H: - CPP_OPTION (pfile, print_include_names) = 1; - break; case OPT_D: new_pending_directive (pend, arg, cpp_define); break; - case OPT_trigraphs: - CPP_OPTION (pfile, trigraphs) = 1; - break; case OPT_remap: CPP_OPTION (pfile, remap) = 1; break; - case OPT_traditional_cpp: - CPP_OPTION (pfile, traditional) = 1; - break; case OPT_iprefix: CPP_OPTION (pfile, include_prefix) = arg; CPP_OPTION (pfile, include_prefix_len) = strlen (arg); @@ -1416,15 +1365,6 @@ cpp_handle_option (pfile, argc, argv) case OPT_std_c99: set_lang (pfile, CLK_STDC99); break; - case OPT_nostdinc: - /* -nostdinc causes no default include directories. - You must specify all include-file directories with -I. */ - CPP_OPTION (pfile, no_standard_includes) = 1; - break; - case OPT_nostdincplusplus: - /* -nostdinc++ causes no default C++-specific include directories. */ - CPP_OPTION (pfile, no_standard_cplusplus_includes) = 1; - break; case OPT_o: if (CPP_OPTION (pfile, out_fname) == NULL) CPP_OPTION (pfile, out_fname) = arg; @@ -1434,31 +1374,6 @@ cpp_handle_option (pfile, argc, argv) return argc; } break; - case OPT_d: - /* Args to -d specify what parts of macros to dump. - Silently ignore unrecognised options; they may - be aimed at the compiler proper. */ - { - char c; - - while ((c = *arg++) != '\0') - switch (c) - { - case 'M': - CPP_OPTION (pfile, dump_macros) = dump_only; - break; - case 'N': - CPP_OPTION (pfile, dump_macros) = dump_names; - break; - case 'D': - CPP_OPTION (pfile, dump_macros) = dump_definitions; - break; - case 'I': - CPP_OPTION (pfile, dump_includes) = 1; - break; - } - } - break; case OPT_MG: CPP_OPTION (pfile, print_deps_missing_files) = 1; @@ -1751,103 +1666,3 @@ init_dependency_output (pfile) was specified with -o. out_fname is non-NULL here. */ CPP_OPTION (pfile, deps_file) = CPP_OPTION (pfile, out_fname); } - -/* Handle --help output. */ -static void -print_help () -{ - /* To keep the lines from getting too long for some compilers, limit - to about 500 characters (6 lines) per chunk. */ - fputs (_("\ -Switches:\n\ - -include <file> Include the contents of <file> before other files\n\ - -imacros <file> Accept definition of macros in <file>\n\ - -iprefix <path> Specify <path> as a prefix for next two options\n\ - -iwithprefix <dir> Add <dir> to the end of the system include path\n\ - -iwithprefixbefore <dir> Add <dir> to the end of the main include path\n\ - -isystem <dir> Add <dir> to the start of the system include path\n\ -"), stdout); - fputs (_("\ - -idirafter <dir> Add <dir> to the end of the system include path\n\ - -I <dir> Add <dir> to the end of the main include path\n\ - -I- Fine-grained include path control; see info docs\n\ - -nostdinc Do not search system include directories\n\ - (dirs specified with -isystem will still be used)\n\ - -nostdinc++ Do not search system include directories for C++\n\ - -o <file> Put output into <file>\n\ -"), stdout); - fputs (_("\ - -pedantic Issue all warnings demanded by strict ISO C\n\ - -pedantic-errors Issue -pedantic warnings as errors instead\n\ - -trigraphs Support ISO C trigraphs\n\ - -lang-c Assume that the input sources are in C\n\ - -lang-c89 Assume that the input sources are in C89\n\ -"), stdout); - fputs (_("\ - -lang-c++ Assume that the input sources are in C++\n\ - -lang-objc Assume that the input sources are in ObjectiveC\n\ - -lang-asm Assume that the input sources are in assembler\n\ -"), stdout); - fputs (_("\ - -std=<std name> Specify the conformance standard; one of:\n\ - gnu89, gnu99, c89, c99, iso9899:1990,\n\ - iso9899:199409, iso9899:1999\n\ - -w Inhibit warning messages\n\ - -Wtrigraphs Warn if trigraphs are encountered\n\ - -Wno-trigraphs Do not warn about trigraphs\n\ - -Wcomment{s} Warn if one comment starts inside another\n\ -"), stdout); - fputs (_("\ - -Wno-comment{s} Do not warn about comments\n\ - -Wtraditional Warn about features not present in traditional C\n\ - -Wno-traditional Do not warn about traditional C\n\ - -Wundef Warn if an undefined macro is used by #if\n\ - -Wno-undef Do not warn about testing undefined macros\n\ - -Wimport Warn about the use of the #import directive\n\ -"), stdout); - fputs (_("\ - -Wno-import Do not warn about the use of #import\n\ - -Werror Treat all warnings as errors\n\ - -Wno-error Do not treat warnings as errors\n\ - -Wsystem-headers Do not suppress warnings from system headers\n\ - -Wno-system-headers Suppress warnings from system headers\n\ - -Wall Enable all preprocessor warnings\n\ -"), stdout); - fputs (_("\ - -M Generate make dependencies\n\ - -MM As -M, but ignore system header files\n\ - -MD Generate make dependencies and compile\n\ - -MMD As -MD, but ignore system header files\n\ - -MF <file> Write dependency output to the given file\n\ - -MG Treat missing header file as generated files\n\ -"), stdout); - fputs (_("\ - -MP Generate phony targets for all headers\n\ - -MQ <target> Add a MAKE-quoted target\n\ - -MT <target> Add an unquoted target\n\ -"), stdout); - fputs (_("\ - -D<macro> Define a <macro> with string '1' as its value\n\ - -D<macro>=<val> Define a <macro> with <val> as its value\n\ - -A<question>=<answer> Assert the <answer> to <question>\n\ - -A-<question>=<answer> Disable the <answer> to <question>\n\ - -U<macro> Undefine <macro> \n\ - -v Display the version number\n\ -"), stdout); - fputs (_("\ - -H Print the name of header files as they are used\n\ - -C Do not discard comments\n\ - -dM Display a list of macro definitions active at end\n\ - -dD Preserve macro definitions in output\n\ - -dN As -dD except that only the names are preserved\n\ - -dI Include #include directives in the output\n\ -"), stdout); - fputs (_("\ - -fpreprocessed Treat the input file as already preprocessed\n\ - -ftabstop=<number> Distance between tab stops for column reporting\n\ - -P Do not generate #line directives\n\ - -remap Remap file names when including files\n\ - --version Display version information\n\ - -h or --help Display this information\n\ -"), stdout); -} diff --git a/gcc/cpplib.h b/gcc/cpplib.h index 7282df7..97520a7 100644 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -395,11 +395,6 @@ struct cpp_options /* Nonzero means handle C++ alternate operator names. */ unsigned char operator_names; - /* True if --help, --version or --target-help appeared in the - options. Stand-alone CPP should then bail out after option - parsing; drivers might want to continue printing help. */ - unsigned char help_only; - /* True for traditional preprocessing. */ unsigned char traditional; diff --git a/gcc/doc/cppopts.texi b/gcc/doc/cppopts.texi index 49bd349..aacfb4b 100644 --- a/gcc/doc/cppopts.texi +++ b/gcc/doc/cppopts.texi @@ -607,10 +607,8 @@ Replacement: [ ] @{ @} # \ ^ | ~ Enable special code to work around file systems which only permit very short file names, such as MS-DOS@. -@item -h @itemx --help @itemx --target-help -@opindex h @opindex help @opindex target-help Print text describing all the command line options instead of @@ -670,7 +670,7 @@ static const char *trad_capable_cpp = static const char *cpp_unique_options = "%{C:%{!E:%eGNU C does not support -C without using -E}}\ %{CC:%{!E:%eGNU C does not support -CC without using -E}}\ - %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %{$} %I\ + %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %I\ %{MD:-MD %W{!o: %b.d}%W{o*:%.d%*}}\ %{MMD:-MMD %W{!o: %b.d}%W{o*:%.d%*}}\ %{M} %{MM} %W{MF*} %{MG} %{MP} %{MQ*} %{MT*}\ |