[PATCH] D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563)

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 17 14:02:48 PDT 2020


lebedev.ri added a comment.

In D59214#1926978 <https://reviews.llvm.org/D59214#1926978>, @sammccall wrote:

> In D59214#1919183 <https://reviews.llvm.org/D59214#1919183>, @lebedev.ri wrote:
>
> > d5edcb90643104d6911da5c0ff44c4f33fff992f <https://reviews.llvm.org/rGd5edcb90643104d6911da5c0ff44c4f33fff992f>, looking forward to seeing better error recovery.
>
>
> Thanks very much for your help Roman, I'm also sorry this has been difficult.
>
> The plan for error recovery is to add a RecoveryExpr to the AST that can represent the known structure of an invalid expression (e.g. a function call with no viable overloads - this has subexpressions and possibly a known type) instead of dropping it as we do today. This will be used to improve diagnostics and also expose a more meaningful AST to tools.
>
> A "transitive-has-errors" bit on Expr is needed as various places currently assume that if an Expr exists, the code is valid. (TypoExpr is a complicated special snowflake, and we should also be able to reduce the number of places that special-case it).


Yep, sounds reasonable, thank you for the explanation; that does match my expectations
as i was paying //some// attention to the previous related discussions.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59214/new/

https://reviews.llvm.org/D59214





More information about the cfe-commits mailing list