Clang Project

clang_source_code/test/Driver/cuda-unused-arg-warning.cu
1// Tests that we trigger unused-arg warnings on CUDA flags appropriately.
2
3// REQUIRES: clang-driver
4// REQUIRES: x86-registered-target
5// REQUIRES: nvptx-registered-target
6
7// --cuda-host-only and --cuda-compile-host-device should never trigger an
8// unused arg warning.
9// RUN: %clang -### -target x86_64-linux-gnu --cuda-host-only -c %s 2>&1 | \
10// RUN:    FileCheck %s
11// RUN: %clang -### -target x86_64-linux-gnu --cuda-host-only -x c -c %s 2>&1 | \
12// RUN:    FileCheck %s
13// RUN: %clang -### -target x86_64-linux-gnu --cuda-compile-host-device -c %s 2>&1 | \
14// RUN:    FileCheck %s
15// RUN: %clang -### -target x86_64-linux-gnu --cuda-compile-host-device -x c -c %s 2>&1 | \
16// RUN:    FileCheck %s
17
18// --cuda-device-only should warn during non-CUDA compilation.
19// RUN: %clang -### -target x86_64-linux-gnu --cuda-device-only -x c -c %s 2>&1 | \
20// RUN:    FileCheck -check-prefix UNUSED-WARNING %s
21
22// --cuda-device-only should not produce warning compiling CUDA files
23// RUN: %clang -### -target x86_64-linux-gnu --cuda-device-only -c %s 2>&1 | \
24// RUN:    FileCheck -check-prefix NO-UNUSED-WARNING %s
25
26// CHECK-NOT: warning: argument unused during compilation: '--cuda-host-only'
27// CHECK-NOT: warning: argument unused during compilation: '--cuda-compile-host-device'
28// UNUSED-WARNING: warning: argument unused during compilation: '--cuda-device-only'
29// NO-UNUSED-WARNING-NOT: warning: argument unused during compilation: '--cuda-device-only'
30