зеркало из https://github.com/microsoft/clang-1.git
[driver] Don't try to generate diagnostic information for linker crashes.
rdar://10993648 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152180 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
8b8d9534f1
Коммит
8ba9a6244c
|
@ -49,6 +49,7 @@ public:
|
|||
|
||||
virtual bool hasIntegratedAssembler() const { return false; }
|
||||
virtual bool hasIntegratedCPP() const = 0;
|
||||
virtual bool isLinkJob() const { return false; }
|
||||
|
||||
/// \brief Does this tool have "good" standardized diagnostics, or should the
|
||||
/// driver add an additional "command failed" diagnostic on failures.
|
||||
|
|
|
@ -375,6 +375,10 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
|
|||
void Driver::generateCompilationDiagnostics(Compilation &C,
|
||||
const Command *FailingCommand) {
|
||||
if (C.getArgs().hasArg(options::OPT_fno_crash_diagnostics))
|
||||
return;
|
||||
|
||||
// Don't try to generate diagnostics for link jobs.
|
||||
if (FailingCommand->getCreator().isLinkJob())
|
||||
return;
|
||||
|
||||
Diag(clang::diag::note_drv_command_failed_diag_msg)
|
||||
|
|
|
@ -148,6 +148,7 @@ namespace gcc {
|
|||
"linker (via gcc)", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void RenderExtraToolArgs(const JobAction &JA,
|
||||
ArgStringList &CmdArgs) const;
|
||||
|
@ -179,6 +180,7 @@ namespace hexagon {
|
|||
"hexagon-ld", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void RenderExtraToolArgs(const JobAction &JA,
|
||||
ArgStringList &CmdArgs) const;
|
||||
|
@ -285,6 +287,7 @@ namespace darwin {
|
|||
Link(const ToolChain &TC) : DarwinTool("darwin::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
@ -356,6 +359,7 @@ namespace openbsd {
|
|||
Link(const ToolChain &TC) : Tool("openbsd::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
@ -385,6 +389,7 @@ namespace freebsd {
|
|||
Link(const ToolChain &TC) : Tool("freebsd::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
@ -417,6 +422,7 @@ namespace netbsd {
|
|||
: Tool("netbsd::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
@ -446,6 +452,7 @@ namespace linuxtools {
|
|||
Link(const ToolChain &TC) : Tool("linux::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
@ -474,6 +481,7 @@ namespace minix {
|
|||
Link(const ToolChain &TC) : Tool("minix::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
@ -503,6 +511,7 @@ namespace solaris {
|
|||
Link(const ToolChain &TC) : Tool("solaris::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
@ -532,6 +541,7 @@ namespace auroraux {
|
|||
Link(const ToolChain &TC) : Tool("auroraux::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
@ -561,6 +571,7 @@ namespace dragonfly {
|
|||
Link(const ToolChain &TC) : Tool("dragonfly::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
@ -577,6 +588,7 @@ namespace visualstudio {
|
|||
Link(const ToolChain &TC) : Tool("visualstudio::Link", "linker", TC) {}
|
||||
|
||||
virtual bool hasIntegratedCPP() const { return false; }
|
||||
virtual bool isLinkJob() const { return true; }
|
||||
|
||||
virtual void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
|
|
Загрузка…
Ссылка в новой задаче