Factor out fuzzing disablement in the driver (#5048)

We end up needing to do this in any driver subcommand that reaches into
external code that may not be fully fuzz-clean. No need to grow multiple
different diagnostics for each, we can use a common diagnostic.
This commit is contained in:
Chandler Carruth
2025-03-03 16:14:06 +00:00
committed by GitHub
parent 87b9cab7b1
commit 437d3b9af6
8 changed files with 44 additions and 14 deletions
+29
View File
@@ -0,0 +1,29 @@
// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#include "toolchain/driver/driver_subcommand.h"
#include "llvm/TargetParser/Host.h"
#include "llvm/TargetParser/Triple.h"
#include "toolchain/driver/lld_runner.h"
namespace Carbon {
auto DriverSubcommand::DisableFuzzingExternalLibraries(DriverEnv& driver_env,
llvm::StringRef name)
-> bool {
// Only need to do anything when fuzzing.
if (!driver_env.fuzzing) {
return true;
}
CARBON_DIAGNOSTIC(
ToolFuzzingDisallowed, Error,
"preventing fuzzing of `{0}` subcommand due to external library",
std::string);
driver_env.emitter.Emit(ToolFuzzingDisallowed, name.str());
return false;
}
} // namespace Carbon