diff options
author | David Tellenbach <david.tellenbach@me.com> | 2020-08-14 17:24:37 +0200 |
---|---|---|
committer | David Tellenbach <david.tellenbach@me.com> | 2020-08-14 17:24:37 +0200 |
commit | c6820a6316c86fb7f67fd344832f8e31cac62dc1 (patch) | |
tree | 75380cec4f500ed53894b218c24933e7df75fb13 /test/blasutil.cpp | |
parent | 8ba1b0f41a7950dc3e1d4ed75859e36c73311235 (diff) |
Replace the call to int64_t in the blasutil test by explicit types
Some platforms define int64_t to be long long even for C++03. If this is
the case we miss the definition of internal::make_unsigned for this
type. If we just define the template we get duplicated definitions
errors for platforms defining int64_t as signed long for C++03.
We need to find a way to distinguish both cases at compile-time.
Diffstat (limited to 'test/blasutil.cpp')
-rw-r--r-- | test/blasutil.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/test/blasutil.cpp b/test/blasutil.cpp index cd8716351..255d2a6ca 100644 --- a/test/blasutil.cpp +++ b/test/blasutil.cpp @@ -186,11 +186,17 @@ EIGEN_DECLARE_TEST(blasutil) { for(int i = 0; i < g_repeat; i++) { - CALL_SUBTEST_1(run_test<int8_t>()); - CALL_SUBTEST_2(run_test<int16_t>()); - CALL_SUBTEST_3(run_test<int32_t>()); - CALL_SUBTEST_4(run_test<int64_t>()); - CALL_SUBTEST_5(run_test<float_t>()); - CALL_SUBTEST_6(run_test<double_t>()); + CALL_SUBTEST_1(run_test<numext::int8_t>()); + CALL_SUBTEST_2(run_test<numext::int16_t>()); + CALL_SUBTEST_3(run_test<numext::int32_t>()); +// TODO: Replace this by a call to numext::int64_t as soon as we have a way to +// detect the typedef for int64_t on all platforms +#if EIGEN_HAS_CXX11 + CALL_SUBTEST_4(run_test<signed long long>()); +#else + CALL_SUBTEST_4(run_test<signed long>()); +#endif + CALL_SUBTEST_5(run_test<numext::float_t>()); + CALL_SUBTEST_6(run_test<numext::double_t>()); } }
\ No newline at end of file |