mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-23 05:25:50 -04:00

Summary: This patch enables .rgba accessors to ext_vector_type types and adds tests for syntax validation and code generation. 'a' and 'b' can appear either in the point access mode or the numeric access mode (for indices 10 and 11). To disambiguate between the two usages, the accessor type is explicitly passed to relevant methods. Reviewers: rsmith Subscribers: Anastasia, bader, srhines, cfe-commits Differential Revision: http://reviews.llvm.org/D20602 llvm-svn: 276455
12 lines
521 B
Common Lisp
12 lines
521 B
Common Lisp
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL1.1
|
|
// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL2.0
|
|
|
|
typedef float float4 __attribute__((ext_vector_type(4)));
|
|
|
|
void test_ext_vector_accessors(float4 V) {
|
|
V = V.wzyx;
|
|
V = V.abgr; // expected-warning {{vector component name 'a' is an OpenCL version 2.2 feature}}
|
|
V = V.xyzr; // expected-warning {{vector component name 'r' is an OpenCL version 2.2 feature}} \
|
|
// expected-error {{illegal vector component name 'r'}}
|
|
}
|