]> granicus.if.org Git - clang/commitdiff
Demote the "Debug Info Version" module flag to llvm::Module::Warning
authorAdrian Prantl <aprantl@apple.com>
Mon, 19 May 2014 23:40:06 +0000 (23:40 +0000)
committerAdrian Prantl <aprantl@apple.com>
Mon, 19 May 2014 23:40:06 +0000 (23:40 +0000)
behavior on mismatch. The AutoUpgrader will drop incompatible debug info
any way and also emit a warning diagnostic for it.

rdar://problem/16926122

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

lib/CodeGen/CodeGenModule.cpp
test/CodeGen/debug-info-version.c

index 485beab74034c354aa133b3c6fd0c9d0aa13f333..af257c5466eaa8c868c148b871398942e558a545 100644 (file)
@@ -301,12 +301,10 @@ void CodeGenModule::Release() {
     getModule().addModuleFlag(llvm::Module::Warning, "Dwarf Version",
                               CodeGenOpts.DwarfVersion);
   if (DebugInfo)
-    // We support a single version in the linked module: error out when
-    // modules do not have the same version. We are going to implement dropping
-    // debug info when the version number is not up-to-date. Once that is
-    // done, the bitcode linker is not going to see modules with different
-    // version numbers.
-    getModule().addModuleFlag(llvm::Module::Error, "Debug Info Version",
+    // We support a single version in the linked module. The LLVM
+    // parser will drop debug info with a different version number
+    // (and warn about it, too).
+    getModule().addModuleFlag(llvm::Module::Warning, "Debug Info Version",
                               llvm::DEBUG_METADATA_VERSION);
 
   SimplifyPersonality();
index 3a74876de59bf7d45a866165153935c3d8cc0652..325345f0b26e087d26b61535d1a5f3cd09ff3d1f 100644 (file)
@@ -4,5 +4,5 @@ int main (void) {
   return 0;
 }
 
-// CHECK: metadata !{i32 1, metadata !"Debug Info Version", i32 1}
+// CHECK: metadata !{i32 2, metadata !"Debug Info Version", i32 1}
 // NO_DEBUG-NOT: metadata !"Debug Info Version"