From: Chris Lattner Date: Wed, 22 Apr 2009 06:58:56 +0000 (+0000) Subject: implement debug info support for id and interface X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aa2b5799d2dc2c02f71a19cf846f8fd22ccbf5ef;p=clang implement debug info support for id and interface git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69784 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index ae8214e24a..84e92f81a7 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -575,8 +575,6 @@ llvm::DIType CGDebugInfo::getOrCreateType(QualType Ty, case Type::Vector: case Type::ExtVector: case Type::ExtQual: - case Type::ObjCQualifiedInterface: - case Type::ObjCQualifiedId: case Type::FixedWidthInt: case Type::BlockPointer: case Type::MemberPointer: @@ -584,16 +582,18 @@ llvm::DIType CGDebugInfo::getOrCreateType(QualType Ty, case Type::QualifiedName: // Unsupported types return llvm::DIType(); - + case Type::ObjCQualifiedId: // Encode id

in debug info just like id. + return Slot = getOrCreateType(M->getContext().getObjCIdType(), Unit); + + case Type::ObjCQualifiedInterface: // Drop protocols from interface. case Type::ObjCInterface: - Slot = CreateType(cast(Ty), Unit); break; - case Type::Builtin: Slot = CreateType(cast(Ty), Unit); break; - case Type::Pointer: Slot = CreateType(cast(Ty), Unit); break; - case Type::Typedef: Slot = CreateType(cast(Ty), Unit); break; + return Slot = CreateType(cast(Ty), Unit); + case Type::Builtin: return Slot = CreateType(cast(Ty), Unit); + case Type::Pointer: return Slot = CreateType(cast(Ty), Unit); + case Type::Typedef: return Slot = CreateType(cast(Ty), Unit); case Type::Record: case Type::Enum: - Slot = CreateType(cast(Ty), Unit); - break; + return Slot = CreateType(cast(Ty), Unit); case Type::FunctionProto: case Type::FunctionNoProto: return Slot = CreateType(cast(Ty), Unit);