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

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 17 10:44:04 PDT 2020


sammccall added a comment.

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).


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