11.3Srillig/* $NetBSD: gcc_builtin_overflow.c,v 1.3 2023/07/07 19:45:22 rillig Exp $ */ 21.1Srillig# 3 "gcc_builtin_overflow.c" 31.1Srillig 41.1Srillig/* 51.1Srillig * Some GCC builtin functions return bool, and in lint's strict bool mode, 61.1Srillig * that makes a difference. 71.1Srillig * 81.1Srillig * https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html 91.1Srillig */ 101.1Srillig 111.3Srillig/* lint1-extra-flags: -T -X 351 */ 121.1Srillig 131.1Srilligvoid 141.1Srilligis_overflow(void) 151.1Srillig{ 161.1Srillig int sum; 171.1Srillig 181.1Srillig if (__builtin_add_overflow(1, 2, &sum)) 191.1Srillig return; 201.1Srillig 211.2Srillig if (__builtin_add_overflow_p(1, 2, 12345)) 221.2Srillig return; 231.2Srillig 241.1Srillig /* expect+1: error: controlling expression must be bool, not 'int' [333] */ 251.2Srillig if (__builtin_other(1, 2, 12345)) 261.1Srillig return; 271.1Srillig} 28