On Sun, Jul 12, 2026 at 8:52 PM Sandra Loosemore
<[email protected]> wrote:
>
> Arsen spotted that the introductory paragraph for the -fdeps-* options
> appeared under -fpermitted-flt-eval-methods because of the way @table
> elements are formatted.  I've rearranged the text to fix that.  I also
> added a reference for -fdeps-format and tried to clarify what useful
> values for -fdeps-target=@var{file} are.  This group of options was
> also missing entries in the Option Summary, and finally the options
> in this section are (mostly) alphabetized so I moved the whole chunk
> of text to the right place.

I have not looked but there was this patch:
https://inbox.sourceware.org/gcc-patches/CALzrVcF=xvojjknc-zntg6peul+mtgyypu9i7_rxcth9yxy...@mail.gmail.com/T/#u
Which was touching the same -fdeps documentation. Maybe your patch did
most of the stuff there too.

Thanks,
Andrea

>
> gcc/ChangeLog
>         * doc/invoke.texi (Option Summary): Add -fdeps-file, -fdeps-format,
>         and -fdeps-target.
>         (C Dialect Options): Properly alphabetize entries for the above
>         options, group them together, move the introductory paragraph
>         into the discussion of this group of items, and make the docs
>         more descriptive.
> ---
>  gcc/doc/invoke.texi | 63 ++++++++++++++++++++++++++-------------------
>  1 file changed, 36 insertions(+), 27 deletions(-)
>
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 3234efa04ba..4ba0124d0ce 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -205,6 +205,7 @@ in the following sections.
>  @gccoptlist{-ansi  -std=@var{standard}  -aux-info @var{filename}
>  -fno-asm
>  -fno-builtin  -fno-builtin-@var{function}  -fcond-mismatch
> +-fdeps-file=@var{file}  -fdeps-format=@var{format}  -fdeps-target=@var{file}
>  -ffreestanding  -fgimple  -fgnu-tm  -fgnu89-inline  -fhosted
>  -flax-vector-conversions  -fms-extensions
>  -fpermitted-flt-eval-methods=@var{standard}
> @@ -2746,6 +2747,41 @@ Allow conditional expressions with mismatched types in 
> the second and
>  third arguments.  The value of such an expression is void.  This option
>  is not supported for C++.
>
> +@opindex fdeps-
> +@opindex fdeps-file
> +@opindex fdeps-format
> +@opindex fdeps-target
> +@item -fdeps-file=@var{file}
> +@itemx -fdeps-format=@var{format}
> +@itemx -fdeps-target=@var{file}
> +
> +The @samp{-fdeps-*} options are used to extract structured dependency
> +information for a source file.  This involves determining what
> +resources provided by other source files are required to compile
> +the source as well as what resources are provided by the source.  This
> +information can be used to add required dependencies between
> +compilation rules of dependent sources based on their contents rather
> +than requiring such information be reflected within the build tools as
> +well.
> +
> +@option{-fdeps-file=@var{file}} specifies where to write structured
> +dependency information.
> +
> +@option{-fdeps-format=@var{format}} specifies the format to use for
> +structured dependency information.
> +@uref{https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1689r5.html,
> +@samp{p1689r5}} is the only supported format right now.
> +Note that when this argument is specified, the
> +output of @samp{-MF} is stripped of some information (namely C++ modules) so
> +that it does not use extended makefile syntax not understood by most tools.
> +
> +@option{-fdeps-target=@var{file}} is analogous to @option{-MT},
> +but for structured dependency information.  This
> +indicates the target of the build rule for the source file
> +that is currently being processed for dynamic dependencies, and is used to
> +associate the dependency information with that target in the output.
> +Normally this is the name of the @samp{.o} file generated during compilation.
> +
>  @opindex ffreestanding
>  @opindex fno-freestanding
>  @cindex hosted environment
> @@ -2870,33 +2906,6 @@ is @option{-fpermitted-flt-eval-methods=c11}.  The 
> default when in a GNU
>  dialect (@option{-std=gnu11} or similar) is
>  @option{-fpermitted-flt-eval-methods=ts-18661-3}.
>
> -@opindex fdeps-
> -The @samp{-fdeps-*} options are used to extract structured dependency
> -information for a source.  This involves determining what resources provided 
> by
> -other source files will be required to compile the source as well as what
> -resources are provided by the source.  This information can be used to add
> -required dependencies between compilation rules of dependent sources based on
> -their contents rather than requiring such information be reflected within the
> -build tools as well.
> -
> -@opindex fdeps-file
> -@item -fdeps-file=@var{file}
> -Where to write structured dependency information.
> -
> -@opindex fdeps-format
> -@item -fdeps-format=@var{format}
> -The format to use for structured dependency information. @samp{p1689r5} is 
> the
> -only supported format right now.  Note that when this argument is specified, 
> the
> -output of @samp{-MF} is stripped of some information (namely C++ modules) so
> -that it does not use extended makefile syntax not understood by most tools.
> -
> -@opindex fdeps-target
> -@item -fdeps-target=@var{file}
> -Analogous to @option{-MT} but for structured dependency information.  This
> -indicates the target which will ultimately need any required resources and
> -provide any resources extracted from the source that may be required by other
> -sources.
> -
>  @opindex fplan9-extensions
>  @opindex fno-plan9-extensions
>  @item -fplan9-extensions
> --
> 2.39.5
>

Reply via email to