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