Re: C++ PATCH for c++/80767, unnecessary instantiation of generic lambda

2017-09-01 Thread David Edelsohn
On Thu, Aug 31, 2017 at 1:16 PM, Jason Merrill wrote: > On Thu, Aug 31, 2017 at 9:37 AM, David Edelsohn wrote: >> Jason, >> >> The recent patch for 82030 >> >> PR c++/82030 - ICE inheriting from multiple lambdas >> >> PR c++/80767 >> * call.c (compare_ics): Han

Re: C++ PATCH for c++/80767, unnecessary instantiation of generic lambda

2017-08-31 Thread Jason Merrill
On Thu, Aug 31, 2017 at 9:37 AM, David Edelsohn wrote: > Jason, > > The recent patch for 82030 > > PR c++/82030 - ICE inheriting from multiple lambdas > > PR c++/80767 > * call.c (compare_ics): Handle null candidate. > > causes bootstrap to fail for AIX due to a

Re: C++ PATCH for c++/80767, unnecessary instantiation of generic lambda

2017-08-31 Thread David Edelsohn
Jason, The recent patch for 82030 PR c++/82030 - ICE inheriting from multiple lambdas PR c++/80767 * call.c (compare_ics): Handle null candidate. causes bootstrap to fail for AIX due to a segfault ICE building libstdc++ with stage1 compiler. - David

Re: C++ PATCH for c++/80767, unnecessary instantiation of generic lambda

2017-08-30 Thread Jason Merrill
On Tue, Aug 29, 2017 at 3:12 PM, Jason Merrill wrote: > In this testcase, when we try to call the object of 'overloader' type, > we consider the conversion function from the first lambda to void > (*)(a) and build up a surrogate call function for it. We consider how > to convert from overloader t

C++ PATCH for c++/80767, unnecessary instantiation of generic lambda

2017-08-29 Thread Jason Merrill
In this testcase, when we try to call the object of 'overloader' type, we consider the conversion function from the first lambda to void (*)(a) and build up a surrogate call function for it. We consider how to convert from overloader to that type, which means also looking at the template conversio