Add FIXME about not using MemberExpr nodes when the base type is a dependent type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71979 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index 744b020..e5ee363 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -2023,6 +2023,8 @@
// must have pointer type, and the accessed type is the pointee.
if (OpKind == tok::arrow) {
if (BaseType->isDependentType())
+ // FIXME: This should not return a MemberExpr AST node, but a more
+ // specialized one.
return Owned(new (Context) MemberExpr(BaseExpr, true, 0,
MemberLoc, Context.DependentTy));
else if (const PointerType *PT = BaseType->getAsPointerType())
@@ -2048,6 +2050,8 @@
if (!PT || (getLangOptions().ObjC1 &&
!PT->getPointeeType()->isRecordType()))
+ // FIXME: This should not return a MemberExpr AST node, but a more
+ // specialized one.
return Owned(new (Context) MemberExpr(BaseExpr, false, 0,
MemberLoc, Context.DependentTy));
}