bjope created this revision. bjope added reviewers: yaxunl, tra, zhuhan0. bjope requested review of this revision. Herald added a project: clang.
The checks (both positive and negative checks) in the test case hip-include-path.hip could mistakenly end up matching the string "clang" from the InstalledDir in case the build dir for example was named "/home/username/build-clang/". Intention with this patch is to tighten up the checks a bit to filter our the part of the paths that match with InstalledDir when doing the checks, as well as matching "/lib/clang/" rather than just "clang/". Problem was found when building with -DCLANG_DEFAULT_RTLIB=compiler-rt -DCLANG_DEFAULT_CXX_STDLIB=libc++ and having "clang/" in the path to the build dir. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D102723 Files: clang/test/Driver/hip-include-path.hip Index: clang/test/Driver/hip-include-path.hip =================================================================== --- clang/test/Driver/hip-include-path.hip +++ clang/test/Driver/hip-include-path.hip @@ -16,36 +16,40 @@ // RUN: -std=c++11 --rocm-path=%S/Inputs/rocm -nogpuinc -nogpulib %s 2>&1 \ // RUN: | FileCheck -check-prefixes=COMMON,CLANG,NOHIP %s +// COMMON: InstalledDir: [[ROOT:[^"]*]]/bin + // COMMON-LABEL: "{{[^"]*}}clang{{[^"]*}}" "-cc1" -// CLANG-SAME: "-internal-isystem" "{{.*}}clang/{{.*}}/include/cuda_wrappers" -// NOCLANG-NOT: "{{.*}}clang/{{.*}}/include/cuda_wrappers" +// CLANG-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" +// NOCLANG-NOT: "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" // HIP-SAME: "-internal-isystem" "{{.*}}Inputs/rocm/include" // NOHIP-NOT: "{{.*}}Inputs/rocm/include" // HIP-SAME: "-include" "__clang_hip_runtime_wrapper.h" // NOHIP-NOT: "-include" "__clang_hip_runtime_wrapper.h" // skip check of standard C++ include path -// CLANG-SAME: "-internal-isystem" "{{.*}}clang/{{.*}}/include" -// NOCLANG-NOT: "{{.*}}clang/{{.*}}/include" +// CLANG-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include" +// NOCLANG-NOT: "[[ROOT]]/lib/clang/{{.*}}/include" // COMMON-LABEL: "{{[^"]*}}clang{{[^"]*}}" "-cc1" -// CLANG-SAME: "-internal-isystem" "{{.*}}clang/{{.*}}/include/cuda_wrappers" -// NOCLANG-NOT: "{{.*}}clang/{{.*}}/include/cuda_wrappers" +// CLANG-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" +// NOCLANG-NOT: "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" // HIP-SAME: "-internal-isystem" "{{.*}}Inputs/rocm/include" // NOHIP-NOT: "{{.*}}Inputs/rocm/include" // HIP-SAME: "-include" "__clang_hip_runtime_wrapper.h" // NOHIP-NOT: "-include" "__clang_hip_runtime_wrapper.h" // skip check of standard C++ include path -// CLANG-SAME: "-internal-isystem" "{{.*}}clang/{{.*}}/include" -// NOCLANG-NOT: "{{.*}}clang/{{.*}}/include" +// CLANG-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include" +// NOCLANG-NOT: "[[ROOT]]/lib/clang/{{.*}}/include" // RUN: %clang -c -### -target x86_64-unknown-linux-gnu --cuda-gpu-arch=gfx900 \ // RUN: -std=c++11 --rocm-path=%S/Inputs/rocm -nogpulib %s 2>&1 \ // RUN: --hip-version=3.5 | FileCheck -check-prefixes=ROCM35 %s +// ROCM35: InstalledDir: [[ROOT:[^"]*]]/bin + // ROCM35-LABEL: "{{[^"]*}}clang{{[^"]*}}" "-cc1" -// ROCM35-NOT: "{{.*}}clang/{{.*}}/include/cuda_wrappers" -// ROCM35-SAME: "-internal-isystem" "{{[^"]*}}clang/{{[^"]*}}" +// ROCM35-NOT: "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" +// ROCM35-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{[^"]*}}" // ROCM35-SAME: "-internal-isystem" "{{[^"]*}}Inputs/rocm/include" // ROCM35-NOT: "-include" "__clang_hip_runtime_wrapper.h" // skip check of standard C++ include path -// ROCM35-SAME: "-internal-isystem" "{{[^"]*}}clang/{{[^"]*}}/include" +// ROCM35-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include"
Index: clang/test/Driver/hip-include-path.hip =================================================================== --- clang/test/Driver/hip-include-path.hip +++ clang/test/Driver/hip-include-path.hip @@ -16,36 +16,40 @@ // RUN: -std=c++11 --rocm-path=%S/Inputs/rocm -nogpuinc -nogpulib %s 2>&1 \ // RUN: | FileCheck -check-prefixes=COMMON,CLANG,NOHIP %s +// COMMON: InstalledDir: [[ROOT:[^"]*]]/bin + // COMMON-LABEL: "{{[^"]*}}clang{{[^"]*}}" "-cc1" -// CLANG-SAME: "-internal-isystem" "{{.*}}clang/{{.*}}/include/cuda_wrappers" -// NOCLANG-NOT: "{{.*}}clang/{{.*}}/include/cuda_wrappers" +// CLANG-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" +// NOCLANG-NOT: "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" // HIP-SAME: "-internal-isystem" "{{.*}}Inputs/rocm/include" // NOHIP-NOT: "{{.*}}Inputs/rocm/include" // HIP-SAME: "-include" "__clang_hip_runtime_wrapper.h" // NOHIP-NOT: "-include" "__clang_hip_runtime_wrapper.h" // skip check of standard C++ include path -// CLANG-SAME: "-internal-isystem" "{{.*}}clang/{{.*}}/include" -// NOCLANG-NOT: "{{.*}}clang/{{.*}}/include" +// CLANG-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include" +// NOCLANG-NOT: "[[ROOT]]/lib/clang/{{.*}}/include" // COMMON-LABEL: "{{[^"]*}}clang{{[^"]*}}" "-cc1" -// CLANG-SAME: "-internal-isystem" "{{.*}}clang/{{.*}}/include/cuda_wrappers" -// NOCLANG-NOT: "{{.*}}clang/{{.*}}/include/cuda_wrappers" +// CLANG-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" +// NOCLANG-NOT: "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" // HIP-SAME: "-internal-isystem" "{{.*}}Inputs/rocm/include" // NOHIP-NOT: "{{.*}}Inputs/rocm/include" // HIP-SAME: "-include" "__clang_hip_runtime_wrapper.h" // NOHIP-NOT: "-include" "__clang_hip_runtime_wrapper.h" // skip check of standard C++ include path -// CLANG-SAME: "-internal-isystem" "{{.*}}clang/{{.*}}/include" -// NOCLANG-NOT: "{{.*}}clang/{{.*}}/include" +// CLANG-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include" +// NOCLANG-NOT: "[[ROOT]]/lib/clang/{{.*}}/include" // RUN: %clang -c -### -target x86_64-unknown-linux-gnu --cuda-gpu-arch=gfx900 \ // RUN: -std=c++11 --rocm-path=%S/Inputs/rocm -nogpulib %s 2>&1 \ // RUN: --hip-version=3.5 | FileCheck -check-prefixes=ROCM35 %s +// ROCM35: InstalledDir: [[ROOT:[^"]*]]/bin + // ROCM35-LABEL: "{{[^"]*}}clang{{[^"]*}}" "-cc1" -// ROCM35-NOT: "{{.*}}clang/{{.*}}/include/cuda_wrappers" -// ROCM35-SAME: "-internal-isystem" "{{[^"]*}}clang/{{[^"]*}}" +// ROCM35-NOT: "[[ROOT]]/lib/clang/{{.*}}/include/cuda_wrappers" +// ROCM35-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{[^"]*}}" // ROCM35-SAME: "-internal-isystem" "{{[^"]*}}Inputs/rocm/include" // ROCM35-NOT: "-include" "__clang_hip_runtime_wrapper.h" // skip check of standard C++ include path -// ROCM35-SAME: "-internal-isystem" "{{[^"]*}}clang/{{[^"]*}}/include" +// ROCM35-SAME: "-internal-isystem" "[[ROOT]]/lib/clang/{{.*}}/include"
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits