Justin Lebar | 2a8db34 | 2016-09-28 22:45:54 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -fcxx-exceptions -fcuda-is-device -fsyntax-only -verify %s |
| 2 | // RUN: %clang_cc1 -fcxx-exceptions -fsyntax-only -verify %s |
| 3 | |
| 4 | #include "Inputs/cuda.h" |
| 5 | |
| 6 | void host() { |
| 7 | throw NULL; |
| 8 | try {} catch(void*) {} |
| 9 | } |
| 10 | __device__ void device() { |
| 11 | throw NULL; |
Justin Lebar | 179bdce | 2016-10-13 18:45:08 +0000 | [diff] [blame^] | 12 | // expected-error@-1 {{cannot use 'throw' in __device__ function}} |
Justin Lebar | 2a8db34 | 2016-09-28 22:45:54 +0000 | [diff] [blame] | 13 | try {} catch(void*) {} |
Justin Lebar | 179bdce | 2016-10-13 18:45:08 +0000 | [diff] [blame^] | 14 | // expected-error@-1 {{cannot use 'try' in __device__ function}} |
Justin Lebar | 2a8db34 | 2016-09-28 22:45:54 +0000 | [diff] [blame] | 15 | } |
| 16 | __global__ void kernel() { |
| 17 | throw NULL; |
Justin Lebar | 179bdce | 2016-10-13 18:45:08 +0000 | [diff] [blame^] | 18 | // expected-error@-1 {{cannot use 'throw' in __global__ function}} |
Justin Lebar | 2a8db34 | 2016-09-28 22:45:54 +0000 | [diff] [blame] | 19 | try {} catch(void*) {} |
Justin Lebar | 179bdce | 2016-10-13 18:45:08 +0000 | [diff] [blame^] | 20 | // expected-error@-1 {{cannot use 'try' in __global__ function}} |
Justin Lebar | 2a8db34 | 2016-09-28 22:45:54 +0000 | [diff] [blame] | 21 | } |