| // RUN: %clang_cc1 -fsyntax-only -verify %s | |
| #include "cuda.h" | |
| __global__ void g1(int x) {} | |
| template <typename T> void t1(T arg) { | |
| g1<<<arg, arg>>>(1); | |
| } | |
| void h1(int x) {} | |
| int h2(int x) { return 1; } | |
| int main(void) { | |
| g1<<<1, 1>>>(42); | |
| t1(1); | |
| h1<<<1, 1>>>(42); // expected-error {{kernel call to non-global function h1}} | |
| int (*fp)(int) = h2; | |
| fp<<<1, 1>>>(42); // expected-error {{must have void return type}} | |
| } |