Re: [C++ Patch] PR 53567

2012-06-06 Thread Jason Merrill
OK, thanks. Jason

Re: [C++ Patch] PR 53567

2012-06-06 Thread Jason Merrill
On 06/06/2012 05:45 AM, Paolo Carlini wrote: The warning belongs to joust, called by tourney, called by build_user_type_conversion_1, called by implicit_conversion. Hmm. We really ought not to issue that warning until we know that we've committed to that conversion. But I guess that doesn't

Re: [C++ Patch] PR 53567

2012-06-06 Thread Paolo Carlini
Hi again, some additional details: On 06/06/2012 11:20 AM, Paolo Carlini wrote: Hi, On 06/06/2012 03:57 AM, Jason Merrill wrote: On 06/05/2012 08:23 PM, Paolo Carlini wrote: @@ -1695,6 +1695,8 @@ implicit_conversion (tree to, tree from, tree expr |LOOKUP_NO_TEMP_BIND|LOOKUP_NO_RVA

Re: [C++ Patch] PR 53567

2012-06-06 Thread Paolo Carlini
Hi, On 06/06/2012 03:57 AM, Jason Merrill wrote: On 06/05/2012 08:23 PM, Paolo Carlini wrote: @@ -1695,6 +1695,8 @@ implicit_conversion (tree to, tree from, tree expr |LOOKUP_NO_TEMP_BIND|LOOKUP_NO_RVAL_BIND|LOOKUP_PREFER_RVALUE |LOOKUP_NO_NARROWING|LOOKUP_PROTECT); + comp

Re: [C++ Patch] PR 53567

2012-06-05 Thread Jason Merrill
On 06/05/2012 08:23 PM, Paolo Carlini wrote: @@ -1695,6 +1695,8 @@ implicit_conversion (tree to, tree from, tree expr |LOOKUP_NO_TEMP_BIND|LOOKUP_NO_RVAL_BIND|LOOKUP_PREFER_RVALUE |LOOKUP_NO_NARROWING|LOOKUP_PROTECT); + complain&= ~tf_error; I don't think we want warni

Re: [C++ Patch] PR 53567

2012-06-05 Thread Paolo Carlini
Hi, > We could, but I think it's fine to have it as an alias for LOOKUP_PROTECT; > the LOOKUP_NORMAL name implies that we're doing a normal name lookup, whereas > LOOKUP_PROTECT is what that implies. Believe it or not, yesterday for a few minutes I had it exactly as an alias. Ok, I'll do that.

Re: [C++ Patch] PR 53567

2012-06-05 Thread Jason Merrill
On 06/05/2012 11:29 AM, Paolo Carlini wrote: To be sure: NORMAL used to be just PROTECT | COMPLAIN, thus it's just about names, right? Yes. You mean, we do away with the NORMAL name, you mean? We could, but I think it's fine to have it as an alias for LOOKUP_PROTECT; the LOOKUP_NORMAL nam

Re: [C++ Patch] PR 53567

2012-06-05 Thread Paolo Carlini
Hi, Il giorno 05/giu/2012, alle ore 16:16, Jason Merrill ha scritto: > On 06/05/2012 07:00 AM, Paolo Carlini wrote: >>(construct_virtual_base): Adjust LOOKUP_COMPLAIN -> LOOKUP_NORMAL. > > This and the similar changes elsewhere seem dangerous; they're adding adding > LOOKUP_PROTECT that

Re: [C++ Patch] PR 53567

2012-06-05 Thread Jason Merrill
On 06/05/2012 07:00 AM, Paolo Carlini wrote: (construct_virtual_base): Adjust LOOKUP_COMPLAIN -> LOOKUP_NORMAL. This and the similar changes elsewhere seem dangerous; they're adding adding LOOKUP_PROTECT that wasn't there before. Instead, let's replace LOOKUP_COMPLAIN with 0 or some

Re: [C++ Patch] PR 53567

2012-06-04 Thread Jason Merrill
On 06/04/2012 08:22 PM, Paolo Carlini wrote: In fact, I think setting complain to tf_warning may work better. Sounds plausible. Jason

Re: [C++ Patch] PR 53567

2012-06-04 Thread Paolo Carlini
On 06/05/2012 01:45 AM, Paolo Carlini wrote: On 06/05/2012 01:23 AM, Jason Merrill wrote: On 06/04/2012 06:55 PM, Paolo Carlini wrote: If, more generally, you mean we should remove it completely, I'm afraid some cases are rather nasty. For example, I think that whenever we go through implicit_c

Re: [C++ Patch] PR 53567

2012-06-04 Thread Paolo Carlini
On 06/05/2012 01:23 AM, Jason Merrill wrote: On 06/04/2012 06:55 PM, Paolo Carlini wrote: If, more generally, you mean we should remove it completely, I'm afraid some cases are rather nasty. For example, I think that whenever we go through implicit_conversion, thus its flags &=, the following fu

Re: [C++ Patch] PR 53567

2012-06-04 Thread Jason Merrill
On 06/04/2012 06:55 PM, Paolo Carlini wrote: If, more generally, you mean we should remove it completely, I'm afraid some cases are rather nasty. For example, I think that whenever we go through implicit_conversion, thus its flags &=, the following function calls can easily have at the same time

Re: [C++ Patch] PR 53567

2012-06-04 Thread Jason Merrill
On 06/04/2012 10:15 AM, Paolo Carlini wrote: @@ -5413,7 +5413,7 @@ build_op_delete_call (enum tree_code code, tree ad fns = lookup_name_nonclass (fnname); /* Strip const and volatile from addr. */ - addr = cp_convert (ptr_type_node, addr); + addr = cp_convert (ptr_type_node, addr, t

[C++ Patch] PR 53567

2012-06-04 Thread Paolo Carlini
Hi, in this "error reporting routines re-entered" ICE we try to emit a warning from ocp_convert while we are already producing an error message (we get to ocp_convert via the usual tsubst (tf_none) called by dump_template_bindings). I considered whether we could avoid the specific problem by