aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 451792d..c036902 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -414,6 +414,11 @@ CodeGenModule::CodeGenModule(ASTContext &C,
CodeGenOpts.CoverageNotesFile.size() ||
CodeGenOpts.CoverageDataFile.size())
DebugInfo.reset(new CGDebugInfo(*this));
+ else if (getTriple().isOSWindows())
+ // On Windows targets, we want to emit compiler info even if debug info is
+ // otherwise disabled. Use a temporary CGDebugInfo instance to emit only
+ // basic compiler metadata.
+ CGDebugInfo(*this);
Block.GlobalUniqueCount = 0;
@@ -1051,7 +1056,7 @@ void CodeGenModule::Release() {
"StrictVTablePointersRequirement",
llvm::MDNode::get(VMContext, Ops));
}
- if (getModuleDebugInfo())
+ if (getModuleDebugInfo() || getTriple().isOSWindows())
// 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).