diff --git a/clang/lib/Driver/ToolChains/HIP.cpp b/clang/lib/Driver/ToolChains/HIP.cpp --- a/clang/lib/Driver/ToolChains/HIP.cpp +++ b/clang/lib/Driver/ToolChains/HIP.cpp @@ -386,8 +386,10 @@ const OptTable &Opts = getDriver().getOpts(); - for (Arg *A : Args) { - DAL->append(A); + if (DeviceOffloadKind != Action::OFK_OpenMP) { + for (Arg *A : Args) { + DAL->append(A); + } } if (!BoundArch.empty()) { diff --git a/clang/test/Driver/hip-openmp-arguments.c b/clang/test/Driver/hip-openmp-arguments.c new file mode 100644 --- /dev/null +++ b/clang/test/Driver/hip-openmp-arguments.c @@ -0,0 +1,13 @@ +// REQUIRES: clang-driver +// REQUIRES: x86-registered-target +// REQUIRES: amdgpu-registered-target + +// RUN: %clang -### -target x86_64-pc-linux-gnu -fopenmp \ +// RUN: -fopenmp-targets=amdgcn-amd-amdhsa -nogpulib \ +// RUN: -mllvm -amdgpu-dump-hsa-metadata \ +// RUN: %s 2>&1 | FileCheck %s + +// CHECK: [[CLANG:".*clang.*"]] "-cc1" "-triple" "amdgcn-amd-amdhsa" +// CHECK-SAME: "-aux-triple" "x86_64-pc-linux-gnu" "-emit-obj" +// CHECK-SAME: {{.*}} "-fopenmp" +// CHECK-SAME: {{.*}} "-mllvm" "-amdgpu-dump-hsa-metadata" "-fopenmp-is-device" {{.*}}