On 2017.08.09 at 14:30 -0400, Jason Merrill wrote: > The issue here is that we try to determine the EH specification of > B::C::C() from within SFINAE context, and we can't determine it yet > because the NSDMI for B::C::i hasn't been parsed yet. This patch > allows that determination to fail quietly in SFINAE context; we'll try > again the next time it is needed.
Thanks. Unfortunately it breaks the following testcase: ~ % cat asm-js.ii struct A { void operator delete(void *, unsigned long); }; struct B : A { virtual ~B(); }; struct C : B {}; ~ % g++ -c asm-js.ii asm-js.ii:7:8: error: no matching function for call to ‘C::operator delete(void*)’ struct C : B {}; ^ asm-js.ii:2:8: note: candidate: ‘static void A::operator delete(void*, long unsigned int)’ void operator delete(void *, unsigned long); ^~~~~~~~ asm-js.ii:2:8: note: candidate expects 2 arguments, 1 provided -- Markus