| // RUN: %clang_cc1 -fopenmp -fsyntax-only -verify %s |
| // RUN: %clang_cc1 -fopenmp -fexceptions -fsyntax-only -verify %s |
| |
| #include "Inputs/cuda.h" |
| |
| __device__ void foo(int) {} // expected-note {{candidate function not viable: call to __device__ function from __host__ function}} |
| // expected-note@-1 {{'foo' declared here}} |
| |
| int main() { |
| #pragma omp parallel |
| for (int i = 0; i < 100; i++) { |
| foo(1); // expected-error {{no matching function for call to 'foo'}} |
| new int; |
| } |
| |
| auto Lambda = []() { |
| #pragma omp parallel |
| for (int i = 0; i < 100; i++) { |
| foo(1); // expected-error {{reference to __device__ function 'foo' in __host__ __device__ function}} |
| new int; |
| } |
| }; |
| Lambda(); // expected-note {{called by 'main'}} |
| } |