summaryrefslogtreecommitdiffstats
path: root/clang/Driver/RewriteTest.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2008-01-23 20:34:40 +0000
committerFariborz Jahanian <fjahanian@apple.com>2008-01-23 20:34:40 +0000
commit60a901621f79f41a2600711172f038ee1b4076a0 (patch)
treef764a01a300efeb27958db784b14f8a651c29abd /clang/Driver/RewriteTest.cpp
parent0a8d3767a3294c890961b8293dfdf162fe15641e (diff)
downloadbcm5719-llvm-60a901621f79f41a2600711172f038ee1b4076a0.tar.gz
bcm5719-llvm-60a901621f79f41a2600711172f038ee1b4076a0.zip
Fixed a nasty bug which took a while to come up with a test case,
diagnose, and took even longer to fix. It has to do with rewriting of a message receiver which is an 'ivar' reference. Fix, however, is to remove a code which was not doing the right thing and no longer needed. llvm-svn: 46279
Diffstat (limited to 'clang/Driver/RewriteTest.cpp')
-rw-r--r--clang/Driver/RewriteTest.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/Driver/RewriteTest.cpp b/clang/Driver/RewriteTest.cpp
index eca9349fb68..4a67be7f739 100644
--- a/clang/Driver/RewriteTest.cpp
+++ b/clang/Driver/RewriteTest.cpp
@@ -705,6 +705,10 @@ Stmt *RewriteTest::RewriteObjCIvarRefExpr(ObjCIvarRefExpr *IV) {
delete IV;
return Replacement;
} else {
+#if 0
+ /// This code is not right. It seems unnecessary. It breaks use of
+ /// ivar reference used as 'receiver' of an expression; as in:
+ /// [newInv->_container addObject:0];
if (CurMethodDecl) {
if (const PointerType *pType = IV->getBase()->getType()->getAsPointerType()) {
ObjCInterfaceType *intT = dyn_cast<ObjCInterfaceType>(pType->getPointeeType());
@@ -729,6 +733,7 @@ Stmt *RewriteTest::RewriteObjCIvarRefExpr(ObjCIvarRefExpr *IV) {
}
}
}
+#endif
return IV;
}
}
OpenPOWER on IntegriCloud