// constexpr void // constexpr after c++17
// generate_n(Iter first, Size n, Generator gen);
-#ifdef _MSC_VER
+#include "test_macros.h"
+
+#ifdef TEST_COMPILER_C1XX
#pragma warning(disable: 4244) // conversion from 'const double' to 'int', possible loss of data
#endif
#include <algorithm>
#include <cassert>
-#include "test_macros.h"
#include "test_iterators.h"
#include "user_defined_integral.hpp"
#include <sstream>
#include <cassert>
-#if defined(__clang__)
+#include "test_macros.h"
+
+#if defined(TEST_COMPILER_CLANG)
#pragma clang diagnostic ignored "-Wliteral-conversion"
#endif
-#ifdef _MSC_VER
+#ifdef TEST_COMPILER_C1XX
#pragma warning(disable: 4244) // conversion from 'X' to 'Y', possible loss of data
#endif
#include <sstream>
#include <iostream>
#include "test_iterators.h"
+#include "test_macros.h"
-#ifdef _MSC_VER
+#ifdef TEST_COMPILER_C1XX
#pragma warning(disable: 4146) // unary minus operator applied to unsigned type, result still unsigned
#endif
assert((LCE::min() == (c == 0u ? 1u: 0u)));
#endif
-#ifdef _MSC_VER
+#ifdef TEST_COMPILER_C1XX
#pragma warning(push)
#pragma warning(disable: 4310) // cast truncates constant value
-#endif // _MSC_VER
+#endif // TEST_COMPILER_C1XX
#if TEST_STD_VER >= 11
static_assert((LCE::max() == result_type(m - 1u)), "");
assert((LCE::max() == result_type(m - 1u)));
#endif
-#ifdef _MSC_VER
+#ifdef TEST_COMPILER_C1XX
#pragma warning(pop)
-#endif // _MSC_VER
+#endif // TEST_COMPILER_C1XX
static_assert((LCE::default_seed == 1), "");
where(LCE::multiplier);