[RFA] doc: Make regenerate-opt-urls.py handle two-dash options [PR124784]

Message ID 20260405173101.705061-1-sloosemore@baylibre.com
State New
Headers
Series [RFA] doc: Make regenerate-opt-urls.py handle two-dash options [PR124784] |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_gcc_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_gcc_check--master-arm success Test passed
linaro-tcwg-bot/tcwg_gcc_check--master-aarch64 success Test passed

Commit Message

Sandra Loosemore April 5, 2026, 5:31 p.m. UTC
  I was puzzled as to why the generated config/picolib.opt.urls
contained no entries.  It turns out this was a general problem with
regenerate-opt-urls.py failing to handle options starting with two dashes,
which are listed with one dash in the .opt file but zero dashes (same as
one-dash options) in the index entries.  The solution here is to remove one
of the dashes when canonicalizing the option name for lookup in the index.

gcc/ChangeLog
	PR other/124784
	* regenerate-opt-urls.py (canonicalize_option_name):  Remove one
	of the dashes from option names starting with two dashes.
	(test_parse_option_index): Add a self-test for this.
	* common.opt.urls: Regenerated.
	* config/picolibc.opt.urls: Regenerated.

gcc/ada/ChangeLog
	PR other/124784
	* gcc-interface/lang.opt.urls: Regenerated.

gcc/c-family/ChangeLog
	PR other/124784
	* c.opt.urls: Regenerated.

gcc/d/ChangeLog
	PR other/124784
	* lang.opt.urls: Regenerated.

gcc/fortran/ChangeLog
	PR other/124784
	* lang.opt.urls: Regenerated.

gcc/m2/ChangeLog
	PR other/124784
	* lang.opt.urls: Regenerated.
---
 gcc/ada/gcc-interface/lang.opt.urls |  18 +++
 gcc/c-family/c.opt.urls             | 159 +++++++++++++++++++++
 gcc/common.opt.urls                 | 211 ++++++++++++++++++++++++++++
 gcc/config/picolibc.opt.urls        |  24 ++++
 gcc/d/lang.opt.urls                 |  18 +++
 gcc/fortran/lang.opt.urls           |  86 ++++++++++++
 gcc/m2/lang.opt.urls                |   3 +
 gcc/regenerate-opt-urls.py          |   8 ++
 8 files changed, 527 insertions(+)
  

Comments

Richard Biener April 7, 2026, 7:43 a.m. UTC | #1
On Sun, Apr 5, 2026 at 7:32 PM Sandra Loosemore <sloosemore@baylibre.com> wrote:
>
> I was puzzled as to why the generated config/picolib.opt.urls
> contained no entries.  It turns out this was a general problem with
> regenerate-opt-urls.py failing to handle options starting with two dashes,
> which are listed with one dash in the .opt file but zero dashes (same as
> one-dash options) in the index entries.  The solution here is to remove one
> of the dashes when canonicalizing the option name for lookup in the index.

LGTM

> gcc/ChangeLog
>         PR other/124784
>         * regenerate-opt-urls.py (canonicalize_option_name):  Remove one
>         of the dashes from option names starting with two dashes.
>         (test_parse_option_index): Add a self-test for this.
>         * common.opt.urls: Regenerated.
>         * config/picolibc.opt.urls: Regenerated.
>
> gcc/ada/ChangeLog
>         PR other/124784
>         * gcc-interface/lang.opt.urls: Regenerated.
>
> gcc/c-family/ChangeLog
>         PR other/124784
>         * c.opt.urls: Regenerated.
>
> gcc/d/ChangeLog
>         PR other/124784
>         * lang.opt.urls: Regenerated.
>
> gcc/fortran/ChangeLog
>         PR other/124784
>         * lang.opt.urls: Regenerated.
>
> gcc/m2/ChangeLog
>         PR other/124784
>         * lang.opt.urls: Regenerated.
> ---
>  gcc/ada/gcc-interface/lang.opt.urls |  18 +++
>  gcc/c-family/c.opt.urls             | 159 +++++++++++++++++++++
>  gcc/common.opt.urls                 | 211 ++++++++++++++++++++++++++++
>  gcc/config/picolibc.opt.urls        |  24 ++++
>  gcc/d/lang.opt.urls                 |  18 +++
>  gcc/fortran/lang.opt.urls           |  86 ++++++++++++
>  gcc/m2/lang.opt.urls                |   3 +
>  gcc/regenerate-opt-urls.py          |   8 ++
>  8 files changed, 527 insertions(+)
>
> diff --git a/gcc/ada/gcc-interface/lang.opt.urls b/gcc/ada/gcc-interface/lang.opt.urls
> index cc34c8c06b6..19070043581 100644
> --- a/gcc/ada/gcc-interface/lang.opt.urls
> +++ b/gcc/ada/gcc-interface/lang.opt.urls
> @@ -1,5 +1,23 @@
>  ; Autogenerated by regenerate-opt-urls.py from gcc/ada/gcc-interface/lang.opt and generated HTML
>
> +-all-warnings
> +UrlSuffix(gcc/Warning-Options.html#index-all-warnings)
> +
> +-include-barrier
> +UrlSuffix(gcc/Directory-Options.html#index-include-barrier)
> +
> +-include-directory
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory)
> +
> +-include-directory=
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory)
> +
> +-no-standard-includes
> +UrlSuffix(gcc/Directory-Options.html#index-no-standard-includes)
> +
> +-no-standard-libraries
> +UrlSuffix(gcc/Link-Options.html#index-no-standard-libraries)
> +
>  I
>  UrlSuffix(gcc/Directory-Options.html#index-I) LangUrlSuffix_D(gdc/Directory-Options.html#index-I) LangUrlSuffix_Algol68(ga68/Directory-options.html#index-I)
>
> diff --git a/gcc/c-family/c.opt.urls b/gcc/c-family/c.opt.urls
> index 785efdd6973..33b532fdb24 100644
> --- a/gcc/c-family/c.opt.urls
> +++ b/gcc/c-family/c.opt.urls
> @@ -1,5 +1,164 @@
>  ; Autogenerated by regenerate-opt-urls.py from gcc/c-family/c.opt and generated HTML
>
> +-all-warnings
> +UrlSuffix(gcc/Warning-Options.html#index-all-warnings)
> +
> +; skipping UrlSuffix for '-ansi' due to multiple URLs:
> +;   duplicate: 'gcc/C-Dialect-Options.html#index-ansi-1'
> +;   duplicate: 'gcc/Library-Builtins.html#index-ansi-2'
> +;   duplicate: 'gcc/Non-bugs.html#index-ansi-3'
> +;   duplicate: 'gcc/Standards.html#index-ansi'
> +
> +-compile-std-module
> +UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-compile-std-module)
> +
> +-comments
> +UrlSuffix(gcc/Preprocessor-Options.html#index-comments)
> +
> +-comments-in-macros
> +UrlSuffix(gcc/Preprocessor-Options.html#index-comments-in-macros)
> +
> +-define-macro
> +UrlSuffix(gcc/Preprocessor-Options.html#index-define-macro)
> +
> +-define-macro=
> +UrlSuffix(gcc/Preprocessor-Options.html#index-define-macro)
> +
> +-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-dependencies)
> +
> +; skipping UrlSuffix for '-dump' due to multiple URLs:
> +;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
> +;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
> +
> +; skipping UrlSuffix for '-dump=' due to multiple URLs:
> +;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
> +;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
> +
> +-embed-dir=
> +UrlSuffix(gcc/Directory-Options.html#index-embed-dir)
> +
> +-embed-directory
> +UrlSuffix(gcc/Directory-Options.html#index-embed-directory)
> +
> +-embed-directory=
> +UrlSuffix(gcc/Directory-Options.html#index-embed-directory)
> +
> +-imacros
> +UrlSuffix(gcc/Preprocessor-Options.html#index-imacros)
> +
> +-imacros=
> +UrlSuffix(gcc/Preprocessor-Options.html#index-imacros)
> +
> +-include
> +UrlSuffix(gcc/Preprocessor-Options.html#index-include)
> +
> +-include=
> +UrlSuffix(gcc/Preprocessor-Options.html#index-include)
> +
> +-include-barrier
> +UrlSuffix(gcc/Directory-Options.html#index-include-barrier)
> +
> +-include-directory
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory)
> +
> +-include-directory=
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory)
> +
> +-include-directory-after
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory-after)
> +
> +-include-directory-after=
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory-after)
> +
> +-include-prefix
> +UrlSuffix(gcc/Directory-Options.html#index-include-prefix)
> +
> +-include-prefix=
> +UrlSuffix(gcc/Directory-Options.html#index-include-prefix)
> +
> +-include-with-prefix
> +UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix)
> +
> +-include-with-prefix=
> +UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix)
> +
> +-include-with-prefix-after
> +UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix-after)
> +
> +-include-with-prefix-after=
> +UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix-after)
> +
> +-include-with-prefix-before
> +UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix-before)
> +
> +-include-with-prefix-before=
> +UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix-before)
> +
> +-no-integrated-cpp
> +UrlSuffix(gcc/Preprocessor-Options.html#index-no-integrated-cpp)
> +
> +-no-line-commands
> +UrlSuffix(gcc/Preprocessor-Options.html#index-no-line-commands)
> +
> +-no-standard-includes
> +UrlSuffix(gcc/Directory-Options.html#index-no-standard-includes)
> +
> +-no-warnings
> +UrlSuffix(gcc/Warning-Options.html#index-no-warnings)
> +
> +-output
> +UrlSuffix(gcc/Overall-Options.html#index-output)
> +
> +-output=
> +UrlSuffix(gcc/Overall-Options.html#index-output)
> +
> +; skipping UrlSuffix for '-pedantic' due to multiple URLs:
> +;   duplicate: 'gcc/Alternate-Keywords.html#index-pedantic-3'
> +;   duplicate: 'gcc/C-Extensions.html#index-pedantic-2'
> +;   duplicate: 'gcc/Standards.html#index-pedantic'
> +;   duplicate: 'gcc/Warning-Options.html#index-pedantic-1'
> +;   duplicate: 'gcc/Warnings-and-Errors.html#index-pedantic-4'
> +-pedantic
> +LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-pedantic)
> +
> +-preprocess
> +UrlSuffix(gcc/Overall-Options.html#index-preprocess)
> +
> +-print-missing-file-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-print-missing-file-dependencies)
> +
> +-trace-includes
> +UrlSuffix(gcc/Preprocessor-Options.html#index-trace-includes)
> +
> +; skipping UrlSuffix for '-traditional' due to multiple URLs:
> +;   duplicate: 'gcc/Incompatibilities.html#index-traditional-1'
> +;   duplicate: 'gcc/Preprocessor-Options.html#index-traditional'
> +
> +-traditional-cpp
> +UrlSuffix(gcc/Preprocessor-Options.html#index-traditional-cpp)
> +
> +-trigraphs
> +UrlSuffix(gcc/Preprocessor-Options.html#index-trigraphs)
> +
> +-undefine-macro
> +UrlSuffix(gcc/Preprocessor-Options.html#index-undefine-macro)
> +
> +-undefine-macro=
> +UrlSuffix(gcc/Preprocessor-Options.html#index-undefine-macro)
> +
> +-user-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-user-dependencies)
> +
> +-verbose
> +UrlSuffix(gcc/Overall-Options.html#index-verbose)
> +
> +-write-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-write-dependencies)
> +
> +-write-user-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-write-user-dependencies)
> +
>  C
>  UrlSuffix(gcc/Preprocessor-Options.html#index-C) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-C)
>
> diff --git a/gcc/common.opt.urls b/gcc/common.opt.urls
> index 6325b083615..b316954a98e 100644
> --- a/gcc/common.opt.urls
> +++ b/gcc/common.opt.urls
> @@ -3,9 +3,220 @@
>  ###
>  UrlSuffix(gcc/Overall-Options.html#index-_0023_0023_0023)
>
> +-assemble
> +UrlSuffix(gcc/Overall-Options.html#index-assemble)
> +
> +-compile
> +UrlSuffix(gcc/Overall-Options.html#index-compile)
> +
> +-coverage
> +UrlSuffix(gcc/Instrumentation-Options.html#index-coverage)
> +
> +-debug
> +UrlSuffix(gcc/Debugging-Options.html#index-debug)
> +
> +; skipping UrlSuffix for '-dump' due to multiple URLs:
> +;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
> +;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
> +
> +; skipping UrlSuffix for '-dump=' due to multiple URLs:
> +;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
> +;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
> +
> +-dumpbase
> +UrlSuffix(gcc/Overall-Options.html#index-dumpbase)
> +
> +-dumpbase-ext
> +UrlSuffix(gcc/Overall-Options.html#index-dumpbase-ext)
> +
> +-dumpdir
> +UrlSuffix(gcc/Overall-Options.html#index-dumpdir)
> +
> +-entry
> +UrlSuffix(gcc/Link-Options.html#index-entry)
> +
> +-entry=
> +UrlSuffix(gcc/Link-Options.html#index-entry)
> +
> +-extra-warnings
> +UrlSuffix(gcc/Warning-Options.html#index-extra-warnings)
> +
> +-for-assembler
> +UrlSuffix(gcc/Assembler-Options.html#index-for-assembler)
> +
> +-for-assembler=
> +UrlSuffix(gcc/Assembler-Options.html#index-for-assembler)
> +
> +-for-linker
> +UrlSuffix(gcc/Link-Options.html#index-for-linker)
> +
> +-for-linker=
> +UrlSuffix(gcc/Link-Options.html#index-for-linker)
> +
> +-force-link
> +UrlSuffix(gcc/Link-Options.html#index-force-link)
> +
> +-force-link=
> +UrlSuffix(gcc/Link-Options.html#index-force-link)
> +
> +-help
> +UrlSuffix(gcc/Overall-Options.html#index-help)
> +
> +-help=
> +UrlSuffix(gcc/Overall-Options.html#index-help)
> +
> +-language
> +UrlSuffix(gcc/Overall-Options.html#index-language)
> +
> +-language=
> +UrlSuffix(gcc/Overall-Options.html#index-language)
> +
> +-library-directory
> +UrlSuffix(gcc/Directory-Options.html#index-library-directory)
> +
> +-library-directory=
> +UrlSuffix(gcc/Directory-Options.html#index-library-directory)
> +
> +-no-canonical-prefixes
> +UrlSuffix(gcc/Directory-Options.html#index-no-canonical-prefixes)
> +
> +-no-standard-libraries
> +UrlSuffix(gcc/Link-Options.html#index-no-standard-libraries)
> +
> +-no-sysroot-suffix
> +UrlSuffix(gcc/Directory-Options.html#index-no-sysroot-suffix)
> +
> +-no-warnings
> +UrlSuffix(gcc/Warning-Options.html#index-no-warnings)
> +
> +-optimize
> +UrlSuffix(gcc/Optimize-Options.html#index-optimize-1)
> +
> +-output
> +UrlSuffix(gcc/Overall-Options.html#index-output)
> +
> +-output=
> +UrlSuffix(gcc/Overall-Options.html#index-output)
> +
> +-pass-exit-codes
> +UrlSuffix(gcc/Overall-Options.html#index-pass-exit-codes)
> +
> +; skipping UrlSuffix for '-pedantic' due to multiple URLs:
> +;   duplicate: 'gcc/Alternate-Keywords.html#index-pedantic-3'
> +;   duplicate: 'gcc/C-Extensions.html#index-pedantic-2'
> +;   duplicate: 'gcc/Standards.html#index-pedantic'
> +;   duplicate: 'gcc/Warning-Options.html#index-pedantic-1'
> +;   duplicate: 'gcc/Warnings-and-Errors.html#index-pedantic-4'
> +-pedantic
> +LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-pedantic)
> +
> +; skipping UrlSuffix for '-pedantic-errors' due to multiple URLs:
> +;   duplicate: 'gcc/Non-bugs.html#index-pedantic-errors-2'
> +;   duplicate: 'gcc/Standards.html#index-pedantic-errors'
> +;   duplicate: 'gcc/Warning-Options.html#index-pedantic-errors-1'
> +;   duplicate: 'gcc/Warnings-and-Errors.html#index-pedantic-errors-3'
> +-pedantic-errors
> +LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-pedantic-errors)
> +
> +-pie
> +UrlSuffix(gcc/Link-Options.html#index-pie)
> +
> +-static-pie
> +UrlSuffix(gcc/Link-Options.html#index-static-pie)
> +
> +-pipe
> +UrlSuffix(gcc/Overall-Options.html#index-pipe)
> +
> +-prefix
> +UrlSuffix(gcc/Directory-Options.html#index-prefix)
> +
> +-prefix=
> +UrlSuffix(gcc/Directory-Options.html#index-prefix)
> +
> +-preprocess
> +UrlSuffix(gcc/Overall-Options.html#index-preprocess)
> +
> +-print-autofdo-gcov-version
> +UrlSuffix(gcc/Developer-Options.html#index-print-autofdo-gcov-version)
> +
> +-print-file-name
> +UrlSuffix(gcc/Developer-Options.html#index-print-file-name)
> +
> +-print-file-name=
> +UrlSuffix(gcc/Developer-Options.html#index-print-file-name)
> +
> +-print-libgcc-file-name
> +UrlSuffix(gcc/Developer-Options.html#index-print-libgcc-file-name)
> +
> +-print-multi-directory
> +UrlSuffix(gcc/Developer-Options.html#index-print-multi-directory)
> +
> +-print-multi-lib
> +UrlSuffix(gcc/Developer-Options.html#index-print-multi-lib)
> +
> +-print-multi-os-directory
> +UrlSuffix(gcc/Developer-Options.html#index-print-multi-os-directory)
> +
> +-print-multiarch
> +UrlSuffix(gcc/Developer-Options.html#index-print-multiarch)
> +
> +-print-prog-name
> +UrlSuffix(gcc/Developer-Options.html#index-print-prog-name)
> +
> +-print-prog-name=
> +UrlSuffix(gcc/Developer-Options.html#index-print-prog-name)
> +
> +-print-search-dirs
> +UrlSuffix(gcc/Developer-Options.html#index-print-search-dirs)
> +
> +-print-sysroot
> +UrlSuffix(gcc/Developer-Options.html#index-print-sysroot)
> +
> +-print-sysroot-headers-suffix
> +UrlSuffix(gcc/Developer-Options.html#index-print-sysroot-headers-suffix)
> +
> +-profile
> +UrlSuffix(gcc/Instrumentation-Options.html#index-profile)
> +
> +-save-temps
> +UrlSuffix(gcc/Developer-Options.html#index-save-temps)
> +
> +-shared
> +UrlSuffix(gcc/Link-Options.html#index-shared)
> +
> +-specs
> +UrlSuffix(gcc/Developer-Options.html#index-specs)
> +
> +-specs=
> +UrlSuffix(gcc/Developer-Options.html#index-specs)
> +
> +-static
> +UrlSuffix(gcc/Link-Options.html#index-static)
> +
> +-symbolic
> +UrlSuffix(gcc/Link-Options.html#index-symbolic)
> +
> +-target-help
> +UrlSuffix(gcc/Overall-Options.html#index-target-help)
> +
> +-time
> +UrlSuffix(gcc/Developer-Options.html#index-time)
> +
> +-verbose
> +UrlSuffix(gcc/Overall-Options.html#index-verbose)
> +
>  fversion
>  LangUrlSuffix_D(gdc/Runtime-Options.html#index-fversion)
>
> +-sysroot
> +UrlSuffix(gcc/Directory-Options.html#index-sysroot)
> +
> +-sysroot=
> +UrlSuffix(gcc/Directory-Options.html#index-sysroot)
> +
> +-version
> +UrlSuffix(gcc/Overall-Options.html#index-version)
> +
>  B
>  UrlSuffix(gcc/Directory-Options.html#index-B) LangUrlSuffix_D(gdc/Directory-Options.html#index-B)
>
> diff --git a/gcc/config/picolibc.opt.urls b/gcc/config/picolibc.opt.urls
> index b3a57d15a39..cfd2a75cba5 100644
> --- a/gcc/config/picolibc.opt.urls
> +++ b/gcc/config/picolibc.opt.urls
> @@ -1,2 +1,26 @@
>  ; Autogenerated by regenerate-opt-urls.py from gcc/config/picolibc.opt and generated HTML
>
> +-oslib
> +UrlSuffix(gcc/Picolibc-Options.html#index-oslib)
> +
> +-oslib=
> +UrlSuffix(gcc/Picolibc-Options.html#index-oslib)
> +
> +-crt0
> +UrlSuffix(gcc/Picolibc-Options.html#index-crt0)
> +
> +-crt0=
> +UrlSuffix(gcc/Picolibc-Options.html#index-crt0)
> +
> +-printf
> +UrlSuffix(gcc/Picolibc-Options.html#index-printf-1)
> +
> +-printf=
> +UrlSuffix(gcc/Picolibc-Options.html#index-printf-1)
> +
> +-scanf
> +UrlSuffix(gcc/Picolibc-Options.html#index-scanf)
> +
> +-scanf=
> +UrlSuffix(gcc/Picolibc-Options.html#index-scanf)
> +
> diff --git a/gcc/d/lang.opt.urls b/gcc/d/lang.opt.urls
> index d0d9bc8fd3d..03ab1f93e66 100644
> --- a/gcc/d/lang.opt.urls
> +++ b/gcc/d/lang.opt.urls
> @@ -1,5 +1,20 @@
>  ; Autogenerated by regenerate-opt-urls.py from gcc/d/lang.opt and generated HTML
>
> +-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-dependencies)
> +
> +-print-missing-file-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-print-missing-file-dependencies)
> +
> +-user-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-user-dependencies)
> +
> +-write-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-write-dependencies)
> +
> +-write-user-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-write-user-dependencies)
> +
>  H
>  UrlSuffix(gcc/Preprocessor-Options.html#index-H) LangUrlSuffix_D(gdc/Code-Generation.html#index-H) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-H)
>
> @@ -99,6 +114,9 @@ LangUrlSuffix_D(gdc/Linking.html#index-debuglib_003d)
>  defaultlib=
>  LangUrlSuffix_D(gdc/Linking.html#index-defaultlib_003d)
>
> +-verbose
> +UrlSuffix(gcc/Overall-Options.html#index-verbose)
> +
>  fall-instantiations
>  LangUrlSuffix_D(gdc/Runtime-Options.html#index-fall-instantiations)
>
> diff --git a/gcc/fortran/lang.opt.urls b/gcc/fortran/lang.opt.urls
> index 3bf0e7b88ea..c3549feb024 100644
> --- a/gcc/fortran/lang.opt.urls
> +++ b/gcc/fortran/lang.opt.urls
> @@ -1,5 +1,91 @@
>  ; Autogenerated by regenerate-opt-urls.py from gcc/fortran/lang.opt and generated HTML
>
> +-all-warnings
> +UrlSuffix(gcc/Warning-Options.html#index-all-warnings)
> +
> +-comments
> +UrlSuffix(gcc/Preprocessor-Options.html#index-comments)
> +
> +-comments-in-macros
> +UrlSuffix(gcc/Preprocessor-Options.html#index-comments-in-macros)
> +
> +-define-macro
> +UrlSuffix(gcc/Preprocessor-Options.html#index-define-macro)
> +
> +-define-macro=
> +UrlSuffix(gcc/Preprocessor-Options.html#index-define-macro)
> +
> +-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-dependencies)
> +
> +; skipping UrlSuffix for '-dump' due to multiple URLs:
> +;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
> +;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
> +
> +; skipping UrlSuffix for '-dump=' due to multiple URLs:
> +;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
> +;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
> +
> +-include-barrier
> +UrlSuffix(gcc/Directory-Options.html#index-include-barrier)
> +
> +-include-directory
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory)
> +
> +-include-directory=
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory)
> +
> +-include-directory-after
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory-after)
> +
> +-include-directory-after=
> +UrlSuffix(gcc/Directory-Options.html#index-include-directory-after)
> +
> +-include-prefix
> +UrlSuffix(gcc/Directory-Options.html#index-include-prefix)
> +
> +-include-prefix=
> +UrlSuffix(gcc/Directory-Options.html#index-include-prefix)
> +
> +-no-line-commands
> +UrlSuffix(gcc/Preprocessor-Options.html#index-no-line-commands)
> +
> +-no-standard-includes
> +UrlSuffix(gcc/Directory-Options.html#index-no-standard-includes)
> +
> +-output
> +UrlSuffix(gcc/Overall-Options.html#index-output)
> +
> +-output=
> +UrlSuffix(gcc/Overall-Options.html#index-output)
> +
> +-preprocess
> +UrlSuffix(gcc/Overall-Options.html#index-preprocess)
> +
> +-print-missing-file-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-print-missing-file-dependencies)
> +
> +-trace-includes
> +UrlSuffix(gcc/Preprocessor-Options.html#index-trace-includes)
> +
> +-undefine-macro
> +UrlSuffix(gcc/Preprocessor-Options.html#index-undefine-macro)
> +
> +-undefine-macro=
> +UrlSuffix(gcc/Preprocessor-Options.html#index-undefine-macro)
> +
> +-user-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-user-dependencies)
> +
> +-verbose
> +UrlSuffix(gcc/Overall-Options.html#index-verbose)
> +
> +-write-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-write-dependencies)
> +
> +-write-user-dependencies
> +UrlSuffix(gcc/Preprocessor-Options.html#index-write-user-dependencies)
> +
>  C
>  UrlSuffix(gcc/Preprocessor-Options.html#index-C) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-C)
>
> diff --git a/gcc/m2/lang.opt.urls b/gcc/m2/lang.opt.urls
> index 484101a0551..cf27756b04b 100644
> --- a/gcc/m2/lang.opt.urls
> +++ b/gcc/m2/lang.opt.urls
> @@ -113,6 +113,9 @@ UrlSuffix(gcc/Directory-Options.html#index-idirafter) LangUrlSuffix_Fortran(gfor
>  imultilib
>  UrlSuffix(gcc/Directory-Options.html#index-imultilib) LangUrlSuffix_D(gdc/Directory-Options.html#index-imultilib) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-imultilib)
>
> +-save-temps
> +UrlSuffix(gcc/Developer-Options.html#index-save-temps)
> +
>  save-temps
>  UrlSuffix(gcc/Developer-Options.html#index-save-temps)
>
> diff --git a/gcc/regenerate-opt-urls.py b/gcc/regenerate-opt-urls.py
> index 4db85c204e7..967968ece68 100755
> --- a/gcc/regenerate-opt-urls.py
> +++ b/gcc/regenerate-opt-urls.py
> @@ -46,6 +46,12 @@ import unittest
>  def canonicalize_option_name(option_name):
>      if option_name.endswith('='):
>          option_name = option_name[0:-1]
> +    # Options starting with two dashes are listed with one dash in the
> +    # .opt file, plus we have already added the implicit dash to option_name.
> +    # But the index entries have zero dashes, so we have to remove one of the
> +    # dashes again to match them.
> +    if option_name[:2] == '--':
> +        option_name = option_name[1:]
>      return option_name
>
>
> @@ -175,6 +181,8 @@ class TestParsingIndex(unittest.TestCase):
>                           {'gcc/Optimize-Options.html#index-O0'})
>          self.assertEqual(index.get_url_suffixes('-Wframe-larger-than='),
>                           {'gcc/Warning-Options.html#index-Wframe-larger-than_003d'})
> +        self.assertEqual(index.get_url_suffixes('--static-pie'),
> +                         {'gcc/Link-Options.html#index-static-pie'})
>
>          # Check an option with duplicates: '-march'
>          # The url_suffixes will be of the form
> --
> 2.39.5
>
  

Patch

diff --git a/gcc/ada/gcc-interface/lang.opt.urls b/gcc/ada/gcc-interface/lang.opt.urls
index cc34c8c06b6..19070043581 100644
--- a/gcc/ada/gcc-interface/lang.opt.urls
+++ b/gcc/ada/gcc-interface/lang.opt.urls
@@ -1,5 +1,23 @@ 
 ; Autogenerated by regenerate-opt-urls.py from gcc/ada/gcc-interface/lang.opt and generated HTML
 
+-all-warnings
+UrlSuffix(gcc/Warning-Options.html#index-all-warnings)
+
+-include-barrier
+UrlSuffix(gcc/Directory-Options.html#index-include-barrier)
+
+-include-directory
+UrlSuffix(gcc/Directory-Options.html#index-include-directory)
+
+-include-directory=
+UrlSuffix(gcc/Directory-Options.html#index-include-directory)
+
+-no-standard-includes
+UrlSuffix(gcc/Directory-Options.html#index-no-standard-includes)
+
+-no-standard-libraries
+UrlSuffix(gcc/Link-Options.html#index-no-standard-libraries)
+
 I
 UrlSuffix(gcc/Directory-Options.html#index-I) LangUrlSuffix_D(gdc/Directory-Options.html#index-I) LangUrlSuffix_Algol68(ga68/Directory-options.html#index-I)
 
diff --git a/gcc/c-family/c.opt.urls b/gcc/c-family/c.opt.urls
index 785efdd6973..33b532fdb24 100644
--- a/gcc/c-family/c.opt.urls
+++ b/gcc/c-family/c.opt.urls
@@ -1,5 +1,164 @@ 
 ; Autogenerated by regenerate-opt-urls.py from gcc/c-family/c.opt and generated HTML
 
+-all-warnings
+UrlSuffix(gcc/Warning-Options.html#index-all-warnings)
+
+; skipping UrlSuffix for '-ansi' due to multiple URLs:
+;   duplicate: 'gcc/C-Dialect-Options.html#index-ansi-1'
+;   duplicate: 'gcc/Library-Builtins.html#index-ansi-2'
+;   duplicate: 'gcc/Non-bugs.html#index-ansi-3'
+;   duplicate: 'gcc/Standards.html#index-ansi'
+
+-compile-std-module
+UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-compile-std-module)
+
+-comments
+UrlSuffix(gcc/Preprocessor-Options.html#index-comments)
+
+-comments-in-macros
+UrlSuffix(gcc/Preprocessor-Options.html#index-comments-in-macros)
+
+-define-macro
+UrlSuffix(gcc/Preprocessor-Options.html#index-define-macro)
+
+-define-macro=
+UrlSuffix(gcc/Preprocessor-Options.html#index-define-macro)
+
+-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-dependencies)
+
+; skipping UrlSuffix for '-dump' due to multiple URLs:
+;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
+;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
+
+; skipping UrlSuffix for '-dump=' due to multiple URLs:
+;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
+;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
+
+-embed-dir=
+UrlSuffix(gcc/Directory-Options.html#index-embed-dir)
+
+-embed-directory
+UrlSuffix(gcc/Directory-Options.html#index-embed-directory)
+
+-embed-directory=
+UrlSuffix(gcc/Directory-Options.html#index-embed-directory)
+
+-imacros
+UrlSuffix(gcc/Preprocessor-Options.html#index-imacros)
+
+-imacros=
+UrlSuffix(gcc/Preprocessor-Options.html#index-imacros)
+
+-include
+UrlSuffix(gcc/Preprocessor-Options.html#index-include)
+
+-include=
+UrlSuffix(gcc/Preprocessor-Options.html#index-include)
+
+-include-barrier
+UrlSuffix(gcc/Directory-Options.html#index-include-barrier)
+
+-include-directory
+UrlSuffix(gcc/Directory-Options.html#index-include-directory)
+
+-include-directory=
+UrlSuffix(gcc/Directory-Options.html#index-include-directory)
+
+-include-directory-after
+UrlSuffix(gcc/Directory-Options.html#index-include-directory-after)
+
+-include-directory-after=
+UrlSuffix(gcc/Directory-Options.html#index-include-directory-after)
+
+-include-prefix
+UrlSuffix(gcc/Directory-Options.html#index-include-prefix)
+
+-include-prefix=
+UrlSuffix(gcc/Directory-Options.html#index-include-prefix)
+
+-include-with-prefix
+UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix)
+
+-include-with-prefix=
+UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix)
+
+-include-with-prefix-after
+UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix-after)
+
+-include-with-prefix-after=
+UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix-after)
+
+-include-with-prefix-before
+UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix-before)
+
+-include-with-prefix-before=
+UrlSuffix(gcc/Directory-Options.html#index-include-with-prefix-before)
+
+-no-integrated-cpp
+UrlSuffix(gcc/Preprocessor-Options.html#index-no-integrated-cpp)
+
+-no-line-commands
+UrlSuffix(gcc/Preprocessor-Options.html#index-no-line-commands)
+
+-no-standard-includes
+UrlSuffix(gcc/Directory-Options.html#index-no-standard-includes)
+
+-no-warnings
+UrlSuffix(gcc/Warning-Options.html#index-no-warnings)
+
+-output
+UrlSuffix(gcc/Overall-Options.html#index-output)
+
+-output=
+UrlSuffix(gcc/Overall-Options.html#index-output)
+
+; skipping UrlSuffix for '-pedantic' due to multiple URLs:
+;   duplicate: 'gcc/Alternate-Keywords.html#index-pedantic-3'
+;   duplicate: 'gcc/C-Extensions.html#index-pedantic-2'
+;   duplicate: 'gcc/Standards.html#index-pedantic'
+;   duplicate: 'gcc/Warning-Options.html#index-pedantic-1'
+;   duplicate: 'gcc/Warnings-and-Errors.html#index-pedantic-4'
+-pedantic
+LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-pedantic)
+
+-preprocess
+UrlSuffix(gcc/Overall-Options.html#index-preprocess)
+
+-print-missing-file-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-print-missing-file-dependencies)
+
+-trace-includes
+UrlSuffix(gcc/Preprocessor-Options.html#index-trace-includes)
+
+; skipping UrlSuffix for '-traditional' due to multiple URLs:
+;   duplicate: 'gcc/Incompatibilities.html#index-traditional-1'
+;   duplicate: 'gcc/Preprocessor-Options.html#index-traditional'
+
+-traditional-cpp
+UrlSuffix(gcc/Preprocessor-Options.html#index-traditional-cpp)
+
+-trigraphs
+UrlSuffix(gcc/Preprocessor-Options.html#index-trigraphs)
+
+-undefine-macro
+UrlSuffix(gcc/Preprocessor-Options.html#index-undefine-macro)
+
+-undefine-macro=
+UrlSuffix(gcc/Preprocessor-Options.html#index-undefine-macro)
+
+-user-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-user-dependencies)
+
+-verbose
+UrlSuffix(gcc/Overall-Options.html#index-verbose)
+
+-write-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-write-dependencies)
+
+-write-user-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-write-user-dependencies)
+
 C
 UrlSuffix(gcc/Preprocessor-Options.html#index-C) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-C)
 
diff --git a/gcc/common.opt.urls b/gcc/common.opt.urls
index 6325b083615..b316954a98e 100644
--- a/gcc/common.opt.urls
+++ b/gcc/common.opt.urls
@@ -3,9 +3,220 @@ 
 ###
 UrlSuffix(gcc/Overall-Options.html#index-_0023_0023_0023)
 
+-assemble
+UrlSuffix(gcc/Overall-Options.html#index-assemble)
+
+-compile
+UrlSuffix(gcc/Overall-Options.html#index-compile)
+
+-coverage
+UrlSuffix(gcc/Instrumentation-Options.html#index-coverage)
+
+-debug
+UrlSuffix(gcc/Debugging-Options.html#index-debug)
+
+; skipping UrlSuffix for '-dump' due to multiple URLs:
+;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
+;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
+
+; skipping UrlSuffix for '-dump=' due to multiple URLs:
+;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
+;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
+
+-dumpbase
+UrlSuffix(gcc/Overall-Options.html#index-dumpbase)
+
+-dumpbase-ext
+UrlSuffix(gcc/Overall-Options.html#index-dumpbase-ext)
+
+-dumpdir
+UrlSuffix(gcc/Overall-Options.html#index-dumpdir)
+
+-entry
+UrlSuffix(gcc/Link-Options.html#index-entry)
+
+-entry=
+UrlSuffix(gcc/Link-Options.html#index-entry)
+
+-extra-warnings
+UrlSuffix(gcc/Warning-Options.html#index-extra-warnings)
+
+-for-assembler
+UrlSuffix(gcc/Assembler-Options.html#index-for-assembler)
+
+-for-assembler=
+UrlSuffix(gcc/Assembler-Options.html#index-for-assembler)
+
+-for-linker
+UrlSuffix(gcc/Link-Options.html#index-for-linker)
+
+-for-linker=
+UrlSuffix(gcc/Link-Options.html#index-for-linker)
+
+-force-link
+UrlSuffix(gcc/Link-Options.html#index-force-link)
+
+-force-link=
+UrlSuffix(gcc/Link-Options.html#index-force-link)
+
+-help
+UrlSuffix(gcc/Overall-Options.html#index-help)
+
+-help=
+UrlSuffix(gcc/Overall-Options.html#index-help)
+
+-language
+UrlSuffix(gcc/Overall-Options.html#index-language)
+
+-language=
+UrlSuffix(gcc/Overall-Options.html#index-language)
+
+-library-directory
+UrlSuffix(gcc/Directory-Options.html#index-library-directory)
+
+-library-directory=
+UrlSuffix(gcc/Directory-Options.html#index-library-directory)
+
+-no-canonical-prefixes
+UrlSuffix(gcc/Directory-Options.html#index-no-canonical-prefixes)
+
+-no-standard-libraries
+UrlSuffix(gcc/Link-Options.html#index-no-standard-libraries)
+
+-no-sysroot-suffix
+UrlSuffix(gcc/Directory-Options.html#index-no-sysroot-suffix)
+
+-no-warnings
+UrlSuffix(gcc/Warning-Options.html#index-no-warnings)
+
+-optimize
+UrlSuffix(gcc/Optimize-Options.html#index-optimize-1)
+
+-output
+UrlSuffix(gcc/Overall-Options.html#index-output)
+
+-output=
+UrlSuffix(gcc/Overall-Options.html#index-output)
+
+-pass-exit-codes
+UrlSuffix(gcc/Overall-Options.html#index-pass-exit-codes)
+
+; skipping UrlSuffix for '-pedantic' due to multiple URLs:
+;   duplicate: 'gcc/Alternate-Keywords.html#index-pedantic-3'
+;   duplicate: 'gcc/C-Extensions.html#index-pedantic-2'
+;   duplicate: 'gcc/Standards.html#index-pedantic'
+;   duplicate: 'gcc/Warning-Options.html#index-pedantic-1'
+;   duplicate: 'gcc/Warnings-and-Errors.html#index-pedantic-4'
+-pedantic
+LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-pedantic)
+
+; skipping UrlSuffix for '-pedantic-errors' due to multiple URLs:
+;   duplicate: 'gcc/Non-bugs.html#index-pedantic-errors-2'
+;   duplicate: 'gcc/Standards.html#index-pedantic-errors'
+;   duplicate: 'gcc/Warning-Options.html#index-pedantic-errors-1'
+;   duplicate: 'gcc/Warnings-and-Errors.html#index-pedantic-errors-3'
+-pedantic-errors
+LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-pedantic-errors)
+
+-pie
+UrlSuffix(gcc/Link-Options.html#index-pie)
+
+-static-pie
+UrlSuffix(gcc/Link-Options.html#index-static-pie)
+
+-pipe
+UrlSuffix(gcc/Overall-Options.html#index-pipe)
+
+-prefix
+UrlSuffix(gcc/Directory-Options.html#index-prefix)
+
+-prefix=
+UrlSuffix(gcc/Directory-Options.html#index-prefix)
+
+-preprocess
+UrlSuffix(gcc/Overall-Options.html#index-preprocess)
+
+-print-autofdo-gcov-version
+UrlSuffix(gcc/Developer-Options.html#index-print-autofdo-gcov-version)
+
+-print-file-name
+UrlSuffix(gcc/Developer-Options.html#index-print-file-name)
+
+-print-file-name=
+UrlSuffix(gcc/Developer-Options.html#index-print-file-name)
+
+-print-libgcc-file-name
+UrlSuffix(gcc/Developer-Options.html#index-print-libgcc-file-name)
+
+-print-multi-directory
+UrlSuffix(gcc/Developer-Options.html#index-print-multi-directory)
+
+-print-multi-lib
+UrlSuffix(gcc/Developer-Options.html#index-print-multi-lib)
+
+-print-multi-os-directory
+UrlSuffix(gcc/Developer-Options.html#index-print-multi-os-directory)
+
+-print-multiarch
+UrlSuffix(gcc/Developer-Options.html#index-print-multiarch)
+
+-print-prog-name
+UrlSuffix(gcc/Developer-Options.html#index-print-prog-name)
+
+-print-prog-name=
+UrlSuffix(gcc/Developer-Options.html#index-print-prog-name)
+
+-print-search-dirs
+UrlSuffix(gcc/Developer-Options.html#index-print-search-dirs)
+
+-print-sysroot
+UrlSuffix(gcc/Developer-Options.html#index-print-sysroot)
+
+-print-sysroot-headers-suffix
+UrlSuffix(gcc/Developer-Options.html#index-print-sysroot-headers-suffix)
+
+-profile
+UrlSuffix(gcc/Instrumentation-Options.html#index-profile)
+
+-save-temps
+UrlSuffix(gcc/Developer-Options.html#index-save-temps)
+
+-shared
+UrlSuffix(gcc/Link-Options.html#index-shared)
+
+-specs
+UrlSuffix(gcc/Developer-Options.html#index-specs)
+
+-specs=
+UrlSuffix(gcc/Developer-Options.html#index-specs)
+
+-static
+UrlSuffix(gcc/Link-Options.html#index-static)
+
+-symbolic
+UrlSuffix(gcc/Link-Options.html#index-symbolic)
+
+-target-help
+UrlSuffix(gcc/Overall-Options.html#index-target-help)
+
+-time
+UrlSuffix(gcc/Developer-Options.html#index-time)
+
+-verbose
+UrlSuffix(gcc/Overall-Options.html#index-verbose)
+
 fversion
 LangUrlSuffix_D(gdc/Runtime-Options.html#index-fversion)
 
+-sysroot
+UrlSuffix(gcc/Directory-Options.html#index-sysroot)
+
+-sysroot=
+UrlSuffix(gcc/Directory-Options.html#index-sysroot)
+
+-version
+UrlSuffix(gcc/Overall-Options.html#index-version)
+
 B
 UrlSuffix(gcc/Directory-Options.html#index-B) LangUrlSuffix_D(gdc/Directory-Options.html#index-B)
 
diff --git a/gcc/config/picolibc.opt.urls b/gcc/config/picolibc.opt.urls
index b3a57d15a39..cfd2a75cba5 100644
--- a/gcc/config/picolibc.opt.urls
+++ b/gcc/config/picolibc.opt.urls
@@ -1,2 +1,26 @@ 
 ; Autogenerated by regenerate-opt-urls.py from gcc/config/picolibc.opt and generated HTML
 
+-oslib
+UrlSuffix(gcc/Picolibc-Options.html#index-oslib)
+
+-oslib=
+UrlSuffix(gcc/Picolibc-Options.html#index-oslib)
+
+-crt0
+UrlSuffix(gcc/Picolibc-Options.html#index-crt0)
+
+-crt0=
+UrlSuffix(gcc/Picolibc-Options.html#index-crt0)
+
+-printf
+UrlSuffix(gcc/Picolibc-Options.html#index-printf-1)
+
+-printf=
+UrlSuffix(gcc/Picolibc-Options.html#index-printf-1)
+
+-scanf
+UrlSuffix(gcc/Picolibc-Options.html#index-scanf)
+
+-scanf=
+UrlSuffix(gcc/Picolibc-Options.html#index-scanf)
+
diff --git a/gcc/d/lang.opt.urls b/gcc/d/lang.opt.urls
index d0d9bc8fd3d..03ab1f93e66 100644
--- a/gcc/d/lang.opt.urls
+++ b/gcc/d/lang.opt.urls
@@ -1,5 +1,20 @@ 
 ; Autogenerated by regenerate-opt-urls.py from gcc/d/lang.opt and generated HTML
 
+-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-dependencies)
+
+-print-missing-file-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-print-missing-file-dependencies)
+
+-user-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-user-dependencies)
+
+-write-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-write-dependencies)
+
+-write-user-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-write-user-dependencies)
+
 H
 UrlSuffix(gcc/Preprocessor-Options.html#index-H) LangUrlSuffix_D(gdc/Code-Generation.html#index-H) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-H)
 
@@ -99,6 +114,9 @@  LangUrlSuffix_D(gdc/Linking.html#index-debuglib_003d)
 defaultlib=
 LangUrlSuffix_D(gdc/Linking.html#index-defaultlib_003d)
 
+-verbose
+UrlSuffix(gcc/Overall-Options.html#index-verbose)
+
 fall-instantiations
 LangUrlSuffix_D(gdc/Runtime-Options.html#index-fall-instantiations)
 
diff --git a/gcc/fortran/lang.opt.urls b/gcc/fortran/lang.opt.urls
index 3bf0e7b88ea..c3549feb024 100644
--- a/gcc/fortran/lang.opt.urls
+++ b/gcc/fortran/lang.opt.urls
@@ -1,5 +1,91 @@ 
 ; Autogenerated by regenerate-opt-urls.py from gcc/fortran/lang.opt and generated HTML
 
+-all-warnings
+UrlSuffix(gcc/Warning-Options.html#index-all-warnings)
+
+-comments
+UrlSuffix(gcc/Preprocessor-Options.html#index-comments)
+
+-comments-in-macros
+UrlSuffix(gcc/Preprocessor-Options.html#index-comments-in-macros)
+
+-define-macro
+UrlSuffix(gcc/Preprocessor-Options.html#index-define-macro)
+
+-define-macro=
+UrlSuffix(gcc/Preprocessor-Options.html#index-define-macro)
+
+-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-dependencies)
+
+; skipping UrlSuffix for '-dump' due to multiple URLs:
+;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
+;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
+
+; skipping UrlSuffix for '-dump=' due to multiple URLs:
+;   duplicate: 'gcc/Developer-Options.html#index-dump-1'
+;   duplicate: 'gcc/Preprocessor-Options.html#index-dump'
+
+-include-barrier
+UrlSuffix(gcc/Directory-Options.html#index-include-barrier)
+
+-include-directory
+UrlSuffix(gcc/Directory-Options.html#index-include-directory)
+
+-include-directory=
+UrlSuffix(gcc/Directory-Options.html#index-include-directory)
+
+-include-directory-after
+UrlSuffix(gcc/Directory-Options.html#index-include-directory-after)
+
+-include-directory-after=
+UrlSuffix(gcc/Directory-Options.html#index-include-directory-after)
+
+-include-prefix
+UrlSuffix(gcc/Directory-Options.html#index-include-prefix)
+
+-include-prefix=
+UrlSuffix(gcc/Directory-Options.html#index-include-prefix)
+
+-no-line-commands
+UrlSuffix(gcc/Preprocessor-Options.html#index-no-line-commands)
+
+-no-standard-includes
+UrlSuffix(gcc/Directory-Options.html#index-no-standard-includes)
+
+-output
+UrlSuffix(gcc/Overall-Options.html#index-output)
+
+-output=
+UrlSuffix(gcc/Overall-Options.html#index-output)
+
+-preprocess
+UrlSuffix(gcc/Overall-Options.html#index-preprocess)
+
+-print-missing-file-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-print-missing-file-dependencies)
+
+-trace-includes
+UrlSuffix(gcc/Preprocessor-Options.html#index-trace-includes)
+
+-undefine-macro
+UrlSuffix(gcc/Preprocessor-Options.html#index-undefine-macro)
+
+-undefine-macro=
+UrlSuffix(gcc/Preprocessor-Options.html#index-undefine-macro)
+
+-user-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-user-dependencies)
+
+-verbose
+UrlSuffix(gcc/Overall-Options.html#index-verbose)
+
+-write-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-write-dependencies)
+
+-write-user-dependencies
+UrlSuffix(gcc/Preprocessor-Options.html#index-write-user-dependencies)
+
 C
 UrlSuffix(gcc/Preprocessor-Options.html#index-C) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-C)
 
diff --git a/gcc/m2/lang.opt.urls b/gcc/m2/lang.opt.urls
index 484101a0551..cf27756b04b 100644
--- a/gcc/m2/lang.opt.urls
+++ b/gcc/m2/lang.opt.urls
@@ -113,6 +113,9 @@  UrlSuffix(gcc/Directory-Options.html#index-idirafter) LangUrlSuffix_Fortran(gfor
 imultilib
 UrlSuffix(gcc/Directory-Options.html#index-imultilib) LangUrlSuffix_D(gdc/Directory-Options.html#index-imultilib) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-imultilib)
 
+-save-temps
+UrlSuffix(gcc/Developer-Options.html#index-save-temps)
+
 save-temps
 UrlSuffix(gcc/Developer-Options.html#index-save-temps)
 
diff --git a/gcc/regenerate-opt-urls.py b/gcc/regenerate-opt-urls.py
index 4db85c204e7..967968ece68 100755
--- a/gcc/regenerate-opt-urls.py
+++ b/gcc/regenerate-opt-urls.py
@@ -46,6 +46,12 @@  import unittest
 def canonicalize_option_name(option_name):
     if option_name.endswith('='):
         option_name = option_name[0:-1]
+    # Options starting with two dashes are listed with one dash in the
+    # .opt file, plus we have already added the implicit dash to option_name.
+    # But the index entries have zero dashes, so we have to remove one of the
+    # dashes again to match them.
+    if option_name[:2] == '--':
+        option_name = option_name[1:]
     return option_name
 
 
@@ -175,6 +181,8 @@  class TestParsingIndex(unittest.TestCase):
                          {'gcc/Optimize-Options.html#index-O0'})
         self.assertEqual(index.get_url_suffixes('-Wframe-larger-than='),
                          {'gcc/Warning-Options.html#index-Wframe-larger-than_003d'})
+        self.assertEqual(index.get_url_suffixes('--static-pie'),
+                         {'gcc/Link-Options.html#index-static-pie'})
 
         # Check an option with duplicates: '-march'
         # The url_suffixes will be of the form