Skip to content

Commit ce5ea58

Browse files
authored
Merge pull request #46535 from smuzaffar/ubsan-ReduceMantissaToNbitsRounding-suppress-shift
[UBSAN]Suppess -ve shift error for ReduceMantissaToNbitsRounding
2 parents 5754132 + cd9abc7 commit ce5ea58

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

DataFormats/Math/interface/libminifloat.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ class MiniFloatConverter {
5151

5252
class ReduceMantissaToNbitsRounding {
5353
public:
54+
#ifdef CMS_UNDEFINED_SANITIZER
55+
//Supress UBSan runtime error about -ve shift. This happens when bits==23
56+
__attribute__((no_sanitize("shift")))
57+
#endif
5458
ReduceMantissaToNbitsRounding(int bits)
5559
: shift(23 - bits), mask((0xFFFFFFFF >> (shift)) << (shift)), test(1 << (shift - 1)), maxn((1 << bits) - 2) {
5660
assert(bits <= 23); // "max mantissa size is 23 bits"

0 commit comments

Comments
 (0)