diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-05-04 09:31:27 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-05-04 09:31:27 +0200 |
commit | efaffc6997f33f663f887f63c72e589d4318f902 (patch) | |
tree | e177e8c94490dd6f7cf2759f7a65d36118830915 /gcc/opts.c | |
parent | cb8274155a31f2bb134edb91b5dcf8f1ad4f98d1 (diff) | |
download | gcc-efaffc6997f33f663f887f63c72e589d4318f902.zip gcc-efaffc6997f33f663f887f63c72e589d4318f902.tar.gz gcc-efaffc6997f33f663f887f63c72e589d4318f902.tar.bz2 |
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 <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.
Diffstat (limited to 'gcc/opts.c')
-rw-r--r-- | gcc/opts.c | 28 |
1 files changed, 9 insertions, 19 deletions
@@ -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"; |