Re: [PATCH] [PR c++/84610,84642] recover from implicit template parms gracefully

2018-03-22 Thread Jason Merrill
OK. On Wed, Mar 21, 2018 at 5:41 PM, Alexandre Oliva wrote: > On Mar 20, 2018, Jason Merrill wrote: > >> On Tue, Mar 20, 2018 at 5:57 PM, Alexandre Oliva wrote: >>> On Mar 20, 2018, Jason Merrill wrote: >> Let's put

Re: [PATCH] [PR c++/84610,84642] recover from implicit template parms gracefully

2018-03-21 Thread Alexandre Oliva
On Mar 20, 2018, Jason Merrill wrote: > On Tue, Mar 20, 2018 at 5:57 PM, Alexandre Oliva wrote: >> On Mar 20, 2018, Jason Merrill wrote: > Let's put this in cp-tree.h, with warning_sentinel. >> + (void)cleanup; > There are lots of RAII

Re: [PATCH] [PR c++/84610,84642] recover from implicit template parms gracefully

2018-03-20 Thread Jason Merrill
On Tue, Mar 20, 2018 at 5:57 PM, Alexandre Oliva wrote: > On Mar 20, 2018, Jason Merrill wrote: > >>> While debugging this, I first tried another patch, that avoids the same >>> ICEs. I thought this one was a more complete solution, and it renders >>> the

Re: [PATCH] [PR c++/84610,84642] recover from implicit template parms gracefully

2018-03-20 Thread Alexandre Oliva
On Mar 20, 2018, Jason Merrill wrote: >> While debugging this, I first tried another patch, that avoids the same >> ICEs. I thought this one was a more complete solution, and it renders >> the other unnecessary, but I still though it might be useful to disable >>

Re: [PR c++/84610,84642] recover from implicit template parms gracefully

2018-03-20 Thread Jason Merrill
On Sat, Mar 10, 2018 at 6:57 AM, Alexandre Oliva wrote: > If we get a parse error during an attempted fully implicit function > template parse, and need to skip to the end of the statement or block, > we may discard the function parms scope rather than the enclosing > injected

[PR c++/84610,84642] recover from implicit template parms gracefully

2018-03-10 Thread Alexandre Oliva
If we get a parse error during an attempted fully implicit function template parse, and need to skip to the end of the statement or block, we may discard the function parms scope rather than the enclosing injected implicit template parms scope. If we rollback a tentative parse and try something