[PATCH] D70849: [AST] Traverse the class type loc inside the member pointer type loc.
Haojian Wu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 6 04:38:48 PST 2019
hokein marked an inline comment as done.
hokein added inline comments.
================
Comment at: clang/include/clang/AST/RecursiveASTVisitor.h:1169
DEF_TRAVERSE_TYPELOC(MemberPointerType, {
- TRY_TO(TraverseType(QualType(TL.getTypePtr()->getClass(), 0)));
+ if (auto *TSI = TL.getClassTInfo())
+ TRY_TO(TraverseTypeLoc(TSI->getTypeLoc()));
----------------
saugustine wrote:
> ilya-biryukov wrote:
> > Can this actually happen in practice?
> > Did we try doing **only** `TRY_TO(TraverseTypeLoc(TSI->getTypeLoc()))` and seeing whether this fails?
> >
> > The code in `MemberPointerTypeLoc` suggests this can happen, but would be interesting to find examples when it happens.
> This can happen when traversing a TypeNodeLoc, and the assertion will fail. I'm reverting this change for now.
> This can happen when traversing a TypeNodeLoc, and the assertion will fail. I'm reverting this change for now.
Thanks for reverting it, could you share more details? would be nice if you could point us an example that triggers the assertion, I believe it was found when you did the llvm buildcop.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70849/new/
https://reviews.llvm.org/D70849
More information about the cfe-commits
mailing list