Author: Joseph Huber Date: 2022-04-27T09:58:55-04:00 New Revision: 0a4a43cf138b929b5280dbe4fcf5f219ca18ae43
URL: https://github.com/llvm/llvm-project/commit/0a4a43cf138b929b5280dbe4fcf5f219ca18ae43 DIFF: https://github.com/llvm/llvm-project/commit/0a4a43cf138b929b5280dbe4fcf5f219ca18ae43.diff LOG: [OpenMP] Properly handle the `-f/-fno` veraints for the new driver Summary: We provide the `-f(no-)openmp-new-driver` option to allow users to use the old or new driver. Previously this wasn't handled in the expected way and only `-fno-openmp-new-driver` was checked. This patch fixes that by using the `hasFlag` method as is standard. Added: Modified: clang/lib/Driver/Driver.cpp clang/lib/Driver/ToolChains/Clang.cpp Removed: ################################################################################ diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 2bb6680cf596..487e2e1e0b3f 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -3984,7 +3984,8 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args, bool UseNewOffloadingDriver = C.isOffloadingHostKind(Action::OFK_OpenMP) && - !Args.hasArg(options::OPT_fno_openmp_new_driver); + Args.hasFlag(options::OPT_fopenmp_new_driver, + options::OPT_fno_openmp_new_driver, true); for (auto &I : Inputs) { types::ID InputType = I.first; diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 6e4eadd3ab0e..01380f9e1985 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -4675,7 +4675,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (IsUsingLTO) { // Only AMDGPU supports device-side LTO. if (IsDeviceOffloadAction && - Args.hasArg(options::OPT_fno_openmp_new_driver) && + !Args.hasFlag(options::OPT_fopenmp_new_driver, + options::OPT_fno_openmp_new_driver, true) && !Triple.isAMDGPU()) { D.Diag(diag::err_drv_unsupported_opt_for_target) << Args.getLastArg(options::OPT_foffload_lto, _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits