Make -Q --help print param defaults and min/max values
authorak <ak@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Sep 2014 04:10:12 +0000 (04:10 +0000)
committerak <ak@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Sep 2014 04:10:12 +0000 (04:10 +0000)
Make -Q --help print the --param default, min, max values, similar
to how it does print the defaults for other flags. This is useful
to let a option auto tuner automatically query all needed information
abourt gcc params (previously it needed to access the .def file in
the source)

gcc/:

2014-09-29  Andi Kleen  <ak@linux.intel.com>

* opts.c (print_filtered_help): Print --param min/max/default
with -Q.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215704 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/opts.c

index 3000eeb..1714cec 100644 (file)
@@ -1,3 +1,8 @@
+2014-09-29  Andi Kleen  <ak@linux.intel.com>
+
+       * opts.c (print_filtered_help): Print --param min/max/default
+       with -Q.
+
 2014-09-29  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        * config/sh/sh.md: Use define_c_enum for "unspec" and "unspecv".
index 0a49bc0..5cb5a39 100644 (file)
@@ -953,6 +953,7 @@ print_filtered_help (unsigned int include_flags,
   const char *help;
   bool found = false;
   bool displayed = false;
+  char new_help[128];
 
   if (include_flags == CL_PARAMS)
     {
@@ -971,6 +972,15 @@ print_filtered_help (unsigned int include_flags,
          /* Get the translation.  */
          help = _(help);
 
+         if (!opts->x_quiet_flag)
+           {
+             snprintf (new_help, sizeof (new_help),
+                       _("default %d minimum %d maximum %d"),
+                       compiler_params[i].default_value,
+                       compiler_params[i].min_value,
+                       compiler_params[i].max_value);
+             help = new_help;
+           }
          wrap_help (help, param, strlen (param), columns);
        }
       putchar ('\n');
@@ -985,7 +995,6 @@ print_filtered_help (unsigned int include_flags,
 
   for (i = 0; i < cl_options_count; i++)
     {
-      char new_help[128];
       const struct cl_option *option = cl_options + i;
       unsigned int len;
       const char *opt;