1 typedef unsigned short __be16; 2 typedef unsigned short __u16; 3 typedef unsigned short u16; 4 #define __force 5 6 #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x)) 7 /* the test behaves as though it's always on a little-endian machine */ 8 #define __cpu_to_be16(x) ((__force __be16)__swab16((x))) 9 #define ___htons(x) __cpu_to_be16(x) 10 #define htons(x) ___htons(x) 11 12 #define ETH_P_IPV6 0x86DD 13 14 static u16 protocol; 15 16 static void test(void) 17 { 18 switch (protocol) { 19 case htons(ETH_P_IPV6): 20 break; 21 } 22 } 23 24 /* 25 * check-name: constant folding in bswap builtins 26 * check-error-start 27 * check-error-end 28 */ 29