// RUN: %clang_cc1 -emit-pch -o %t %s // RUN: %clang_cc1 -include-pch %t -fsyntax-only %s // RUN: %clang_cc1 -emit-pch -fcuda-is-device -o %t-device %s // RUN: %clang_cc1 -fcuda-is-device -include-pch %t-device -fsyntax-only %s #ifndef HEADER #define HEADER // Header. #include "Inputs/cuda.h" void kcall(void (*kp)()) { kp<<<1, 1>>>(); } __global__ void kern() { } // Make sure that target overloaded functions remain // available as overloads after PCH deserialization. __host__ int overloaded_func(); __device__ int overloaded_func(); #else // Using the header. void test() { kcall(kern); kern<<<1, 1>>>(); overloaded_func(); } __device__ void test () { overloaded_func(); } #endif