aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog16
-rw-r--r--gcc/Makefile.in3
-rw-r--r--gcc/c-opts.c275
-rw-r--r--gcc/cppinit.c187
-rw-r--r--gcc/cpplib.h5
-rw-r--r--gcc/doc/cppopts.texi2
-rw-r--r--gcc/gcc.c2
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
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 5e1d3ca..25b3fb7 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -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*}\