platform_ilp32.c revision 1.6
1/* $NetBSD: platform_ilp32.c,v 1.6 2024/06/08 06:37:06 rillig Exp $ */ 2# 3 "platform_ilp32.c" 3 4/* 5 * Test features that only apply to platforms that have 32-bit int, long and 6 * pointer types. 7 * 8 * See also: 9 * platform_ilp32_int.c 10 * platform_ilp32_long.c 11 */ 12 13/* lint1-extra-flags: -c -h -a -p -b -r -z -X 351 */ 14/* lint1-only-if: ilp32 */ 15 16void 17switch_s64(long long x) 18{ 19 switch (x) { 20 case 0x222200000001: 21 case 0x333300000001: 22 /* expect+1: error: duplicate case '37529424232449' in switch [199] */ 23 case 0x222200000001: 24 case -0x7fffffffffffffff: 25 /* expect+1: error: duplicate case '-9223372036854775807' in switch [199] */ 26 case -0x7fffffffffffffff: 27 break; 28 } 29} 30 31void 32switch_u64(unsigned long long x) 33{ 34 switch (x) { 35 case 0x222200000001: 36 case 0x333300000001: 37 /* expect+1: error: duplicate case '37529424232449' in switch [200] */ 38 case 0x222200000001: 39 /* expect+1: warning: conversion of negative constant -9223372036854775807 to unsigned type 'unsigned long long' [222] */ 40 case -0x7fffffffffffffff: 41 /* expect+2: warning: conversion of negative constant -9223372036854775807 to unsigned type 'unsigned long long' [222] */ 42 /* expect+1: error: duplicate case '9223372036854775809' in switch [200] */ 43 case -0x7fffffffffffffff: 44 break; 45 } 46} 47