Skip to content

Commit aaaace2

Browse files
author
MarcoFalke
committed
fuzz: Assume presence of __builtin_*_overflow, without checks
1 parent fa223ba commit aaaace2

File tree

2 files changed

+0
-24
lines changed

2 files changed

+0
-24
lines changed

src/test/fuzz/addition_overflow.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,6 @@
1111
#include <string>
1212
#include <vector>
1313

14-
#if defined(__has_builtin)
15-
#if __has_builtin(__builtin_add_overflow)
16-
#define HAVE_BUILTIN_ADD_OVERFLOW
17-
#endif
18-
#elif defined(__GNUC__)
19-
#define HAVE_BUILTIN_ADD_OVERFLOW
20-
#endif
21-
2214
namespace {
2315
template <typename T>
2416
void TestAdditionOverflow(FuzzedDataProvider& fuzzed_data_provider)
@@ -32,14 +24,12 @@ void TestAdditionOverflow(FuzzedDataProvider& fuzzed_data_provider)
3224
assert(is_addition_overflow_custom == AdditionOverflow(j, i));
3325
assert(maybe_add == CheckedAdd(j, i));
3426
assert(sat_add == SaturatingAdd(j, i));
35-
#if defined(HAVE_BUILTIN_ADD_OVERFLOW)
3627
T result_builtin;
3728
const bool is_addition_overflow_builtin = __builtin_add_overflow(i, j, &result_builtin);
3829
assert(is_addition_overflow_custom == is_addition_overflow_builtin);
3930
if (!is_addition_overflow_custom) {
4031
assert(i + j == result_builtin);
4132
}
42-
#endif
4333
if (is_addition_overflow_custom) {
4434
assert(sat_add == std::numeric_limits<T>::min() || sat_add == std::numeric_limits<T>::max());
4535
} else {

src/test/fuzz/multiplication_overflow.cpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,19 @@
1010
#include <string>
1111
#include <vector>
1212

13-
#if defined(__has_builtin)
14-
#if __has_builtin(__builtin_mul_overflow)
15-
#define HAVE_BUILTIN_MUL_OVERFLOW
16-
#endif
17-
#elif defined(__GNUC__)
18-
#define HAVE_BUILTIN_MUL_OVERFLOW
19-
#endif
20-
2113
namespace {
2214
template <typename T>
2315
void TestMultiplicationOverflow(FuzzedDataProvider& fuzzed_data_provider)
2416
{
2517
const T i = fuzzed_data_provider.ConsumeIntegral<T>();
2618
const T j = fuzzed_data_provider.ConsumeIntegral<T>();
2719
const bool is_multiplication_overflow_custom = MultiplicationOverflow(i, j);
28-
#if defined(HAVE_BUILTIN_MUL_OVERFLOW)
2920
T result_builtin;
3021
const bool is_multiplication_overflow_builtin = __builtin_mul_overflow(i, j, &result_builtin);
3122
assert(is_multiplication_overflow_custom == is_multiplication_overflow_builtin);
3223
if (!is_multiplication_overflow_custom) {
3324
assert(i * j == result_builtin);
3425
}
35-
#else
36-
if (!is_multiplication_overflow_custom) {
37-
(void)(i * j);
38-
}
39-
#endif
4026
}
4127
} // namespace
4228

0 commit comments

Comments
 (0)