summaryrefslogtreecommitdiff
path: root/xsd-tests/cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2020-12-19 17:12:05 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-02-25 13:45:49 +0300
commitfea8db080353e408a38ad9b66b50b1c9dfaf96de (patch)
tree19c060eb9d6b66104f3bff3e5ea940dd7441c74d /xsd-tests/cxx
parent5e527213a2430bb3018e5eebd909aef294edf9b5 (diff)
Various fixes
Diffstat (limited to 'xsd-tests/cxx')
-rw-r--r--xsd-tests/cxx/parser/validation/built-in/float/driver.cxx8
-rw-r--r--xsd-tests/cxx/parser/validation/built-in/int/driver.cxx2
2 files changed, 9 insertions, 1 deletions
diff --git a/xsd-tests/cxx/parser/validation/built-in/float/driver.cxx b/xsd-tests/cxx/parser/validation/built-in/float/driver.cxx
index bb67eb7..e92c419 100644
--- a/xsd-tests/cxx/parser/validation/built-in/float/driver.cxx
+++ b/xsd-tests/cxx/parser/validation/built-in/float/driver.cxx
@@ -207,6 +207,11 @@ main ()
// float
//
+ // Note that some standard libraries recognize the [+-](INF|INFINITY)
+ // strings (notably libc++) and some of them don't (notably msvc and
+ // libstdc++; see Library Working Group (LWG) issue 2381 for details).
+ //
+#ifndef _LIBCPP_VERSION
{
float_pimpl<char> p;
p.pre ();
@@ -214,6 +219,7 @@ main ()
p._characters ("+INF");
assert (test_post_fail (p));
}
+#endif
{
float_pimpl<char> p;
@@ -225,6 +231,7 @@ main ()
// double
//
+#ifndef _LIBCPP_VERSION
{
double_pimpl<char> p;
p.pre ();
@@ -232,6 +239,7 @@ main ()
p._characters ("+INF");
assert (test_post_fail (p));
}
+#endif
{
double_pimpl<char> p;
diff --git a/xsd-tests/cxx/parser/validation/built-in/int/driver.cxx b/xsd-tests/cxx/parser/validation/built-in/int/driver.cxx
index d31d206..270cd0e 100644
--- a/xsd-tests/cxx/parser/validation/built-in/int/driver.cxx
+++ b/xsd-tests/cxx/parser/validation/built-in/int/driver.cxx
@@ -37,7 +37,7 @@ main ()
p._pre ();
p._characters ("-2147483648");
p._post ();
- assert (p.post_int () == -2147483648);
+ assert (p.post_int () == -2147483647 - 1);
}
{