Merge pull request #21 from rleigh-codelibre/xerces-XERCESC-2208_Use_cstdint

XERCESC-2208: Use cstdint and standard integer types
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 06bdd9d..bee6cd5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -105,7 +105,6 @@
 include(XercesIncludes)
 include(XercesFunctions)
 include(XercesDLL)
-include(XercesIntTypes)
 include(XercesPathDelimiters)
 include(XercesICU)
 include(XercesMutexMgrSelection)
diff --git a/cmake/XercesIntTypes.cmake b/cmake/XercesIntTypes.cmake
deleted file mode 100644
index 85c94e1..0000000
--- a/cmake/XercesIntTypes.cmake
+++ /dev/null
@@ -1,162 +0,0 @@
-
-# CMake build for xerces-c
-#
-# Written by Roger Leigh <rleigh@codelibre.net>
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Integer type checks.
-
-include(CheckCXXSourceCompiles)
-include(CheckIncludeFileCXX)
-include(CheckTypeSize)
-
-check_include_file_cxx(cstdint HAVE_CSTDINT)
-
-check_cxx_source_compiles("
-#include <cstdint>
-
-int main() {
-  uint32_t v1 = 342;
-  int64_t v2 = -23;
-  return 0;
-}" CSTDINT_FUNCTIONAL)
-
-check_include_file_cxx(stdint.h HAVE_STDINT_H)
-check_include_file_cxx(inttypes.h HAVE_INTTYPES_H)
-
-if(HAVE_CSTDINT AND CSTDINT_FUNCTIONAL)
-  set(XERCES_HAVE_CSTDINT TRUE)
-else()
-  set(XERCES_HAVE_CSTDINT FALSE)
-endif()
-set(XERCES_HAVE_STDINT_H ${HAVE_STDINT_H})
-set(XERCES_HAVE_INTTYPES_H ${HAVE_INTTYPES_H})
-
-# Standard typedefs
-set(CMAKE_EXTRA_INCLUDE_FILES_SAVE ${CMAKE_EXTRA_INCLUDE_FILES})
-set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} "stddef.h")
-check_type_size("off_t" SIZEOF_OFF_T)
-check_type_size("size_t" SIZEOF_SIZE_T)
-check_type_size("ssize_t" SIZEOF_SSIZE_T)
-check_type_size("wchar_t" SIZEOF_WCHAR_T)
-set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES_SAVE})
-set(HAVE_OFF_T ${SIZEOF_OFF_T})
-set(HAVE_SIZE_T ${SIZEOF_SIZE_T})
-set(HAVE_SSIZE_T ${SSIZEOF_SSIZE_T})
-set(HAVE_WCHAR_T ${WCHAROF_WCHAR_T})
-if(HAVE_SIZEOF_SIZE_T)
-  set(XERCES_SIZE_T size_t)
-  set(XERCES_SIZE_MAX SIZE_MAX)
-else()
-  set(XERCES_SIZE_T "unsigned long")
-  set(XERCES_SIZE_MAX ULONG_MAX)
-endif()
-if(HAVE_SIZEOF_SSIZE_T)
-  set(XERCES_SSIZE_T ssize_t)
-  set(XERCES_SSIZE_MAX SSIZE_MAX)
-else()
-  set(XERCES_SSIZE_T long)
-  set(XERCES_SSIZE_MAX LONG_MAX)
-endif()
-
-# Check type sizes
-check_type_size("signed short"       SIZEOF_SHORT)
-check_type_size("unsigned short"     SIZEOF_UNSIGNED_SHORT)
-check_type_size("signed int"         SIZEOF_INT)
-check_type_size("unsigned int"       SIZEOF_UNSIGNED_INT)
-check_type_size("signed long"        SIZEOF_LONG)
-check_type_size("unsigned long"      SIZEOF_UNSIGNED_LONG)
-check_type_size("signed long long"   SIZEOF_LONG_LONG)
-check_type_size("unsigned long long" SIZEOF_UNSIGNED_LONG_LONG)
-check_type_size("__int64"            SIZEOF___INT64)
-check_type_size("unsigned __int64"   SIZEOF_UNSIGNED__INT64)
-check_type_size("unsigned char *"    SIZEOF_UNSIGNED_CHAR_P)
-
-# If this failed, set size to zero to match autoconf
-if(NOT SIZEOF___INT64)
-  set(SIZEOF___INT64 0)
-endif()
-if(NOT SIZEOF_UNSIGNED__INT64)
-  set(SIZEOF_UNSIGNED__INT64 0)
-endif()
-
-if(HAVE_CSTDINT OR HAVE_STDINT_H OR HAVE_INTTYPES_H)
-  # Use standard sized types if possible
-  set(XERCES_S16BIT_INT "int16_t")
-  set(XERCES_U16BIT_INT "uint16_t")
-  set(XERCES_S32BIT_INT "int32_t")
-  set(XERCES_U32BIT_INT "uint32_t")
-  set(XERCES_S64BIT_INT "int64_t")
-  set(XERCES_U64BIT_INT "uint64_t")
-else()
-  # Fallback to basic language types
-  if(SIZEOF_SHORT EQUAL 2)
-    set(XERCES_S16BIT_INT "signed short")
-  elseif(SIZEOF_INT EQUAL 2)
-    set(XERCES_S16BIT_INT "int")
-  else()
-    message(FATAL_ERROR "Couldn't find a signed 16-bit type")
-  endif()
-
-  if(SIZEOF_UNSIGNED_SHORT EQUAL 2)
-    set(XERCES_U16BIT_INT "unsigned short")
-  elseif(SIZEOF_UNSIGNED_INT EQUAL 2)
-    set(XERCES_U16BIT_INT "unsigned int")
-  else()
-    message(FATAL_ERROR "Couldn't find an unsigned 16-bit type")
-  endif()
-
-  if(SIZEOF_INT EQUAL 4)
-    set(XERCES_S32BIT_INT "signed int")
-  elseif(SIZEOF_LONG EQUAL 4)
-    set(XERCES_S32BIT_INT "signed long")
-  else()
-    message(FATAL_ERROR "Couldn't find a signed 32-bit type")
-  endif()
-
-  if(SIZEOF_UNSIGNED_INT EQUAL 4)
-    set(XERCES_U32BIT_INT "unsigned int")
-  elseif(SIZEOF_UNSIGNED_LONG EQUAL 4)
-    set(XERCES_U32BIT_INT "unsigned long")
-  else()
-    message(FATAL_ERROR "Couldn't find an unsigned 32-bit type")
-  endif()
-
-  if(SIZEOF_INT EQUAL 8)
-    set(XERCES_S64BIT_INT "signed int")
-  elseif(SIZEOF_LONG EQUAL 8)
-    set(XERCES_S64BIT_INT "signed long")
-  elseif(SIZEOF_LONG_LONG EQUAL 8)
-    set(XERCES_S64BIT_INT "signed long long")
-  elseif(SIZEOF___INT64 EQUAL 8)
-    set(XERCES_S64BIT_INT "__int64")
-  else()
-    message(FATAL_ERROR "Couldn't find a signed 64-bit type")
-  endif()
-
-  if(SIZEOF_UNSIGNED_INT EQUAL 8)
-    set(XERCES_U64BIT_INT "unsigned int")
-  elseif(SIZEOF_UNSIGNED_LONG EQUAL 8)
-    set(XERCES_U64BIT_INT "unsigned long")
-  elseif(SIZEOF_UNSIGNED_LONG_LONG EQUAL 8)
-    set(XERCES_U64BIT_INT "unsigned long long")
-  elseif(SIZEOF_UNSIGNED__INT64 EQUAL 8)
-    set(XERCES_U64BIT_INT "unsigned __int64")
-  else()
-    message(FATAL_ERROR "Couldn't find an unsigned 64-bit type")
-  endif()
-endif()
diff --git a/cmake/XercesXMLCh.cmake b/cmake/XercesXMLCh.cmake
index df8d2d3..d3b7fce 100644
--- a/cmake/XercesXMLCh.cmake
+++ b/cmake/XercesXMLCh.cmake
@@ -24,7 +24,6 @@
 
 include(CheckCXXSourceCompiles)
 include(CheckTypeSize)
-include(XercesIntTypes)
 
 check_cxx_source_compiles("
 int main() {
@@ -74,7 +73,7 @@
   message(FATAL_ERROR "${xmlch_type} xmlch_type unavailable")
 endif()
 
-set(XERCES_XMLCH_T ${XERCES_U16BIT_INT})
+set(XERCES_XMLCH_T uint16_t)
 set(XERCES_USE_CHAR16_T 0)
 set(XERCES_INCLUDE_WCHAR_H 0)
 if(xmlch_type STREQUAL "char16_t")
diff --git a/config.h.cmake.in b/config.h.cmake.in
index d8ce9cf..b86c12f 100644
--- a/config.h.cmake.in
+++ b/config.h.cmake.in
@@ -1,20 +1,6 @@
 /* config.h.cmake.in.  Not generated, but originated from autoheader.  */
 /* This file must be kept up-to-date with needed substitutions from config.h.in. */
 
-/* Define to 1 if you have the <cstdint> header file. */
-#cmakedefine HAVE_CSTDINT 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#cmakedefine HAVE_STDINT_H 1
-
-#if defined(__cplusplus) && defined(HAVE_CSTDINT)
-#include <cstdint>
-#elif HAVE_STDINT_H
-#include <stdint.h>
-#elif HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
 /* Define to specify no threading is used */
 #cmakedefine APP_NO_THREADS 1
 
@@ -93,9 +79,6 @@
 /* Define to 1 if you have the `iconv_open' function. */
 #cmakedefine HAVE_ICONV_OPEN 1
 
-/* Define to 1 if you have the <inttypes.h> header file. */
-#cmakedefine HAVE_INTTYPES_H 1
-
 /* Define to 1 if you have the <langinfo.h> header file. */
 #cmakedefine HAVE_LANGINFO_H 1
 
@@ -292,24 +275,6 @@
 /* Define to the version of this package. */
 #define PACKAGE_VERSION "@PACKAGE_VERSION@"
 
-/* The size of `int', as computed by sizeof. */
-#define SIZEOF_INT @SIZEOF_INT@
-
-/* The size of `long', as computed by sizeof. */
-#define SIZEOF_LONG @SIZEOF_LONG@
-
-/* The size of `long long', as computed by sizeof. */
-#define SIZEOF_LONG_LONG @SIZEOF_LONG_LONG@
-
-/* The size of `short', as computed by sizeof. */
-#define SIZEOF_SHORT @SIZEOF_SHORT@
-
-/* The size of `wchar_t', as computed by sizeof. */
-#define SIZEOF_WCHAR_T @SIZEOF_WCHAR_T@
-
-/* The size of `__int64', as computed by sizeof. */
-#define SIZEOF___INT64 @SIZEOF___INT64@
-
 /* Version number of package */
 #define VERSION "@PACKAGE_VERSION@"
 
@@ -330,9 +295,6 @@
 /* Define to 1 if you have intrin.h */
 #cmakedefine XERCES_HAVE_INTRIN_H 1
 
-/* Define to 1 if we have inttypes.h */
-#cmakedefine XERCES_HAVE_INTTYPES_H 1
-
 /* Define to have SSE2 instruction used at runtime */
 #cmakedefine XERCES_HAVE_SSE2_INTRINSIC 1
 
@@ -354,39 +316,9 @@
 /* Define as the platform's import attribute */
 #define XERCES_PLATFORM_IMPORT @XERCES_PLATFORM_IMPORT@
 
-/* An appropriate signed 16 bit integer type */
-#define XERCES_S16BIT_INT @XERCES_S16BIT_INT@
-
-/* An appropriate signed 32 bit integer type */
-#define XERCES_S32BIT_INT @XERCES_S32BIT_INT@
-
-/* An appropriate signed 64 bit integer type */
-#define XERCES_S64BIT_INT @XERCES_S64BIT_INT@
-
-/* Define as the appropriate SIZE_MAX macro */
-#define XERCES_SIZE_MAX @XERCES_SIZE_MAX@
-
-/* Define as the appropriate size_t type */
-#define XERCES_SIZE_T @XERCES_SIZE_T@
-
-/* Define as the appropriate SSIZE_MAX macro */
-#define XERCES_SSIZE_MAX @XERCES_SSIZE_MAX@
-
-/* Define as the appropriate ssize_t type */
-#define XERCES_SSIZE_T @XERCES_SSIZE_T@
-
 /* Define if building a static library */
 #cmakedefine XERCES_STATIC_LIBRARY 1
 
-/* An appropriate unsigned 16 bit integer type */
-#define XERCES_U16BIT_INT @XERCES_U16BIT_INT@
-
-/* An appropriate unsigned 32 bit integer type */
-#define XERCES_U32BIT_INT @XERCES_U32BIT_INT@
-
-/* An appropriate unsigned 64 bit integer type */
-#define XERCES_U64BIT_INT @XERCES_U64BIT_INT@
-
 /* Define to use the POSIX file mgr */
 #cmakedefine XERCES_USE_FILEMGR_POSIX 1
 
diff --git a/configure.ac b/configure.ac
index 85e88e8..4e804ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -137,8 +137,8 @@
 # Checks for header files.
 AC_HEADER_STDC
 AC_HEADER_TIME
-AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h langinfo.h limits.h locale.h \
-                  memory.h netdb.h netinet/in.h nl_types.h stddef.h stdint.h \
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h langinfo.h limits.h locale.h \
+                  memory.h netdb.h netinet/in.h nl_types.h stddef.h \
                   sys/param.h sys/socket.h sys/time.h sys/timeb.h \
                   unistd.h wchar.h wctype.h \
                   CoreServices/CoreServices.h \
@@ -149,13 +149,6 @@
 AC_HEADER_STDBOOL
 
 AC_CHECK_SIZEOF(wchar_t)
-AC_CHECK_TYPE(size_t)
-AC_CHECK_TYPE(ssize_t)
-
-AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
-
-XERCES_INT_TYPES
 
 ACX_PTHREAD
 
@@ -189,24 +182,6 @@
                     ]
                  )
 
-# Check for functional cstdint header
-AC_MSG_CHECKING([for cstdint])
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <cstdint>]],
-[[
-  uint32_t v1 = 342;
-  int64_t v2 = -23;
-  return 0;
-]])],
-                    [
-                      AC_MSG_RESULT([yes])
-                      AC_DEFINE_UNQUOTED([XERCES_HAVE_CSTDINT], 1, [Define to 1 if cstdint is functional.])
-                    ],
-                    [
-                      AC_MSG_RESULT([no])
-                      AC_DEFINE_UNQUOTED([XERCES_HAVE_CSTDINT], 0, [Define to 1 if cstdint is functional.])
-                    ]
-                 )
-
 # The check for mbrlen, wcsrtombs and mbsrtowcs gives a false
 # positive on HP-UX, so we use a different snippet to set the
 # corresponding macro
@@ -336,14 +311,8 @@
 # publicly visible Xerces_autoconf_config.h file.
 ######################################################
 
-AC_DEFINE([XERCES_AUTOCONF], 1, [Define to true if autoconf is used in this configuration])
-
-AS_IF([test x$ac_cv_header_stdint_h = xyes],
-	AC_DEFINE([XERCES_HAVE_STDINT_H], 1, [Define to 1 if we have stdint.h]))
 AS_IF([test x$ac_cv_header_sys_types_h = xyes],
 	AC_DEFINE([XERCES_HAVE_SYS_TYPES_H], 1, [Define to 1 if we have sys/types.h]))
-AS_IF([test x$ac_cv_header_inttypes_h = xyes],
-	AC_DEFINE([XERCES_HAVE_INTTYPES_H],    1, [Define to 1 if we have inttypes.h]))
 
 case $host in
 *-*-msdos* | *-*-mingw32* | *-*-cygwin* | *-*-windows* )
@@ -486,18 +455,6 @@
   fi
 fi
 
-AS_IF([test x$ac_cv_type_size_t = xyes],
-	AC_DEFINE([XERCES_SIZE_T], [size_t], [Define as the appropriate size_t type])
-	AC_DEFINE([XERCES_SIZE_MAX], [SIZE_MAX], [Define as the appropriate SIZE_MAX macro]),
-	AC_DEFINE([XERCES_SIZE_T], [unsigned long], [Define as the appropriate size_t type])
-	AC_DEFINE([XERCES_SIZE_MAX], [ULONG_MAX], [Define as the appropriate SIZE_MAX macro]))
-
-AS_IF([test x$ac_cv_type_ssize_t = xyes],
-	AC_DEFINE([XERCES_SSIZE_T], [ssize_t], [Define as the appropriate ssize_t type])
-	AC_DEFINE([XERCES_SSIZE_MAX], [SSIZE_MAX], [Define as the appropriate SSIZE_MAX macro]),
-	AC_DEFINE([XERCES_SSIZE_T], [long], [Define as the appropriate ssize_t type])
-	AC_DEFINE([XERCES_SSIZE_MAX], [LONG_MAX], [Define as the appropriate SSIZE_MAX macro]))
-
 AC_OUTPUT
 
 AC_MSG_NOTICE
diff --git a/m4/xerces_int_types.m4 b/m4/xerces_int_types.m4
deleted file mode 100644
index 7e665a2..0000000
--- a/m4/xerces_int_types.m4
+++ /dev/null
@@ -1,183 +0,0 @@
-dnl @synopsis XERCES_INT_TYPES
-dnl
-dnl Determines what int types to use for various
-dnl Xerces standard integer types.
-dnl
-dnl @category C
-dnl @author James Berry
-dnl @version 2005-06-07
-dnl @license AllPermissive
-dnl
-dnl $Id$
-
-AC_DEFUN([XERCES_INT_TYPES],
-	[
-	AC_CHECK_HEADERS([inttypes.h])
-	AC_CHECK_SIZEOF(short)
-	AC_CHECK_SIZEOF(int)
-	AC_CHECK_SIZEOF(long)
-	AC_CHECK_SIZEOF(long long)
-	AC_CHECK_SIZEOF(__int64)
-	AC_CHECK_TYPE(int16_t)
-	AC_CHECK_TYPE(int32_t)
-	AC_CHECK_TYPE(int64_t)
-	AC_CHECK_TYPE(uint16_t)
-	AC_CHECK_TYPE(uint32_t)
-	AC_CHECK_TYPE(uint64_t)
-
-	#
-	# Select a signed 16 bit integer type
-	#
-	AC_CACHE_CHECK([for an appropriate signed 16 bit integer type], [xerces_cv_type_s16bit_int], [
-		AS_IF([test x$ac_cv_header_inttypes_h = xyes && test x$ac_cv_type_int16_t = xyes],
-			[xerces_cv_type_s16bit_int=int16_t],
-			[
-				case $ac_cv_sizeof_int in
-				2*) xerces_cv_type_s16bit_int=int;;
-				*)
-					case $ac_cv_sizeof_short in
-					2*) xerces_cv_type_s16bit_int=short;;
-					*)  AC_MSG_ERROR([Couldn't find a signed 16 bit int type]);;
-					esac
-					;;
-				esac
-			])
-	])
-
-	#
-	# Select an unsigned 16 bit integer type
-	#
-	AC_CACHE_CHECK([for an appropriate unsigned 16 bit integer type], [xerces_cv_type_u16bit_int], [
-		AS_IF([test x$ac_cv_header_inttypes_h = xyes && test x$ac_cv_type_uint16_t = xyes],
-			[xerces_cv_type_u16bit_int=uint16_t],
-			[
-				case $ac_cv_sizeof_int in
-				2*) xerces_cv_type_u16bit_int="unsigned int";;
-				*)
-					case $ac_cv_sizeof_short in
-					2*) xerces_cv_type_u16bit_int="unsigned short";;
-					*)  AC_MSG_ERROR([Couldn't find an unsigned 16 bit int type]);;
-					esac
-					;;
-				esac
-			])
-	])
-
-
-	#
-	# Select a signed 32 bit integer type
-	#
-	AC_CACHE_CHECK([for an appropriate signed 32 bit integer type], [xerces_cv_type_s32bit_int], [
-		AS_IF([test x$ac_cv_header_inttypes_h = xyes && test x$ac_cv_type_int32_t = xyes],
-			[xerces_cv_type_s32bit_int=int32_t],
-			[
-				case $ac_cv_sizeof_int in
-				4*) xerces_cv_type_s32bit_int=int;;
-				*)
-					case $ac_cv_sizeof_long in
-					4*) xerces_cv_type_s32bit_int=long;;
-					*)  AC_MSG_ERROR([Couldn't find a signed 32 bit int type]);;
-					esac
-					;;
-				esac
-			])
-	])
-
-	#
-	# Select an unsigned 32 bit integer type
-	#
-	AC_CACHE_CHECK([for an appropriate unsigned 32 bit integer type], [xerces_cv_type_u32bit_int], [
-		AS_IF([test x$ac_cv_header_inttypes_h = xyes && test x$ac_cv_type_uint32_t = xyes],
-			[xerces_cv_type_u32bit_int=uint32_t],
-			[
-				case $ac_cv_sizeof_int in
-				4*) xerces_cv_type_u32bit_int="unsigned int";;
-				*)
-					case $ac_cv_sizeof_long in
-					4*) xerces_cv_type_u32bit_int="unsigned long";;
-					*)  AC_MSG_ERROR([Couldn't find an unsigned 32 bit int type]);;
-					esac
-					;;
-				esac
-			])
-	])
-
-	#
-	# Select an signed 64 bit integer type
-	#
-	AC_CACHE_CHECK([for an appropriate signed 64 bit integer type], [xerces_cv_type_s64bit_int], [
-		AS_IF([test x$ac_cv_header_inttypes_h = xyes && test x$ac_cv_type_int64_t = xyes],
-			[
-                        	xerces_cv_type_s64bit_int=int64_t
-			 	xerces_cv_sizeof_int64=8
-			],
-			[
-				case $ac_cv_sizeof_int in
-				8*) xerces_cv_type_s64bit_int="int"
-                                    xerces_cv_sizeof_int64=8
-				    ;;
-				*)
-					case $ac_cv_sizeof_long in
-					8*) xerces_cv_type_s64bit_int="long"
-                                            xerces_cv_sizeof_int64=8
-                                            ;;
-					*)
-						case $ac_cv_sizeof_long_long in
-						8*) xerces_cv_type_s64bit_int="long long"
-                                                    xerces_cv_sizeof_int64=8
-                                                    ;;
-						*)
-							case $ac_cv_sizeof___int64 in
-							8*) xerces_cv_type_s64bit_int="__int64"
-                                                            xerces_cv_sizeof_int64=8
-                                                            ;;
-							*)  xerces_cv_type_s64bit_int=$xerces_cv_type_s32bit_int
-                                                            xerces_cv_sizeof_int64=4
-                                                            ;;
-							esac
-							;;
-						esac
-						;;
-					esac
-					;;
-				esac
-			])
-	])
-
-	#
-	# Select an unsigned 64 bit integer type
-	#
-	AC_CACHE_CHECK([for an appropriate unsigned 64 bit integer type], [xerces_cv_type_u64bit_int], [
-		AS_IF([test x$ac_cv_header_inttypes_h = xyes && test x$ac_cv_type_uint64_t = xyes],
-			[xerces_cv_type_u64bit_int=uint64_t],
-			[
-				case $ac_cv_sizeof_int in
-				8*) xerces_cv_type_u64bit_int="unsigned int";;
-				*)
-					case $ac_cv_sizeof_long in
-					8*) xerces_cv_type_u64bit_int="unsigned long";;
-					*)
-						case $ac_cv_sizeof_long_long in
-						8*) xerces_cv_type_u64bit_int="unsigned long long";;
-						*)
-							case $ac_cv_sizeof___int64 in
-							8*) xerces_cv_type_u64bit_int="unsigned __int64";;
-							*)  xerces_cv_type_u64bit_int=$xerces_cv_type_u32bit_int;;
-							esac
-							;;
-						esac
-						;;
-					esac
-					;;
-				esac
-			])
-	])
-
-	AC_DEFINE_UNQUOTED([XERCES_S16BIT_INT], $xerces_cv_type_s16bit_int, [An appropriate signed 16 bit integer type])
-	AC_DEFINE_UNQUOTED([XERCES_U16BIT_INT], $xerces_cv_type_u16bit_int, [An appropriate unsigned 16 bit integer type])
-	AC_DEFINE_UNQUOTED([XERCES_S32BIT_INT], $xerces_cv_type_s32bit_int, [An appropriate signed 32 bit integer type])
-	AC_DEFINE_UNQUOTED([XERCES_U32BIT_INT], $xerces_cv_type_u32bit_int, [An appropriate unsigned 32 bit integer type])
-	AC_DEFINE_UNQUOTED([XERCES_S64BIT_INT], $xerces_cv_type_s64bit_int, [An appropriate signed 64 bit integer type])
-	AC_DEFINE_UNQUOTED([XERCES_U64BIT_INT], $xerces_cv_type_u64bit_int, [An appropriate unsigned 64 bit integer type])
-	]
-)
diff --git a/m4/xerces_xmlch_selection.m4 b/m4/xerces_xmlch_selection.m4
index a6f7156..1ba25af 100644
--- a/m4/xerces_xmlch_selection.m4
+++ b/m4/xerces_xmlch_selection.m4
@@ -122,14 +122,14 @@
 
         *-uint16_t-*)
             xmlch=uint16_t
-            xmlch_type=$xerces_cv_type_u16bit_int
+            xmlch_type=uint16_t
             break
             ;;
 
         *)
             AS_IF([test $i -eq 2], [
                 xmlch=uint16_t
-                xmlch_type=$xerces_cv_type_u16bit_int
+                xmlch_type=uint16_t
                 AC_MSG_RESULT([none available; falling back to uint16_t])
                 ]
             )
diff --git a/src/xercesc/framework/psvi/XSValue.cpp b/src/xercesc/framework/psvi/XSValue.cpp
index 107252e..5581cb8 100644
--- a/src/xercesc/framework/psvi/XSValue.cpp
+++ b/src/xercesc/framework/psvi/XSValue.cpp
@@ -25,6 +25,7 @@
 #include <ctype.h>
 #include <math.h>
 #include <float.h>
+#include <limits>
 
 #include <xercesc/framework/psvi/XSValue.hpp>
 
@@ -95,21 +96,21 @@
  *    dt_ENTITY                           str              [4] NCName           NA             content
  *    ---------------------------------------------------------------------------------------------------------
  * 30 dt_ENTITIES                         str              ws seped ENTITY      NA             content
- *    dt_integer               num                         lexical              yes            long
- *    dt_nonPositiveInteger    num                         lexical              yes            long
- *    dt_negativeInteger       num                         lexical              yes            long
- *    dt_long                  num                         lexical              yes            long
+ *    dt_integer               num                         lexical              yes            int64_t
+ *    dt_nonPositiveInteger    num                         lexical              yes            int64_t
+ *    dt_negativeInteger       num                         lexical              yes            int64_t
+ *    dt_long                  num                         lexical              yes            int64_t
  *    ---------------------------------------------------------------------------------------------------------
- * 35 dt_int                   num                         lexical              yes            int
- *    dt_short                 num                         lexical              yes            short
- *    dt_byte                  num                         lexical              yes            char
- *    dt_nonNegativeInteger    num                         lexical              yes            unsigned long
- *    dt_unsignedLong          num                         lexical              yes            unsigned long
+ * 35 dt_int                   num                         lexical              yes            int32_t
+ *    dt_short                 num                         lexical              yes            int16_t
+ *    dt_byte                  num                         lexical              yes            int8_t
+ *    dt_nonNegativeInteger    num                         lexical              yes            uint64_t
+ *    dt_unsignedLong          num                         lexical              yes            uint64_t
  *    ---------------------------------------------------------------------------------------------------------
- * 40 dt_unsignedInt           num                         lexical              yes            unsigned int
- *    dt_unsignedShort         num                         lexical              yes            unsigned short
- *    dt_unsignedByte          num                         lexical              yes            unsigned char
- *    dt_positiveInteger       num                         lexical              yes            unsigned long
+ * 40 dt_unsignedInt           num                         lexical              yes            uint32_t
+ *    dt_unsignedShort         num                         lexical              yes            uint16_t
+ *    dt_unsignedByte          num                         lexical              yes            uint8_t
+ *    dt_positiveInteger       num                         lexical              yes            uint64_t
  *
  ***/
 
@@ -1316,25 +1317,25 @@
                     retVal->fData.fValue.f_long = actVal.f_long;
                     break;
                 case XSValue::dt_int:
-                    retVal->fData.fValue.f_int = (int) actVal.f_long;
+                    retVal->fData.fValue.f_int = static_cast<int32_t>(actVal.f_long);
                     break;
                 case XSValue::dt_short:
-                    retVal->fData.fValue.f_short = (short) actVal.f_long;
+                    retVal->fData.fValue.f_short = static_cast<int16_t>(actVal.f_long);
                     break;
                 case XSValue::dt_byte:
-                    retVal->fData.fValue.f_char = (char) actVal.f_long;
+                    retVal->fData.fValue.f_char = static_cast<int8_t>(actVal.f_long);
                     break;
                 case XSValue::dt_unsignedLong:
                     retVal->fData.fValue.f_ulong = actVal.f_ulong;
                     break;
                 case XSValue::dt_unsignedInt:
-                    retVal->fData.fValue.f_uint = (unsigned int) actVal.f_ulong;
+                    retVal->fData.fValue.f_uint = static_cast<uint32_t>(actVal.f_ulong);
                     break;
                 case XSValue::dt_unsignedShort:
-                    retVal->fData.fValue.f_ushort = (unsigned short) actVal.f_ulong;
+                    retVal->fData.fValue.f_ushort = static_cast<uint16_t>(actVal.f_ulong);
                     break;
                 case XSValue::dt_unsignedByte:
-                    retVal->fData.fValue.f_uchar = (unsigned char) actVal.f_ulong;
+                    retVal->fData.fValue.f_uchar = static_cast<uint8_t>(actVal.f_ulong);
                     break;
                 default:
                     return 0;
@@ -1570,7 +1571,7 @@
 
     if (XSValue::numericSign[datatype])
     {
-        retVal.f_long = strtol(nptr, &endptr, (int)10);
+        retVal.f_long = strtoll(nptr, &endptr, (int)10);
     }
     else
     {
@@ -1580,7 +1581,7 @@
             return false;
         }
 
-        retVal.f_ulong = strtoul(nptr, &endptr, (int)10);
+        retVal.f_ulong = strtoull(nptr, &endptr, (int)10);
     }
 
     // need to check out-of-bounds before checking erange...
@@ -1601,8 +1602,8 @@
             break;
         case XSValue::dt_int:
             // strtol will set value to LONG_MIN/LONG_MAX if ERANGE error
-            if ((retVal.f_long < INT_MIN) ||
-                (retVal.f_long > INT_MAX) ||
+            if ((retVal.f_long < std::numeric_limits<int32_t>::min()) ||
+                (retVal.f_long > std::numeric_limits<int32_t>::max()) ||
                 (errno == ERANGE))
             {
                 status = st_FOCA0002;
@@ -1610,16 +1611,16 @@
             }
             break;
         case XSValue::dt_short:
-            if ((retVal.f_long < SHRT_MIN) ||
-                (retVal.f_long > SHRT_MAX))
+            if ((retVal.f_long < std::numeric_limits<int16_t>::min()) ||
+                (retVal.f_long > std::numeric_limits<int16_t>::max()))
             {
                 status = st_FOCA0002;
                 return false;
             }
             break;
         case XSValue::dt_byte:
-            if ((retVal.f_long < SCHAR_MIN) ||
-                (retVal.f_long > SCHAR_MAX))
+            if ((retVal.f_long < std::numeric_limits<int8_t>::min()) ||
+                (retVal.f_long > std::numeric_limits<int8_t>::max()))
             {
                 status = st_FOCA0002;
                 return false;
@@ -1627,7 +1628,7 @@
             break;
         case XSValue::dt_unsignedInt:
             // strtoul will set value to LONG_INT if ERANGE error
-            if ((retVal.f_ulong > UINT_MAX)  ||
+            if ((retVal.f_ulong > std::numeric_limits<uint32_t>::max())  ||
                 (errno == ERANGE))
             {
                 status = st_FOCA0002;
@@ -1635,14 +1636,14 @@
             }
             break;
         case XSValue::dt_unsignedShort:
-            if (retVal.f_ulong > USHRT_MAX)
+            if (retVal.f_ulong > std::numeric_limits<uint16_t>::max())
             {
                 status = st_FOCA0002;
                 return false;
             }
             break;
         case XSValue::dt_unsignedByte:
-            if (retVal.f_ulong > UCHAR_MAX)
+            if (retVal.f_ulong > std::numeric_limits<uint8_t>::max())
             {
                 status = st_FOCA0002;
                 return false;
diff --git a/src/xercesc/framework/psvi/XSValue.hpp b/src/xercesc/framework/psvi/XSValue.hpp
index 8ec086b..ee212a8 100644
--- a/src/xercesc/framework/psvi/XSValue.hpp
+++ b/src/xercesc/framework/psvi/XSValue.hpp
@@ -205,14 +205,14 @@
 
         union {
                          bool      f_bool;
-                         char      f_char;
-                unsigned char      f_uchar;
-                         short     f_short;
-                unsigned short     f_ushort;
-                         int       f_int;
-                unsigned int       f_uint;
-                         long      f_long;
-                unsigned long      f_ulong;
+                         int8_t    f_char;
+                         uint8_t   f_uchar;
+                         int16_t   f_short;
+                         uint16_t  f_ushort;
+                         int32_t   f_int;
+                         uint32_t  f_uint;
+                         int64_t   f_long;
+                         uint64_t  f_ulong;
                          float     f_float;
                          double    f_double;
                          XMLCh*    f_strVal;
@@ -253,8 +253,8 @@
 
     typedef union
     {
-                long  f_long;
-       unsigned long  f_ulong;
+      int64_t  f_long;
+      uint64_t f_ulong;
     } t_value;
 
     /** @name Constructors */
diff --git a/src/xercesc/internal/XMLScanner.cpp b/src/xercesc/internal/XMLScanner.cpp
index e7532f5..af10f4c 100644
--- a/src/xercesc/internal/XMLScanner.cpp
+++ b/src/xercesc/internal/XMLScanner.cpp
@@ -964,8 +964,8 @@
                                 , const unsigned int    maxSysIdChars
                                 ,       XMLCh* const    pubIdToFill
                                 , const unsigned int    maxPubIdChars
-                                ,       XMLSSize_t&     lineToFill
-                                ,       XMLSSize_t&     colToFill) const
+                                ,       XMLSize_t&      lineToFill
+                                ,       XMLSize_t&      colToFill) const
 {
     // Create a local info object and get it filled in by the reader manager
     ReaderMgr::LastExtEntityInfo lastInfo;
diff --git a/src/xercesc/internal/XMLScanner.hpp b/src/xercesc/internal/XMLScanner.hpp
index 30fc72d..7a6849a 100644
--- a/src/xercesc/internal/XMLScanner.hpp
+++ b/src/xercesc/internal/XMLScanner.hpp
@@ -245,8 +245,8 @@
         , const unsigned int    maxSysIdChars
         ,       XMLCh* const    pubIdToFill
         , const unsigned int    maxPubIdChars
-        ,       XMLSSize_t&     lineToFill
-        ,       XMLSSize_t&     colToFill
+        ,       XMLSize_t&      lineToFill
+        ,       XMLSize_t&      colToFill
     ) const;*/
     const Locator* getLocator() const;
     const ReaderMgr* getReaderMgr() const;
diff --git a/src/xercesc/util/Base64.cpp b/src/xercesc/util/Base64.cpp
index baa8f25..747af86 100644
--- a/src/xercesc/util/Base64.cpp
+++ b/src/xercesc/util/Base64.cpp
@@ -23,6 +23,7 @@
 #include <xercesc/util/Janitor.hpp>
 #include <xercesc/internal/XMLReader.hpp>
 #include <xercesc/framework/MemoryManager.hpp>
+#include <limits>
 
 namespace XERCES_CPP_NAMESPACE {
 
@@ -146,7 +147,7 @@
     if (!inputData || !outputLength) {
         return 0;
     }
-    else if (XERCES_SIZE_MAX - inputLength < 2) {
+    else if (std::numeric_limits<size_t>::max() - inputLength < 2) {
         return 0;
     }
 
diff --git a/src/xercesc/util/BitOps.hpp b/src/xercesc/util/BitOps.hpp
index 3f9d871..dacda1f 100644
--- a/src/xercesc/util/BitOps.hpp
+++ b/src/xercesc/util/BitOps.hpp
@@ -38,6 +38,12 @@
         return XMLCh(((toSwap >> 8) | (toSwap << 8)) & 0xFFFF);
     }
 
+    static inline UTF16Ch swapBytes(const UTF16Ch toSwap)
+    {
+        //The mask is required to overcome a compiler error on solaris
+        return XMLCh(((toSwap >> 8) | (toSwap << 8)) & 0xFFFF);
+    }
+
     static inline unsigned int swapBytes(const XMLUInt32 toSwap)
     {
         return
@@ -49,6 +55,16 @@
         );
     }
 
+    static inline UCS4Ch swapBytes(const UCS4Ch toSwap)
+    {
+        return
+        (
+            (toSwap >> 24)
+            | (toSwap << 24)
+            | ((toSwap & 0xFF00) << 8)
+            | ((toSwap & 0xFF0000) >> 8)
+        );
+    }
 
 
 protected :
diff --git a/src/xercesc/util/XMLUTF16Transcoder.cpp b/src/xercesc/util/XMLUTF16Transcoder.cpp
index 2233f8a..04a7acd 100644
--- a/src/xercesc/util/XMLUTF16Transcoder.cpp
+++ b/src/xercesc/util/XMLUTF16Transcoder.cpp
@@ -156,7 +156,7 @@
         for (XMLSize_t index = 0; index < countToDo; index++)
         {
             // To avoid flakey compilers, use a temp
-            const UTF16Ch tmpCh = UTF16Ch(*srcPtr++);
+            const UTF16Ch tmpCh = static_cast<UTF16Ch>(*srcPtr++);
             *outPtr++ = BitOps::swapBytes(tmpCh);
         }
     }
diff --git a/src/xercesc/util/XercesDefs.hpp b/src/xercesc/util/XercesDefs.hpp
index 8b2bbf5..0468317 100644
--- a/src/xercesc/util/XercesDefs.hpp
+++ b/src/xercesc/util/XercesDefs.hpp
@@ -46,25 +46,89 @@
 #include	<xercesc/util/Xerces_autoconf_config.hpp>
 
 // ---------------------------------------------------------------------------
+//  Include standard headers that we may rely on below.
+// ---------------------------------------------------------------------------
+#include <cstdint>
+#include <cstddef>
+#ifdef XERCES_INCLUDE_WCHAR_H
+#include <cwchar>
+#endif
+
+// ---------------------------------------------------------------------------
 //  Include the Xerces version information; this is kept in a separate file to
 //  make modification simple and obvious. Updates to the version header file
 // ---------------------------------------------------------------------------
 #include    <xercesc/util/XercesVersion.hpp>
 
+/**
+ * Unsigned integer of at least 64 bits.
+ */
+typedef uint64_t                                XMLSize_t;
+
+/**
+ * Signed integer of at least 64 bits.
+ */
+typedef int64_t                                XMLSSize_t;
+
+/**
+ * XML Character.  Platform-dependent 16-bit type.
+ */
+typedef XERCES_XMLCH_T                          XMLCh;
 
 // ---------------------------------------------------------------------------
-//  Some general typedefs that are defined for internal flexibility.
-//
-//  Note  that UTF16Ch is fixed at 16 bits, whereas XMLCh floats in size per
-//  platform, to whatever is the native wide char format there. UCS4Ch is
-//  fixed at 32 bits. The types we defined them in terms of are defined per
-//  compiler, using whatever types are the right ones for them to get these
-//  16/32 bit sizes.
-//
+//  Integer definitions
 // ---------------------------------------------------------------------------
-typedef unsigned char       XMLByte;
-typedef XMLUInt16           UTF16Ch;
-typedef XMLUInt32           UCS4Ch;
+
+/**
+ * Unsigned 16-bit integer.
+ */
+typedef uint16_t                                XMLUInt16;
+/**
+ * Unsigned 32-bit integer.
+ */
+typedef uint32_t                                XMLUInt32;
+/**
+ * Unsigned 64-bit integer.
+ */
+typedef uint64_t                                XMLUInt64;
+
+/**
+ * Signed 16-bit integer.
+ */
+typedef int16_t                                 XMLInt16;
+/**
+ * Signed 32-bit integer.
+ */
+typedef int32_t                                 XMLInt32;
+/**
+ * Signed 64-bit integer.
+ */
+typedef int64_t                                 XMLInt64;
+
+/**
+ * File position.
+ */
+typedef uint64_t                                XMLFilePos;
+
+/**
+ * File location (line number, character position).
+ */
+typedef uint64_t                                XMLFileLoc;
+
+/**
+ * Byte.
+ */
+typedef uint8_t             XMLByte;
+
+/**
+ * UTF-16 character; fixed at 16 bits.
+ */
+typedef char16_t            UTF16Ch;
+
+/**
+ * UCS-4 character; fixed at 32 bits.
+ */
+typedef char32_t            UCS4Ch;
 
 
 // ---------------------------------------------------------------------------
diff --git a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in
index 79063d5..8870e03 100644
--- a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in
+++ b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in
@@ -48,24 +48,12 @@
 // ---------------------------------------------------------------------------
 //  These defines are set by cmake as appropriate for the platform.
 // ---------------------------------------------------------------------------
-#define XERCES_AUTOCONF 1
 #cmakedefine XERCES_HAVE_SYS_TYPES_H 1
-#cmakedefine XERCES_HAVE_CSTDINT 1
-#cmakedefine XERCES_HAVE_STDINT_H 1
-#cmakedefine XERCES_HAVE_INTTYPES_H 1
 #cmakedefine XERCES_HAVE_INTRIN_H 1
 #cmakedefine XERCES_HAVE_EMMINTRIN_H 1
 #cmakedefine XERCES_INCLUDE_WCHAR_H 1
 
-#define XERCES_S16BIT_INT @XERCES_S16BIT_INT@
-#define XERCES_S32BIT_INT @XERCES_S32BIT_INT@
-#define XERCES_S64BIT_INT @XERCES_S64BIT_INT@
-#define XERCES_U16BIT_INT @XERCES_U16BIT_INT@
-#define XERCES_U32BIT_INT @XERCES_U32BIT_INT@
-#define XERCES_U64BIT_INT @XERCES_U64BIT_INT@
 #define XERCES_XMLCH_T @XERCES_XMLCH_T@
-#define XERCES_SIZE_T @XERCES_SIZE_T@
-#define XERCES_SSIZE_T @XERCES_SSIZE_T@
 
 #cmakedefine XERCES_LSTRSUPPORT 1
 #cmakedefine XERCES_MFC_SUPPORT 1
@@ -84,63 +72,6 @@
 #endif
 
 // ---------------------------------------------------------------------------
-//  Include standard headers, if available, that we may rely on below.
-// ---------------------------------------------------------------------------
-#if defined(__cplusplus) && defined(XERCES_HAVE_CSTDINT)
-#  include <cstdint>
-#endif
-#if XERCES_HAVE_STDINT_H
-#  include <stdint.h>
-#endif
-#if XERCES_HAVE_INTTYPES_H
-#  include <inttypes.h>
-#endif
-#if XERCES_HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
-#if XERCES_INCLUDE_WCHAR_H
-#  include <wchar.h>
-#endif
-
-// ---------------------------------------------------------------------------
-//  XMLSize_t is the unsigned integral type.
-// ---------------------------------------------------------------------------
-typedef XERCES_SIZE_T				XMLSize_t;
-typedef XERCES_SSIZE_T				XMLSSize_t;
-
-#define XERCES_SIZE_MAX @XERCES_SIZE_MAX@
-#define XERCES_SSIZE_MAX @XERCES_SSIZE_MAX@
-
-// ---------------------------------------------------------------------------
-//  Define our version of the XML character
-// ---------------------------------------------------------------------------
-typedef XERCES_XMLCH_T				XMLCh;
-
-// ---------------------------------------------------------------------------
-//  Define unsigned 16, 32, and 64 bit integers
-// ---------------------------------------------------------------------------
-typedef XERCES_U16BIT_INT			XMLUInt16;
-typedef XERCES_U32BIT_INT			XMLUInt32;
-typedef XERCES_U64BIT_INT			XMLUInt64;
-
-// ---------------------------------------------------------------------------
-//  Define signed 16, 32, and 64 bit integers
-// ---------------------------------------------------------------------------
-typedef XERCES_S16BIT_INT			XMLInt16;
-typedef XERCES_S32BIT_INT			XMLInt32;
-typedef XERCES_S64BIT_INT			XMLInt64;
-
-// ---------------------------------------------------------------------------
-//  XMLFilePos is the type used to represent a file position.
-// ---------------------------------------------------------------------------
-typedef XMLUInt64			        XMLFilePos;
-
-// ---------------------------------------------------------------------------
-//  XMLFileLoc is the type used to represent a file location (line/column).
-// ---------------------------------------------------------------------------
-typedef XMLUInt64			        XMLFileLoc;
-
-// ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it is on in the build environment
 // ---------------------------------------------------------------------------
 #if defined(_DEBUG)
diff --git a/src/xercesc/util/Xerces_autoconf_config.hpp.in b/src/xercesc/util/Xerces_autoconf_config.hpp.in
index cd9f04d..0edfdbe 100644
--- a/src/xercesc/util/Xerces_autoconf_config.hpp.in
+++ b/src/xercesc/util/Xerces_autoconf_config.hpp.in
@@ -49,24 +49,12 @@
 //  These defines are set by configure as appropriate for the platform.
 // ---------------------------------------------------------------------------
 
-#undef XERCES_AUTOCONF
-#undef XERCES_HAVE_CSTDINT
-#undef XERCES_HAVE_STDINT_H
 #undef XERCES_HAVE_SYS_TYPES_H
-#undef XERCES_HAVE_INTTYPES_H
 #undef XERCES_HAVE_INTRIN_H
 #undef XERCES_HAVE_EMMINTRIN_H
 #undef XERCES_INCLUDE_WCHAR_H
 
-#undef XERCES_S16BIT_INT
-#undef XERCES_S32BIT_INT
-#undef XERCES_S64BIT_INT
-#undef XERCES_U16BIT_INT
-#undef XERCES_U32BIT_INT
-#undef XERCES_U64BIT_INT
 #undef XERCES_XMLCH_T
-#undef XERCES_SIZE_T
-#undef XERCES_SSIZE_T
 
 #undef XERCES_LSTRSUPPORT
 
@@ -79,64 +67,6 @@
 #undef XERCES_TEMPLATE_EXTERN
 
 // ---------------------------------------------------------------------------
-//  Include standard headers, if available, that we may rely on below.
-// ---------------------------------------------------------------------------
-#if defined(__cplusplus) && XERCES_HAVE_CSTDINT
-#	include <cstdint>
-#elif XERCES_HAVE_STDINT_H
-#		if defined(__cplusplus)
-#			define __STDC_LIMIT_MACROS
-#		endif
-#		include <stdint.h>
-#endif
-#if XERCES_HAVE_INTTYPES_H
-#	include <inttypes.h>
-#endif
-#if XERCES_HAVE_SYS_TYPES_H
-#	include <sys/types.h>
-#endif
-#if XERCES_INCLUDE_WCHAR_H
-#	include <wchar.h>
-#endif
-
-// ---------------------------------------------------------------------------
-//  XMLSize_t is the unsigned integral type.
-// ---------------------------------------------------------------------------
-typedef XERCES_SIZE_T				XMLSize_t;
-typedef XERCES_SSIZE_T				XMLSSize_t;
-#undef XERCES_SIZE_MAX
-#undef XERCES_SSIZE_MAX
-
-// ---------------------------------------------------------------------------
-//  Define our version of the XML character
-// ---------------------------------------------------------------------------
-typedef XERCES_XMLCH_T				XMLCh;
-
-// ---------------------------------------------------------------------------
-//  Define unsigned 16, 32, and 64 bit integers
-// ---------------------------------------------------------------------------
-typedef XERCES_U16BIT_INT			XMLUInt16;
-typedef XERCES_U32BIT_INT			XMLUInt32;
-typedef XERCES_U64BIT_INT			XMLUInt64;
-
-// ---------------------------------------------------------------------------
-//  Define signed 16, 32, and 64 bit integers
-// ---------------------------------------------------------------------------
-typedef XERCES_S16BIT_INT			XMLInt16;
-typedef XERCES_S32BIT_INT			XMLInt32;
-typedef XERCES_S64BIT_INT			XMLInt64;
-
-// ---------------------------------------------------------------------------
-//  XMLFilePos is the type used to represent a file position.
-// ---------------------------------------------------------------------------
-typedef XMLUInt64			        XMLFilePos;
-
-// ---------------------------------------------------------------------------
-//  XMLFileLoc is the type used to represent a file location (line/column).
-// ---------------------------------------------------------------------------
-typedef XMLUInt64			        XMLFileLoc;
-
-// ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it is on in the build environment
 // ---------------------------------------------------------------------------
 #if defined(_DEBUG)
diff --git a/tests/src/XSValueTest/XSValueTest.cpp b/tests/src/XSValueTest/XSValueTest.cpp
index 1b95625..5991133 100644
--- a/tests/src/XSValueTest/XSValueTest.cpp
+++ b/tests/src/XSValueTest/XSValueTest.cpp
@@ -764,23 +764,14 @@
     const char lex_v_ran64_iv_1[]="18446744073709551616.999";
     const char lex_v_ran64_iv_2[]="999.18446744073709551616";
 
-#if SIZEOF_LONG != 8
-    const char lex_v_ran32_v_1[]="4294967295.999";
-    const char lex_v_ran32_v_2[]="999.4294967295";
-#endif
-//    const char lex_v_ran32_iv_1[]="4294967296.999";
-//    const char lex_v_ran32_iv_2[]="999.4294967296";
-
     const char lex_iv_1[]="12b34.456";
     const char lex_iv_2[]="1234.56.789";
 
     XSValue::XSValue_Data act_v_ran_v_1;   act_v_ran_v_1.fValue.f_double = (double)1234.567;
-#if SIZEOF_LONG == 8
     XSValue::XSValue_Data act_v_ran64_v_1; act_v_ran64_v_1.fValue.f_double = (double)18446744073709551615.999;
     XSValue::XSValue_Data act_v_ran64_v_2; act_v_ran64_v_2.fValue.f_double = (double)999.18446744073709551615;
     //XSValue::XSValue_Data act_v_ran64_iv_1;="18446744073709551616.999";
     //XSValue::XSValue_Data act_v_ran64_iv_2;="999.18446744073709551616";
-#endif
 
     XSValue::XSValue_Data act_v_ran32_v_1; act_v_ran32_v_1.fValue.f_double = (double)4294967295.999;
     XSValue::XSValue_Data act_v_ran32_v_2; act_v_ran32_v_2.fValue.f_double = (double)999.4294967295;
@@ -867,17 +858,10 @@
 
         ACTVALUE_TEST(lex_v_ran_v_1,    dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran_v_1);
 
-#if SIZEOF_LONG == 8
         ACTVALUE_TEST(lex_v_ran64_v_1 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_1);
         ACTVALUE_TEST(lex_v_ran64_v_2 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_2);
         //ACTVALUE_TEST(lex_v_ran64_iv_1, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0001);
         //ACTVALUE_TEST(lex_v_ran64_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0001);
-#else
-        ACTVALUE_TEST(lex_v_ran32_v_1,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_1);
-        ACTVALUE_TEST(lex_v_ran32_v_2,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_2);
-        //ACTVALUE_TEST(lex_v_ran32_iv_1, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0001);
-        //ACTVALUE_TEST(lex_v_ran32_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0001);
-#endif
 
         ACTVALUE_TEST(lex_iv_1,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_1);
         ACTVALUE_TEST(lex_iv_2,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_1);
@@ -1337,20 +1321,11 @@
     const char lex_v_ran64_iv_1[]="+9223372036854775808";
     const char lex_v_ran64_iv_2[]="-9223372036854775809";
 
-#if SIZEOF_LONG != 8
-    const char lex_v_ran32_v_1[]="+2147483647";
-    const char lex_v_ran32_v_2[]="-2147483648";
-    const char lex_v_ran32_iv_1[]="+2147483648";
-    const char lex_v_ran32_iv_2[]="-2147483649";
-#endif
-
-    XSValue::XSValue_Data act_v_ran_v_1;   act_v_ran_v_1.fValue.f_long = (long)1234;
-#if SIZEOF_LONG == 8
-    XSValue::XSValue_Data act_v_ran64_v_1; act_v_ran64_v_1.fValue.f_long = (long)+9223372036854775807;
-    XSValue::XSValue_Data act_v_ran64_v_2; act_v_ran64_v_2.fValue.f_long = (long)-9223372036854775808;
-#endif
-    XSValue::XSValue_Data act_v_ran32_v_1; act_v_ran32_v_1.fValue.f_long = (long)+2147483647;
-    XSValue::XSValue_Data act_v_ran32_v_2; act_v_ran32_v_2.fValue.f_long = (long)-2147483648;
+    XSValue::XSValue_Data act_v_ran_v_1;   act_v_ran_v_1.fValue.f_long = (int64_t)1234ll;
+    XSValue::XSValue_Data act_v_ran64_v_1; act_v_ran64_v_1.fValue.f_long = (int64_t)+9223372036854775807ll;
+    XSValue::XSValue_Data act_v_ran64_v_2; act_v_ran64_v_2.fValue.f_long = (int64_t)-9223372036854775808ll;
+    XSValue::XSValue_Data act_v_ran32_v_1; act_v_ran32_v_1.fValue.f_long = (int64_t)+2147483647ll;
+    XSValue::XSValue_Data act_v_ran32_v_2; act_v_ran32_v_2.fValue.f_long = (int64_t)-2147483648ll;
 
     const char lex_v_ran64_v_1_canrep[]="9223372036854775807";
     const char lex_v_ran64_v_2_canrep[]="-9223372036854775808";
@@ -1428,17 +1403,10 @@
 
         ACTVALUE_TEST(lex_v_ran_v_1,    dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran_v_1);
 
-#if SIZEOF_LONG == 8
         ACTVALUE_TEST(lex_v_ran64_v_1 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_1);
         ACTVALUE_TEST(lex_v_ran64_v_2 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_2);
         ACTVALUE_TEST(lex_v_ran64_iv_1, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran64_v_1);
         ACTVALUE_TEST(lex_v_ran64_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran64_v_1);
-#else
-        ACTVALUE_TEST(lex_v_ran32_v_1,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_1);
-        ACTVALUE_TEST(lex_v_ran32_v_2,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_2);
-        ACTVALUE_TEST(lex_v_ran32_iv_1, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran32_v_1);
-        ACTVALUE_TEST(lex_v_ran32_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran32_v_1);
-#endif
 
         ACTVALUE_TEST(lex_iv_1,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_1);
         ACTVALUE_TEST(lex_iv_2,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_1);
@@ -1496,16 +1464,9 @@
     const char lex_v_ran64_v_2[]="-9223372036854775808";
     const char lex_v_ran64_iv_2[]="-9223372036854775809";
 
-#if SIZEOF_LONG != 8
-    const char lex_v_ran32_v_2[]="-2147483648";
-    const char lex_v_ran32_iv_2[]="-2147483649";
-#endif
-
-    XSValue::XSValue_Data act_v_ran_v_1;     act_v_ran_v_1.fValue.f_long = (long)-1234;
-#if SIZEOF_LONG == 8
-    XSValue::XSValue_Data act_v_ran64_v_2;   act_v_ran64_v_2.fValue.f_long = (long)-9223372036854775808;
-#endif
-    XSValue::XSValue_Data act_v_ran32_v_2;   act_v_ran32_v_2.fValue.f_long = (long)-2147483648;
+    XSValue::XSValue_Data act_v_ran_v_1;     act_v_ran_v_1.fValue.f_long = (int64_t)-1234ll;
+    XSValue::XSValue_Data act_v_ran64_v_2;   act_v_ran64_v_2.fValue.f_long = (int64_t)-9223372036854775808ll;
+    XSValue::XSValue_Data act_v_ran32_v_2;   act_v_ran32_v_2.fValue.f_long = (int64_t)-2147483648ll;
 
     const char lex_v_ran64_v_2_canrep[]="-9223372036854775808";
     const char lex_v_ran64_iv_2_canrep[]="-9223372036854775809";
@@ -1582,13 +1543,8 @@
 
         ACTVALUE_TEST(lex_v_ran_v_1,    dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran_v_1);
 
-#if SIZEOF_LONG == 8
         ACTVALUE_TEST(lex_v_ran64_v_2 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_2);
         ACTVALUE_TEST(lex_v_ran64_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran64_v_2);
-#else
-        ACTVALUE_TEST(lex_v_ran32_v_2,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_2);
-        ACTVALUE_TEST(lex_v_ran32_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran32_v_2);
-#endif
 
         ACTVALUE_TEST(lex_iv_1,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_2);
         ACTVALUE_TEST(lex_iv_2,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_2);
@@ -1644,16 +1600,9 @@
     const char lex_v_ran64_v_2[]="-9223372036854775808";
     const char lex_v_ran64_iv_2[]="-9223372036854775809";
 
-#if SIZEOF_LONG != 8
-    const char lex_v_ran32_v_2[]="-2147483648";
-    const char lex_v_ran32_iv_2[]="-2147483649";
-#endif
-
-    XSValue::XSValue_Data act_v_ran_v_1;     act_v_ran_v_1.fValue.f_long = (long)-1234;
-#if SIZEOF_LONG == 8
-    XSValue::XSValue_Data act_v_ran64_v_2;   act_v_ran64_v_2.fValue.f_long = (long)-9223372036854775808;
-#endif
-    XSValue::XSValue_Data act_v_ran32_v_2;   act_v_ran32_v_2.fValue.f_long = (long)-2147483648;
+    XSValue::XSValue_Data act_v_ran_v_1;     act_v_ran_v_1.fValue.f_long = (int64_t)-1234ll;
+    XSValue::XSValue_Data act_v_ran64_v_2;   act_v_ran64_v_2.fValue.f_long = (int64_t)-9223372036854775808ll;
+    XSValue::XSValue_Data act_v_ran32_v_2;   act_v_ran32_v_2.fValue.f_long = (int64_t)-2147483648ll;
 
     const char lex_v_ran64_v_2_canrep[]="-9223372036854775808";
     const char lex_v_ran64_iv_2_canrep[]="-9223372036854775809";
@@ -1727,13 +1676,8 @@
 
         ACTVALUE_TEST(lex_v_ran_v_1,    dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran_v_1);
 
-#if SIZEOF_LONG == 8
         ACTVALUE_TEST(lex_v_ran64_v_2 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_2);
         ACTVALUE_TEST(lex_v_ran64_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran64_v_2);
-#else
-        ACTVALUE_TEST(lex_v_ran32_v_2,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_2);
-        ACTVALUE_TEST(lex_v_ran32_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran32_v_2);
-#endif
 
         ACTVALUE_TEST(lex_iv_1,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_2);
         ACTVALUE_TEST(lex_iv_2,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_2);
@@ -1788,20 +1732,11 @@
     const char lex_v_ran64_iv_1[]="+9223372036854775808";
     const char lex_v_ran64_iv_2[]="-9223372036854775809";
 
-#if SIZEOF_LONG != 8
-    const char lex_v_ran32_v_1[]="+2147483647";
-    const char lex_v_ran32_v_2[]="-2147483648";
-    const char lex_v_ran32_iv_1[]="+2147483648";
-    const char lex_v_ran32_iv_2[]="-2147483649";
-#endif
-
-    XSValue::XSValue_Data act_v_ran_v_1;     act_v_ran_v_1.fValue.f_long = (long)1234;
-#if SIZEOF_LONG == 8
-    XSValue::XSValue_Data act_v_ran64_v_1;   act_v_ran64_v_1.fValue.f_long = (long)+9223372036854775807;
-    XSValue::XSValue_Data act_v_ran64_v_2;   act_v_ran64_v_2.fValue.f_long = (long)-9223372036854775808;
-#endif
-    XSValue::XSValue_Data act_v_ran32_v_1;   act_v_ran32_v_1.fValue.f_long = (long)+2147483647;
-    XSValue::XSValue_Data act_v_ran32_v_2;   act_v_ran32_v_2.fValue.f_long = (long)-2147483648;
+    XSValue::XSValue_Data act_v_ran_v_1;     act_v_ran_v_1.fValue.f_long = (int64_t)1234ll;
+    XSValue::XSValue_Data act_v_ran64_v_1;   act_v_ran64_v_1.fValue.f_long = (int64_t)+9223372036854775807ll;
+    XSValue::XSValue_Data act_v_ran64_v_2;   act_v_ran64_v_2.fValue.f_long = (int64_t)-9223372036854775808ll;
+    XSValue::XSValue_Data act_v_ran32_v_1;   act_v_ran32_v_1.fValue.f_long = (int64_t)+2147483647ll;
+    XSValue::XSValue_Data act_v_ran32_v_2;   act_v_ran32_v_2.fValue.f_long = (int64_t)-2147483648ll;
 
     const char lex_v_ran64_v_1_canrep[]="9223372036854775807";
     const char lex_v_ran64_v_2_canrep[]="-9223372036854775808";
@@ -1881,17 +1816,10 @@
 
         ACTVALUE_TEST(lex_v_ran_v_1,    dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran_v_1);
 
-#if SIZEOF_LONG == 8
         ACTVALUE_TEST(lex_v_ran64_v_1 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_1);
         ACTVALUE_TEST(lex_v_ran64_v_2 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_2);
         ACTVALUE_TEST(lex_v_ran64_iv_1, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran64_v_1);
         ACTVALUE_TEST(lex_v_ran64_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran64_v_1);
-#else
-        ACTVALUE_TEST(lex_v_ran32_v_1,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_1);
-        ACTVALUE_TEST(lex_v_ran32_v_2,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_2);
-        ACTVALUE_TEST(lex_v_ran32_iv_1, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran32_v_1);
-        ACTVALUE_TEST(lex_v_ran32_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran32_v_1);
-#endif
 
         ACTVALUE_TEST(lex_iv_1,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_1);
         ACTVALUE_TEST(lex_iv_2,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_1);
@@ -2413,16 +2341,9 @@
     const char lex_v_ran64_v_2[]="+18446744073709551615";
     const char lex_v_ran64_iv_2[]="+18446744073709551616";
 
-#if SIZEOF_LONG != 8
-    const char lex_v_ran32_v_2[]="4294967295";
-    const char lex_v_ran32_iv_2[]="4294967296";
-#endif
-
-    XSValue::XSValue_Data act_v_ran_v_1;    act_v_ran_v_1.fValue.f_ulong = (unsigned long)1234;
-#if SIZEOF_LONG == 8
-    XSValue::XSValue_Data act_v_ran64_v_2;  act_v_ran64_v_2.fValue.f_ulong = (unsigned long)+18446744073709551615;
-#endif
-    XSValue::XSValue_Data act_v_ran32_v_2;  act_v_ran32_v_2.fValue.f_ulong = (unsigned long)4294967295;
+    XSValue::XSValue_Data act_v_ran_v_1;    act_v_ran_v_1.fValue.f_ulong = (uint64_t)1234ull;
+    XSValue::XSValue_Data act_v_ran64_v_2;  act_v_ran64_v_2.fValue.f_ulong = (uint64_t)18446744073709551615ull;
+    XSValue::XSValue_Data act_v_ran32_v_2;  act_v_ran32_v_2.fValue.f_ulong = (uint64_t)4294967295ull;
 
     const char lex_v_ran64_v_2_canrep[]="18446744073709551615";
     const char lex_v_ran64_iv_2_canrep[]="18446744073709551616";
@@ -2499,13 +2420,8 @@
 
         ACTVALUE_TEST(lex_v_ran_v_1,    dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran_v_1);
 
-#if SIZEOF_LONG == 8
         ACTVALUE_TEST(lex_v_ran64_v_2 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_2);
         ACTVALUE_TEST(lex_v_ran64_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran64_v_2);
-#else
-        ACTVALUE_TEST(lex_v_ran32_v_2,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_2);
-        ACTVALUE_TEST(lex_v_ran32_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran32_v_2);
-#endif
 
         ACTVALUE_TEST(lex_iv_1,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_2);
         ACTVALUE_TEST(lex_iv_2,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_2);
@@ -2563,20 +2479,11 @@
     const char lex_v_ran64_iv_1[]="+18446744073709551616";
     const char lex_v_ran64_iv_2[]="-1";
 
-#if SIZEOF_LONG != 8
-    const char lex_v_ran32_v_1[]="+4294967295";
-    const char lex_v_ran32_v_2[]="0";
-    const char lex_v_ran32_iv_1[]="4294967296";
-    const char lex_v_ran32_iv_2[]="-1";
-#endif
-
-    XSValue::XSValue_Data act_v_ran_v_1;    act_v_ran_v_1.fValue.f_ulong = (unsigned long)1234;
-#if SIZEOF_LONG == 8
-    XSValue::XSValue_Data act_v_ran64_v_1;  act_v_ran64_v_1.fValue.f_ulong = (unsigned long)+18446744073709551615;
-    XSValue::XSValue_Data act_v_ran64_v_2;  act_v_ran64_v_2.fValue.f_ulong = (unsigned long)0;
-#endif
-    XSValue::XSValue_Data act_v_ran32_v_1;  act_v_ran32_v_1.fValue.f_ulong = (unsigned long)+4294967295;
-    XSValue::XSValue_Data act_v_ran32_v_2;  act_v_ran32_v_2.fValue.f_ulong = (unsigned long)0;
+    XSValue::XSValue_Data act_v_ran_v_1;    act_v_ran_v_1.fValue.f_ulong = (uint64_t)1234ull;
+    XSValue::XSValue_Data act_v_ran64_v_1;  act_v_ran64_v_1.fValue.f_ulong = (uint64_t)18446744073709551615ull;
+    XSValue::XSValue_Data act_v_ran64_v_2;  act_v_ran64_v_2.fValue.f_ulong = (uint64_t)0ull;
+    XSValue::XSValue_Data act_v_ran32_v_1;  act_v_ran32_v_1.fValue.f_ulong = (uint64_t)4294967295ull;
+    XSValue::XSValue_Data act_v_ran32_v_2;  act_v_ran32_v_2.fValue.f_ulong = (uint64_t)0ull;
 
     const char lex_v_ran64_v_1_canrep[]="18446744073709551615";
     const char lex_v_ran64_v_2_canrep[]="0";
@@ -2656,17 +2563,10 @@
 
         ACTVALUE_TEST(lex_v_ran_v_1,    dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran_v_1);
 
-#if SIZEOF_LONG == 8
         ACTVALUE_TEST(lex_v_ran64_v_1 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_1);
         ACTVALUE_TEST(lex_v_ran64_v_2 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_2);
         ACTVALUE_TEST(lex_v_ran64_iv_1, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran64_v_1);
         ACTVALUE_TEST(lex_v_ran64_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran64_v_1);
-#else
-        ACTVALUE_TEST(lex_v_ran32_v_1,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_1);
-        ACTVALUE_TEST(lex_v_ran32_v_2,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_2);
-        ACTVALUE_TEST(lex_v_ran32_iv_1, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran32_v_1);
-        ACTVALUE_TEST(lex_v_ran32_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_1);
-#endif
 
         ACTVALUE_TEST(lex_iv_1,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_1);
         ACTVALUE_TEST(lex_iv_2,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_1);
@@ -3180,16 +3080,9 @@
     const char lex_v_ran64_v_2[]="+18446744073709551615";
     const char lex_v_ran64_iv_2[]="+18446744073709551616";
 
-#if SIZEOF_LONG != 8
-    const char lex_v_ran32_v_2[]="4294967295";
-    const char lex_v_ran32_iv_2[]="4294967296";
-#endif
-
-    XSValue::XSValue_Data act_v_ran_v_1;    act_v_ran_v_1.fValue.f_ulong = (unsigned long)1234;
-#if SIZEOF_LONG == 8
-    XSValue::XSValue_Data act_v_ran64_v_2;  act_v_ran64_v_2.fValue.f_ulong = (unsigned long)+18446744073709551615;
-#endif
-    XSValue::XSValue_Data act_v_ran32_v_2;  act_v_ran32_v_2.fValue.f_ulong = (unsigned long)+4294967295;
+    XSValue::XSValue_Data act_v_ran_v_1;    act_v_ran_v_1.fValue.f_ulong = (uint64_t)1234ull;
+    XSValue::XSValue_Data act_v_ran64_v_2;  act_v_ran64_v_2.fValue.f_ulong = (uint64_t)18446744073709551615ull;
+    XSValue::XSValue_Data act_v_ran32_v_2;  act_v_ran32_v_2.fValue.f_ulong = (uint64_t)4294967295ull;
 
     const char lex_v_ran64_v_2_canrep[]="18446744073709551615";
     const char lex_v_ran64_iv_2_canrep[]="18446744073709551616";
@@ -3265,13 +3158,8 @@
 
         ACTVALUE_TEST(lex_v_ran_v_1,    dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran_v_1);
 
-#if SIZEOF_LONG == 8
         ACTVALUE_TEST(lex_v_ran64_v_2 , dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran64_v_2);
         ACTVALUE_TEST(lex_v_ran64_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran64_v_2);
-#else
-        ACTVALUE_TEST(lex_v_ran32_v_2,  dt, toValidate, EXP_RET_VALUE_TRUE,  DONT_CARE, act_v_ran32_v_2);
-        ACTVALUE_TEST(lex_v_ran32_iv_2, dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0003, act_v_ran32_v_2);
-#endif
 
         ACTVALUE_TEST(lex_iv_1,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_2);
         ACTVALUE_TEST(lex_iv_2,         dt, toValidate, EXP_RET_VALUE_FALSE, XSValue::st_FOCA0002, act_v_ran32_v_2);