From 94c08f27c69a1c8ed1549ffc94f46b0f447806b9 Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Sun, 25 Oct 2015 13:44:26 -0700 Subject: tests: Fix Borland C++ 5.4 compilation The tests now compile fine but crash on the first floating-point exception despite our attempts to disable them in main()... --- tests/test.hpp | 6 +++--- tests/test_document.cpp | 2 +- tests/test_dom_modify.cpp | 6 +----- 3 files changed, 5 insertions(+), 9 deletions(-) (limited to 'tests') diff --git a/tests/test.hpp b/tests/test.hpp index d0fd0ca..fad555d 100644 --- a/tests/test.hpp +++ b/tests/test.hpp @@ -112,8 +112,8 @@ struct dummy_fixture {}; #define CHECK_TEXT(condition, text) if (condition) ; else test_runner::_failure_message = CHECK_JOIN2(text, __FILE__, __LINE__), longjmp(test_runner::_failure_buffer, 1) #define CHECK_FORCE_FAIL(text) test_runner::_failure_message = CHECK_JOIN2(text, __FILE__, __LINE__), longjmp(test_runner::_failure_buffer, 1) -#if (defined(_MSC_VER) && _MSC_VER == 1200) || defined(__MWERKS__) -# define STRINGIZE(value) "??" // MSVC 6.0 and CodeWarrior have troubles stringizing stuff with strings w/escaping inside +#if (defined(_MSC_VER) && _MSC_VER == 1200) || defined(__MWERKS__) || (defined(__BORLANDC__) && __BORLANDC__ <= 0x540) +# define STRINGIZE(value) "??" // Some compilers have issues with stringizing expressions that contain strings w/escaping inside #else # define STRINGIZE(value) #value #endif @@ -150,7 +150,7 @@ struct dummy_fixture {}; #define STR(text) PUGIXML_TEXT(text) -#ifdef __DMC__ +#if defined(__DMC__) || defined(__BORLANDC__) #define U_LITERALS // DMC does not understand \x01234 (it parses first three digits), but understands \u01234 #endif diff --git a/tests/test_document.cpp b/tests/test_document.cpp index 9c8c860..8573ce3 100644 --- a/tests/test_document.cpp +++ b/tests/test_document.cpp @@ -360,7 +360,7 @@ TEST(document_load_file_wide_ascii) CHECK_NODE(doc, STR("")); } -#if !defined(__DMC__) && !defined(__MWERKS__) && !(defined(__MINGW32__) && defined(__STRICT_ANSI__) && !defined(__MINGW64_VERSION_MAJOR)) +#if !defined(__DMC__) && !defined(__MWERKS__) && !(defined(__MINGW32__) && defined(__STRICT_ANSI__) && !defined(__MINGW64_VERSION_MAJOR)) && !defined(__BORLANDC__) TEST(document_load_file_wide_unicode) { pugi::xml_document doc; diff --git a/tests/test_dom_modify.cpp b/tests/test_dom_modify.cpp index c4ee024..e84f098 100644 --- a/tests/test_dom_modify.cpp +++ b/tests/test_dom_modify.cpp @@ -6,10 +6,6 @@ #include #include -#ifdef __BORLANDC__ -using std::ldexpf; -#endif - TEST_XML(dom_attr_assign, "") { xml_node node = doc.child(STR("node")); @@ -1647,7 +1643,7 @@ TEST(dom_fp_roundtrip_float) { for (size_t i = 0; i < sizeof(fp_roundtrip_base) / sizeof(fp_roundtrip_base[0]); ++i) { - float value = ldexpf(static_cast(fp_roundtrip_base[i]), e); + float value = static_cast(ldexp(fp_roundtrip_base[i], e)); doc.text().set(value); CHECK(fp_equal(doc.text().as_float(), value)); -- cgit v1.2.3