11.9Srillig/* $NetBSD: lex_integer_ilp32.c,v 1.9 2024/01/28 06:57:41 rillig Exp $ */ 21.1Srillig# 3 "lex_integer_ilp32.c" 31.1Srillig 41.1Srillig/* 51.1Srillig * Tests for lexical analysis of integer constants. 61.1Srillig * 71.1Srillig * C99 6.4.4.1 "Integer constants" 81.1Srillig */ 91.1Srillig 101.3Srillig/* lint1-only-if: ilp32 */ 111.8Srillig/* lint1-extra-flags: -X 351 */ 121.1Srillig 131.1Srilligvoid sinki(int); 141.1Srilligvoid sinku(unsigned int); 151.1Srillig 161.1Srillig/* All platforms supported by lint have 32-bit int in two's complement. */ 171.1Srilligvoid 181.1Srilligtest_signed_int(void) 191.1Srillig{ 201.1Srillig sinki(0); 211.1Srillig 221.1Srillig sinki(-1); 231.1Srillig 241.1Srillig sinki(2147483647); 251.1Srillig 261.9Srillig /* expect+1: warning: conversion of 'long long' to 'int' is out of range, arg #1 [295] */ 271.1Srillig sinki(2147483648); 281.1Srillig 291.1Srillig sinki(-2147483647); 301.1Srillig 311.1Srillig sinki(-2147483648); 321.1Srillig} 331.1Srillig 341.1Srilligvoid 351.1Srilligtest_unsigned_int(void) 361.1Srillig{ 371.1Srillig sinku(0); 381.1Srillig 391.6Srillig sinku(2147483647); 401.6Srillig sinku(2147483648); 411.6Srillig 421.6Srillig sinku(2147483648U); 431.1Srillig sinku(4294967295U); 441.1Srillig 451.9Srillig /* expect+1: warning: conversion of 'unsigned long long' to 'unsigned int' is out of range, arg #1 [295] */ 461.1Srillig sinku(4294967296U); 471.1Srillig} 48