summaryrefslogtreecommitdiff
path: root/libxsd/xsd/cxx/parser/validating
diff options
context:
space:
mode:
Diffstat (limited to 'libxsd/xsd/cxx/parser/validating')
-rw-r--r--libxsd/xsd/cxx/parser/validating/exceptions.hxx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/exceptions.ixx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/exceptions.txx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/inheritance-map.hxx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/inheritance-map.txx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/parser.hxx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/parser.txx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx8
-rw-r--r--libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx1
-rw-r--r--libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx1
13 files changed, 6 insertions, 14 deletions
diff --git a/libxsd/xsd/cxx/parser/validating/exceptions.hxx b/libxsd/xsd/cxx/parser/validating/exceptions.hxx
index 111376d..2201a8b 100644
--- a/libxsd/xsd/cxx/parser/validating/exceptions.hxx
+++ b/libxsd/xsd/cxx/parser/validating/exceptions.hxx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/exceptions.hxx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_HXX
diff --git a/libxsd/xsd/cxx/parser/validating/exceptions.ixx b/libxsd/xsd/cxx/parser/validating/exceptions.ixx
index 1cb67b5..f46dcd1 100644
--- a/libxsd/xsd/cxx/parser/validating/exceptions.ixx
+++ b/libxsd/xsd/cxx/parser/validating/exceptions.ixx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/exceptions.ixx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/libxsd/xsd/cxx/parser/validating/exceptions.txx b/libxsd/xsd/cxx/parser/validating/exceptions.txx
index 2a5016b..f6b39e8 100644
--- a/libxsd/xsd/cxx/parser/validating/exceptions.txx
+++ b/libxsd/xsd/cxx/parser/validating/exceptions.txx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/exceptions.txx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx b/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx
index 5a8ce50..1b338ec 100644
--- a/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx
+++ b/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/inheritance-map.hxx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_INHERITANCE_MAP_HXX
diff --git a/libxsd/xsd/cxx/parser/validating/inheritance-map.txx b/libxsd/xsd/cxx/parser/validating/inheritance-map.txx
index 2490c07..f141d9e 100644
--- a/libxsd/xsd/cxx/parser/validating/inheritance-map.txx
+++ b/libxsd/xsd/cxx/parser/validating/inheritance-map.txx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/inheritance-map.txx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/libxsd/xsd/cxx/parser/validating/parser.hxx b/libxsd/xsd/cxx/parser/validating/parser.hxx
index f3738b7..4ababce 100644
--- a/libxsd/xsd/cxx/parser/validating/parser.hxx
+++ b/libxsd/xsd/cxx/parser/validating/parser.hxx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/parser.hxx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_PARSER_HXX
diff --git a/libxsd/xsd/cxx/parser/validating/parser.txx b/libxsd/xsd/cxx/parser/validating/parser.txx
index 5cda58e..fa1d1c4 100644
--- a/libxsd/xsd/cxx/parser/validating/parser.txx
+++ b/libxsd/xsd/cxx/parser/validating/parser.txx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/parser.txx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <cassert>
diff --git a/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx b/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx
index 67cf4cf..5f9133a 100644
--- a/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx
+++ b/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/xml-schema-pimpl.hxx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_HXX
diff --git a/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx b/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx
index fcfcf07..5875b57 100644
--- a/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx
+++ b/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/xml-schema-pimpl.ixx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx b/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx
index 1624f8c..7bf2523 100644
--- a/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx
+++ b/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx
@@ -1,11 +1,11 @@
// file : xsd/cxx/parser/validating/xml-schema-pimpl.txx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <limits>
#include <locale>
#ifdef XSD_CXX11
+# include <cmath> // std::isfinite
# include <utility> // std::move
#endif
@@ -717,9 +717,13 @@ namespace xsd
zc_istream<C> is (str);
is.imbue (std::locale::classic ());
- //@@ TODO: now we accept scientific notations and INF/NaN.
+ // Note that std::isfinite() returns false for INF/NaN.
//
+#ifdef XSD_CXX11
+ if (!(is >> value_ && std::isfinite (value_) && is.exhausted ()))
+#else
if (!(is >> value_ && is.exhausted ()))
+#endif
throw invalid_value<C> (bits::decimal<C> (), str);
}
diff --git a/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx b/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx
index d7ff8b9..1ad6528 100644
--- a/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx
+++ b/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/xml-schema-pskel.hxx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX
diff --git a/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx b/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx
index 11b9fcd..7133a6c 100644
--- a/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx
+++ b/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/xml-schema-pskel.ixx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx b/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx
index d92ebf8..eb2fe0d 100644
--- a/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx
+++ b/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx
@@ -1,5 +1,4 @@
// file : xsd/cxx/parser/validating/xml-schema-pskel.txx
-// copyright : Copyright (c) 2005-2017 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd