[PATCH] D115187: [clangd] Expose CoawaitExpr's operand in the AST

Nathan Ridge via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 9 01:56:31 PDT 2022


nridge added a comment.

I think the issue is related to this loop <https://searchfox.org/llvm/rev/d5d498f9baae218c56dc3a3582ef0083f795f088/clang/lib/Sema/SemaChecking.cpp#14088> in `AnalyzeImplicitConversions()`, which iterates over `Expr::children()`, and adds each child to a list of expressions to be checked for implicit conversions.

`CoroutineSuspendExpr` now has the operand as an extra child, and an implicit conversion in the operand gets diagnosed both when processing the operand, and the common-expr.

I'm guessing this will need an explicit carve-out in `AnalyzeImplicitConversions`. There is already some special handling of other expressions types there, including at least one <https://searchfox.org/llvm/rev/d5d498f9baae218c56dc3a3582ef0083f795f088/clang/lib/Sema/SemaChecking.cpp#13997> whose purpose is to avoid duplicate diagnostics.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D115187



More information about the cfe-commits mailing list