0
0
mirror of https://github.com/zeux/pugixml.git synced 2025-01-14 01:47:55 +08:00

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()...
This commit is contained in:
Arseny Kapoulkine 2015-10-25 13:44:26 -07:00
parent fe58041a61
commit 94c08f27c6
3 changed files with 5 additions and 9 deletions

View File

@ -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

View File

@ -360,7 +360,7 @@ TEST(document_load_file_wide_ascii)
CHECK_NODE(doc, STR("<node />"));
}
#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;

View File

@ -6,10 +6,6 @@
#include <math.h>
#include <string.h>
#ifdef __BORLANDC__
using std::ldexpf;
#endif
TEST_XML(dom_attr_assign, "<node/>")
{
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<float>(fp_roundtrip_base[i]), e);
float value = static_cast<float>(ldexp(fp_roundtrip_base[i], e));
doc.text().set(value);
CHECK(fp_equal(doc.text().as_float(), value));