@@ -32,25 +32,31 @@ int main() {
3232 Base *Obj = sycl::malloc_shared<Base>(1 , Q);
3333
3434 Q.single_task <Constructor>([=]() {
35- // Even though at LLVM IR level this kernel does reference 'Base::foo'
36- // and 'Base::bar' through global variable containing `vtable` for `Base`,
37- // we do not consider the kernel to be using `fp64` optional feature.
38- new (Obj) Base;
39- }).wait ();
35+ // Even though at LLVM IR level this kernel does reference 'Base::foo'
36+ // and 'Base::bar' through global variable containing `vtable` for `Base`,
37+ // we do not consider the kernel to be using `fp64` optional feature.
38+ new (Obj) Base;
39+ }).wait ();
4040
41- Q.single_task <Use>(syclext::properties{syclext::assume_indirect_calls}, [=]() {
42- // This kernel is not considered to be using any optional features, because
43- // virtual functions in default set do not use any.
44- Obj->foo ();
45- }).wait ();
41+ Q.single_task <Use>(syclext::properties{syclext::assume_indirect_calls},
42+ [=]() {
43+ // This kernel is not considered to be using any optional
44+ // features, because virtual functions in default set do
45+ // not use any.
46+ Obj->foo ();
47+ })
48+ .wait ();
4649
4750 if (Q.get_device ().has (sycl::aspect::fp64)) {
48- Q.single_task <UseFP64>(syclext::properties{syclext::assume_indirect_calls_to<set_fp64>},
49- [=]() {
50- // This kernel is considered to be using 'fp64' optional feature, because
51- // there is a virtual function in 'set_fp64' which uses double.
52- Obj->bar ();
53- }).wait ();
51+ Q.single_task <UseFP64>(
52+ syclext::properties{syclext::assume_indirect_calls_to<set_fp64>},
53+ [=]() {
54+ // This kernel is considered to be using 'fp64' optional feature,
55+ // because there is a virtual function in 'set_fp64' which uses
56+ // double.
57+ Obj->bar ();
58+ })
59+ .wait ();
5460 }
5561
5662 int nfails = 0 ;
0 commit comments