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