On Wed, Feb 13, 2019 at 06:27:51PM -0800, H.J. Lu wrote:
> --- a/gcc/doc/options.texi
> +++ b/gcc/doc/options.texi
> @@ -227,7 +227,10 @@ options, their @code{Negative} properties should form a 
> circular chain.
>  For example, if options @option{-@var{a}}, @option{-@var{b}} and
>  @option{-@var{c}} are mutually exclusive, their respective @code{Negative}
>  properties should be @samp{Negative(@var{b})}, @samp{Negative(@var{c})}
> -and @samp{Negative(@var{a})}.
> +and @samp{Negative(@var{a})}.  @code{Negative} can be used together
> +with @code{Joined} if there is no @code{RejectNegative} property.
> +@code{Negative} is ignored if there is @code{Joined} without
> +@code{RejectNegative}.

I think this doesn't describe what is implemented.

Something like:
 the option name with the leading ``-'' removed.  This chain action will
 propagate through the @code{Negative} property of the option to be
-turned off.
+turned off.  The driver will prune options, removing those that are
+turned off by some later option.  This pruning is not done for options
+with @code{Joined} or @code{JoinedOrMissing} properties, unless the
+options have either @code{RejectNegative} property or the @code{Negative}
+property mentions an option other than itself.

 As a consequence, if you have a group of mutually-exclusive
 options, their @code{Negative} properties should form a circular chain.

?

Otherwise LGTM, but Joseph is the options machinery maintainer, so I'll
defer to him here.

        Jakub

Reply via email to