From 9fcecba7ccea8b02718c82f5875b5844ea0bc057 Mon Sep 17 00:00:00 2001
From: Rene Rivera
Date: Fri, 18 Jan 2013 21:25:30 -0600
Subject: [PATCH] Most changes from review comments implemented. Remove use of
"#elif" for backward PP compatability. Add BOOST_category_item_AVAILABLE as a
defined, or not, symbol for use with "#ifdef" or "#ifndef". Add documentation
of macros used for detection and version information. Also replace direct use
of BVN(0,0,0) and BVN(0,0,1) with more meaningful macros that are globally
defined, and hence consistent.
---
doc/html/index.html | 2 +-
.../boost_arch_architecture_macros.html | 24 ---
include/boost/predef/architecture.h | 4 +-
include/boost/predef/architecture/alpha.h | 10 +-
include/boost/predef/architecture/amd64.h | 8 +-
include/boost/predef/architecture/arm.h | 18 +-
include/boost/predef/architecture/convex.h | 33 ++--
include/boost/predef/architecture/ia64.h | 13 +-
include/boost/predef/architecture/m68k.h | 38 +++--
include/boost/predef/architecture/mips.h | 33 ++--
include/boost/predef/architecture/parisc.h | 23 ++-
include/boost/predef/architecture/ppc.h | 23 ++-
include/boost/predef/architecture/pyramid.h | 8 +-
include/boost/predef/architecture/rs6k.h | 15 +-
include/boost/predef/architecture/sparc.h | 18 +-
include/boost/predef/architecture/superh.h | 33 ++--
include/boost/predef/architecture/sys370.h | 8 +-
include/boost/predef/architecture/sys390.h | 8 +-
include/boost/predef/architecture/x86.h | 38 +++--
include/boost/predef/architecture/z.h | 8 +-
include/boost/predef/compiler/borland.h | 11 +-
include/boost/predef/compiler/clang.h | 6 +-
include/boost/predef/compiler/comeau.h | 13 +-
include/boost/predef/compiler/compaq.h | 18 +-
include/boost/predef/compiler/diab.h | 6 +-
include/boost/predef/compiler/digitalmars.h | 6 +-
include/boost/predef/compiler/dignus.h | 6 +-
include/boost/predef/compiler/edg.h | 6 +-
include/boost/predef/compiler/ekopath.h | 6 +-
include/boost/predef/compiler/gcc.h | 11 +-
include/boost/predef/compiler/gcc_xml.h | 8 +-
include/boost/predef/compiler/greenhills.h | 14 +-
include/boost/predef/compiler/hp_acc.h | 13 +-
include/boost/predef/compiler/iar.h | 6 +-
include/boost/predef/compiler/ibm.h | 17 +-
include/boost/predef/compiler/intel.h | 13 +-
include/boost/predef/compiler/kai.h | 6 +-
include/boost/predef/compiler/llvm.h | 8 +-
include/boost/predef/compiler/metaware.h | 8 +-
include/boost/predef/compiler/metrowerks.h | 33 ++--
include/boost/predef/compiler/microtec.h | 8 +-
include/boost/predef/compiler/mingw.h | 16 +-
include/boost/predef/compiler/mpw.h | 13 +-
include/boost/predef/compiler/palm.h | 6 +-
include/boost/predef/compiler/pgi.h | 13 +-
include/boost/predef/compiler/sgi_mipspro.h | 18 +-
include/boost/predef/compiler/sunpro.h | 18 +-
include/boost/predef/compiler/tendra.h | 8 +-
include/boost/predef/compiler/visualc.h | 6 +-
include/boost/predef/compiler/watcom.h | 6 +-
include/boost/predef/language/objc.h | 8 +-
include/boost/predef/language/stdc.h | 10 +-
include/boost/predef/language/stdcpp.h | 24 ++-
include/boost/predef/library/c/gnu.h | 6 +-
include/boost/predef/library/c/uc.h | 6 +-
include/boost/predef/library/c/vms.h | 6 +-
include/boost/predef/library/c/zos.h | 18 +-
include/boost/predef/library/std/cxx.h | 6 +-
include/boost/predef/library/std/dinkumware.h | 8 +-
include/boost/predef/library/std/libcomo.h | 6 +-
include/boost/predef/library/std/modena.h | 8 +-
include/boost/predef/library/std/msl.h | 6 +-
include/boost/predef/library/std/roguewave.h | 8 +-
include/boost/predef/library/std/sgi.h | 8 +-
include/boost/predef/library/std/stdcpp3.h | 6 +-
include/boost/predef/library/std/stlport.h | 14 +-
include/boost/predef/library/std/vacpp.h | 8 +-
include/boost/predef/os/aix.h | 28 +--
include/boost/predef/os/amigaos.h | 8 +-
include/boost/predef/os/beos.h | 8 +-
include/boost/predef/os/bsd.h | 28 +--
include/boost/predef/os/bsd/bsdi.h | 10 +-
include/boost/predef/os/bsd/dragonfly.h | 10 +-
include/boost/predef/os/bsd/free.h | 10 +-
include/boost/predef/os/bsd/net.h | 26 ++-
include/boost/predef/os/bsd/open.h | 160 +++++++++++-------
include/boost/predef/os/cygwin.h | 8 +-
include/boost/predef/os/hpux.h | 8 +-
include/boost/predef/os/irix.h | 8 +-
include/boost/predef/os/linux.h | 8 +-
include/boost/predef/os/macos.h | 6 +-
include/boost/predef/os/os400.h | 8 +-
include/boost/predef/os/qnxnto.h | 18 +-
include/boost/predef/os/solaris.h | 8 +-
include/boost/predef/os/unix.h | 16 +-
include/boost/predef/os/vms.h | 8 +-
include/boost/predef/os/windows.h | 8 +-
include/boost/predef/version_number.h | 17 +-
test/build.jam | 3 +-
89 files changed, 857 insertions(+), 403 deletions(-)
mode change 100644 => 100755 test/build.jam
diff --git a/doc/html/index.html b/doc/html/index.html
index 8a099a5..7db438d 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -57,7 +57,7 @@
-Last revised: January 11, 2013 at 03:32:51 GMT |
+Last revised: January 19, 2013 at 03:18:05 GMT |
|
diff --git a/doc/html/predef/reference/boost_arch_architecture_macros.html b/doc/html/predef/reference/boost_arch_architecture_macros.html
index 53c3281..cd7da64 100644
--- a/doc/html/predef/reference/boost_arch_architecture_macros.html
+++ b/doc/html/predef/reference/boost_arch_architecture_macros.html
@@ -495,30 +495,6 @@
-
-
-
- __x86_64
-
- |
-
-
- detection
-
- |
-
-
-
-
- __x86_64__
-
- |
-
-
- detection
-
- |
-
diff --git a/include/boost/predef/architecture.h b/include/boost/predef/architecture.h
index 33a8840..b6adfdd 100644
--- a/include/boost/predef/architecture.h
+++ b/include/boost/predef/architecture.h
@@ -1,5 +1,5 @@
/*
-Copyright Redshift Software, Inc. 2008-2012
+Copyright Redshift Software, Inc. 2008-2013
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
@@ -25,6 +25,6 @@ http://www.boost.org/LICENSE_1_0.txt)
#include
#include
#include
-//#include
+/*#include */
#endif
diff --git a/include/boost/predef/architecture/alpha.h b/include/boost/predef/architecture/alpha.h
index 5ad4f8c..436e097 100644
--- a/include/boost/predef/architecture/alpha.h
+++ b/include/boost/predef/architecture/alpha.h
@@ -1,5 +1,5 @@
/*
-Copyright Redshift Software, Inc. 2008-2012
+Copyright Redshift Software, Inc. 2008-2013
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
@@ -26,7 +26,7 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__alpha__) || defined(__alpha) || \
defined(_M_ALPHA)
@@ -41,10 +41,14 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER(6,0,0)
# endif
# if !defined(BOOST_ARCH_ALPHA)
-# define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_ARCH_ALPHA
+# define BOOST_ARCH_ALPHA_AVAILABLE
+#endif
+
#define BOOST_ARCH_ALPHA_NAME "DEC Alpha"
#include
diff --git a/include/boost/predef/architecture/amd64.h b/include/boost/predef/architecture/amd64.h
index 0301894..8344558 100644
--- a/include/boost/predef/architecture/amd64.h
+++ b/include/boost/predef/architecture/amd64.h
@@ -25,13 +25,17 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_AMD64 BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_AMD64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__amd64__) || defined(__amd64) || \
defined(__x86_64__) || defined(__x86_64) || \
defined(_M_X64)
# undef BOOST_ARCH_AMD64
-# define BOOST_ARCH_AMD64 BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_ARCH_AMD64 BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_ARCH_AMD64
+# define BOOST_ARCH_AMD64_AVAILABLE
#endif
#define BOOST_ARCH_AMD64_NAME "Advanced Micro Devices AMD 64"
diff --git a/include/boost/predef/architecture/arm.h b/include/boost/predef/architecture/arm.h
index eb00121..b221a51 100644
--- a/include/boost/predef/architecture/arm.h
+++ b/include/boost/predef/architecture/arm.h
@@ -29,18 +29,24 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__arm__) || defined(__thumb__) || \
defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB)
# undef BOOST_ARCH_ARM
-# if defined(__TARGET_ARCH_ARM)
+# if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_ARM)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_ARM,0,0)
-# elif defined(__TARGET_ARCH_THUMB)
-# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_THUMB,0,0)
-# else
-# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_THUMB)
+# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_THUMB,0,0)
+# endif
+# if !defined(BOOST_ARCH_ARM)
+# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_ARCH_ARM
+# define BOOST_ARCH_ARM_AVAILABLE
#endif
#define BOOST_ARCH_ARM_NAME "ARM"
diff --git a/include/boost/predef/architecture/convex.h b/include/boost/predef/architecture/convex.h
index b4f3499..fbb8e96 100644
--- a/include/boost/predef/architecture/convex.h
+++ b/include/boost/predef/architecture/convex.h
@@ -29,23 +29,32 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__convex__)
# undef BOOST_ARCH_CONVEX
-# if defined(__convex_c1__)
+# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c1__)
# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(1,0,0)
-# elif defined(__convex_c2__)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(2,0,0)
-# elif defined(__convex_c32__)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,2,0)
-# elif defined(__convex_c34__)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,4,0)
-# elif defined(__convex_c38__)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,8,0)
-# else
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c2__)
+# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(2,0,0)
+# endif
+# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c32__)
+# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,2,0)
+# endif
+# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c34__)
+# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,4,0)
+# endif
+# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c38__)
+# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,8,0)
+# endif
+# if !defined(BOOST_ARCH_CONVEX)
+# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_ARCH_CONVEX
+# define BOOST_ARCH_CONVEX_AVAILABLE
#endif
#define BOOST_ARCH_CONVEX_NAME "Convex Computer"
diff --git a/include/boost/predef/architecture/ia64.h b/include/boost/predef/architecture/ia64.h
index 7a5c2d9..aedb686 100644
--- a/include/boost/predef/architecture/ia64.h
+++ b/include/boost/predef/architecture/ia64.h
@@ -25,19 +25,20 @@ http://www.boost.org/LICENSE_1_0.txt)
[[`__ia64`] [__predef_detection__]]
[[`_M_IA64`] [__predef_detection__]]
[[`__itanium__`] [__predef_detection__]]
- [[`__x86_64`] [__predef_detection__]]
- [[`__x86_64__`] [__predef_detection__]]
]
*/
-#define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__ia64__) || defined(_IA64) || \
defined(__IA64__) || defined(__ia64) || \
- defined(_M_IA64) || defined(__itanium__) || \
- defined(__x86_64) || defined(__x86_64__)
+ defined(_M_IA64) || defined(__itanium__)
# undef BOOST_ARCH_IA64
-# define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_ARCH_IA64
+# define BOOST_ARCH_IA64_AVAILABLE
#endif
#define BOOST_ARCH_IA64_NAME "Intel IA-64"
diff --git a/include/boost/predef/architecture/m68k.h b/include/boost/predef/architecture/m68k.h
index dcdf4ea..2950c9a 100644
--- a/include/boost/predef/architecture/m68k.h
+++ b/include/boost/predef/architecture/m68k.h
@@ -43,25 +43,35 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__m68k__) || defined(M68000)
# undef BOOST_ARCH_M68K
-# if defined(__mc68060__) || defined(mc68060) || defined(__mc68060)
+# if !defined(BOOST_ARCH_M68K) && (defined(__mc68060__) || defined(mc68060) || defined(__mc68060))
# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(6,0,0)
-# elif defined(__mc68040__) || defined(mc68040) || defined(__mc68040)
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(4,0,0)
-# elif defined(__mc68030__) || defined(mc68030) || defined(__mc68030)
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(3,0,0)
-# elif defined(__mc68020__) || defined(mc68020) || defined(__mc68020)
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(2,0,0)
-# elif defined(__mc68010__) || defined(mc68010) || defined(__mc68010)
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(1,0,0)
-# elif defined(__mc68000__) || defined(mc68000) || defined(__mc68000)
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(0,0,1)
-# else
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_ARCH_M68K) && (defined(__mc68040__) || defined(mc68040) || defined(__mc68040))
+# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(4,0,0)
+# endif
+# if !defined(BOOST_ARCH_M68K) && (defined(__mc68030__) || defined(mc68030) || defined(__mc68030))
+# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(3,0,0)
+# endif
+# if !defined(BOOST_ARCH_M68K) && (defined(__mc68020__) || defined(mc68020) || defined(__mc68020))
+# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(2,0,0)
+# endif
+# if !defined(BOOST_ARCH_M68K) && (defined(__mc68010__) || defined(mc68010) || defined(__mc68010))
+# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(1,0,0)
+# endif
+# if !defined(BOOST_ARCH_M68K) && (defined(__mc68000__) || defined(mc68000) || defined(__mc68000))
+# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+# if !defined(BOOST_ARCH_M68K)
+# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_ARCH_M68K
+# define BOOST_ARCH_M68K_AVAILABLE
#endif
#define BOOST_ARCH_M68K_NAME "Motorola 68k"
diff --git a/include/boost/predef/architecture/mips.h b/include/boost/predef/architecture/mips.h
index ee1971c..b3d225c 100644
--- a/include/boost/predef/architecture/mips.h
+++ b/include/boost/predef/architecture/mips.h
@@ -36,24 +36,33 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__mips__) || defined(__mips) || \
defined(__MIPS__)
# undef BOOST_ARCH_MIPS
-# if defined(__mips)
+# if !defined(BOOST_ARCH_MIPS) && (defined(__mips))
# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(__mips,0,0)
-# elif defined(_MIPS_ISA_MIPS1) || defined(_R3000)
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(1,0,0)
-# elif defined(_MIPS_ISA_MIPS2) || defined(__MIPS_ISA2__) || defined(_R4000)
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(2,0,0)
-# elif defined(_MIPS_ISA_MIPS3) || defined(__MIPS_ISA3__)
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(3,0,0)
-# elif defined(_MIPS_ISA_MIPS4) || defined(__MIPS_ISA4__)
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(4,0,0)
-# else
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS1) || defined(_R3000))
+# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(1,0,0)
+# endif
+# if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS2) || defined(__MIPS_ISA2__) || defined(_R4000))
+# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(2,0,0)
+# endif
+# if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS3) || defined(__MIPS_ISA3__))
+# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(3,0,0)
+# endif
+# if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS4) || defined(__MIPS_ISA4__))
+# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(4,0,0)
+# endif
+# if !defined(BOOST_ARCH_MIPS)
+# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_ARCH_MIPS
+# define BOOST_ARCH_MIPS_AVAILABLE
#endif
#define BOOST_ARCH_MIPS_NAME "MIPS"
diff --git a/include/boost/predef/architecture/parisc.h b/include/boost/predef/architecture/parisc.h
index ff3d2c5..7370383 100644
--- a/include/boost/predef/architecture/parisc.h
+++ b/include/boost/predef/architecture/parisc.h
@@ -34,19 +34,26 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__hppa__) || defined(__hppa) || defined(__HPPA__)
# undef BOOST_ARCH_PARISC
-# if defined(_PA_RISC1_0)
+# if !defined(BOOST_ARCH_PARISC) && (defined(_PA_RISC1_0))
# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(1,0,0)
-# elif defined(_PA_RISC1_1) || defined(__HPPA11__) || defined(__PA7100__)
-# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(1,1,0)
-# elif defined(_PA_RISC2_0) || defined(__RISC2_0__) || defined(__HPPA20__) || defined(__PA8000__)
-# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(2,0,0)
-# else
-# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_ARCH_PARISC) && (defined(_PA_RISC1_1) || defined(__HPPA11__) || defined(__PA7100__))
+# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(1,1,0)
+# endif
+# if !defined(BOOST_ARCH_PARISC) && (defined(_PA_RISC2_0) || defined(__RISC2_0__) || defined(__HPPA20__) || defined(__PA8000__))
+# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(2,0,0)
+# endif
+# if !defined(BOOST_ARCH_PARISC)
+# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_ARCH_PARISC
+# define BOOST_ARCH_PARISC_AVAILABLE
#endif
#define BOOST_ARCH_PARISC_NAME "HP/PA RISC"
diff --git a/include/boost/predef/architecture/ppc.h b/include/boost/predef/architecture/ppc.h
index 8a6d0f6..8339ed2 100644
--- a/include/boost/predef/architecture/ppc.h
+++ b/include/boost/predef/architecture/ppc.h
@@ -38,7 +38,7 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__powerpc) || defined(__powerpc__) || \
defined(__POWERPC__) || defined(__ppc__) || \
@@ -46,15 +46,22 @@ http://www.boost.org/LICENSE_1_0.txt)
defined(__PPCGECKO__) || defined(__PPCBROADWAY__) || \
defined(_XENON)
# undef BOOST_ARCH_PPC
-# if defined(__ppc601__) || defined(_ARCH_601)
+# if !defined (BOOST_ARCH_PPC) && (defined(__ppc601__) || defined(_ARCH_601))
# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,1,0)
-# elif defined(__ppc603__) || defined(_ARCH_603)
-# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,3,0)
-# elif defined(__ppc604__) || defined(__ppc604__)
-# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,4,0)
-# else
-# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined (BOOST_ARCH_PPC) && (defined(__ppc603__) || defined(_ARCH_603))
+# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,3,0)
+# endif
+# if !defined (BOOST_ARCH_PPC) && (defined(__ppc604__) || defined(__ppc604__))
+# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,4,0)
+# endif
+# if !defined (BOOST_ARCH_PPC)
+# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_ARCH_PPC
+# define BOOST_ARCH_PPC_AVAILABLE
#endif
#define BOOST_ARCH_PPC_NAME "PowerPC"
diff --git a/include/boost/predef/architecture/pyramid.h b/include/boost/predef/architecture/pyramid.h
index f3caa92..706e0cd 100644
--- a/include/boost/predef/architecture/pyramid.h
+++ b/include/boost/predef/architecture/pyramid.h
@@ -23,11 +23,15 @@ Pyramid 9810 architecture.
]
*/
-#define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(pyr)
# undef BOOST_ARCH_PYRAMID
-# define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_ARCH_PYRAMID
+# define BOOST_ARCH_PYRAMID_AVAILABLE
#endif
#define BOOST_ARCH_PYRAMID_NAME "Pyramid 9810"
diff --git a/include/boost/predef/architecture/rs6k.h b/include/boost/predef/architecture/rs6k.h
index 7f5e848..c05fefd 100644
--- a/include/boost/predef/architecture/rs6k.h
+++ b/include/boost/predef/architecture/rs6k.h
@@ -27,21 +27,30 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__THW_RS6000) || defined(_IBMR2) || \
defined(_POWER) || defined(_ARCH_PWR) || \
defined(_ARCH_PWR2)
# undef BOOST_ARCH_RS6000
-# define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_AVAILABLE
#endif
-#define BOOST_ARCH_PWR BOOST_ARCH_RS6000
+#if BOOST_ARCH_RS6000
+# define BOOST_ARCH_RS6000_AVAILABLE
+#endif
#define BOOST_ARCH_RS6000_NAME "RS/6000"
#include
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_RS6000,BOOST_ARCH_RS6000_NAME)
+#define BOOST_ARCH_PWR BOOST_ARCH_RS6000
+
+#if BOOST_ARCH_PWR
+# define BOOST_ARCH_PWR_AVAILABLE
+#endif
+
+#define BOOST_ARCH_PWR_NAME BOOST_ARCH_RS6000_NAME
#endif
diff --git a/include/boost/predef/architecture/sparc.h b/include/boost/predef/architecture/sparc.h
index 584b611..30207a0 100644
--- a/include/boost/predef/architecture/sparc.h
+++ b/include/boost/predef/architecture/sparc.h
@@ -27,17 +27,23 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__sparc__) || defined(__sparc)
# undef BOOST_ARCH_SPARC
-# if defined(__sparcv9)
+# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv9)
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
-# elif defined(__sparcv8)
-# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
-# else
-# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8)
+# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
+# endif
+# if !defined(BOOST_ARCH_SPARC) &&
+# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_ARCH_SPARC
+# define BOOST_ARCH_SPARC_AVAILABLE
#endif
#define BOOST_ARCH_SPARC_NAME "SPARC"
diff --git a/include/boost/predef/architecture/superh.h b/include/boost/predef/architecture/superh.h
index 1ae9f3e..f87f492 100644
--- a/include/boost/predef/architecture/superh.h
+++ b/include/boost/predef/architecture/superh.h
@@ -31,23 +31,32 @@ If available versions \[1-5\] are specifically detected.
]
*/
-#define BOOST_ARCH_SH BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_SH BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__sh__)
# undef BOOST_ARCH_SH
-# if defined(__SH5__)
+# if !defined(BOOST_ARCH_SH) && (defined(__SH5__))
# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(5,0,0)
-# elif defined(__SH4__)
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(4,0,0)
-# elif defined(__sh3__) || defined(__SH3__)
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(3,0,0)
-# elif defined(__sh2__)
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(2,0,0)
-# elif defined(__sh1__)
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(1,0,0)
-# else
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_ARCH_SH) && (defined(__SH4__))
+# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(4,0,0)
+# endif
+# if !defined(BOOST_ARCH_SH) && (defined(__sh3__) || defined(__SH3__))
+# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(3,0,0)
+# endif
+# if !defined(BOOST_ARCH_SH) && (defined(__sh2__))
+# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(2,0,0)
+# endif
+# if !defined(BOOST_ARCH_SH) && (defined(__sh1__))
+# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(1,0,0)
+# endif
+# if !defined(BOOST_ARCH_SH)
+# define BOOST_ARCH_SH BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_ARCH_SH
+# define BOOST_ARCH_SH_AVAILABLE
#endif
#define BOOST_ARCH_SH_NAME "SuperH"
diff --git a/include/boost/predef/architecture/sys370.h b/include/boost/predef/architecture/sys370.h
index b2248a4..f2fba78 100644
--- a/include/boost/predef/architecture/sys370.h
+++ b/include/boost/predef/architecture/sys370.h
@@ -24,11 +24,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__370__) || defined(__THW_370__)
# undef BOOST_ARCH_SYS370
-# define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_ARCH_SYS370
+# define BOOST_ARCH_SYS370_AVAILABLE
#endif
#define BOOST_ARCH_SYS370_NAME "System/370"
diff --git a/include/boost/predef/architecture/sys390.h b/include/boost/predef/architecture/sys390.h
index a7f0ec5..a9e03d9 100644
--- a/include/boost/predef/architecture/sys390.h
+++ b/include/boost/predef/architecture/sys390.h
@@ -24,11 +24,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__s390__) || defined(__s390x__)
# undef BOOST_ARCH_SYS390
-# define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_ARCH_SYS390
+# define BOOST_ARCH_SYS390_AVAILABLE
#endif
#define BOOST_ARCH_SYS390_NAME "System/390"
diff --git a/include/boost/predef/architecture/x86.h b/include/boost/predef/architecture/x86.h
index 8ca481d..54afb7c 100644
--- a/include/boost/predef/architecture/x86.h
+++ b/include/boost/predef/architecture/x86.h
@@ -11,7 +11,7 @@ http://www.boost.org/LICENSE_1_0.txt)
#include
#include
-#define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_X86 BOOST_VERSION_NUMBER_NOT_AVAILABLE
/*`
[heading `BOOST_ARCH_X86`]
@@ -50,21 +50,31 @@ If available versions \[3-6\] are specifically detected.
defined(__THW_INTEL__) || defined(__I86__) || \
defined(__INTEL__)
# undef BOOST_ARCH_X86
-# if defined(__I86__)
+# if !defined(BOOST_ARCH_X86) && defined(__I86__)
# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(__I86__,0,0)
-# elif defined(_M_IX86)
-# define BOOST_ARCH_X86 BOOST_PREDEF_MAKE_10_VV00(_M_IX86)
-# elif defined(__i686__)
-# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(6,0,0)
-# elif defined(__i586__)
-# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(5,0,0)
-# elif defined(__i486__)
-# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(4,0,0)
-# elif defined(__i386__)
-# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(3,0,0)
-# else
-# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_ARCH_X86) && defined(_M_IX86)
+# define BOOST_ARCH_X86 BOOST_PREDEF_MAKE_10_VV00(_M_IX86)
+# endif
+# if !defined(BOOST_ARCH_X86) && defined(__i686__)
+# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(6,0,0)
+# endif
+# if !defined(BOOST_ARCH_X86) && defined(__i586__)
+# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(5,0,0)
+# endif
+# if !defined(BOOST_ARCH_X86) && defined(__i486__)
+# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(4,0,0)
+# endif
+# if !defined(BOOST_ARCH_X86) && defined(__i386__)
+# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER(3,0,0)
+# endif
+# if !defined(BOOST_ARCH_X86)
+# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_ARCH_X86
+# define BOOST_ARCH_X86_AVAILABLE
#endif
#define BOOST_ARCH_X86_NAME "Intel x86"
diff --git a/include/boost/predef/architecture/z.h b/include/boost/predef/architecture/z.h
index 7518eaa..622d6ab 100644
--- a/include/boost/predef/architecture/z.h
+++ b/include/boost/predef/architecture/z.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_ARCH_Z BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_ARCH_Z BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__SYSC_ZARCH__)
# undef BOOST_ARCH_Z
-# define BOOST_ARCH_Z BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_ARCH_Z BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_ARCH_Z
+# define BOOST_ARCH_Z_AVAILABLE
#endif
#define BOOST_ARCH_Z_NAME "z/Architecture"
diff --git a/include/boost/predef/compiler/borland.h b/include/boost/predef/compiler/borland.h
index 6bede1f..af9b527 100644
--- a/include/boost/predef/compiler/borland.h
+++ b/include/boost/predef/compiler/borland.h
@@ -28,17 +28,22 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_BORLAND BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_BORLAND BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__BORLANDC__) || defined(__CODEGEARC__)
# undef BOOST_COMP_BORLAND
-# if defined(__CODEGEARC__)
+# if !defined(BOOST_COMP_BORLAND) && (defined(__CODEGEARC__))
# define BOOST_COMP_BORLAND BOOST_PREDEF_MAKE_0X_VVRP(__CODEGEARC__)
-# else
+# endif
+# if !defined(BOOST_COMP_BORLAND)
# define BOOST_COMP_BORLAND BOOST_PREDEF_MAKE_0X_VVRP(__BORLANDC__)
# endif
#endif
+#if BOOST_COMP_BORLAND
+# define BOOST_COMP_BORLAND_AVAILABLE
+#endif
+
#define BOOST_COMP_BORLAND_NAME "Borland C++"
#include
diff --git a/include/boost/predef/compiler/clang.h b/include/boost/predef/compiler/clang.h
index 0f82ae8..43f875c 100644
--- a/include/boost/predef/compiler/clang.h
+++ b/include/boost/predef/compiler/clang.h
@@ -26,13 +26,17 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_CLANG BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_CLANG BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__clang__)
# undef BOOST_COMP_CLANG
# define BOOST_COMP_CLANG BOOST_VERSION_NUMBER(__clang_major__,__clang_minor__,__clang_patchlevel__)
#endif
+#if BOOST_COMP_CLANG
+# define BOOST_COMP_CLANG_AVAILABLE
+#endif
+
#define BOOST_COMP_CLANG_NAME "Clang"
#include
diff --git a/include/boost/predef/compiler/comeau.h b/include/boost/predef/compiler/comeau.h
index 01cefc3..e56659e 100644
--- a/include/boost/predef/compiler/comeau.h
+++ b/include/boost/predef/compiler/comeau.h
@@ -11,7 +11,7 @@ http://www.boost.org/LICENSE_1_0.txt)
#include
#include
-#define BOOST_COMP_COMO BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE
/*`
[heading `BOOST_COMP_COMO`]
@@ -30,11 +30,16 @@ Version number available as major, minor, and patch.
#if defined(__COMO__)
# undef BOOST_COMP_COMO
-# if defined(__CONO_VERSION__)
+# if !defined(BOOST_COMP_COMO) && defined(__CONO_VERSION__)
# define BOOST_COMP_COMO BOOST_PREDEF_MAKE_0X_VRP(__COMO_VERSION__)
-# else
-# define BOOST_COMP_COMO BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_COMO)
+# define BOOST_COMP_COMO BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_COMO
+# define BOOST_COMP_COMO_AVAILABLE
#endif
#define BOOST_COMP_COMO_NAME "Comeau C++"
diff --git a/include/boost/predef/compiler/compaq.h b/include/boost/predef/compiler/compaq.h
index 76e7c13..26888fd 100644
--- a/include/boost/predef/compiler/compaq.h
+++ b/include/boost/predef/compiler/compaq.h
@@ -28,17 +28,23 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_DEC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_DEC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__DECC) || defined(__DECCXX)
# undef BOOST_COMP_DEC
-# if defined(__DECCXX_VER)
+# if !defined(BOOST_COMP_DEC) && defined(__DECCXX_VER)
# define BOOST_COMP_DEC BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECCXX_VER)
-# elif defined(__DECC_VER)
-# define BOOST_COMP_DEC BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECC_VER)
-# else
-# define BOOST_COM_DEV BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_DEC) && defined(__DECC_VER)
+# define BOOST_COMP_DEC BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECC_VER)
+# endif
+# if !defined(BOOST_COMP_DEC)
+# define BOOST_COM_DEV BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_DEC
+# define BOOST_COMP_DEC_AVAILABLE
#endif
#define BOOST_COMP_DEC_NAME "Compaq C/C++"
diff --git a/include/boost/predef/compiler/diab.h b/include/boost/predef/compiler/diab.h
index d19ecea..365ba60 100644
--- a/include/boost/predef/compiler/diab.h
+++ b/include/boost/predef/compiler/diab.h
@@ -26,13 +26,17 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_DIAB BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_DIAB BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__DCC__)
# undef BOOST_COMP_DIAB
# define BOOST_COMP_DIAB BOOST_PREDEF_MAKE_10_VRPP(__VERSION_NUMBER__)
#endif
+#if BOOST_COMP_DIAB
+# define BOOST_COMP_DIAB_AVAILABLE
+#endif
+
#define BOOST_COMP_DIAB_NAME "Diab C/C++"
#include
diff --git a/include/boost/predef/compiler/digitalmars.h b/include/boost/predef/compiler/digitalmars.h
index dcee3d9..f7e7d87 100644
--- a/include/boost/predef/compiler/digitalmars.h
+++ b/include/boost/predef/compiler/digitalmars.h
@@ -26,13 +26,17 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_DMC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_DMC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__DMC__)
# undef BOOST_COMP_DMC
# define BOOST_COMP_DMC BOOST_PREDEF_MAKE_0X_VRP(__DMC__)
#endif
+#if BOOST_COMP_DMC
+# define BOOST_COMP_DMC_AVAILABLE
+#endif
+
#define BOOST_COMP_DMC_NAME "Digital Mars"
#include
diff --git a/include/boost/predef/compiler/dignus.h b/include/boost/predef/compiler/dignus.h
index 7951f48..218c577 100644
--- a/include/boost/predef/compiler/dignus.h
+++ b/include/boost/predef/compiler/dignus.h
@@ -26,13 +26,17 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_SYSC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_SYSC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__SYSC__)
# undef BOOST_COMP_SYSC
# define BOOST_COMP_SYSC BOOST_PREDEF_MAKE_10_VRRPP(__SYSC_VER__)
#endif
+#if BOOST_COMP_SYSC
+# define BOOST_COMP_SYSC_AVAILABLE
+#endif
+
#define BOOST_COMP_SYSC_NAME "Dignus Systems/C++"
#include
diff --git a/include/boost/predef/compiler/edg.h b/include/boost/predef/compiler/edg.h
index a49ac61..d73eedd 100644
--- a/include/boost/predef/compiler/edg.h
+++ b/include/boost/predef/compiler/edg.h
@@ -26,13 +26,17 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_EDG BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_EDG BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__EDG__)
# undef BOOST_COMP_EDG
# define BOOST_COMP_EDG BOOST_PREDEF_MAKE_10_VRR(__EDG_VERSION__)
#endif
+#if BOOST_COMP_EDG
+# define BOOST_COMP_EDG_AVAILABLE
+#endif
+
#define BOOST_COMP_EDG_NAME "EDG C++ Frontend"
#include
diff --git a/include/boost/predef/compiler/ekopath.h b/include/boost/predef/compiler/ekopath.h
index b92b543..72264fc 100644
--- a/include/boost/predef/compiler/ekopath.h
+++ b/include/boost/predef/compiler/ekopath.h
@@ -26,7 +26,7 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_PATH BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_PATH BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__PATHCC__)
# undef BOOST_COMP_PATH
@@ -34,6 +34,10 @@ Version number available as major, minor, and patch.
BOOST_VERSION_NUMBER(__PATHCC__,__PATHCC_MINOR__,__PATHCC_PATCHLEVEL__)
#endif
+#if BOOST_COMP_PATH
+# define BOOST_COMP_PATH_AVAILABLE
+#endif
+
#define BOOST_COMP_PATH_NAME "EKOpath"
#include
diff --git a/include/boost/predef/compiler/gcc.h b/include/boost/predef/compiler/gcc.h
index 9e24c0d..7182dc9 100644
--- a/include/boost/predef/compiler/gcc.h
+++ b/include/boost/predef/compiler/gcc.h
@@ -27,19 +27,24 @@ Version number available as major, minor, and patch (if available).
]
*/
-#define BOOST_COMP_GNUC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_GNUC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__GNUC__)
# undef BOOST_COMP_GNUC
-# if defined(__GNUC_PATCHLEVEL__)
+# if !defined(BOOST_COMP_GNUC) && defined(__GNUC_PATCHLEVEL__)
# define BOOST_COMP_GNUC \
BOOST_VERSION_NUMBER(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__)
-# else
+# endif
+# if !defined(BOOST_COMP_GNUC)
# define BOOST_COMP_GNUC \
BOOST_VERSION_NUMBER(__GNUC__,__GNUC_MINOR__,0)
# endif
#endif
+#if BOOST_COMP_GNUC
+# define BOOST_COMP_GNUC_AVAILABLE
+#endif
+
#define BOOST_COMP_GNUC_NAME "Gnu GCC C/C++"
#include
diff --git a/include/boost/predef/compiler/gcc_xml.h b/include/boost/predef/compiler/gcc_xml.h
index 0f24e26..b0f5819 100644
--- a/include/boost/predef/compiler/gcc_xml.h
+++ b/include/boost/predef/compiler/gcc_xml.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__GCCXML__)
# undef BOOST_COMP_GCCXML
-# define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_COMP_GCCXML
+# define BOOST_COMP_GCCXML_AVAILABLE
#endif
#define BOOST_COMP_GCCXML_NAME "GCC XML"
diff --git a/include/boost/predef/compiler/greenhills.h b/include/boost/predef/compiler/greenhills.h
index 05448e1..035eb0b 100644
--- a/include/boost/predef/compiler/greenhills.h
+++ b/include/boost/predef/compiler/greenhills.h
@@ -28,15 +28,23 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_GHS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_GHS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__ghs) || defined(__ghs__)
# undef BOOST_COMP_GHS
-# if defined(__GHS_VERSION_NUMBER__)
+# if !defined(BOOST_COMP_GHS) && defined(__GHS_VERSION_NUMBER__)
# define BOOST_COMP_GHS BOOST_PREDEF_MAKE_10_VRP(__GHS_VERSION_NUMBER__)
-# else if defined(__ghs)
+# endif
+# if !defined(BOOST_COMP_GHS) && defined(__ghs)
# define BOOST_COMP_GHS BOOST_PREDEF_MAKE_10_VRP(__ghs)
# endif
+# if !defined(BOOST_COMP_GHS)
+# define BOOST_COMP_GHS BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_GHS
+# define BOOST_COMP_GHS_AVAILABLE
#endif
#define BOOST_COMP_GHS_NAME "Green Hills C/C++"
diff --git a/include/boost/predef/compiler/hp_acc.h b/include/boost/predef/compiler/hp_acc.h
index e3a381f..71581b9 100644
--- a/include/boost/predef/compiler/hp_acc.h
+++ b/include/boost/predef/compiler/hp_acc.h
@@ -26,15 +26,20 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_HPACC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_HPACC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__HP_aCC)
# undef BOOST_COMP_HPACC
-# if (__HP_aCC > 1)
+# if !defined(BOOST_COMP_HPACC) && (__HP_aCC > 1)
# define BOOST_COMP_HPACC BOOST_PREDEF_MAKE_10_VVRRPP(__HP_aCC)
-# else
-# define BOOST_COMP_HPACC BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_HPACC)
+# define BOOST_COMP_HPACC BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_HPACC
+# define BOOST_COMP_HPACC_AVAILABLE
#endif
#define BOOST_COMP_HPACC_NAME "HP aC++"
diff --git a/include/boost/predef/compiler/iar.h b/include/boost/predef/compiler/iar.h
index 99bf299..94e82d4 100644
--- a/include/boost/predef/compiler/iar.h
+++ b/include/boost/predef/compiler/iar.h
@@ -26,13 +26,17 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_IAR BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_IAR BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__IAR_SYSTEMS_ICC__)
# undef BOOST_COMP_IAR
# define BOOST_COMP_IAR BOOST_PREDEF_MAKE_10_VVRR(__VER__)
#endif
+#if BOOST_COMP_IAR
+# define BOOST_COMP_IAR_AVAILABLE
+#endif
+
#define BOOST_COMP_IAR_NAME "IAR C/C++"
#include
diff --git a/include/boost/predef/compiler/ibm.h b/include/boost/predef/compiler/ibm.h
index cf3e7b3..ab0385b 100644
--- a/include/boost/predef/compiler/ibm.h
+++ b/include/boost/predef/compiler/ibm.h
@@ -31,21 +31,28 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_IBM BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__IBMCPP__) || defined(__xlC__) || defined(__xlc__)
# undef BOOST_COMP_IBM
-# if defined(__COMPILER_VER__)
+# if !defined(BOOST_COMP_IBM) && defined(__COMPILER_VER__)
# define BOOST_COMP_IBM BOOST_PREDEF_MAKE_0X_VRRPPPP(__COMPILER_VER__)
-# elif defined(__xlC__)
+# endif
+# if !defined(BOOST_COMP_IBM) && defined(__xlC__)
# define BOOST_COMP_IBM BOOST_PREDEF_MAKE_0X_VVRR(__xlC__)
-# elif defined(__xlc__)
+# endif
+# if !defined(BOOST_COMP_IBM) && defined(__xlc__)
# define BOOST_COMP_IBM BOOST_PREDEF_MAKE_0X_VVRR(__xlc__)
-# else
+# endif
+# if !defined(BOOST_COMP_IBM)
# define BOOST_COMP_IBM BOOST_PREDEF_MAKE_10_VRP(__IBMCPP__)
# endif
#endif
+#if BOOST_COMP_IBM
+# define BOOST_COMP_IBM_AVAILABLE
+#endif
+
#define BOOST_COMP_IBM_NAME "IBM XL C/C++"
#include
diff --git a/include/boost/predef/compiler/intel.h b/include/boost/predef/compiler/intel.h
index fe38693..471397a 100644
--- a/include/boost/predef/compiler/intel.h
+++ b/include/boost/predef/compiler/intel.h
@@ -29,16 +29,21 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_INTEL BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_INTEL BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \
defined(__ECC)
# undef BOOST_COMP_INTEL
-# if defined(__INTEL_COMPILER)
+# if !defined(BOOST_COMP_INTEL) && defined(__INTEL_COMPILER)
# define BOOST_COMP_INTEL BOOST_PREDEF_MAKE_10_VRP(__INTEL_COMPILER)
-# else
-# define BOOST_COMP_INTEL BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_INTEL)
+# define BOOST_COMP_INTEL BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_INTEL
+# define BOOST_COMP_INTEL_AVAILABLE
#endif
#define BOOST_COMP_INTEL_NAME "Intel C/C++"
diff --git a/include/boost/predef/compiler/kai.h b/include/boost/predef/compiler/kai.h
index 9d0d907..002c310 100644
--- a/include/boost/predef/compiler/kai.h
+++ b/include/boost/predef/compiler/kai.h
@@ -26,13 +26,17 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_KCC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_KCC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__KCC)
# undef BOOST_COMP_KCC
# define BOOST_COMP_KCC BOOST_PREDEF_MAKE_0X_VRPP(__KCC_VERSION)
#endif
+#if BOOST_COMP_KCC
+# define BOOST_COMP_KCC_AVAILABLE
+#endif
+
#define BOOST_COMP_KCC_NAME "Kai C++"
#include
diff --git a/include/boost/predef/compiler/llvm.h b/include/boost/predef/compiler/llvm.h
index 3753151..51587c6 100644
--- a/include/boost/predef/compiler/llvm.h
+++ b/include/boost/predef/compiler/llvm.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_COMP_LLVM BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__llvm__)
# undef BOOST_COMP_LLVM
-# define BOOST_COMP_LLVM BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_COMP_LLVM
+# define BOOST_COMP_LLVM_AVAILABLE
#endif
#define BOOST_COMP_LLVM_NAME "LLVM"
diff --git a/include/boost/predef/compiler/metaware.h b/include/boost/predef/compiler/metaware.h
index 3901867..61a555c 100644
--- a/include/boost/predef/compiler/metaware.h
+++ b/include/boost/predef/compiler/metaware.h
@@ -23,11 +23,15 @@ MetaWare High C/C++ compiler.
]
*/
-#define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__HIGHC__)
# undef BOOST_COMP_HIGHC
-# define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_COMP_HIGHC
+# define BOOST_COMP_HIGHC_AVAILABLE
#endif
#define BOOST_COMP_HIGHC_NAME "MetaWare High C/C++"
diff --git a/include/boost/predef/compiler/metrowerks.h b/include/boost/predef/compiler/metrowerks.h
index 2c82a83..e58c289 100644
--- a/include/boost/predef/compiler/metrowerks.h
+++ b/include/boost/predef/compiler/metrowerks.h
@@ -30,23 +30,32 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__MWERKS__) || defined(__CWCC__)
# undef BOOST_COMP_MWERKS
-# if defined(__CWCC__)
+# if !defined(BOOST_COMP_MWERKS) && defined(__CWCC__)
# define BOOST_COMP_MWERKS BOOST_PREDEF_MAKE_0X_VRPP(__CWCC__)
-# elif (__MWERKS__ >= 0x4200)
-# define BOOST_COMP_MWERKS BOOST_PREDEF_MAKE_0X_VRPP(__MWERKS__)
-# elif (__MWERKS__ >= 0x3204) // note the "skip": 04->9.3
-# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100-1,0)
-# elif (__MWERKS__ >= 0x3200)
-# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100,0)
-# elif (__MWERKS__ >= 0x3000)
-# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(8,(__MWERKS__)%100,0)
-# else
-# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_MWERKS) && (__MWERKS__ >= 0x4200)
+# define BOOST_COMP_MWERKS BOOST_PREDEF_MAKE_0X_VRPP(__MWERKS__)
+# endif
+# if !defined(BOOST_COMP_MWERKS) && (__MWERKS__ >= 0x3204) // note the "skip": 04->9.3
+# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100-1,0)
+# endif
+# if !defined(BOOST_COMP_MWERKS) && (__MWERKS__ >= 0x3200)
+# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100,0)
+# endif
+# if !defined(BOOST_COMP_MWERKS) && (__MWERKS__ >= 0x3000)
+# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(8,(__MWERKS__)%100,0)
+# endif
+# if !defined(BOOST_COMP_MWERKS)
+# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_MWERKS
+# define BOOST_COMP_MWERKS_AVAILABLE
#endif
#define BOOST_COMP_MWERKS_NAME "Metrowerks CodeWarrior"
diff --git a/include/boost/predef/compiler/microtec.h b/include/boost/predef/compiler/microtec.h
index 939d9a9..3c31667 100644
--- a/include/boost/predef/compiler/microtec.h
+++ b/include/boost/predef/compiler/microtec.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_COMP_MRI BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_MRI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_MRI)
# undef BOOST_COMP_MRI
-# define BOOST_COMP_MRI BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_COMP_MRI BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_COMP_MRI
+# define BOOST_COMP_MRI_AVAILABLE
#endif
#define BOOST_COMP_MRI_NAME "Microtec C/C++"
diff --git a/include/boost/predef/compiler/mingw.h b/include/boost/predef/compiler/mingw.h
index c687042..60b50b2 100644
--- a/include/boost/predef/compiler/mingw.h
+++ b/include/boost/predef/compiler/mingw.h
@@ -28,20 +28,26 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_MINGW BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_MINGW BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__MINGW32__) || defined(__MINGW64__)
# include <_mingw.h>
# undef BOOST_COMP_MINGW
-# if defined(__MINGW64_VERSION_MAJOR) && defined(__MINGW64_VERSION_MINOR)
+# if !defined(BOOST_COMP_MINGW) && (defined(__MINGW64_VERSION_MAJOR) && defined(__MINGW64_VERSION_MINOR))
# define BOOST_COMP_MINGW \
BOOST_VERSION_NUMBER(__MINGW64_VERSION_MAJOR,__MINGW64_VERSION_MINOR,0)
-# elif defined(__MINGW32_VERSION_MAJOR) && defined(__MINGW32_VERSION_MINOR)
+# endif
+# if !defined(BOOST_COMP_MINGW) && (defined(__MINGW32_VERSION_MAJOR) && defined(__MINGW32_VERSION_MINOR))
# define BOOST_COMP_MINGW \
BOOST_VERSION_NUMBER(__MINGW32_MAJOR_VERSION,__MINGW32_MINOR_VERSION,0)
-# else
-# define BOOST_COMP_MINGW BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_MINGW)
+# define BOOST_COMP_MINGW BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_MINGW
+# define BOOST_COMP_MINGW_AVAILABLE
#endif
#define BOOST_COMP_MINGW_NAME "MinGW"
diff --git a/include/boost/predef/compiler/mpw.h b/include/boost/predef/compiler/mpw.h
index 961f480..1c8113e 100644
--- a/include/boost/predef/compiler/mpw.h
+++ b/include/boost/predef/compiler/mpw.h
@@ -28,15 +28,20 @@ Version number available as major, and minor.
]
*/
-#define BOOST_COMP_MPW BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_MPW BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__MRC__) || defined(MPW_C) || defined(MPW_CPLUS)
# undef BOOST_COMP_MPW
-# if defined(__MRC__)
+# if !defined(BOOST_COMP_MPW) && defined(__MRC__)
# define BOOST_COMP_MPW BOOST_PREDEF_MAKE_0X_VVRR(__MRC__)
-# else
-# define BOOST_COMP_MPW BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_MPW)
+# define BOOST_COMP_MPW BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_MPW
+# define BOOST_COMP_MPW_AVAILABLE
#endif
#define BOOST_COMP_MPW_NAME "MPW C++"
diff --git a/include/boost/predef/compiler/palm.h b/include/boost/predef/compiler/palm.h
index 0ac471e..dec9c3b 100644
--- a/include/boost/predef/compiler/palm.h
+++ b/include/boost/predef/compiler/palm.h
@@ -26,13 +26,17 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_PALM BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_PALM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_PACC_VER)
# undef BOOST_COMP_PALM
# define BOOST_COMP_PALM BOOST_PREDEF_MAKE_0X_VRRPP000(_PACC_VER)
#endif
+#if BOOST_COMP_PALM
+# define BOOST_COMP_PALM_AVAILABLE
+#endif
+
#define BOOST_COMP_PALM_NAME "Palm C/C++"
#include
diff --git a/include/boost/predef/compiler/pgi.h b/include/boost/predef/compiler/pgi.h
index a94f9a2..963a5aa 100644
--- a/include/boost/predef/compiler/pgi.h
+++ b/include/boost/predef/compiler/pgi.h
@@ -25,15 +25,20 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_COMP_PGI BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_PGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__PGI)
# undef BOOST_COMP_PGI
-# if defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__)
+# if !defined(BOOST_COMP_PGI) && (defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__))
# define BOOST_COMP_PGI BOOST_VERSION_NUMBER(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__)
-# else
-# define BOOST_COMP_PGI BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_PGI)
+# define BOOST_COMP_PGI BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_PGI
+# define BOOST_COMP_PGI_AVAILABLE
#endif
#define BOOST_COMP_PGI_NAME "Portland Group C/C++"
diff --git a/include/boost/predef/compiler/sgi_mipspro.h b/include/boost/predef/compiler/sgi_mipspro.h
index 900881f..1cc5833 100644
--- a/include/boost/predef/compiler/sgi_mipspro.h
+++ b/include/boost/predef/compiler/sgi_mipspro.h
@@ -28,17 +28,23 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_SGI BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__sgi) || defined(sgi)
# undef BOOST_COMP_SGI
-# if defined(_SGI_COMPILER_VERSION)
+# if !defined(BOOST_COMP_SGI) && defined(_SGI_COMPILER_VERSION)
# define BOOST_COMP_SGI BOOST_PREDEF_MAKE_10_VRP(_SGI_COMPILER_VERSION)
-# elif defined(_COMPILER_VERSION)
-# define BOOST_COMP_SGI BOOST_PREDEF_MAKE_10_VRP(_COMPILER_VERSION)
-# else
-# define BOOST_COMP_SGI BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_SGI) && defined(_COMPILER_VERSION)
+# define BOOST_COMP_SGI BOOST_PREDEF_MAKE_10_VRP(_COMPILER_VERSION)
+# endif
+# if !defined(BOOST_COMP_SGI)
+# define BOOST_COMP_SGI BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_SGI
+# define BOOST_COMP_SGI_AVAILABLE
#endif
#define BOOST_COMP_SGI_NAME "SGI MIPSpro"
diff --git a/include/boost/predef/compiler/sunpro.h b/include/boost/predef/compiler/sunpro.h
index caafc1c..140700a 100644
--- a/include/boost/predef/compiler/sunpro.h
+++ b/include/boost/predef/compiler/sunpro.h
@@ -28,17 +28,23 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
# undef BOOST_COMP_SUNPRO
-# if defined(__SUNPRO_CC)
+# if !defined(BOOST_COMP_SUNPRO) && defined(__SUNPRO_CC)
# define BOOST_COMP_SUNPRO BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_CC)
-# elif defined(__SUNPRO_C)
-# define BOOST_COMP_SUNPRO BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_C)
-# else
-# define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_COMP_SUNPRO) && defined(__SUNPRO_C)
+# define BOOST_COMP_SUNPRO BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_C)
+# endif
+# if !defined(BOOST_COMP_SUNPRO)
+# define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_COMP_SUNPRO
+# define BOOST_COMP_SUNPRO_AVAILABLE
#endif
#define BOOST_COMP_SUNPRO_NAME "Sun Studio"
diff --git a/include/boost/predef/compiler/tendra.h b/include/boost/predef/compiler/tendra.h
index 7472dbb..227b1f7 100644
--- a/include/boost/predef/compiler/tendra.h
+++ b/include/boost/predef/compiler/tendra.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__TenDRA__)
# undef BOOST_COMP_TENDRA
-# define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_COMP_TENDRA
+# define BOOST_COMP_TENDRA_AVAILABLE
#endif
#define BOOST_COMP_TENDRA_NAME "TenDRA C/C++"
diff --git a/include/boost/predef/compiler/visualc.h b/include/boost/predef/compiler/visualc.h
index 1b9bc8f..ccfdb83 100644
--- a/include/boost/predef/compiler/visualc.h
+++ b/include/boost/predef/compiler/visualc.h
@@ -27,7 +27,7 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_COMP_MSVC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_MSVC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_MSC_VER)
# undef BOOST_COMP_MSVC
@@ -51,6 +51,10 @@ Version number available as major, minor, and patch.
BOOST_COMP_MSVC_BUILD)
#endif
+#if BOOST_COMP_MSVC
+# define BOOST_COMP_MSVC_AVAILABLE
+#endif
+
#define BOOST_COMP_MSVC_NAME "Microsoft Visual C/C++"
#include
diff --git a/include/boost/predef/compiler/watcom.h b/include/boost/predef/compiler/watcom.h
index c86e351..6233b22 100644
--- a/include/boost/predef/compiler/watcom.h
+++ b/include/boost/predef/compiler/watcom.h
@@ -26,13 +26,17 @@ Version number available as major, and minor.
]
*/
-#define BOOST_COMP_WATCOM BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_COMP_WATCOM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__WATCOMC__)
# undef BOOST_COMP_WATCOM
# define BOOST_COMP_WATCOM BOOST_PREDEF_MAKE_10_VVRR(__WATCOMC__)
#endif
+#if BOOST_COMP_WATCOM
+# define BOOST_COMP_WATCOM_AVAILABLE
+#endif
+
#define BOOST_COMP_WATCOM_NAME "Watcom C++"
#include
diff --git a/include/boost/predef/language/objc.h b/include/boost/predef/language/objc.h
index f3470f9..dd48290 100644
--- a/include/boost/predef/language/objc.h
+++ b/include/boost/predef/language/objc.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_LANG_OBJC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LANG_OBJC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__OBJC__)
# undef BOOST_LANG_OBJC
-# define BOOST_LANG_OBJC BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LANG_OBJC BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_LANG_OBJC
+# define BOOST_LANG_OBJC_AVAILABLE
#endif
#define BOOST_LANG_OBJC_NAME "Objective-C"
diff --git a/include/boost/predef/language/stdc.h b/include/boost/predef/language/stdc.h
index f7842ca..2495d74 100644
--- a/include/boost/predef/language/stdc.h
+++ b/include/boost/predef/language/stdc.h
@@ -26,7 +26,7 @@ If available, the year of the standard is detected as YYYY.MM.1 from the Epoc da
]
*/
-#define BOOST_LANG_STDC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LANG_STDC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__STDC__)
# undef BOOST_LANG_STDC
@@ -34,13 +34,17 @@ If available, the year of the standard is detected as YYYY.MM.1 from the Epoc da
# if (__STDC_VERSION__ > 100)
# define BOOST_LANG_STDC BOOST_PREDEF_MAKE_YYYYMM(__STDC_VERSION__)
# else
-# define BOOST_LANG_STDC BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LANG_STDC BOOST_VERSION_NUMBER_AVAILABLE
# endif
# else
-# define BOOST_LANG_STDC BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LANG_STDC BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_LANG_STDC
+# define BOOST_LANG_STDC_AVAILABLE
+#endif
+
#define BOOST_LANG_STDC_NAME "Standard C"
#include
diff --git a/include/boost/predef/language/stdcpp.h b/include/boost/predef/language/stdcpp.h
index 5e693be..1ccb8e8 100644
--- a/include/boost/predef/language/stdcpp.h
+++ b/include/boost/predef/language/stdcpp.h
@@ -35,17 +35,21 @@ Specifically the defined versions are:
]
*/
-#define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__cplusplus)
# undef BOOST_LANG_STDCPP
# if (__cplusplus > 100)
# define BOOST_LANG_STDCPP BOOST_PREDEF_MAKE_YYYYMM(__cplusplus)
# else
-# define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_LANG_STDCPP
+# define BOOST_LANG_STDCPP_AVAILABLE
+#endif
+
#define BOOST_LANG_STDCPP_NAME "Standard C++"
#include
@@ -67,17 +71,21 @@ If available, the year of the standard is detected as YYYY.MM.1 from the Epoc da
]
*/
-#define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__cplusplus_cli)
# undef BOOST_LANG_STDCPPCLI
# if (__cplusplus_cli > 100)
# define BOOST_LANG_STDCPPCLI BOOST_PREDEF_MAKE_YYYYMM(__cplusplus_cli)
# else
-# define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_LANG_STDCPPCLI
+# define BOOST_LANG_STDCPPCLI_AVAILABLE
+#endif
+
#define BOOST_LANG_STDCPPCLI_NAME "Standard C++/CLI"
#include
@@ -96,11 +104,15 @@ BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_STDCPPCLI,BOOST_LANG_STDCPPCLI_NAME)
]
*/
-#define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__embedded_cplusplus)
# undef BOOST_LANG_STDECPP
-# define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_LANG_STDECPP
+# define BOOST_LANG_STDECPP_AVAILABLE
#endif
#define BOOST_LANG_STDECPP_NAME "Standard Embedded C++"
diff --git a/include/boost/predef/library/c/gnu.h b/include/boost/predef/library/c/gnu.h
index 212a483..ee0ab2b 100644
--- a/include/boost/predef/library/c/gnu.h
+++ b/include/boost/predef/library/c/gnu.h
@@ -34,7 +34,7 @@ Version number available as major, and minor.
]
*/
-#define BOOST_LIB_C_GNU BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_C_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__GLIBC__) || defined(__GNU_LIBRARY__)
# undef BOOST_LIB_C_GNU
@@ -47,6 +47,10 @@ Version number available as major, and minor.
# endif
#endif
+#if BOOST_LIB_C_GNU
+# define BOOST_LIB_C_GNU_AVAILABLE
+#endif
+
#define BOOST_LIB_C_GNU_NAME "GNU"
#include
diff --git a/include/boost/predef/library/c/uc.h b/include/boost/predef/library/c/uc.h
index 8b0f98d..3ad94f8 100644
--- a/include/boost/predef/library/c/uc.h
+++ b/include/boost/predef/library/c/uc.h
@@ -25,7 +25,7 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_LIB_C_UC BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_C_UC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__UCLIBC__)
# undef BOOST_LIB_C_UC
@@ -33,6 +33,10 @@ http://www.boost.org/LICENSE_1_0.txt)
__UCLIBC_MAJOR__,__UCLIBC_MINOR__,__UCLIBC_SUBLEVEL__)
#endif
+#if BOOST_LIB_C_UC
+# define BOOST_LIB_C_UC_AVAILABLE
+#endif
+
#define BOOST_LIB_C_UC_NAME "uClibc"
#include
diff --git a/include/boost/predef/library/c/vms.h b/include/boost/predef/library/c/vms.h
index 9602c36..8ae5e73 100644
--- a/include/boost/predef/library/c/vms.h
+++ b/include/boost/predef/library/c/vms.h
@@ -26,13 +26,17 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_LIB_C_VMS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_C_VMS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__CRTL_VER)
# undef BOOST_LIB_C_VMS
# define BOOST_LIB_C_VMS BOOST_PREDEF_MAKE_10_VVRR0PP00(__CRTL_VER)
#endif
+#if BOOST_LIB_C_VMS
+# define BOOST_LIB_C_VMS_AVAILABLE
+#endif
+
#define BOOST_LIB_C_VMS_NAME "VMS"
#include
diff --git a/include/boost/predef/library/c/zos.h b/include/boost/predef/library/c/zos.h
index 88b9c04..4a29841 100644
--- a/include/boost/predef/library/c/zos.h
+++ b/include/boost/predef/library/c/zos.h
@@ -27,17 +27,23 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_LIB_C_ZOS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_C_ZOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__LIBREL__)
# undef BOOST_LIB_C_ZOS
-# if defined(__LIBREL__)
+# if !defined(BOOST_LIB_C_ZOS) && defined(__LIBREL__)
# define BOOST_LIB_C_ZOS BOOST_PREDEF_MAKE_0X_VRRPPPP(__LIBREL__)
-# elif defined(__TARGET_LIB__)
-# define BOOST_LIB_C_ZOS BOOST_PREDEF_MAKE_0X_VRRPPPP(__TARGET_LIB__)
-# else
-# define BOOST_LIB_C_ZOS BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_LIB_C_ZOS) && defined(__TARGET_LIB__)
+# define BOOST_LIB_C_ZOS BOOST_PREDEF_MAKE_0X_VRRPPPP(__TARGET_LIB__)
+# endif
+# if !defined(BOOST_LIB_C_ZOS)
+# define BOOST_LIB_C_ZOS BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_LIB_C_ZOS
+# define BOOST_LIB_C_ZOS_AVAILABLE
#endif
#define BOOST_LIB_C_ZOS_NAME "z/OS"
diff --git a/include/boost/predef/library/std/cxx.h b/include/boost/predef/library/std/cxx.h
index cb786e5..f884675 100644
--- a/include/boost/predef/library/std/cxx.h
+++ b/include/boost/predef/library/std/cxx.h
@@ -25,13 +25,17 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_LIB_STD_CXX BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_CXX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_LIBCPP_VERSION)
# undef BOOST_LIB_STD_CXX
# define BOOST_LIB_STD_CXX BOOST_PREDEF_MAKE_10_VPPP(_LIBCPP_VERSION)
#endif
+#if BOOST_LIB_STD_CXX
+# define BOOST_LIB_STD_CXX_AVAILABLE
+#endif
+
#define BOOST_LIB_STD_CXX_NAME "libc++"
#include
diff --git a/include/boost/predef/library/std/dinkumware.h b/include/boost/predef/library/std/dinkumware.h
index a70d8b5..f8178a6 100644
--- a/include/boost/predef/library/std/dinkumware.h
+++ b/include/boost/predef/library/std/dinkumware.h
@@ -27,17 +27,21 @@ If available version number as major, minor, and patch.
]
*/
-#define BOOST_LIB_STD_DINKUMWARE BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_DINKUMWARE BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
# undef BOOST_LIB_STD_DINKUMWARE
# if defined(_CPPLIB_VER)
# define BOOST_LIB_STD_DINKUMWARE BOOST_PREDEF_MAKE_10_VVRR(_CPPLIB_VER)
# else
-# define BOOST_LIB_STD_DINKUMWARE BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LIB_STD_DINKUMWARE BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_LIB_STD_DINKUMWARE
+# define BOOST_LIB_STD_DINKUMWARE_AVAILABLE
+#endif
+
#define BOOST_LIB_STD_DINKUMWARE_NAME "Dinkumware"
#include
diff --git a/include/boost/predef/library/std/libcomo.h b/include/boost/predef/library/std/libcomo.h
index 6c30e78..3c32d7f 100644
--- a/include/boost/predef/library/std/libcomo.h
+++ b/include/boost/predef/library/std/libcomo.h
@@ -26,13 +26,17 @@ Version number available as major.
]
*/
-#define BOOST_LIB_STD_COMO BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__LIBCOMO__)
# undef BOOST_LIB_STD_COMO
# define BOOST_LIB_STD_COMO BOOST_VERSION_NUMBER(__LIBCOMO_VERSION__,0,0)
#endif
+#if BOOST_LIB_STD_COMO
+# define BOOST_LIB_STD_COMO_AVAILABLE
+#endif
+
#define BOOST_LIB_STD_COMO_NAME "Comeau Computing"
#include
diff --git a/include/boost/predef/library/std/modena.h b/include/boost/predef/library/std/modena.h
index 42a1465..7b260c2 100644
--- a/include/boost/predef/library/std/modena.h
+++ b/include/boost/predef/library/std/modena.h
@@ -24,11 +24,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_LIB_STD_MSIPL BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_MSIPL BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(MSIPL_COMPILE_H) || defined(__MSIPL_COMPILE_H)
# undef BOOST_LIB_STD_MSIPL
-# define BOOST_LIB_STD_MSIPL BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LIB_STD_MSIPL BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_LIB_STD_MSIPL
+# define BOOST_LIB_STD_MSIPL_AVAILABLE
#endif
#define BOOST_LIB_STD_MSIPL_NAME "Modena Software Lib++"
diff --git a/include/boost/predef/library/std/msl.h b/include/boost/predef/library/std/msl.h
index 8662dfc..3478ab9 100644
--- a/include/boost/predef/library/std/msl.h
+++ b/include/boost/predef/library/std/msl.h
@@ -28,7 +28,7 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_LIB_STD_MSL BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_MSL BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__MSL_CPP__) || defined(__MSL__)
# undef BOOST_LIB_STD_MSL
@@ -39,6 +39,10 @@ Version number available as major, minor, and patch.
# endif
#endif
+#if BOOST_LIB_STD_MSL
+# define BOOST_LIB_STD_MSL_AVAILABLE
+#endif
+
#define BOOST_LIB_STD_MSL_NAME "Metrowerks"
#include
diff --git a/include/boost/predef/library/std/roguewave.h b/include/boost/predef/library/std/roguewave.h
index d49f5e1..b968ac3 100644
--- a/include/boost/predef/library/std/roguewave.h
+++ b/include/boost/predef/library/std/roguewave.h
@@ -27,7 +27,7 @@ If available version number as major, minor, and patch.
]
*/
-#define BOOST_LIB_STD_RW BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_RW BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
# undef BOOST_LIB_STD_RW
@@ -38,10 +38,14 @@ If available version number as major, minor, and patch.
# define BOOST_LIB_STD_RW BOOST_PREDEF_MAKE_0X_VVRRPP(_RWSTD_VER)
# endif
# else
-# define BOOST_LIB_STD_RW BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LIB_STD_RW BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_LIB_STD_RW
+# define BOOST_LIB_STD_RW_AVAILABLE
+#endif
+
#define BOOST_LIB_STD_RW_NAME "Roguewave"
#include
diff --git a/include/boost/predef/library/std/sgi.h b/include/boost/predef/library/std/sgi.h
index 8ab6dc1..289db97 100644
--- a/include/boost/predef/library/std/sgi.h
+++ b/include/boost/predef/library/std/sgi.h
@@ -26,17 +26,21 @@ If available version number as major, minor, and patch.
]
*/
-#define BOOST_LIB_STD_SGI BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__STL_CONFIG_H)
# undef BOOST_LIB_STD_SGI
# if defined(__SGI_STL)
# define BOOST_LIB_STD_SGI BOOST_PREDEF_MAKE_0X_VRP(__SGI_STL)
# else
-# define BOOST_LIB_STD_SGI BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LIB_STD_SGI BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_LIB_STD_SGI
+# define BOOST_LIB_STD_SGI_AVAILABLE
+#endif
+
#define BOOST_LIB_STD_SGI_NAME "SGI"
#include
diff --git a/include/boost/predef/library/std/stdcpp3.h b/include/boost/predef/library/std/stdcpp3.h
index 8588550..209436e 100644
--- a/include/boost/predef/library/std/stdcpp3.h
+++ b/include/boost/predef/library/std/stdcpp3.h
@@ -28,7 +28,7 @@ Version number available as year (from 1970), month, and day.
]
*/
-#define BOOST_LIB_STD_GNU BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__GLIBCPP__) || defined(__GLIBCXX__)
# undef BOOST_LIB_STD_GNU
@@ -39,6 +39,10 @@ Version number available as year (from 1970), month, and day.
# endif
#endif
+#if BOOST_LIB_STD_GNU
+# define BOOST_LIB_STD_GNU_AVAILABLE
+#endif
+
#define BOOST_LIB_STD_GNU_NAME "GNU"
#include
diff --git a/include/boost/predef/library/std/stlport.h b/include/boost/predef/library/std/stlport.h
index b8dfa69..25def0a 100644
--- a/include/boost/predef/library/std/stlport.h
+++ b/include/boost/predef/library/std/stlport.h
@@ -29,20 +29,26 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_LIB_STD_STLPORT BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_STLPORT BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
# undef BOOST_LIB_STD_STLPORT
-# if defined(_STLPORT_MAJOR)
+# if !defined(BOOST_LIB_STD_STLPORT) && defined(_STLPORT_MAJOR)
# define BOOST_LIB_STD_STLPORT \
BOOST_VERSION_NUMBER(_STLPORT_MAJOR,_STLPORT_MINOR,_STLPORT_PATCHLEVEL)
-# elif defined(_STLPORT_VERSION)
+# endif
+# if !defined(BOOST_LIB_STD_STLPORT) && defined(_STLPORT_VERSION)
# define BOOST_LIB_STD_STLPORT BOOST_PREDEF_MAKE_0X_VRP(_STLPORT_VERSION)
-# else
+# endif
+# if !defined(BOOST_LIB_STD_STLPORT)
# define BOOST_LIB_STD_STLPORT BOOST_PREDEF_MAKE_0X_VRP(__SGI_STL_PORT)
# endif
#endif
+#if BOOST_LIB_STD_STLPORT
+# define BOOST_LIB_STD_STLPORT_AVAILABLE
+#endif
+
#define BOOST_LIB_STD_STLPORT_NAME "STLport"
#include
diff --git a/include/boost/predef/library/std/vacpp.h b/include/boost/predef/library/std/vacpp.h
index aaaf3a7..e43af47 100644
--- a/include/boost/predef/library/std/vacpp.h
+++ b/include/boost/predef/library/std/vacpp.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_LIB_STD_IBM BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_LIB_STD_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__IBMCPP__)
# undef BOOST_LIB_STD_IBM
-# define BOOST_LIB_STD_IBM BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_LIB_STD_IBM BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_LIB_STD_IBM
+# define BOOST_LIB_STD_IBM_AVAILABLE
#endif
#define BOOST_LIB_STD_IBM_NAME "IBM VACPP"
diff --git a/include/boost/predef/os/aix.h b/include/boost/predef/os/aix.h
index 37f562a..bc29c1d 100644
--- a/include/boost/predef/os/aix.h
+++ b/include/boost/predef/os/aix.h
@@ -30,21 +30,29 @@ Version number available as major, minor, and patch.
]
*/
-#define BOOST_OS_AIX BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_AIX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_AIX) || defined(__TOS_AIX__)
# undef BOOST_OS_AIX
-# if defined(_AIX43)
+# if !defined(BOOST_OS_AIX) && defined(_AIX43)
# define BOOST_OS_AIX BOOST_VERSION_NUMBER(4,3,0)
-# elif defined(_AIX41)
-# define BOOST_OS_AIX BOOST_VERSION_NUMBER(4,1,0)
-# elif defined(_AIX32)
-# define BOOST_OS_AIX BOOST_VERSION_NUMBER(3,2,0)
-# elif defined(_AIX3)
-# define BOOST_OS_AIX BOOST_VERSION_NUMBER(3,0,0)
-# else
-# define BOOST_OS_AIX BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_OS_AIX) && defined(_AIX41)
+# define BOOST_OS_AIX BOOST_VERSION_NUMBER(4,1,0)
+# endif
+# if !defined(BOOST_OS_AIX) && defined(_AIX32)
+# define BOOST_OS_AIX BOOST_VERSION_NUMBER(3,2,0)
+# endif
+# if !defined(BOOST_OS_AIX) && defined(_AIX3)
+# define BOOST_OS_AIX BOOST_VERSION_NUMBER(3,0,0)
+# endif
+# if !defined(BOOST_OS_AIX)
+# define BOOST_OS_AIX BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_OS_AIX
+# define BOOST_OS_AIX_AVAILABLE
#endif
#define BOOST_OS_AIX_NAME "IBM AIX"
diff --git a/include/boost/predef/os/amigaos.h b/include/boost/predef/os/amigaos.h
index f821e83..41a29f9 100644
--- a/include/boost/predef/os/amigaos.h
+++ b/include/boost/predef/os/amigaos.h
@@ -24,11 +24,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(AMIGA) || defined(__amigaos__)
# undef BOOST_OS_AMIGAOS
-# define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_AMIGAOS
+# define BOOST_OS_AMIGAOS_AVAILABLE
#endif
#define BOOST_OS_AMIGAOS_NAME "AmigaOS"
diff --git a/include/boost/predef/os/beos.h b/include/boost/predef/os/beos.h
index 8cfbc85..a0a82ff 100644
--- a/include/boost/predef/os/beos.h
+++ b/include/boost/predef/os/beos.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_BEOS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_BEOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__BEOS__)
# undef BOOST_OS_BEOS
-# define BOOST_OS_BEOS BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_BEOS BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_BEOS
+# define BOOST_OS_BEOS_AVAILABLE
#endif
#define BOOST_OS_BEOS_NAME "BeOS"
diff --git a/include/boost/predef/os/bsd.h b/include/boost/predef/os/bsd.h
index 07b0a23..28a187e 100644
--- a/include/boost/predef/os/bsd.h
+++ b/include/boost/predef/os/bsd.h
@@ -42,23 +42,31 @@ of BSD. If the above variants is detected the corresponding macro is also set.]
]
*/
-#define BOOST_OS_BSD BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_BSD BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(BSD) || \
defined(_SYSTYPE_BSD)
# undef BOOST_OS_BSD
# include
-# if defined(BSD4_2)
+# if !defined(BOOST_OS_BSD) && defined(BSD4_2)
# define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,2,0)
-# elif defined(BSD4_3)
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,3,0)
-# elif defined(BSD4_4)
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,4,0)
-# elif defined(BSD)
-# define BOOST_OS_BSD BOOST_PREDEF_MAKE_10_VVRR(BSD)
-# else
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_OS_BSD) && defined(BSD4_3)
+# define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,3,0)
+# endif
+# if !defined(BOOST_OS_BSD) && defined(BSD4_4)
+# define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,4,0)
+# endif
+# if !defined(BOOST_OS_BSD) && defined(BSD)
+# define BOOST_OS_BSD BOOST_PREDEF_MAKE_10_VVRR(BSD)
+# endif
+# if !defined(BOOST_OS_BSD)
+# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_OS_BSD
+# define BOOST_OS_BSD_AVAILABLE
#endif
#define BOOST_OS_BSD_NAME "BSD"
diff --git a/include/boost/predef/os/bsd/bsdi.h b/include/boost/predef/os/bsd/bsdi.h
index 918c4bd..3d53ca6 100644
--- a/include/boost/predef/os/bsd/bsdi.h
+++ b/include/boost/predef/os/bsd/bsdi.h
@@ -22,14 +22,18 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__bsdi__)
# ifndef BOOST_OS_BSD
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
# endif
# undef BOOST_OS_BSD_BSDI
-# define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_BSD_BSDI
+# define BOOST_OS_BSD_BSDI_AVAILABLE
#endif
#define BOOST_OS_BSD_BSDI_NAME "BSDi BSD/OS"
diff --git a/include/boost/predef/os/bsd/dragonfly.h b/include/boost/predef/os/bsd/dragonfly.h
index 18d4aff..dfa0b28 100644
--- a/include/boost/predef/os/bsd/dragonfly.h
+++ b/include/boost/predef/os/bsd/dragonfly.h
@@ -22,18 +22,22 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_BSD_DRAGONFLY BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_BSD_DRAGONFLY BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__DragonFly__)
# ifndef BOOST_OS_BSD
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
# endif
# undef BOOST_OS_BSD_DRAGONFLY
# if defined(__DragonFly__)
-# define BOOST_OS_DRAGONFLY_BSD BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_DRAGONFLY_BSD BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_OS_BSD_DRAGONFLY
+# define BOOST_OS_BSD_DRAGONFLY_AVAILABLE
+#endif
+
#define BOOST_OS_BSD_DRAGONFLY_NAME "DragonFly BSD"
#include
diff --git a/include/boost/predef/os/bsd/free.h b/include/boost/predef/os/bsd/free.h
index fdbcaa8..085c6cd 100644
--- a/include/boost/predef/os/bsd/free.h
+++ b/include/boost/predef/os/bsd/free.h
@@ -24,11 +24,11 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__FreeBSD__)
# ifndef BOOST_OS_BSD
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
# endif
# undef BOOST_OS_BSD_FREE
# if defined(__FreeBSD_version)
@@ -40,10 +40,14 @@ http://www.boost.org/LICENSE_1_0.txt)
BOOST_PREDEF_MAKE_10_VRR000(__FreeBSD_version)
# endif
# else
-# define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_OS_BSD_FREE
+# define BOOST_OS_BSD_FREE_AVAILABLE
+#endif
+
#define BOOST_OS_BSD_FREE_NAME "Free BSD"
#include
diff --git a/include/boost/predef/os/bsd/net.h b/include/boost/predef/os/bsd/net.h
index 49f3e47..ffbba00 100644
--- a/include/boost/predef/os/bsd/net.h
+++ b/include/boost/predef/os/bsd/net.h
@@ -29,11 +29,11 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__NETBSD__) || defined(__NetBSD__)
# ifndef BOOST_OS_BSD
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
# endif
# undef BOOST_OS_BSD_NET
# if defined(__NETBSD__)
@@ -46,24 +46,32 @@ http://www.boost.org/LICENSE_1_0.txt)
BOOST_PREDEF_MAKE_10_VRR000(__NETBSD_version)
# endif
# else
-# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_AVAILABLE
# endif
# elif defined(__NetBSD__)
-# if defined(NetBSD0_8)
+# if !defined(BOOST_OS_BSD_NET) && defined(NetBSD0_8)
# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,8,0)
-# elif defined(NetBSD0_9)
+# endif
+# if !defined(BOOST_OS_BSD_NET) && defined(NetBSD0_9)
# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,9,0)
-# elif defined(NetBSD1_0)
+# endif
+# if !defined(BOOST_OS_BSD_NET) && defined(NetBSD1_0)
# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(1,0,0)
-# elif defined(__NetBSD_Version)
+# endif
+# if !defined(BOOST_OS_BSD_NET) && defined(__NetBSD_Version)
# define BOOST_OS_BSD_NET \
BOOST_PREDEF_MAKE_10_VVRR00PP00(__NetBSD_Version)
-# else
-# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,0,1)
+# endif
+# if !defined(BOOST_OS_BSD_NET)
+# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_AVAILABLE
# endif
# endif
#endif
+#if BOOST_OS_BSD_NET
+# define BOOST_OS_BSD_NET_AVAILABLE
+#endif
+
#define BOOST_OS_BSD_NET_NAME "DragonFly BSD"
#include
diff --git a/include/boost/predef/os/bsd/open.h b/include/boost/predef/os/bsd/open.h
index c6065b1..953f3a9 100644
--- a/include/boost/predef/os/bsd/open.h
+++ b/include/boost/predef/os/bsd/open.h
@@ -53,76 +53,110 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__OpenBSD__)
# ifndef BOOST_OS_BSD
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
# endif
# undef BOOST_OS_BSD_OPEN
-# if defined(OpenBSD2_0)
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_0)
# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,0,0)
-# elif defined(OpenBSD2_1)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,1,0)
-# elif defined(OpenBSD2_2)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,2,0)
-# elif defined(OpenBSD2_3)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,3,0)
-# elif defined(OpenBSD2_4)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,4,0)
-# elif defined(OpenBSD2_5)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,5,0)
-# elif defined(OpenBSD2_6)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,6,0)
-# elif defined(OpenBSD2_7)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,7,0)
-# elif defined(OpenBSD2_8)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,8,0)
-# elif defined(OpenBSD2_9)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,9,0)
-# elif defined(OpenBSD3_0)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,0,0)
-# elif defined(OpenBSD3_1)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,1,0)
-# elif defined(OpenBSD3_2)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,2,0)
-# elif defined(OpenBSD3_3)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,3,0)
-# elif defined(OpenBSD3_4)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,4,0)
-# elif defined(OpenBSD3_5)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,5,0)
-# elif defined(OpenBSD3_6)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,6,0)
-# elif defined(OpenBSD3_7)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,7,0)
-# elif defined(OpenBSD3_8)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,8,0)
-# elif defined(OpenBSD3_9)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,9,0)
-# elif defined(OpenBSD4_0)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,0,0)
-# elif defined(OpenBSD4_1)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,1,0)
-# elif defined(OpenBSD4_2)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,2,0)
-# elif defined(OpenBSD4_3)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,3,0)
-# elif defined(OpenBSD4_4)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,4,0)
-# elif defined(OpenBSD4_5)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,5,0)
-# elif defined(OpenBSD4_6)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,6,0)
-# elif defined(OpenBSD4_7)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,7,0)
-# elif defined(OpenBSD4_8)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,8,0)
-# elif defined(OpenBSD4_9)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,9,0)
-# else
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_1)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,1,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_2)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,2,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_3)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,3,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_4)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,4,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_5)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,5,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_6)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,6,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_7)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,7,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_8)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,8,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_9)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,9,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_0)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,0,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_1)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,1,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_2)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,2,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_3)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,3,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_4)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,4,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_5)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,5,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_6)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,6,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_7)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,7,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_8)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,8,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_9)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,9,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_0)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,0,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_1)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,1,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_2)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,2,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_3)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,3,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_4)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,4,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_5)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,5,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_6)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,6,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_7)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,7,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_8)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,8,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_9)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,9,0)
+# endif
+# if !defined(BOOST_OS_BSD_OPEN)
+# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_OS_BSD_OPEN
+# define BOOST_OS_BSD_OPEN_AVAILABLE
#endif
#define BOOST_OS_BSD_OPEN_NAME "OpenBSD"
diff --git a/include/boost/predef/os/cygwin.h b/include/boost/predef/os/cygwin.h
index 5d745d1..999957a 100644
--- a/include/boost/predef/os/cygwin.h
+++ b/include/boost/predef/os/cygwin.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_CYGWIN BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_CYGWIN BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__CYGWIN__)
# undef BOOST_OS_CYGWIN
-# define BOOST_OS_CGYWIN BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_CGYWIN BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_CYGWIN
+# define BOOST_OS_CYGWIN_AVAILABLE
#endif
#define BOOST_OS_CYGWIN_NAME "Cygwin"
diff --git a/include/boost/predef/os/hpux.h b/include/boost/predef/os/hpux.h
index 07686dc..38bc8ac 100644
--- a/include/boost/predef/os/hpux.h
+++ b/include/boost/predef/os/hpux.h
@@ -25,11 +25,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_HPUX BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_HPUX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(hpux) || defined(_hpux) || defined(__hpux)
# undef BOOST_OS_HPUX
-# define BOOST_OS_HPUX BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_HPUX BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_HPUX
+# define BOOST_OS_HPUX_AVAILABLE
#endif
#define BOOST_OS_HPUX_NAME "HP-UX"
diff --git a/include/boost/predef/os/irix.h b/include/boost/predef/os/irix.h
index 2990641..6745fb7 100644
--- a/include/boost/predef/os/irix.h
+++ b/include/boost/predef/os/irix.h
@@ -24,11 +24,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_IRIX BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_IRIX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(sgi) || defined(__sgi)
# undef BOOST_OS_IRIX
-# define BOOST_OS_IRIX BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_IRIX BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_IRIX
+# define BOOST_OS_IRIX_AVAILABLE
#endif
#define BOOST_OS_IRIX_NAME "IRIX"
diff --git a/include/boost/predef/os/linux.h b/include/boost/predef/os/linux.h
index cb1ad35..1762b38 100644
--- a/include/boost/predef/os/linux.h
+++ b/include/boost/predef/os/linux.h
@@ -24,11 +24,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_LINUX BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_LINUX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(linux) || defined(__linux)
# undef BOOST_OS_LINUX
-# define BOOST_OS_LINUX BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_LINUX BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_LINUX
+# define BOOST_OS_LINUX_AVAILABLE
#endif
#define BOOST_OS_LINUX_NAME "Linux"
diff --git a/include/boost/predef/os/macos.h b/include/boost/predef/os/macos.h
index b2b7446..db9ac25 100644
--- a/include/boost/predef/os/macos.h
+++ b/include/boost/predef/os/macos.h
@@ -29,7 +29,7 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_MACOS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_MACOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(macintosh) || defined(Macintosh) || \
(defined(__APPLE__) && defined(__MACH__))
@@ -42,6 +42,10 @@ http://www.boost.org/LICENSE_1_0.txt)
# endif
#endif
+#if BOOST_OS_MACOS
+# define BOOST_OS_MACOS_AVAILABLE
+#endif
+
#define BOOST_OS_MACOS_NAME "Mac OS"
#include
diff --git a/include/boost/predef/os/os400.h b/include/boost/predef/os/os400.h
index d0e5aa3..0d724cb 100644
--- a/include/boost/predef/os/os400.h
+++ b/include/boost/predef/os/os400.h
@@ -23,11 +23,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_OS400 BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_OS400 BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__OS400__)
# undef BOOST_OS_OS400
-# define BOOST_OS_OS400 BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_OS400 BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_OS400
+# define BOOST_OS_OS400_AVAILABLE
#endif
#define BOOST_OS_OS400_NAME "IBM OS/400"
diff --git a/include/boost/predef/os/qnxnto.h b/include/boost/predef/os/qnxnto.h
index 4021c43..b34a8d6 100644
--- a/include/boost/predef/os/qnxnto.h
+++ b/include/boost/predef/os/qnxnto.h
@@ -29,17 +29,23 @@ version 4 is specifically detected.
]
*/
-#define BOOST_OS_QNX BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_QNX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__QNX__) || defined(__QNXNTO__)
# undef BOOST_OS_QNX
-# if defined(_NTO_VERSION)
+# if !defined(BOOST_OS_QNX) && defined(_NTO_VERSION)
# define BOOST_OS_QNX BOOST_PREDEF_MAKE_10_VVRR(_NTO_VERSION)
-# elif defined(__QNX__)
-# define BOOST_OS_QNX BOOST_VERSION_NUMBER(4,0,0)
-# else
-# define BOOST_OS_QNX BOOST_VERSION_NUMBER(0,0,1)
# endif
+# if !defined(BOOST_OS_QNX) && defined(__QNX__)
+# define BOOST_OS_QNX BOOST_VERSION_NUMBER(4,0,0)
+# endif
+# if !defined(BOOST_OS_QNX)
+# define BOOST_OS_QNX BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+#endif
+
+#if BOOST_OS_QNX
+# define BOOST_OS_QNX_AVAILABLE
#endif
#define BOOST_OS_QNX_NAME "QNX"
diff --git a/include/boost/predef/os/solaris.h b/include/boost/predef/os/solaris.h
index c4272b4..923deca 100644
--- a/include/boost/predef/os/solaris.h
+++ b/include/boost/predef/os/solaris.h
@@ -24,11 +24,15 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_SOLARIS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_SOLARIS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(sun) || defined(__sun)
# undef BOOST_OS_SOLARIS
-# define BOOST_OS_SOLARIS BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_SOLARIS BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_SOLARIS
+# define BOOST_OS_SOLARIS_AVAILABLE
#endif
#define BOOST_OS_SOLARIS_NAME "Solaris"
diff --git a/include/boost/predef/os/unix.h b/include/boost/predef/os/unix.h
index f02d924..04d1cd1 100644
--- a/include/boost/predef/os/unix.h
+++ b/include/boost/predef/os/unix.h
@@ -26,12 +26,16 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_UNIX BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_UNIX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(unix) || defined(__unix) || \
defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE)
# undef BOOST_OS_UNIX
-# define BOOST_OS_UNIX BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_UNIX BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_UNIX
+# define BOOST_OS_UNIX_AVAILABLE
#endif
#define BOOST_OS_UNIX_NAME "Unix Environment"
@@ -51,12 +55,16 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_SVR4 BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_SVR4 BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__sysv__) || defined(__SVR4) || \
defined(__svr4__) || defined(_SYSTYPE_SVR4)
# undef BOOST_OS_SVR4
-# define BOOST_OS_SVR4 BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_SVR4 BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_ARCH_ALPHA
+# define _AVAILABLE
#endif
#define BOOST_OS_SVR4_NAME "SVR4 Environment"
diff --git a/include/boost/predef/os/vms.h b/include/boost/predef/os/vms.h
index 9485fce..e3641c0 100644
--- a/include/boost/predef/os/vms.h
+++ b/include/boost/predef/os/vms.h
@@ -26,17 +26,21 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_VMS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_VMS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(VMS) || defined(__VMS)
# undef BOOST_OS_VMS
# if defined(__VMS_VER)
# define BOOST_OS_VMS BOOST_PREDEF_MAKE_10_VVRR00PP00(__VMS_VER)
# else
-# define BOOST_OS_VMS BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_VMS BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
+#if BOOST_OS_VMS
+# define BOOST_OS_VMS_AVAILABLE
+#endif
+
#define BOOST_OS_VMS_NAME "VMS"
#include
diff --git a/include/boost/predef/os/windows.h b/include/boost/predef/os/windows.h
index c8ff179..c82a752 100644
--- a/include/boost/predef/os/windows.h
+++ b/include/boost/predef/os/windows.h
@@ -27,13 +27,17 @@ http://www.boost.org/LICENSE_1_0.txt)
]
*/
-#define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER(0,0,0)
+#define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_WIN32) || defined(_WIN64) || \
defined(__WIN32__) || defined(__TOS_WIN__) || \
defined(__WINDOWS__)
# undef BOOST_OS_WINDOWS
-# define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER(0,0,1)
+# define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_OS_WINDOWS
+# define BOOST_OS_WINDOWS_AVAILABLE
#endif
#define BOOST_OS_WINDOWS_NAME "Microsoft Windows"
diff --git a/include/boost/predef/version_number.h b/include/boost/predef/version_number.h
index 67f7d8f..5836cfa 100644
--- a/include/boost/predef/version_number.h
+++ b/include/boost/predef/version_number.h
@@ -1,6 +1,6 @@
/*
Copyright Rene Rivera 2005
-Copyright Redshift Software, Inc. 2008-2012
+Copyright Redshift Software, Inc. 2008-2013
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
@@ -36,4 +36,19 @@ Defines standard version numbers, with these properties:
#define BOOST_VERSION_NUMBER(major,minor,patch) \
( (((major)%100)*10000000) + (((minor)%100)*100000) + ((patch)%100000) )
+#define BOOST_VERSION_NUMBER_MAX \
+ BOOST_VERSION_NUMBER(99,99,99999)
+
+#define BOOST_VERSION_NUMBER_ZERO \
+ BOOST_VERSION_NUMBER(0,0,0)
+
+#define BOOST_VERSION_NUMBER_MIN \
+ BOOST_VERSION_NUMBER(0,0,1)
+
+#define BOOST_VERSION_NUMBER_AVAILABLE \
+ BOOST_VERSION_NUMBER_MIN
+
+#define BOOST_VERSION_NUMBER_NOT_AVAILABLE \
+ BOOST_VERSION_NUMBER_ZERO
+
#endif
diff --git a/test/build.jam b/test/build.jam
old mode 100644
new mode 100755
index c791ed8..b43ec4e
--- a/test/build.jam
+++ b/test/build.jam
@@ -1,4 +1,5 @@
-# Copyright Redshift Software, Inc. 2011
+#!/usr/bin/env b2 -a --verbose-test
+# Copyright Redshift Software, Inc. 2011-2013
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)