|  | // RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL2.0 | 
|  |  | 
|  | int G2 = 0; | 
|  | global int G3 = 0; | 
|  | local int G4 = 0;              // expected-error{{program scope variable must reside in global or constant address space}} | 
|  |  | 
|  | static float g_implicit_static_var = 0; | 
|  | static constant float g_constant_static_var = 0; | 
|  | static global float g_global_static_var = 0; | 
|  | static local float g_local_static_var = 0;     // expected-error {{program scope variable must reside in global or constant address space}} | 
|  | static private float g_private_static_var = 0; // expected-error {{program scope variable must reside in global or constant address space}} | 
|  | static generic float g_generic_static_var = 0; // expected-error {{program scope variable must reside in global or constant address space}} | 
|  |  | 
|  | extern float g_implicit_extern_var; | 
|  | extern constant float g_constant_extern_var; | 
|  | extern global float g_global_extern_var; | 
|  | extern local float g_local_extern_var;     // expected-error {{extern variable must reside in global or constant address space}} | 
|  | extern private float g_private_extern_var; // expected-error {{extern variable must reside in global or constant address space}} | 
|  | extern generic float g_generic_extern_var; // expected-error {{extern variable must reside in global or constant address space}} | 
|  |  | 
|  | void kernel foo() { | 
|  | constant int L1 = 0; | 
|  | local int L2; | 
|  | global int L3;                              // expected-error{{function scope variable cannot be declared in global address space}} | 
|  | generic int L4;                             // expected-error{{automatic variable qualified with an invalid address space}} | 
|  | __attribute__((address_space(100))) int L5; // expected-error{{automatic variable qualified with an invalid address space}} | 
|  |  | 
|  | static float l_implicit_static_var = 0; | 
|  | static constant float l_constant_static_var = 0; | 
|  | static global float l_global_static_var = 0; | 
|  | static local float l_local_static_var = 0;     // expected-error {{static local variable must reside in global or constant address space}} | 
|  | static private float l_private_static_var = 0; // expected-error {{static local variable must reside in global or constant address space}} | 
|  | static generic float l_generic_static_var = 0; // expected-error {{static local variable must reside in global or constant address space}} | 
|  |  | 
|  | extern float l_implicit_extern_var; | 
|  | extern constant float l_constant_extern_var; | 
|  | extern global float l_global_extern_var; | 
|  | extern local float l_local_extern_var;     // expected-error {{extern variable must reside in global or constant address space}} | 
|  | extern private float l_private_extern_var; // expected-error {{extern variable must reside in global or constant address space}} | 
|  | extern generic float l_generic_extern_var; // expected-error {{extern variable must reside in global or constant address space}} | 
|  | } |