summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2011-04-17 21:40:34 +0000
committerAnders Carlsson <andersca@mac.com>2011-04-17 21:40:34 +0000
commit56c4d80a4ed3ed2fd0677561962572b9f2fdcaf4 (patch)
tree98c21bf9efe60bd0411d60eb7560c82b2bd5f1e9
parent514e292b725c1c2583f833152b2c0e550e67f153 (diff)
downloadbcm5719-llvm-56c4d80a4ed3ed2fd0677561962572b9f2fdcaf4.tar.gz
bcm5719-llvm-56c4d80a4ed3ed2fd0677561962572b9f2fdcaf4.zip
Add addBaseSubobjectTypeName which isn't used yet.
llvm-svn: 129671
-rw-r--r--clang/lib/CodeGen/CodeGenTypes.cpp9
-rw-r--r--clang/lib/CodeGen/CodeGenTypes.h5
2 files changed, 14 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenTypes.cpp b/clang/lib/CodeGen/CodeGenTypes.cpp
index 3ec43f2fd99..f802b0738f6 100644
--- a/clang/lib/CodeGen/CodeGenTypes.cpp
+++ b/clang/lib/CodeGen/CodeGenTypes.cpp
@@ -511,6 +511,15 @@ CodeGenTypes::getCGRecordLayout(const RecordDecl *RD) {
return *Layout;
}
+void CodeGenTypes::addBaseSubobjectTypeName(const CXXRecordDecl *RD,
+ const CGRecordLayout &layout) {
+ llvm::StringRef suffix;
+ if (layout.getBaseSubobjectLLVMType() != layout.getLLVMType())
+ suffix = ".base";
+
+ addTagTypeName(RD, layout.getBaseSubobjectLLVMType(), suffix);
+}
+
bool CodeGenTypes::isZeroInitializable(QualType T) {
// No need to check for member pointers when not compiling C++.
if (!Context.getLangOptions().CPlusPlus)
diff --git a/clang/lib/CodeGen/CodeGenTypes.h b/clang/lib/CodeGen/CodeGenTypes.h
index 6dd4d7bada6..a0e1caa6ed7 100644
--- a/clang/lib/CodeGen/CodeGenTypes.h
+++ b/clang/lib/CodeGen/CodeGenTypes.h
@@ -150,6 +150,11 @@ public:
const CGRecordLayout &getCGRecordLayout(const RecordDecl*);
+ /// addBaseSubobjectTypeName - Add a type name for the base subobject of the
+ /// given record layout.
+ void addBaseSubobjectTypeName(const CXXRecordDecl *RD,
+ const CGRecordLayout &layout);
+
/// UpdateCompletedType - When we find the full definition for a TagDecl,
/// replace the 'opaque' type we previously made for it if applicable.
void UpdateCompletedType(const TagDecl *TD);
OpenPOWER on IntegriCloud