// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fsycl-is-device -verify %s
// No diagnostics
;
;
;
;
;
;
;
;
;
;
;
// Must have one and only one __init method defined
;
;
;
;
; // expected-error {{types with 'sycl_special_class' attribute must have one and only one '__init' method defined}}
// expected-error@+1{{'sycl_special_class' attribute must have one and only one '__init' method defined}}
;
// Only classes
int var1 = 0; // expected-warning {{'sycl_special_class' attribute only applies to classes}}
int var2 = 0; // expected-warning {{'sycl_special_class' attribute only applies to classes}}
void ; // expected-warning {{'sycl_special_class' attribute only applies to classes}}
void ; // expected-warning {{'sycl_special_class' attribute only applies to classes}}
// Attribute takes no arguments
; // expected-error {{'sycl_special_class' attribute takes no arguments}}
; // expected-error {{'sycl_special_class' attribute takes no arguments}}
// __init method must be defined inside the CXXRecordDecl.
;
void
;
void
;
void
;
void