From: Fariborz Jahanian Date: Fri, 20 Mar 2009 20:48:19 +0000 (+0000) Subject: Fix a crash during meta-data generation of objc2's nonfragile abi. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ebf9ed3193e3e2f32141781bd517369a58dbab61;p=clang Fix a crash during meta-data generation of objc2's nonfragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67402 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp index d3661e65db..e14a58af4c 100644 --- a/lib/CodeGen/CGObjCMac.cpp +++ b/lib/CodeGen/CGObjCMac.cpp @@ -4193,7 +4193,10 @@ void CGObjCNonFragileABIMac::GenerateClass(const ObjCImplementationDecl *ID) { ID->getClassInterface()->getSuperClass()->getNameAsString(); SuperClassGV = GetClassGlobal(ObjCClassName + RootClassName); } - + // FIXME: Gross + ObjCInterfaceDecl *Interface = + const_cast(ID->getClassInterface()); + CGM.getTypes().ConvertType(CGM.getContext().buildObjCInterfaceType(Interface)); InstanceStart = InstanceSize = 0; if (ObjCInterfaceDecl *OID = const_cast(ID->getClassInterface())) { diff --git a/test/CodeGenObjC/forward-class-impl-metadata.m b/test/CodeGenObjC/forward-class-impl-metadata.m new file mode 100644 index 0000000000..c502aa4e74 --- /dev/null +++ b/test/CodeGenObjC/forward-class-impl-metadata.m @@ -0,0 +1,24 @@ +// RUN: clang -triple x86_64-unknown-unknown -emit-llvm -o %t %s + +@interface BASE { +@private + void* _reserved; +} +@end + +@class PVR; + +@interface PVRHandldler +{ + PVR *_imageBrowser; +} +@end + +@implementation PVRHandldler @end + + +@interface PVR : BASE +@end + +@implementation PVR +@end