diff --git a/toolchain/driver/clang_subcommand.cpp b/toolchain/driver/clang_subcommand.cpp index 6911cc75f33f..4a1a49d7feea 100644 --- a/toolchain/driver/clang_subcommand.cpp +++ b/toolchain/driver/clang_subcommand.cpp @@ -52,7 +52,7 @@ auto ClangSubcommand::Run(DriverEnv& driver_env) -> DriverResult { // Don't run Clang when fuzzing, it is known to not be reliable under fuzzing // due to many unfixed issues. - if (!DisableFuzzingExternalLibraries(driver_env, "clang")) { + if (TestAndDiagnoseIfFuzzingExternalLibraries(driver_env, "clang")) { return {.success = false}; } diff --git a/toolchain/driver/compile_subcommand.cpp b/toolchain/driver/compile_subcommand.cpp index 2b78c37ea83d..572efa8d4ec6 100644 --- a/toolchain/driver/compile_subcommand.cpp +++ b/toolchain/driver/compile_subcommand.cpp @@ -923,7 +923,7 @@ auto CompileSubcommand::Run(DriverEnv& driver_env) -> DriverResult { if (driver_env.fuzzing && !options_.clang_args.empty()) { // Parsing specific Clang arguments can reach deep into // external libraries that aren't fuzz clean. - DisableFuzzingExternalLibraries(driver_env, "compile"); + TestAndDiagnoseIfFuzzingExternalLibraries(driver_env, "compile"); return {.success = false}; } for (auto str : options_.clang_args) { diff --git a/toolchain/driver/driver_subcommand.cpp b/toolchain/driver/driver_subcommand.cpp index a1edf2a9970f..9678f470f018 100644 --- a/toolchain/driver/driver_subcommand.cpp +++ b/toolchain/driver/driver_subcommand.cpp @@ -10,12 +10,11 @@ namespace Carbon { -auto DriverSubcommand::DisableFuzzingExternalLibraries(DriverEnv& driver_env, - llvm::StringRef name) - -> bool { +auto DriverSubcommand::TestAndDiagnoseIfFuzzingExternalLibraries( + DriverEnv& driver_env, llvm::StringRef name) -> bool { // Only need to do anything when fuzzing. if (!driver_env.fuzzing) { - return true; + return false; } CARBON_DIAGNOSTIC( @@ -23,7 +22,7 @@ auto DriverSubcommand::DisableFuzzingExternalLibraries(DriverEnv& driver_env, "preventing fuzzing of `{0}` subcommand due to external library", std::string); driver_env.emitter.Emit(ToolFuzzingDisallowed, name.str()); - return false; + return true; } } // namespace Carbon diff --git a/toolchain/driver/driver_subcommand.h b/toolchain/driver/driver_subcommand.h index dff386fa620a..3aa5c54515d0 100644 --- a/toolchain/driver/driver_subcommand.h +++ b/toolchain/driver/driver_subcommand.h @@ -61,13 +61,13 @@ class DriverSubcommand { virtual auto Run(DriverEnv& driver_env) -> DriverResult = 0; protected: - // Diagnoses and returns false if currently fuzzing. + // Tests if fuzzing and if so diagnose and returns true. // - // This should be used in subcommands to check and diagnose rather than + // This should be used in subcommands to diagnose and exit early rather than // entering them during fuzzing when they use external libraries that we can't // keep fuzz-clean. - auto DisableFuzzingExternalLibraries(DriverEnv& driver_env, - llvm::StringRef name) -> bool; + auto TestAndDiagnoseIfFuzzingExternalLibraries(DriverEnv& driver_env, + llvm::StringRef name) -> bool; private: // Subcommand information. diff --git a/toolchain/driver/lld_subcommand.cpp b/toolchain/driver/lld_subcommand.cpp index 00d9f8419b3d..768d9cf5616d 100644 --- a/toolchain/driver/lld_subcommand.cpp +++ b/toolchain/driver/lld_subcommand.cpp @@ -95,7 +95,7 @@ auto LldSubcommand::Run(DriverEnv& driver_env) -> DriverResult { // Don't run LLD when fuzzing, as we're not currently in a good position to // debug and fix fuzzer-found bugs within LLD. - if (!DisableFuzzingExternalLibraries(driver_env, "lld")) { + if (TestAndDiagnoseIfFuzzingExternalLibraries(driver_env, "lld")) { return {.success = false}; } diff --git a/toolchain/driver/llvm_subcommand.cpp b/toolchain/driver/llvm_subcommand.cpp index 9f7a7143c0c2..db2551423335 100644 --- a/toolchain/driver/llvm_subcommand.cpp +++ b/toolchain/driver/llvm_subcommand.cpp @@ -63,7 +63,7 @@ auto LLVMSubcommand::Run(DriverEnv& driver_env) -> DriverResult { LLVMRunner runner(driver_env.installation, driver_env.vlog_stream); // Don't run arbitrary LLVM tools and libraries when fuzzing. - if (!DisableFuzzingExternalLibraries(driver_env, "llvm")) { + if (TestAndDiagnoseIfFuzzingExternalLibraries(driver_env, "llvm")) { return {.success = false}; }