================
@@ -12951,6 +12951,9 @@ def err_builtin_invalid_arg_type: Error<
"%plural{0:|: }3"
"%plural{[0,3]:type|:types}1 (was %4)">;
+def err_bswapg_bitint_not_16bit_aligned : Error<
----------------
AaronBallman wrote:
> I don't think you can pass bit-field types here? You can't form references to
> them, so they should be treated the same as the underlying type, right?
In C:
> 6.7.3.2p12 A bit-field is interpreted as having a signed or unsigned integer
> type consisting of the specified number of bits.
but what I believe will happen is integral promotions will convert the
bit-field to `int` if that can hold all the values of the bit-field (or
`unsigned int` otherwise). But what should happen with code like:
```
struct S {
int i : 48;
} s;
int j = __builtin_bswapg(s.i);
```
https://github.com/llvm/llvm-project/pull/162433
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits