Home | History | Annotate | Line # | Download | only in lint1
op_shl_lp64.c revision 1.5
      1  1.5  rillig /*	$NetBSD: op_shl_lp64.c,v 1.5 2023/03/28 14:44:35 rillig Exp $	*/
      2  1.1  rillig # 3 "op_shl_lp64.c"
      3  1.1  rillig 
      4  1.1  rillig /*
      5  1.2  rillig  * Before decl.c 1.215 from 2021-07-31, lint wrongly treated __uint128_t and
      6  1.2  rillig  * __int128_t as being equivalent to a missing type specifier, thereby
      7  1.2  rillig  * defaulting to int.  This led to warnings like:
      8  1.2  rillig  *
      9  1.2  rillig  *	shift amount 105 is greater than bit-size 32 of 'int' [122]
     10  1.2  rillig  *
     11  1.2  rillig  * These warnings had been discovered in ecp_nistp256.c(296).
     12  1.1  rillig  */
     13  1.1  rillig 
     14  1.3  rillig /* lint1-only-if: lp64 */
     15  1.5  rillig /* lint1-extra-flags: -X 351 */
     16  1.1  rillig 
     17  1.1  rillig const __uint128_t zero105 =
     18  1.1  rillig     (((__uint128_t)1) << 105)
     19  1.1  rillig     - (((__uint128_t)1) << 41)
     20  1.1  rillig     - (((__uint128_t)1) << 9);
     21  1.2  rillig 
     22  1.2  rillig const __uint128_t shl_128_129 =
     23  1.4  rillig     /* expect+1: warning: shift amount 128 equals bit-size of '__uint128_t' [267] */
     24  1.2  rillig     (((__uint128_t)1) << 128)
     25  1.2  rillig     /* expect+1: warning: shift amount 129 is greater than bit-size 128 of '__uint128_t' [122] */
     26  1.2  rillig     - (((__uint128_t)1) << 129);
     27