summaryrefslogtreecommitdiffstats
path: root/llvm/tools/gold/gold-plugin.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-12-04 22:08:53 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-12-04 22:08:53 +0000
commitf49a38fc0887baac3a21ecebf8d13b7e416ac2c6 (patch)
tree7dfeace7a0801214395aeac03256f92c28c19dce /llvm/tools/gold/gold-plugin.cpp
parent8213072a453bcb012b31d231dae4f44a589ddd52 (diff)
downloadbcm5719-llvm-f49a38fc0887baac3a21ecebf8d13b7e416ac2c6.tar.gz
bcm5719-llvm-f49a38fc0887baac3a21ecebf8d13b7e416ac2c6.zip
Always pass a diagnostic handler to the linker.
Before this patch the diagnostic handler was optional. If it was not passed, the one in the LLVMContext was used. That is probably not a pattern we want to follow. If each area has an optional callback, there is a sea of callbacks and it is hard to follow which one is called. Doing this also found cases where the callback is a nice addition, like testing that no errors or warnings are reported. The other option is to always use the diagnostic handler in the LLVMContext. That has a few problems * To implement the C API we would have to set the diag handler and then set it back to the original value. * Code that creates the context might be far away from code that wants the diagnostics. I do have a patch that implements the second option and will send that as an RFC. llvm-svn: 254777
Diffstat (limited to 'llvm/tools/gold/gold-plugin.cpp')
-rw-r--r--llvm/tools/gold/gold-plugin.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/tools/gold/gold-plugin.cpp b/llvm/tools/gold/gold-plugin.cpp
index 1bd2f8afb29..8eacdc3ff23 100644
--- a/llvm/tools/gold/gold-plugin.cpp
+++ b/llvm/tools/gold/gold-plugin.cpp
@@ -938,7 +938,7 @@ static ld_plugin_status allSymbolsReadHook(raw_fd_ostream *ApiFile) {
}
std::unique_ptr<Module> Combined(new Module("ld-temp.o", Context));
- Linker L(*Combined);
+ Linker L(*Combined, diagnosticHandler);
std::string DefaultTriple = sys::getDefaultTargetTriple();
OpenPOWER on IntegriCloud