This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: a warning to implement


Gabriel Dos Reis <gdr@codesourcery.com> writes:
> Richard Sandiford <rsandifo@redhat.com> writes:
> 
> | Gabriel Dos Reis <gdr@codesourcery.com> writes:
> | > I'm not sure I can represent on this public list, opinions expressed
> | > on closed mailing-lists.  However, you might want to consult
> | > c++std-core archive.  You'll discover people have use of
> | > self-initialisation even if you cannot imagine such use.
> | 
> | But if gcc doesn't behave the way these people expect, that sounds
> | like an even better reason to warn as part of -Wall.  
> 
> Then T is a user defined type,
> 
>    T x = x;
> 
> should be implemented correctly by GCC.
>
> | If gcc
> | implements the intended behaviour at some point in the future,
> | we could stop -Wself-initialization or whatever from warning
> | about those cases.
> 
> Now you'll have to argue why you're stopping something documented used
> to work as documented.

My suggestion was to warn only about cases when we can detect the
behaviour is not documented or well-defined.  The option itself could be
documented that way.  If the behaviour of more self-initializers becomes
defined over time, the number of cases we warn about would go down.

>From that point of view, the warning wouldn't trigger for:

    T x = x;

in the well-defined cases you're talking about, but would, for example,
when T==int (which was the example that the original poster gave).  If
the warning worked that way, would it be OK for -Wall?

Richard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]