summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-11-23 17:57:54 +0000
committerAnders Carlsson <andersca@mac.com>2009-11-23 17:57:54 +0000
commit8c793172c2bcec9610b07b0bc4fcb12e8a4d1e89 (patch)
treea56c91830b766edc66c8370df1570250dab98b92 /clang/lib/CodeGen/CodeGenFunction.h
parentd976d3e552c53421226e760d5dcfab0f47c241d7 (diff)
downloadbcm5719-llvm-8c793172c2bcec9610b07b0bc4fcb12e8a4d1e89.tar.gz
bcm5719-llvm-8c793172c2bcec9610b07b0bc4fcb12e8a4d1e89.zip
Handle base-to-derived casts. Will land test case shortly.
llvm-svn: 89678
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 0be527c8d46..6d0d81ecfc9 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -598,15 +598,20 @@ public:
/// generating code for an C++ member function.
llvm::Value *LoadCXXThis();
- /// GetAddressCXXOfBaseClass - This function will add the necessary delta
+ /// GetAddressOfBaseClass - This function will add the necessary delta
/// to the load of 'this' and returns address of the base class.
// FIXME. This currently only does a derived to non-virtual base conversion.
// Other kinds of conversions will come later.
- llvm::Value *GetAddressCXXOfBaseClass(llvm::Value *BaseValue,
+ llvm::Value *GetAddressOfBaseClass(llvm::Value *Value,
+ const CXXRecordDecl *ClassDecl,
+ const CXXRecordDecl *BaseClassDecl,
+ bool NullCheckValue);
+
+ llvm::Value *GetAddressOfDerivedClass(llvm::Value *Value,
const CXXRecordDecl *ClassDecl,
- const CXXRecordDecl *BaseClassDecl,
+ const CXXRecordDecl *DerivedClassDecl,
bool NullCheckValue);
-
+
llvm::Value *
GetVirtualCXXBaseClassOffset(llvm::Value *This,
const CXXRecordDecl *ClassDecl,
OpenPOWER on IntegriCloud