diagnostics: get_option_html_page fixes
authorJakub Jelinek <jakub@redhat.com>
Mon, 4 May 2020 07:31:27 +0000 (09:31 +0200)
committerJakub Jelinek <jakub@redhat.com>
Mon, 4 May 2020 07:31:27 +0000 (09:31 +0200)
While testing the --with-documentation-root-url= changes, I run into
[Wreturn-type] URL pointing to gfortran documentation where it obviously
isn't documented.  The following patch updates the list of options to match
reality (on the other side -Wconversion-extra is gfortran only option
documented in gfortran.texi).

Or, perhaps better use the attached patch instead, which doesn't have a
hardcoded list and instead uses the flags?  I went through options.c
and the updated list of options matches exactly the cases where CL_Fortran
is set for "-W*" options together with CL_C and/or CL_CXX (ok, there is also
-Wall and -Wextra, but hopefully we don't emit [Wall] or [Wextra] for
anything).

2020-05-04  Jakub Jelinek  <jakub@redhat.com>

* opts.c (get_option_html_page): Instead of hardcoding a list of
options common between C/C++ and Fortran only use gfortran/
documentation for warnings that have CL_Fortran set but not
CL_C or CL_CXX.

gcc/ChangeLog
gcc/opts.c

index fae2fb2cbac95a2c2563c5c5387cba6df1ca5714..026ee8b185a8fdb946bcfb2e744faadc3e6d2d01 100644 (file)
@@ -1,3 +1,10 @@
+2020-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * opts.c (get_option_html_page): Instead of hardcoding a list of
+       options common between C/C++ and Fortran only use gfortran/
+       documentation for warnings that have CL_Fortran set but not
+       CL_C or CL_CXX.
+
 2020-05-03  Uroš Bizjak  <ubizjak@gmail.com>
 
         * config/i386/i386-expand.c (ix86_expand_int_movcc):
index 3dccef3970131902e93cf45df8de7d11d4251c98..ec3ca0720f906d62fb4d9604fef7d3658f8dc740 100644 (file)
@@ -3143,25 +3143,15 @@ get_option_html_page (int option_index)
     return "gcc/Static-Analyzer-Options.html";
 
 #ifdef CL_Fortran
-  if (cl_opt->flags & CL_Fortran)
-    {
-      switch (option_index)
-       {
-       default:
-         /* Most Fortran warnings are documented on this page.  */
-         return "gfortran/Error-and-Warning-Options.html";
-
-       case OPT_Wdate_time:
-       case OPT_Wconversion:
-       case OPT_Wconversion_extra:
-       case OPT_Wmissing_include_dirs:
-       case OPT_Wopenmp_simd:
-         /* These warnings are marked in fortran/lang.opt as
-            "Documented in C" and thus use the common
-            Warning-Options page below.  */
-         break;
-       }
-    }
+  if ((cl_opt->flags & CL_Fortran) != 0
+      /* If it is option common to both C/C++ and Fortran, it is documented
+        in gcc/ rather than gfortran/ docs.  */
+      && (cl_opt->flags & CL_C) == 0
+#ifdef CL_CXX
+      && (cl_opt->flags & CL_CXX) == 0
+#endif
+     )
+    return "gfortran/Error-and-Warning-Options.html";
 #endif
 
   return "gcc/Warning-Options.html";