Home | History | Annotate | Line # | Download | only in lint1
op_shl_lp64.c revision 1.3
      1  1.3  rillig /*	$NetBSD: op_shl_lp64.c,v 1.3 2021/08/21 11:50:57 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.1  rillig 
     16  1.1  rillig const __uint128_t zero105 =
     17  1.1  rillig     (((__uint128_t)1) << 105)
     18  1.1  rillig     - (((__uint128_t)1) << 41)
     19  1.1  rillig     - (((__uint128_t)1) << 9);
     20  1.2  rillig 
     21  1.2  rillig const __uint128_t shl_128_129 =
     22  1.2  rillig     /* expect+1: warning: shift equal to size of object [267] */
     23  1.2  rillig     (((__uint128_t)1) << 128)
     24  1.2  rillig     /* expect+1: warning: shift amount 129 is greater than bit-size 128 of '__uint128_t' [122] */
     25  1.2  rillig     - (((__uint128_t)1) << 129);
     26