]> granicus.if.org Git - clang/commitdiff
Type-cast initializers for "struct objc_super" parameter to avoid warning.
authorFariborz Jahanian <fjahanian@apple.com>
Tue, 4 Dec 2007 22:32:58 +0000 (22:32 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Tue, 4 Dec 2007 22:32:58 +0000 (22:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44583 91177308-0d34-0410-b5e6-96231b3b80d8

Driver/RewriteTest.cpp

index 0e93d3176d44a77a5a348b0eca46beb1d5cd380b..c197705f50e31541a43c1963e2d3a5872e91fdd3 100644 (file)
@@ -1320,7 +1320,9 @@ Stmt *RewriteTest::RewriteMessageExpr(ObjCMessageExpr *Exp) {
       
       llvm::SmallVector<Expr*, 4> InitExprs;
       
-      InitExprs.push_back(recExpr); // set the 'receiver'.
+      InitExprs.push_back(
+        new CastExpr(Context->getObjcIdType(), 
+                     recExpr, SourceLocation())); // set the 'receiver'.
       
       llvm::SmallVector<Expr*, 8> ClsExprs;
       QualType argType = Context->getPointerType(Context->CharTy);
@@ -1329,8 +1331,12 @@ Stmt *RewriteTest::RewriteMessageExpr(ObjCMessageExpr *Exp) {
                                            false, argType, SourceLocation(),
                                            SourceLocation()));
       CallExpr *Cls = SynthesizeCallToFunctionDecl(GetClassFunctionDecl,
-                                                   &ClsExprs[0], ClsExprs.size());
-      InitExprs.push_back(Cls); // set 'super class', using objc_getClass().
+                                                   &ClsExprs[0], 
+                                                   ClsExprs.size());
+      // To turn off a warning, type-cast to 'Class'
+      InitExprs.push_back(
+        new CastExpr(Context->getObjcClassType(), 
+        Cls, SourceLocation())); // set 'super class', using objc_getClass().
       // struct objc_super
       QualType superType = getSuperStructType();
       // (struct objc_super) { <exprs from above> }