[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