| typedef unsigned short __be16; |
| typedef unsigned short __u16; |
| typedef unsigned short u16; |
| #define __force |
| |
| #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x)) |
| /* the test behaves as though it's always on a little-endian machine */ |
| #define __cpu_to_be16(x) ((__force __be16)__swab16((x))) |
| #define ___htons(x) __cpu_to_be16(x) |
| #define htons(x) ___htons(x) |
| |
| #define ETH_P_IPV6 0x86DD |
| |
| static u16 protocol; |
| |
| static void test(void) |
| { |
| switch (protocol) { |
| case htons(ETH_P_IPV6): |
| break; |
| } |
| } |
| |
| /* |
| * check-name: constant folding in bswap builtins |
| * check-error-start |
| * check-error-end |
| */ |