storageclass-cl20.cl 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL2.0
  2. int G2 = 0;
  3. global int G3 = 0;
  4. local int G4 = 0; // expected-error{{program scope variable must reside in global or constant address space}}
  5. static float g_implicit_static_var = 0;
  6. static constant float g_constant_static_var = 0;
  7. static global float g_global_static_var = 0;
  8. static local float g_local_static_var = 0; // expected-error {{program scope variable must reside in global or constant address space}}
  9. static private float g_private_static_var = 0; // expected-error {{program scope variable must reside in global or constant address space}}
  10. static generic float g_generic_static_var = 0; // expected-error {{program scope variable must reside in global or constant address space}}
  11. extern float g_implicit_extern_var;
  12. extern constant float g_constant_extern_var;
  13. extern global float g_global_extern_var;
  14. extern local float g_local_extern_var; // expected-error {{extern variable must reside in global or constant address space}}
  15. extern private float g_private_extern_var; // expected-error {{extern variable must reside in global or constant address space}}
  16. extern generic float g_generic_extern_var; // expected-error {{extern variable must reside in global or constant address space}}
  17. void kernel foo() {
  18. constant int L1 = 0;
  19. local int L2;
  20. global int L3; // expected-error{{function scope variable cannot be declared in global address space}}
  21. generic int L4; // expected-error{{automatic variable qualified with an invalid address space}}
  22. __attribute__((address_space(100))) int L5; // expected-error{{automatic variable qualified with an invalid address space}}
  23. static float l_implicit_static_var = 0;
  24. static constant float l_constant_static_var = 0;
  25. static global float l_global_static_var = 0;
  26. static local float l_local_static_var = 0; // expected-error {{static local variable must reside in global or constant address space}}
  27. static private float l_private_static_var = 0; // expected-error {{static local variable must reside in global or constant address space}}
  28. static generic float l_generic_static_var = 0; // expected-error {{static local variable must reside in global or constant address space}}
  29. extern float l_implicit_extern_var;
  30. extern constant float l_constant_extern_var;
  31. extern global float l_global_extern_var;
  32. extern local float l_local_extern_var; // expected-error {{extern variable must reside in global or constant address space}}
  33. extern private float l_private_extern_var; // expected-error {{extern variable must reside in global or constant address space}}
  34. extern generic float l_generic_extern_var; // expected-error {{extern variable must reside in global or constant address space}}
  35. }