1 // RUN: %clang_cc1 %s %s -std=c++17 -triple x86_64-linux-gnu -fsycl-is-device -verify -fsyntax-only -Wno-unused
2
3 // This would crash due to the double-inputs, since the 'magic static' use in
4 // the AST Context SCYL Filtering would end up caching an old version of the
5 // ASTContext object, which no longer exists in the second file's invocation.
6 //
7 // expected-no-diagnostics
8 class Empty {};
kernel(F)9 template <typename, typename F> __attribute__((sycl_kernel)) void kernel(F) {
10 __builtin_sycl_unique_stable_name(F);
11 }
12
use()13 void use() {
14 [](Empty) {
15 auto lambda = []{};
16 kernel<class i>(lambda);
17 };
18 }
19