[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Driver / cuda-detect-path.cu
blob8d249bd4c96d5ffe99821f09bdaedfcd9506e9f6
1 // This tests uses the PATH environment variable.
2 // REQUIRES: !system-windows
4 // RUN: env PATH=%S/Inputs/CUDA/usr/local/cuda/bin \
5 // RUN:    %clang -v --target=i386-unknown-linux --sysroot=%S/no-cuda-there \
6 // RUN:    2>&1 | FileCheck %s
7 // RUN: env PATH=%S/Inputs/CUDA/usr/local/cuda/bin \
8 // RUN:    %clang -v --target=i386-apple-macosx --sysroot=%S/no-cuda-there \
9 // RUN:    2>&1 | FileCheck %s
10 // RUN: env PATH=%S/Inputs/CUDA/usr/local/cuda/bin \
11 // RUN:    %clang -v --target=x86_64-unknown-linux --sysroot=%S/no-cuda-there \
12 // RUN:    2>&1 | FileCheck %s
13 // RUN: env PATH=%S/Inputs/CUDA/usr/local/cuda/bin \
14 // RUN:    %clang -v --target=x86_64-apple-macosx --sysroot=%S/no-cuda-there \
15 // RUN:    2>&1 | FileCheck %s
18 // Check that we follow ptxas binaries that are symlinks.
19 // RUN: env PATH=%S/Inputs/CUDA-symlinks/usr/bin \
20 // RUN:    %clang -v --target=i386-unknown-linux --sysroot=%S/no-cuda-there \
21 // RUN:    2>&1 | FileCheck %s --check-prefix SYMLINKS
22 // RUN: env PATH=%S/Inputs/CUDA-symlinks/usr/bin \
23 // RUN:    %clang -v --target=i386-apple-macosx --sysroot=%S/no-cuda-there \
24 // RUN:    2>&1 | FileCheck %s --check-prefix SYMLINKS
25 // RUN: env PATH=%S/Inputs/CUDA-symlinks/usr/bin \
26 // RUN:    %clang -v --target=x86_64-unknown-linux --sysroot=%S/no-cuda-there \
27 // RUN:    2>&1 | FileCheck %s --check-prefix SYMLINKS
28 // RUN: env PATH=%S/Inputs/CUDA-symlinks/usr/bin \
29 // RUN:    %clang -v --target=x86_64-apple-macosx --sysroot=%S/no-cuda-there \
30 // RUN:    2>&1 | FileCheck %s --check-prefix SYMLINKS
33 // We only take a CUDA installation from PATH if it contains libdevice.
34 // RUN: env PATH=%S/Inputs/CUDA-nolibdevice/usr/local/cuda/bin \
35 // RUN:    %clang -v --target=i386-unknown-linux --sysroot=%S/no-cuda-there \
36 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
37 // RUN: env PATH=%S/Inputs/CUDA-nolibdevice/usr/local/cuda/bin \
38 // RUN:    %clang -v --target=i386-apple-macosx --sysroot=%S/no-cuda-there \
39 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
40 // RUN: env PATH=%S/Inputs/CUDA-nolibdevice/usr/local/cuda/bin \
41 // RUN:    %clang -v --target=x86_64-unknown-linux --sysroot=%S/no-cuda-there \
42 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
43 // RUN: env PATH=%S/Inputs/CUDA-nolibdevice/usr/local/cuda/bin \
44 // RUN:    %clang -v --target=x86_64-apple-macosx --sysroot=%S/no-cuda-there \
45 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
47 // We even require libdevice if -nocudalib is passed to avoid false positives
48 // if the distribution merges CUDA into /usr and ptxas ends up /usr/bin.
49 // RUN: env PATH=%S/Inputs/CUDA-nolibdevice/usr/local/cuda/bin \
50 // RUN:    %clang -v --target=i386-unknown-linux --sysroot=%S/no-cuda-there -nocudalib \
51 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
52 // RUN: env PATH=%S/Inputs/CUDA-nolibdevice/usr/local/cuda/bin \
53 // RUN:    %clang -v --target=i386-apple-macosx --sysroot=%S/no-cuda-there -nocudalib \
54 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
55 // RUN: env PATH=%S/Inputs/CUDA-nolibdevice/usr/local/cuda/bin \
56 // RUN:    %clang -v --target=x86_64-unknown-linux --sysroot=%S/no-cuda-there -nocudalib \
57 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
58 // RUN: env PATH=%S/Inputs/CUDA-nolibdevice/usr/local/cuda/bin \
59 // RUN:    %clang -v --target=x86_64-apple-macosx --sysroot=%S/no-cuda-there -nocudalib \
60 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
63 // Check that the CUDA installation in PATH is not taken when passing
64 // the option --cuda-path-ignore-env.
65 // RUN: env PATH=%S/Inputs/CUDA/usr/local/cuda/bin \
66 // RUN:    %clang -v --target=i386-unknown-linux --sysroot=%S/no-cuda-there --cuda-path-ignore-env \
67 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
68 // RUN: env PATH=%S/Inputs/CUDA/usr/local/cuda/bin \
69 // RUN:    %clang -v --target=i386-apple-macosx --sysroot=%S/no-cuda-there --cuda-path-ignore-env \
70 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
71 // RUN: env PATH=%S/Inputs/CUDA/usr/local/cuda/bin \
72 // RUN:    %clang -v --target=x86_64-unknown-linux --sysroot=%S/no-cuda-there --cuda-path-ignore-env \
73 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
74 // RUN: env PATH=%S/Inputs/CUDA/usr/local/cuda/bin \
75 // RUN:    %clang -v --target=x86_64-apple-macosx --sysroot=%S/no-cuda-there --cuda-path-ignore-env \
76 // RUN:    2>&1 | FileCheck %s --check-prefix NOCUDA
78 // CHECK: Found CUDA installation: {{.*}}/Inputs/CUDA/usr/local/cuda
79 // SYMLINKS: Found CUDA installation: {{.*}}/Inputs/CUDA-symlinks/opt/cuda
80 // NOCUDA-NOT: Found CUDA installation: