Move NOINLINE definition to test where it's used.
This commit is contained in:
parent
43346904e1
commit
31ac53fbdc
2 changed files with 16 additions and 17 deletions
|
@ -6,6 +6,22 @@
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE(bignum_tests)
|
BOOST_AUTO_TEST_SUITE(bignum_tests)
|
||||||
|
|
||||||
|
// Unfortunately there's no standard way of preventing a function from being
|
||||||
|
// inlined, so we define a macro for it.
|
||||||
|
//
|
||||||
|
// You should use it like this:
|
||||||
|
// NOINLINE void function() {...}
|
||||||
|
#if defined(__GNUC__)
|
||||||
|
// This also works and will be defined for any compiler implementing gcc
|
||||||
|
// extensions, such as clang and icc.
|
||||||
|
#define NOINLINE __attribute__((noinline))
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
#define NOINLINE __declspec(noinline)
|
||||||
|
#else
|
||||||
|
// We give out a warning because it impacts the correctness of one bignum test.
|
||||||
|
#warning You should define NOINLINE for your compiler.
|
||||||
|
#define NOINLINE
|
||||||
|
#endif
|
||||||
|
|
||||||
// For the following test case, it is useful to use additional tools.
|
// For the following test case, it is useful to use additional tools.
|
||||||
//
|
//
|
||||||
|
|
17
src/util.h
17
src/util.h
|
@ -43,23 +43,6 @@ static const int64 CENT = 1000000;
|
||||||
#define ARRAYLEN(array) (sizeof(array)/sizeof((array)[0]))
|
#define ARRAYLEN(array) (sizeof(array)/sizeof((array)[0]))
|
||||||
#define printf OutputDebugStringF
|
#define printf OutputDebugStringF
|
||||||
|
|
||||||
// Unfortunately there's no standard way of preventing a function from being
|
|
||||||
// inlined, so we define a macro for it.
|
|
||||||
//
|
|
||||||
// You should use it like this:
|
|
||||||
// NOINLINE void function() {...}
|
|
||||||
#if defined(__GNUC__)
|
|
||||||
// This also works and will be defined for any compiler implementing gcc
|
|
||||||
// extensions, such as clang and icc.
|
|
||||||
#define NOINLINE __attribute__((noinline))
|
|
||||||
#elif defined(_MSC_VER)
|
|
||||||
#define NOINLINE __declspec(noinline)
|
|
||||||
#else
|
|
||||||
// We give out a warning because it impacts the correctness of one bignum test.
|
|
||||||
#warning You should define NOINLINE for your compiler.
|
|
||||||
#define NOINLINE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef snprintf
|
#ifdef snprintf
|
||||||
#undef snprintf
|
#undef snprintf
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue