Re: [C++ Patch] PR 60686

2014-07-09 Thread Jason Merrill
OK, thanks. Jason

Re: [C++ Patch] PR 60686

2014-07-09 Thread Paolo Carlini
Hi, On 07/09/2014 10:34 PM, Jason Merrill wrote: On 07/09/2014 06:07 AM, Paolo Carlini wrote: The third case, I don't think it can really happen, because there are earlier checks which simply return error_mark_node if a declaration is within the wrong class... Not if it's a friend declaration:

Re: [C++ Patch] PR 60686

2014-07-09 Thread Jason Merrill
On 07/09/2014 06:07 AM, Paolo Carlini wrote: The third case, I don't think it can really happen, because there are earlier checks which simply return error_mark_node if a declaration is within the wrong class... Not if it's a friend declaration: struct A { explicit A(int); }; struct B { e

Re: [C++ Patch] PR 60686

2014-07-09 Thread Paolo Carlini
Hi, On 07/09/2014 12:39 AM, Jason Merrill wrote: On 07/07/2014 11:15 AM, Paolo Carlini wrote: + error ("only declarations can be marked %"); That's pretty unclear, since a definition is a declaration. Let's split this into three error messages: If the problem is that we're outside the

Re: [C++ Patch] PR 60686

2014-07-08 Thread Jason Merrill
On 07/07/2014 11:15 AM, Paolo Carlini wrote: + error ("only declarations can be marked %"); That's pretty unclear, since a definition is a declaration. Let's split this into three error messages: If the problem is that we're outside the class, we should say that. If the problem is that

[C++ Patch] PR 60686

2014-07-07 Thread Paolo Carlini
Hi, in this bug submitter noticed that talking only about explicit constructors without mentioning conversion operators is misleading in C++11. Thus Jon suggested simply not mentioning the constructors in the error message, which I find reasonable because after all it's about the fact that th