From efaffc6997f33f663f887f63c72e589d4318f902 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 4 May 2020 09:31:27 +0200 Subject: [PATCH] diagnostics: get_option_html_page fixes 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 * 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 | 7 +++++++ gcc/opts.c | 28 +++++++++------------------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fae2fb2cbac..026ee8b185a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2020-05-04 Jakub Jelinek + + * 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 * config/i386/i386-expand.c (ix86_expand_int_movcc): diff --git a/gcc/opts.c b/gcc/opts.c index 3dccef39701..ec3ca0720f9 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -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"; -- 2.30.2