aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGExprConstant.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-08-23 01:25:01 +0000
committerAnders Carlsson <andersca@mac.com>2009-08-23 01:25:01 +0000
commitfc3eaa47fa2ef70ab21131005c328adda3020737 (patch)
tree777338d19e91e829f91ac7bcad654dab0647c2a1 /lib/CodeGen/CGExprConstant.cpp
parent341bdf8d565f5282779a0ffd2d2b77f3a38b735e (diff)
More work towards zero-initializing structs that contain member pointers in constant expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79805 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGExprConstant.cpp')
-rw-r--r--lib/CodeGen/CGExprConstant.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/CodeGen/CGExprConstant.cpp b/lib/CodeGen/CGExprConstant.cpp
index b3e0fef1ba..2770527eba 100644
--- a/lib/CodeGen/CGExprConstant.cpp
+++ b/lib/CodeGen/CGExprConstant.cpp
@@ -800,6 +800,14 @@ llvm::Constant *CodeGenModule::EmitNullConstant(QualType T) {
return llvm::ConstantArray::get(ATy, Array);
}
}
+
+ if (const RecordType *RT = T->getAs<RecordType>()) {
+ const CGRecordLayout *Layout = Types.getCGRecordLayout(RT->getDecl());
+ if (Layout->containsMemberPointer()) {
+ assert(0 && "FIXME: No support for structs with member pointers yet!");
+ }
+
+ }
// FIXME: Handle structs that contain member pointers.
if (T->isMemberPointerType())