llvm-project/clang/test/SemaOpenCL/bool-vectors.cl
George Burgess IV a2f29fa694 [Sema] Make extended vectors of bool an error.
In OpenCL, `bool` vectors are a reserved type, and are therefore
illegal.

Outside of OpenCL, if we try to make an extended vector of N `bool`s,
Clang will lower it to an `[N x i1]`. LLVM has no ABI for bitvectors, so
lots of operations on such vectors are thoroughly broken. As a result,
this patch makes them illegal in everything else, as well. :)

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

llvm-svn: 259011
2016-01-28 01:38:18 +00:00

4 lines
169 B
Common Lisp

// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only
typedef __attribute__((ext_vector_type(16))) _Bool bool8; // expected-error{{invalid vector element type 'bool'}}