===================================================================
@@ -468,4 +468,8 @@ of @option{-@var{opt}}, if not explicitl
specify several different languages. Each @var{language} must have
been declared by an earlier @code{Language} record. @xref{Option file
format}.
+
+@item NoDWARFRecord
+The option is added to the list of those omitted from the producer string
+written by @option{-grecord-gcc-switches}.
@end table
===================================================================
@@ -1330,6 +1330,10 @@ sign in the same continuous piece of tex
@item @samp{separate}
Display options taking an argument that appears as a separate word
following the original option, such as: @samp{-o output-file}.
+
+@item @samp{nodwarfrecord}
+Display only those options that are marked for addition to the list of
+options omitted from @option{-grecord-gcc-switches}.
@end table
Thus for example to display all the undocumented target-specific
===================================================================
@@ -18101,6 +18101,9 @@ gen_producer_string (void)
/* Ignore these. */
continue;
default:
+ if (cl_options[save_decoded_options[j].opt_index].flags
+ & CL_NO_DWARF_RECORD)
+ continue;
gcc_checking_assert (save_decoded_options[j].canonical_option[0][0]
== '-');
switch (save_decoded_options[j].canonical_option[0][1])
===================================================================
@@ -1186,7 +1186,9 @@ print_specific_help (unsigned int includ
{
if (any_flags == 0)
{
- if (include_flags & CL_UNDOCUMENTED)
+ if (include_flags & CL_NO_DWARF_RECORD)
+ description = _("The following options are not recorded by DWARF");
+ else if (include_flags & CL_UNDOCUMENTED)
description = _("The following options are not documented");
else if (include_flags & CL_SEPARATE)
description = _("The following options take separate arguments");
@@ -1292,7 +1294,7 @@ common_handle_option (struct gcc_options
/* Walk along the argument string, parsing each word in turn.
The format is:
arg = [^]{word}[,{arg}]
- word = {optimizers|target|warnings|undocumented|
+ word = {optimizers|target|warnings|undocumented|nodwarfrecord|
params|common|<language>} */
while (* a != 0)
{
@@ -1307,6 +1309,7 @@ common_handle_option (struct gcc_options
{ "target", CL_TARGET },
{ "warnings", CL_WARNING },
{ "undocumented", CL_UNDOCUMENTED },
+ { "nodwarfrecord", CL_NO_DWARF_RECORD },
{ "params", CL_PARAMS },
{ "joined", CL_JOINED },
{ "separate", CL_SEPARATE },
===================================================================
@@ -145,6 +145,7 @@ extern const unsigned int cl_lang_count;
#define CL_JOINED (1U << 22) /* If takes joined argument. */
#define CL_SEPARATE (1U << 23) /* If takes a separate argument. */
#define CL_UNDOCUMENTED (1U << 24) /* Do not output with --help. */
+#define CL_NO_DWARF_RECORD (1U << 25) /* Do not add to producer string. */
/* Flags for an enumerated option argument. */
#define CL_ENUM_CANONICAL (1 << 0) /* Canonical for this value. */
===================================================================
@@ -295,7 +295,7 @@ Fortran Negative(nocpp)
Enable preprocessing
cpp=
-Fortran Joined Negative(nocpp) Undocumented
+Fortran Joined Negative(nocpp) Undocumented NoDWARFRecord
; Internal option generated by specs from -cpp.
nocpp
===================================================================
@@ -103,6 +103,7 @@ function switch_flags (flags)
test_flag("JoinedOrMissing", flags, " | CL_JOINED") \
test_flag("Separate", flags, " | CL_SEPARATE") \
test_flag("Undocumented", flags, " | CL_UNDOCUMENTED") \
+ test_flag("NoDWARFRecord", flags, " | CL_NO_DWARF_RECORD") \
test_flag("Warning", flags, " | CL_WARNING") \
test_flag("Optimization", flags, " | CL_OPTIMIZATION")
sub( "^0 \\| ", "", result )