[PATCH] D70849: [AST] Traverse the class type loc inside the member pointer type loc.
Sterling Augustine via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 5 16:23:38 PST 2019
saugustine 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()));
----------------
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.
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