]> granicus.if.org Git - clang/commitdiff
encode the version of the objc runtime into the dwarf compile unit. rdar://6848435,
authorChris Lattner <sabre@nondot.org>
Sat, 2 May 2009 01:00:04 +0000 (01:00 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 2 May 2009 01:00:04 +0000 (01:00 +0000)
several other fixes coming.

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

lib/CodeGen/CGDebugInfo.cpp

index c8d3d634d3fd3cd45484a793e6d3b90c15c57889..6f3ecdbc06fb902a10625c927d42a24cd7272935 100644 (file)
@@ -103,13 +103,20 @@ llvm::DICompileUnit CGDebugInfo::getOrCreateCompileUnit(SourceLocation Loc) {
     LangTag = llvm::dwarf::DW_LANG_C89;
   }
 
+  std::string Producer = "clang";// FIXME: clang version.
+  bool isOptimized = false; // FIXME: Encode optimization level.
+  const char *Flags = "";   // FIXME: Encode command line options.
+
+  // Figure out which version of the ObjC runtime we have.
+  unsigned RuntimeVers = 0;
+  if (LO.ObjC1)
+    RuntimeVers = LO.ObjCNonFragileABI ? 2 : 1;
+  
   // Create new compile unit.
-  // FIXME: Do not know how to get clang version yet.
-  // FIXME: Encode command line options.
-  // FIXME: Encode optimization level.
   return Unit = DebugFactory.CreateCompileUnit(LangTag, AbsFileName.getLast(),
                                                AbsFileName.getDirname(), 
-                                               "clang", isMain);
+                                               Producer, isMain, isOptimized,
+                                               Flags, RuntimeVers);
 }
 
 /// CreateType - Get the Basic type from the cache or create a new