aaron.ballman added inline comments.
================ Comment at: clang/lib/Sema/SemaExpr.cpp:10546-10548 + if (PointeeTy->isDependentType()) { + return true; + } ---------------- ================ Comment at: clang/lib/Sema/SemaExpr.cpp:13824 SourceLocation OpLoc) { - if (Op->isTypeDependent()) + if (Op->isTypeDependent() && !Op->getType()->isPointerType()) return S.Context.DependentTy; ---------------- One thing that makes me a bit uncomfortable is that the logic for these used to be far more understandable when it was just checking for a dependent type. Now we need to sprinkle "and not a pointer type" in places, but it's not particularly clear as to why for a naïve reader of the code. I wonder if we want some sort of type predicate `isDeferrablyDependentType()` or something along those lines, or whether that's not really plausible? Basically, I'm hoping to find a way that, as a code reviewer, I can more easily spot places where `isTypeDependent()` should really be caring about type dependent pointers as a special case. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112453/new/ https://reviews.llvm.org/D112453 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits