This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++ PATCH] Fix lambda error recovery (PR c++/84446)


Hi,

On 19/02/2018 20:05, Jakub Jelinek wrote:
Hi!

In this case, because the corresponding variable is errorneous, we end up
with error_mark_node in LAMBDA_TYPE_EXTRA_SCOPE.  This patch just makes sure
we won't crash on it.  Not 100% sure if this is the best fix though.
IMHO something like the below - which just completed testing on x86_64-linux - could also make sense: among other things, we would catch the problem earlier - no need to check for error_mark_node as part of a loop - and the diagnostic would be more terse and identical to the non-template case. I should also add that normally when we use start_lambd_scope (decl) we *know* one way or the other that decl != error_mark_node, and that isn't the case here (in fact we check decl != error_mark_node in a couple of other places nearby)

Thanks!
Paolo.

//////////////////////


Attachment: patch_84446_alt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]