xref: /aosp_15_r20/external/clang/test/Parser/opencl-storage-class.cl (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 %s -verify -fsyntax-only -triple spir-unknown-unknown
2*67e74705SXin Li
3*67e74705SXin Livoid test_storage_class_specs()
4*67e74705SXin Li{
5*67e74705SXin Li  static int a;    // expected-error {{OpenCL version 1.0 does not support the 'static' storage class specifier}}
6*67e74705SXin Li  register int b;  // expected-error {{OpenCL version 1.0 does not support the 'register' storage class specifier}}
7*67e74705SXin Li  extern int c;    // expected-error {{OpenCL version 1.0 does not support the 'extern' storage class specifier}}
8*67e74705SXin Li  auto int d;      // expected-error {{OpenCL version 1.0 does not support the 'auto' storage class specifier}}
9*67e74705SXin Li
10*67e74705SXin Li#pragma OPENCL EXTENSION cl_clang_storage_class_specifiers : enable
11*67e74705SXin Li  static int e; // expected-error {{static local variable must reside in constant address space}}
12*67e74705SXin Li  register int f;
13*67e74705SXin Li  extern int g; // expected-error {{extern variable must reside in constant address space}}
14*67e74705SXin Li  auto int h;
15*67e74705SXin Li}
16