From 43e6f8c08b908fd622f881e5f90e3d9316e79138 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 22 Apr 2009 06:58:56 +0000 Subject: [PATCH] implement debug info support for id and interface llvm-svn: 69784 --- clang/lib/CodeGen/CGDebugInfo.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index ae8214e24aba..84e92f81a7f5 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/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);