blob: 581701d2a6a545abd092e671802de80cb563a14f [file] [log] [blame]
Anastasia Stulova782d5f42016-03-03 18:38:40 +00001// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL2.0
Anastasia Stulovabd3c08e2015-10-21 10:37:57 +00002
Anastasia Stulova784fb782015-11-23 11:14:44 +00003int G2 = 0;
Anastasia Stulovabd3c08e2015-10-21 10:37:57 +00004global int G3 = 0;
Anastasia Stulova782d5f42016-03-03 18:38:40 +00005local int G4 = 0; // expected-error{{program scope variable must reside in global or constant address space}}
Anastasia Stulovabd3c08e2015-10-21 10:37:57 +00006
Yaxun Liub7318e02017-10-13 03:37:48 +00007static float g_implicit_static_var = 0;
8static constant float g_constant_static_var = 0;
9static global float g_global_static_var = 0;
10static local float g_local_static_var = 0; // expected-error {{program scope variable must reside in global or constant address space}}
11static private float g_private_static_var = 0; // expected-error {{program scope variable must reside in global or constant address space}}
12static generic float g_generic_static_var = 0; // expected-error {{program scope variable must reside in global or constant address space}}
Anastasia Stulovabd3c08e2015-10-21 10:37:57 +000013
Yaxun Liub7318e02017-10-13 03:37:48 +000014extern float g_implicit_extern_var;
15extern constant float g_constant_extern_var;
16extern global float g_global_extern_var;
17extern local float g_local_extern_var; // expected-error {{extern variable must reside in global or constant address space}}
18extern private float g_private_extern_var; // expected-error {{extern variable must reside in global or constant address space}}
19extern generic float g_generic_extern_var; // expected-error {{extern variable must reside in global or constant address space}}
20
21void kernel foo() {
Anastasia Stulovabd3c08e2015-10-21 10:37:57 +000022 constant int L1 = 0;
23 local int L2;
Yaxun Liu6d96f1632017-05-18 18:51:09 +000024 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}}
Anastasia Stulova782d5f42016-03-03 18:38:40 +000027
Yaxun Liub7318e02017-10-13 03:37:48 +000028 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}}
Anastasia Stulovabd3c08e2015-10-21 10:37:57 +000041}