Re: [C++ Patch] PR 54575

2012-09-14 Thread Paolo Carlini
Jason, H.J. figured out that this changed when case SCOPE_REF of value_dependent_expression_p started always returning true, part of the instantiation_dependent_p work... I'm unassigning myself, I guess you will immediately see which further changes are needed. Thanks! Paolo.

Re: [C++ Patch] PR 54575

2012-09-14 Thread Paolo Carlini
On 09/14/2012 05:14 PM, Paolo Carlini wrote: lookup_field returns NULL_TREE and dependent_type_p (context) is false. It seems to me that the return value of lookup_field is right. No, I don't think it makes sense for lookup_field to return NULL_TREE. For our testcase we should find the nested ty

Re: [C++ Patch] PR 54575

2012-09-14 Thread Paolo Carlini
Hi, On 09/14/2012 04:36 PM, Jason Merrill wrote: On 09/14/2012 09:05 AM, Paolo Carlini wrote: here we crash because strip_typedefs while processing _RequireInputIter calls make_typename_type which returns error_mark_node (# line 3281). strip_typedefs should not return error_mark_node unless i

Re: [C++ Patch] PR 54575

2012-09-14 Thread Jason Merrill
On 09/14/2012 09:05 AM, Paolo Carlini wrote: here we crash because strip_typedefs while processing _RequireInputIter calls make_typename_type which returns error_mark_node (# line 3281). strip_typedefs should not return error_mark_node unless it gets error_mark_node as an argument; if a typede

[C++ Patch] PR 54575

2012-09-14 Thread Paolo Carlini
Hi, here we crash because strip_typedefs while processing _RequireInputIter calls make_typename_type which returns error_mark_node (# line 3281). Thus I'm simply checking for result == error_mark_node right after the switch (in the switch finish_decltype_type could also return error_mark_node