1f08c3bdfSopenharmony_ci// requires constant integer expressions
2f08c3bdfSopenharmony_cistatic int bar[] = {
3f08c3bdfSopenharmony_ci	[__builtin_bswap16(0x1234)] = 0,		// OK
4f08c3bdfSopenharmony_ci	[__builtin_bswap32(0x1234)] = 0,		// OK
5f08c3bdfSopenharmony_ci	[__builtin_bswap64(0x1234)] = 0,		// OK
6f08c3bdfSopenharmony_ci};
7f08c3bdfSopenharmony_ci
8f08c3bdfSopenharmony_ci// requires constant integers
9f08c3bdfSopenharmony_cistatic int foo(unsigned long long a)
10f08c3bdfSopenharmony_ci{
11f08c3bdfSopenharmony_ci	switch (a) {
12f08c3bdfSopenharmony_ci	case __builtin_bswap16(1   <<  8):
13f08c3bdfSopenharmony_ci	case __builtin_bswap32(2L  << 24):
14f08c3bdfSopenharmony_ci	case __builtin_bswap64(3LL << 56):
15f08c3bdfSopenharmony_ci		return 0;
16f08c3bdfSopenharmony_ci	default:
17f08c3bdfSopenharmony_ci		return 1;
18f08c3bdfSopenharmony_ci	}
19f08c3bdfSopenharmony_ci}
20f08c3bdfSopenharmony_ci
21f08c3bdfSopenharmony_ci/*
22f08c3bdfSopenharmony_ci * check-name: constness of pure/const builtins
23f08c3bdfSopenharmony_ci */
24