1 // REQUIRES: clang-driver 2 // 3 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O1 --no-cuda-noopt-device-debug 2>&1 | \ 4 // RUN: FileCheck %s -check-prefix DEBUG_DIRECTIVES 5 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O3 2>&1 | \ 6 // RUN: FileCheck %s -check-prefix DEBUG_DIRECTIVES 7 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O3 --no-cuda-noopt-device-debug 2>&1 | \ 8 // RUN: FileCheck %s -check-prefix DEBUG_DIRECTIVES 9 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g0 2>&1 | \ 10 // RUN: FileCheck %s -check-prefix NO_DEBUG 11 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb0 -O3 --cuda-noopt-device-debug 2>&1 | \ 12 // RUN: FileCheck %s -check-prefix NO_DEBUG 13 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -gline-directives-only -O2 --cuda-noopt-device-debug 2>&1 | \ 14 // RUN: FileCheck %s -check-prefix DEBUG_DIRECTIVES 15 16 // NO_DEBUG-NOT: warning: debug 17 // DEBUG_DIRECTIVES-NOT: warning: debug 18 // NO_DEBUG: "-fcuda-is-device" 19 // NO_DEBUG-NOT: "-debug-info-kind= 20 // NO_DEBUG: ptxas 21 // NO_DEBUG-NOT: "-g" 22 // DEBUG_DIRECTIVES: "-fcuda-is-device" 23 // DEBUG_DIRECTIVES-SAME: "-debug-info-kind=line-directives-only" 24 // DEBUG_DIRECTIVES: ptxas 25 // DEBUG_DIRECTIVES-SAME: "-lineinfo" 26 // NO_DEBUG: fatbinary 27 // NO_DEBUG-NOT: "-g" 28 29 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g 2>&1 | \ 30 // RUN: FileCheck %s -check-prefix HAS_DEBUG 31 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O0 --cuda-noopt-device-debug 2>&1 | \ 32 // RUN: FileCheck %s -check-prefix HAS_DEBUG 33 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O0 --no-cuda-noopt-device-debug 2>&1 | \ 34 // RUN: FileCheck %s -check-prefix HAS_DEBUG 35 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g -O3 --cuda-noopt-device-debug 2>&1 | \ 36 // RUN: FileCheck %s -check-prefix HAS_DEBUG 37 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g2 2>&1 | \ 38 // RUN: FileCheck %s -check-prefix HAS_DEBUG 39 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb2 -O0 2>&1 | \ 40 // RUN: FileCheck %s -check-prefix HAS_DEBUG 41 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -g3 -O2 --cuda-noopt-device-debug 2>&1 | \ 42 // RUN: FileCheck %s -check-prefix HAS_DEBUG 43 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb3 -O3 --cuda-noopt-device-debug 2>&1 | \ 44 // RUN: FileCheck %s -check-prefix HAS_DEBUG 45 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -ggdb1 2>&1 | \ 46 // RUN: FileCheck %s -check-prefix HAS_DEBUG 47 // RUN: %clang -### -target x86_64-linux-gnu -c --cuda-gpu-arch=sm_20 %s -gline-tables-only -O2 --cuda-noopt-device-debug 2>&1 | \ 48 // RUN: FileCheck %s -check-prefix HAS_DEBUG 49 50 // HAS_DEBUG-NOT: warning: debug 51 // HAS_DEBUG: "-fcuda-is-device" 52 // HAS_DEBUG-SAME: "-debug-info-kind={{limited|line-tables-only}}" 53 // HAS_DEBUG-SAME: "-dwarf-version=2" 54 // HAS_DEBUG: ptxas 55 // HAS_DEBUG-SAME: "-g" 56 // HAS_DEBUG-SAME: "--dont-merge-basicblocks" 57 // HAS_DEBUG-SAME: "--return-at-end" 58 // HAS_DEBUG: fatbinary 59 // HAS_DEBUG-SAME: "-g" 60 61