Karl-Johan Karlsson
831b509d5f
[builtins] Fix signed integer overflows in fp_fixint_impl.inc
...
When compiling the builtins with the undefined behavior sanitizer and running
testcases you end up with the following warning:
UBSan: fp_fixint_impl.inc:39:42: left shift of 8388608 by 40 places cannot be represented in type 'fixint_t' (aka 'long long')
UBSan: fp_fixint_impl.inc:39:17: signed integer overflow: -1 * -9223372036854775808 cannot be represented in type 'fixint_t' (aka 'long long')
This can be avoided by doing the shift and the multiplication in a matching
unsigned variant of the type.
The added test only trigger the intended signed overflow case when the builtins
are built with -D__SOFTFP__.
This was found in an out of tree target.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D159069
2023-08-31 10:08:15 +02:00
..
2023-07-17 12:27:32 +01:00
2022-04-20 12:02:16 -04:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2022-11-01 20:09:32 +08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2023-03-31 07:02:55 +02:00
2020-06-16 17:46:22 -07:00
2023-03-31 07:02:55 +02:00
2021-10-28 02:18:43 +00:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2022-12-16 11:03:45 -08:00
2020-06-30 11:07:02 +03:00
2020-06-30 11:07:02 +03:00
2020-06-30 11:07:02 +03:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2021-02-26 16:20:14 -08:00
2021-02-26 16:20:14 -08:00
2021-02-26 16:20:14 -08:00
2021-11-12 08:40:03 +01:00
2021-11-12 08:40:03 +01:00
2021-11-12 08:40:03 +01:00
2023-05-30 09:00:45 +01:00
2023-05-30 09:00:45 +01:00
2021-11-12 08:40:03 +01:00
2020-06-16 17:46:22 -07:00
2023-07-12 22:30:43 +00:00
2020-06-16 17:46:22 -07:00
2020-06-30 11:07:02 +03:00
2020-06-30 11:07:02 +03:00
2020-06-16 17:46:22 -07:00
2020-09-01 21:52:34 +03:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2023-04-12 10:17:03 +03:00
2020-06-16 17:46:22 -07:00
2020-09-01 21:52:34 +03:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-08-11 15:47:17 +02:00
2020-09-02 00:19:00 +03:00
2020-06-16 17:46:22 -07:00
2022-12-16 11:03:45 -08:00
2023-07-12 22:30:43 +00:00
2021-11-12 08:40:03 +01:00
2022-03-21 22:05:58 +01:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-12-03 16:08:55 -03:00
2022-07-30 09:41:33 +08:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-30 11:07:02 +03:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2023-08-31 10:08:15 +02:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2023-04-11 00:02:33 +03:00
2020-06-16 17:46:22 -07:00
2022-12-16 11:03:45 -08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2022-01-30 21:10:54 +03:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2022-01-30 21:10:54 +03:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2023-06-27 16:54:29 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2022-01-30 21:10:54 +03:00
2020-06-16 17:46:22 -07:00
2022-01-30 21:10:54 +03:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2023-06-27 16:54:29 -07:00
2020-06-16 17:46:22 -07:00
2022-07-30 09:41:33 +08:00
2020-06-16 17:46:22 -07:00
2020-10-23 20:57:18 +04:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2023-07-12 22:30:43 +00:00
2023-07-12 22:30:43 +00:00
2020-06-16 17:46:22 -07:00
2023-03-31 07:02:55 +02:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-10-21 09:49:03 +01:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-10-21 09:49:03 +01:00
2023-04-11 00:02:33 +03:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2022-12-16 11:03:45 -08:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00
2020-06-30 11:07:02 +03:00
2020-06-30 11:07:02 +03:00
2020-06-30 11:07:02 +03:00
2020-06-16 17:46:22 -07:00
2020-06-30 11:07:02 +03:00
2020-06-30 11:07:02 +03:00
2020-06-30 11:07:02 +03:00
2020-06-30 11:07:02 +03:00
2020-06-30 11:07:02 +03:00
2022-12-16 11:03:45 -08:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2022-11-01 20:09:32 +08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2023-07-24 17:19:11 -07:00
2023-07-24 17:19:11 -07:00
2023-07-24 17:19:11 -07:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2023-07-24 17:19:11 -07:00
2020-06-16 17:46:22 -07:00
2022-07-30 09:41:33 +08:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-06-16 17:46:22 -07:00
2020-12-04 20:53:23 -08:00
2020-12-04 20:53:23 -08:00
2020-06-16 17:46:22 -07:00