[PATCH] D131696: [clangd] Fix an inlay-hint crash on a broken designator.
Haojian Wu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 12 05:37:14 PDT 2022
hokein added inline comments.
================
Comment at: clang-tools-extra/clangd/InlayHints.cpp:144
});
- if (llvm::isa<ImplicitValueInitExpr>(Init))
+ if (!Init || llvm::isa<ImplicitValueInitExpr>(Init))
continue; // a "hole" for a subobject that was not explicitly initialized
----------------
kadircet wrote:
> nit: can you also update the comment to mention `broken initializer` (and maybe even a fixme to handle these, as in theory this is likely spelled in the code, but wasn't retained in the AST even as a `recoveryexpr`, hence we still have a place to attach the hint)
Done, updated the comment. I'd rather leave out the FIXME (it is unclear that we will address it).
The InitListExpr is tricky, the AST nodes is preserved in the syntactic form for InitListExpr (go-to-definition actually works on the broken initializer `A()` ), but here we're using the *semantic*-form...
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D131696/new/
https://reviews.llvm.org/D131696
More information about the cfe-commits
mailing list