Lines Matching defs:_BitInt

5   _BitInt(Bounds) b;
6 unsigned _BitInt(Bounds) b2;
10 _BitInt(33) Declarations(_BitInt(48) &Param) { // Useable in params and returns.
11 short _BitInt(43) a; // expected-error {{'short _BitInt' is invalid}}
12 _BitInt(43) long b; // expected-error {{'long _BitInt' is invalid}}
15 const _BitInt(5) c = 3;
16 const unsigned _BitInt(5) d; // expected-error {{default initialization of an object of const type 'const unsigned _BitInt(5)'}}
17 unsigned _BitInt(5) e = 5;
18 _BitInt(5) unsigned f;
20 _BitInt(-3) g; // expected-error{{signed _BitInt of bit sizes greater than 128 not supported}}
21 _BitInt(0) h; // expected-error{{signed _BitInt must have a bit size of at least 2}}
22 _BitInt(1) i; // expected-error{{signed _BitInt must have a bit size of at least 2}}
23 _BitInt(2) j;;
24 unsigned _BitInt(0) k;// expected-error{{unsigned _BitInt must have a bit size of at least 1}}
25 unsigned _BitInt(1) l;
26 signed _BitInt(1) m; // expected-error{{signed _BitInt must have a bit size of at least 2}}
28 constexpr _BitInt(6) n = 33; // expected-warning{{implicit conversion from 'int' to 'const _BitInt(6)' changes value from 33 to -31}}
29 constexpr _BitInt(7) o = 33;
32 _BitInt(129) p; // expected-error {{signed _BitInt of bit sizes greater than 128 not supported}}
33 unsigned _BitInt(0xFFFFFFFFFF) q; // expected-error {{unsigned _BitInt of bit sizes greater than 128 not supported}}
36 // expected-error@5{{signed _BitInt of bit sizes greater than 128 not supported}}
37 // expected-error@6{{unsigned _BitInt of bit sizes greater than 128 not supported}}
40 // expected-error@5{{signed _BitInt must have a bit size of at least 2}}
41 // expected-error@6{{unsigned _BitInt must have a bit size of at least 1}}
44 // expected-error@5{{signed _BitInt must have a bit size of at least 2}}
49 _BitInt(-3.0) v; // expected-error {{integral constant expression must have integral or unscoped enumeration type, not 'double'}}
50 _BitInt(3.0) x; // expected-error {{integral constant expression must have integral or unscoped enumeration type, not 'double'}}
55 template <_BitInt(5) I>
57 static constexpr _BitInt(5) Var = I;
63 void deduced_bound(_BitInt(I)){}
68 constexpr _BitInt(3) b = 1;
70 constexpr _BitInt(9) d = 1;
87 // expected-error@+1{{'_BitInt' vector element width must be at least as wide as 'CHAR_BIT'}}
88 typedef _BitInt(2) __attribute__((vector_size(16))) VecTy;
89 // expected-error@+1{{'_BitInt' vector element width must be at least as wide as 'CHAR_BIT'}}
90 typedef _BitInt(2) __attribute__((ext_vector_type(32))) OtherVecTy;
91 // expected-error@+1{{'_BitInt' vector element width must be at least as wide as 'CHAR_BIT'}}
92 typedef _BitInt(4) __attribute__((vector_size(16))) VecTy2;
93 // expected-error@+1{{'_BitInt' vector element width must be at least as wide as 'CHAR_BIT'}}
94 typedef _BitInt(4) __attribute__((ext_vector_type(32))) OtherVecTy2;
95 // expected-error@+1{{'_BitInt' vector element width must be at least as wide as 'CHAR_BIT'}}
96 typedef _BitInt(5) __attribute__((vector_size(16))) VecTy3;
97 // expected-error@+1{{'_BitInt' vector element width must be at least as wide as 'CHAR_BIT'}}
98 typedef _BitInt(5) __attribute__((ext_vector_type(32))) OtherVecTy3;
99 // expected-error@+1{{'_BitInt' vector element width must be a power of 2}}
100 typedef _BitInt(37) __attribute__((vector_size(16))) VecTy4;
101 // expected-error@+1{{'_BitInt' vector element width must be a power of 2}}
102 typedef _BitInt(37) __attribute__((ext_vector_type(32))) OtherVecTy4;
104 // expected-error@+1{{'_Complex _BitInt' is invalid}}
105 _Complex _BitInt(3) Cmplx;
106 // expected-error@+1{{'_Complex _BitInt' is invalid}}
107 typedef _Complex _BitInt(3) Cmp;
110 // expected-error@+1{{_Atomic cannot be applied to integer type '_BitInt(4)'}}
111 _Atomic _BitInt(4) TooSmallAtomic;
112 // expected-error@+1{{_Atomic cannot be applied to integer type '_BitInt(9)'}}
113 _Atomic _BitInt(9) NotPow2Atomic;
114 // expected-error@+1{{_Atomic cannot be applied to integer type '_BitInt(128)'}}
115 _Atomic _BitInt(128) JustRightAtomic;
119 _BitInt(43) x43_s = 1, y43_s = 1;
120 _BitInt(sizeof(int) * 8) x32_s = 1, y32_s = 1;
121 unsigned _BitInt(sizeof(unsigned) * 8) x32_u = 1, y32_u = 1;
122 _BitInt(4) x4_s = 1, y4_s = 1;
123 unsigned _BitInt(43) x43_u = 1, y43_u = 1;
124 unsigned _BitInt(4) x4_u = 1, y4_u = 1;
154 static_assert(is_same<decltype(x43_s + x_int), _BitInt(43)>::value, "");
155 static_assert(is_same<decltype(x43_u + x_int), unsigned _BitInt(43)>::value, "");
176 x4_s > 33; // expected-warning {{result of comparison of constant 33 with expression of type '_BitInt(4)' is always false}}
179 static_assert(is_same<decltype(x43_s + y43_s), _BitInt(43)>::value,"");
180 static_assert(is_same<decltype(x4_s - y4_s), _BitInt(4)>::value,"");
181 static_assert(is_same<decltype(x43_u * y43_u), unsigned _BitInt(43)>::value,"");
182 static_assert(is_same<decltype(x4_u / y4_u), unsigned _BitInt(4)>::value,"");
185 static_assert(is_same<decltype(~x43_s), _BitInt(43)>::value,"");
186 static_assert(is_same<decltype(~x4_s), _BitInt(4)>::value,"");
187 static_assert(is_same<decltype(+x43_s), _BitInt(43)>::value,"");
188 static_assert(is_same<decltype(+x4_s), _BitInt(4)>::value,"");
189 static_assert(is_same<decltype(-x43_u), unsigned _BitInt(43)>::value,"");
190 static_assert(is_same<decltype(-x4_u), unsigned _BitInt(4)>::value,"");
192 static_assert(is_same<decltype(++x43_s), _BitInt(43)&>::value,"");
194 static_assert(is_same<decltype(--x4_s), _BitInt(4)&>::value,"");
196 static_assert(is_same<decltype(x43_s--), _BitInt(43)>::value,"");
198 static_assert(is_same<decltype(x4_s++), _BitInt(4)>::value,"");
199 static_assert(is_same<decltype(x4_s >> 1), _BitInt(4)>::value,"");
200 static_assert(is_same<decltype(x4_u << 1), unsigned _BitInt(4)>::value,"");
212 _BitInt(func()) F;
213 static_assert(is_same<decltype(F), _BitInt(42)>::value, "");
217 enum AsEnumUnderlyingType : _BitInt(33) { // expected-error{{'_BitInt(33)' is an invalid underlying type}}
221 void overloaded(_BitInt(32));
222 void overloaded(_BitInt(33));
225 void overloaded2(_BitInt(32));
227 void overloaded2(_BitInt(33));
233 _BitInt(32) i32;
234 _BitInt(33) i33;
252 _BitInt(3) F : 3;
253 _BitInt(3) G : 3;
254 _BitInt(3) H : 3;
258 _BitInt(4) A : 8; // expected-warning {{width of bit-field 'A' (8 bits) exceeds the width of its type; value will be truncated to 4 bits}}
262 typedef _BitInt(33) IllegalMode __attribute__((mode(DI)));
264 void ImplicitCasts(_BitInt(31) s31, _BitInt(33) s33, int i) {
276 void Ternary(_BitInt(30) s30, _BitInt(31) s31a, _BitInt(31) s31b,
277 _BitInt(32) s32, bool b) {
284 static_assert(is_same<decltype(b ? s30 : s31a), _BitInt(31)>::value, "");
285 static_assert(is_same<decltype(b ? s32 : s30), _BitInt(32)>::value, "");
291 _BitInt(2) a2 = 1;
292 _BitInt(3) a3 = 2;
293 _BitInt(33) a33 = 1;
296 static_assert(is_same<decltype(a2 * a3), _BitInt(3)>::value, "");
298 static_assert(is_same<decltype(a33 * c), _BitInt(33)>::value, "");
301 void FromPaper2(_BitInt(8) a1, _BitInt(24) a2) {
302 static_assert(is_same<decltype(a1 * (_BitInt(32))a2), _BitInt(32)>::value, "");