]> granicus.if.org Git - clang/commitdiff
Add FIXME about not using MemberExpr nodes when the base type is a dependent type.
authorAnders Carlsson <andersca@mac.com>
Sun, 17 May 2009 16:28:18 +0000 (16:28 +0000)
committerAnders Carlsson <andersca@mac.com>
Sun, 17 May 2009 16:28:18 +0000 (16:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71979 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaExpr.cpp

index 744b020986019c25fc49c5d1bc2237641712816b..e5ee363825aa66c4389ad78648a41e6be0fdb78e 100644 (file)
@@ -2023,6 +2023,8 @@ Sema::ActOnMemberReferenceExpr(Scope *S, ExprArg Base, SourceLocation OpLoc,
   // 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 @@ Sema::ActOnMemberReferenceExpr(Scope *S, ExprArg Base, SourceLocation OpLoc,
 
       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));
     }