Files
clang-p2996/clang/test/SemaOpenCL/nosvm.cl
Anastasia Stulova c4bb5df4ab [OpenCL] Added nosvm attribute for OpenCL v2.0.
It is not widely used and removed from OpenCL v2.1.

This change modifies Clang to parse the attribute for OpenCL
but ignores it afterwards.

Patch by Liu Yaxun (Sam)!

Differential Revision: http://reviews.llvm.org/D17861

llvm-svn: 265006
2016-03-31 11:07:22 +00:00

18 lines
587 B
Common Lisp

// RUN: %clang_cc1 -verify %s
// RUN: %clang_cc1 -verify -cl-std=CL2.0 -D CL20 %s
// RUN: %clang_cc1 -verify -x c -D NOCL %s
#ifndef NOCL
kernel void f(__attribute__((nosvm)) global int* a);
#ifndef CL20
// expected-error@-2 {{'nosvm' attribute requires OpenCL version 2.0}}
#else
// expected-warning@-4 {{'nosvm' attribute is deprecated and ignored in OpenCL version 2.0}}
#endif
__attribute__((nosvm)) void g(); // expected-warning {{'nosvm' attribute only applies to variables}}
#else
void f(__attribute__((nosvm)) int* a); // expected-warning {{'nosvm' attribute ignored}}
#endif