]> granicus.if.org Git - clang/commitdiff
ObjCId is special "struct objc_object". Make this explicit in debug info.
authorDevang Patel <dpatel@apple.com>
Wed, 21 Jul 2010 22:41:25 +0000 (22:41 +0000)
committerDevang Patel <dpatel@apple.com>
Wed, 21 Jul 2010 22:41:25 +0000 (22:41 +0000)
This is tested by objc-rbreak.exp in gdb testsuite.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109050 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDebugInfo.cpp

index 83eaf76e37d27165a5d77dddfd459b0ff56f6d49..fdc8a35d9d6ec26a26049f2c8172ba500c725b5b 100644 (file)
@@ -242,6 +242,12 @@ llvm::DIType CGDebugInfo::CreateType(const BuiltinType *BT,
   default:
   case BuiltinType::Void:
     return llvm::DIType();
+  case BuiltinType::ObjCId: 
+    // id is struct objc_object *.
+    return DebugFactory.CreateCompositeType(llvm::dwarf::DW_TAG_structure_type,
+                                            Unit, "objc_object", Unit, 0, 0, 0, 0,
+                                            llvm::DIType::FlagFwdDecl, 
+                                            llvm::DIType(), llvm::DIArray());
   case BuiltinType::UChar:
   case BuiltinType::Char_U: Encoding = llvm::dwarf::DW_ATE_unsigned_char; break;
   case BuiltinType::Char_S: