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