[C++ patch] for C++/52369

Jason Merrill jason@redhat.com
Mon Mar 3 01:16:00 GMT 2014


On 03/02/2014 04:55 PM, Fabien Chêne wrote:
> Hmm, sorry to iterate on this rather trivial issue, but it seems
> difficult to mimic the c++98 diagnostic. Actually, the c++98 diagnosic
> raises an error at the point of use, mention the class implied, and
> add a note at the ref/const member uninitialized. Doing that in c++11
> is not currently possible because input_location is sabotaged early in
> maybe_explain_implicit_delete (unless there is some magic incantation
> in the diagnostic machinery I am not aware of), and the point of use
> is lost.

Yes, in C++11 the point of use is the source location of the 
constructor, which is going to be different from where the constructor 
is called.  I just meant use the same wording.

> I am inclined to think that if we reached one the two functions
> mentioned, an error had already been raised and we are trying to
> explain why. Thus, it seems to me that only notes should be emitted.
> Here we are actually explaining why the default constructor is
> deleted, which is a kind of subnote.

I can see that argument, but it's deleted because if it were defined, 
that definition would be ill-formed, and we're giving the errors that we 
would see in that case.

Jason



More information about the Gcc-patches mailing list