diff options
author | David Chisnall <csdavec@swan.ac.uk> | 2009-11-16 19:05:54 +0000 |
---|---|---|
committer | David Chisnall <csdavec@swan.ac.uk> | 2009-11-16 19:05:54 +0000 |
commit | 1804463ee790ac3cc73f72597ccb38b983f7d263 (patch) | |
tree | 28b616eb9d96add00bf88b4e030f7381522fecbe /lib/CodeGen/CGObjCGNU.cpp | |
parent | 63e963cdffca9530f920dbab58b9b4eecb2a582c (diff) |
Fixed two minor differences between clang and GCC-generated runtime structures for the GNU runtime.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88937 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjCGNU.cpp')
-rw-r--r-- | lib/CodeGen/CGObjCGNU.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/CodeGen/CGObjCGNU.cpp b/lib/CodeGen/CGObjCGNU.cpp index f348bfffcb..a71cd83930 100644 --- a/lib/CodeGen/CGObjCGNU.cpp +++ b/lib/CodeGen/CGObjCGNU.cpp @@ -608,6 +608,8 @@ llvm::Constant *CGObjCGNU::GenerateIvarList( const llvm::SmallVectorImpl<llvm::Constant *> &IvarNames, const llvm::SmallVectorImpl<llvm::Constant *> &IvarTypes, const llvm::SmallVectorImpl<llvm::Constant *> &IvarOffsets) { + if (IvarNames.size() == 0) + return NULLPtr; // Get the method structure type. llvm::StructType *ObjCIvarTy = llvm::StructType::get(VMContext, PtrToInt8Ty, @@ -1301,7 +1303,7 @@ void CGObjCGNU::GenerateClass(const ObjCImplementationDecl *OID) { } //Generate metaclass for class methods llvm::Constant *MetaClassStruct = GenerateClassStructure(NULLPtr, - NULLPtr, 0x12L, /*name*/"", 0, Zeros[0], GenerateIvarList( + NULLPtr, 0x12L, ClassName.c_str(), 0, Zeros[0], GenerateIvarList( empty, empty, empty), ClassMethodList, NULLPtr, NULLPtr, NULLPtr); // Generate the class structure |