ubsan: *-ibld.c
authorAlan Modra <amodra@gmail.com>
Wed, 2 Sep 2020 01:05:10 +0000 (10:35 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 2 Sep 2020 07:00:44 +0000 (16:30 +0930)
bfin-dis.c:160 shift exponent 32 is too large for 32-bit type 'long unsigned int'
bpf-ibld.c:196 left shift of 1 by 31 places cannot be represented in type 'long int'
bpf-ibld.c:196 negation of -2147483648 cannot be represented in type 'long int'; cast to an unsigned type to negate this
 itself
bpf-ibld.c:197 left shift of 1 by 31 places cannot be represented in type 'long int'
bpf-ibld.c:197 signed integer overflow: -2147483648 - 1 cannot be represented in type 'long int'
bpf-ibld.c:501 left shift of 1 by 31 places cannot be represented in type 'long int'

* cgen-ibld.in (insert_normal, extract_normal): Use 1UL in left shift.
* bpf-ibld.c: Regenerate.
* epiphany-ibld.c: Regenerate.
* fr30-ibld.c: Regenerate.
* frv-ibld.c: Regenerate.
* ip2k-ibld.c: Regenerate.
* iq2000-ibld.c: Regenerate.
* lm32-ibld.c: Regenerate.
* m32c-ibld.c: Regenerate.
* m32r-ibld.c: Regenerate.
* mep-ibld.c: Regenerate.
* mt-ibld.c: Regenerate.
* or1k-ibld.c: Regenerate.
* xc16x-ibld.c: Regenerate.
* xstormy16-ibld.c: Regenerate.

16 files changed:
opcodes/ChangeLog
opcodes/bpf-ibld.c
opcodes/cgen-ibld.in
opcodes/epiphany-ibld.c
opcodes/fr30-ibld.c
opcodes/frv-ibld.c
opcodes/ip2k-ibld.c
opcodes/iq2000-ibld.c
opcodes/lm32-ibld.c
opcodes/m32c-ibld.c
opcodes/m32r-ibld.c
opcodes/mep-ibld.c
opcodes/mt-ibld.c
opcodes/or1k-ibld.c
opcodes/xc16x-ibld.c
opcodes/xstormy16-ibld.c

index 1c7e4cb12d3de83eaeaad2028bd73a0b61929b32..0cb04913b0843ae4727f841b11c7c05cf95c5243 100644 (file)
@@ -1,3 +1,21 @@
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * cgen-ibld.in (insert_normal, extract_normal): Use 1UL in left shift.
+       * bpf-ibld.c: Regenerate.
+       * epiphany-ibld.c: Regenerate.
+       * fr30-ibld.c: Regenerate.
+       * frv-ibld.c: Regenerate.
+       * ip2k-ibld.c: Regenerate.
+       * iq2000-ibld.c: Regenerate.
+       * lm32-ibld.c: Regenerate.
+       * m32c-ibld.c: Regenerate.
+       * m32r-ibld.c: Regenerate.
+       * mep-ibld.c: Regenerate.
+       * mt-ibld.c: Regenerate.
+       * or1k-ibld.c: Regenerate.
+       * xc16x-ibld.c: Regenerate.
+       * xstormy16-ibld.c: Regenerate.
+
 2020-09-02  Alan Modra  <amodra@gmail.com>
 
        * bfin-dis.c (MASKBITS): Use SIGNBIT.
index 0070e4108693765419e38e3b3ef3ee416fdc0cb7..32260f8a188a31acca1bc0d3d3bb7d3ceb57cdd9 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 7829822b2cac62abab69a771dfa3c46a339b7bb6..b06d5c20da899e82fe4cc7f49a61bd518b983c96 100644 (file)
@@ -154,7 +154,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -192,8 +192,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -497,7 +497,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 27f0fabd2ae5278b01cf282ea564b6adccfbc0b5..6e594d38150d663e2a9ef70463c378cbed19be9d 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 8cc70209d4f08a9e05c1ea1b132d905eaf3150f6..aa5f846bc44f612094b2bd67f7a4809b4521d18c 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 2a7fcb876c38b72db13ae7f908d4646cc81d2317..8bc69624dc021e73d797632b42bccdf5df830412 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 18c2fed67a0c7628595ced48c4de02cbec8e34d3..0d7b44744395dbaba558f4b6496cd0a90c2d206f 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index cad26e226e3e78d63710e1effd6826f5613e513f..ce0b15a57e0928ff81fae0bd6fde8b8ff8da8972 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 48e894a9ee1297d0fc0e0281d6feb5d143717220..04d3c9ec0e812fb4483e6c63f44e4436730e3fe2 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 67bfb48c0a25d36d0b278a9403d7dd8cf762c225..228fa0d9c8c019d581f508c8d497241fce75a5bd 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 8e1a7de81410003b568d93702b37e2d3b254211f..e4080ef6a57ae8199ee586f59eb968622658e3e2 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 8f03813761a02b74dac671788a152901b39e8539..47611dd2ae3ceb07149fa2e895ffe4c1728cb4ec 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 924fc90cf77c2d4bd4e15d81c8a990792c20bec4..bd8b545833f159c54231df51fa1a857964609aa4 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 576a13918b6c37605f43076ae5739908edfcb286..828aae8637f2ea1ec3abb884881bd312086216c2 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index ed51a1b4fecdc3728b071963d2e5cbb883f329e2..9b87c3b4a3a757f32cd0b8b4b58272e7bf819565 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;
index 06f036fd12e2a81e96ae4ab4c377a8ac730394f0..5784b583a6054e2e647668e05ca0b560d708eca4 100644 (file)
@@ -155,7 +155,7 @@ insert_normal (CGEN_CPU_DESC cd,
   /* Ensure VALUE will fit.  */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGN_OPT))
     {
-      long minval = - (1L << (length - 1));
+      long minval = - (1UL << (length - 1));
       unsigned long maxval = mask;
 
       if ((value > 0 && (unsigned long) value > maxval)
@@ -193,8 +193,8 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       if (! cgen_signed_overflow_ok_p (cd))
        {
-         long minval = - (1L << (length - 1));
-         long maxval =   (1L << (length - 1)) - 1;
+         long minval = - (1UL << (length - 1));
+         long maxval =   (1UL << (length - 1)) - 1;
 
          if (value < minval || value > maxval)
            {
@@ -498,7 +498,7 @@ extract_normal (CGEN_CPU_DESC cd,
   value &= mask;
   /* sign extend? */
   if (CGEN_BOOL_ATTR (attrs, CGEN_IFLD_SIGNED)
-      && (value & (1L << (length - 1))))
+      && (value & (1UL << (length - 1))))
     value |= ~mask;
 
   *valuep = value;