This is the mail archive of the gcc-patches@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] |
On 01/23/2014 04:01 PM, Paolo Carlini wrote:
Hi, On 01/23/2014 03:05 PM, Jason Merrill wrote:Jason, no problem, you choose. I only wanted to use the same compact form 'A::B' used in the non-template case. Which form do you prefer?On 01/22/2014 04:29 PM, Paolo Carlini wrote:Why? prev_scope is the context where the name is written, i.e. current_class_type. Why should the diagnostic treat it as an explicit qualifier?On 01/22/2014 10:10 PM, Jason Merrill wrote:Yep, that's along the lines I was thinking of. But again, prev_scope is irrelevant here, so the new code shouldn't mention it at all.Well, in practice I have to mention it in the error_at itself.
To be clear if we use %qT with nested_name_specifier we get:58980.C:5:8: error: âtypename A< <template-parameter-1-1> >::Bâ has not been declared
which frankly seems suboptimal to me, both vs the non-template case and the use of typename.
Thus, as far as I can see, either what I posted, which is consistent with the '... has not been declared' message of the non-template case (I understand that we want to focus on the 'has not been declared' issue) or just '%<%E%>' or even just '%E' and nested_name_specifier.
Paolo.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |