Compare commits

...

205 Commits

Author SHA1 Message Date
nobody
a51de109b7 This commit was manufactured by cvs2svn to create tag
'Version_1_30_1'.

[SVN r19444]
2003-08-04 17:55:29 +00:00
Dave Abrahams
dc1a500cc6 merged from trunk
[SVN r19404]
2003-08-02 16:20:49 +00:00
Dave Abrahams
fcc6f41a56 merged from trunk
[SVN r18033]
2003-03-20 15:38:58 +00:00
Ralf W. Grosse-Kunstleve
d11fe4464a adjustment for Itanium2
[SVN r17803]
2003-03-11 01:32:03 +00:00
nobody
283d55a144 This commit was manufactured by cvs2svn to create branch 'RC_1_30_0'.
[SVN r17693]
2003-03-01 19:43:06 +00:00
Beman Dawes
261a01ccab See format_test1 for example of why needed
[SVN r17583]
2003-02-21 22:08:01 +00:00
Markus Schöpflin
f07d411903 Define BOOST_NO_MEMBER_TEMPLATE_KEYWORD only for compiler version <= 502.
[SVN r17484]
2003-02-17 12:34:08 +00:00
Gennadiy Rozental
44d1e083e8 test library rename
[SVN r17445]
2003-02-15 21:59:54 +00:00
Beman Dawes
0a24a02b94 undef didn't work
[SVN r17382]
2003-02-13 22:34:23 +00:00
John Maddock
adbd58188c Added BOOST_HAS_SIGACTION
[SVN r17360]
2003-02-13 12:28:49 +00:00
Beman Dawes
c90afc4022 standarize version message format so status reporting finds it
[SVN r17338]
2003-02-12 20:41:55 +00:00
Beman Dawes
9d6d544940 undef BOOST_COMPILER_VERSION
[SVN r17337]
2003-02-12 20:32:35 +00:00
Björn Karlsson
2a0358cb5f Added copyright statement
[SVN r17203]
2003-02-04 15:02:15 +00:00
Björn Karlsson
ded9a55c2d Untabified
[SVN r17202]
2003-02-04 15:01:48 +00:00
Dave Abrahams
39d0339f38 detect single-threaded builds for MinGW
[SVN r17094]
2003-01-30 18:13:55 +00:00
Dave Abrahams
8c654b6131 bugfix
[SVN r17083]
2003-01-29 20:28:46 +00:00
John Maddock
ddd1594f79 Reverted to previous hopefully good version
[SVN r17040]
2003-01-25 11:56:53 +00:00
Dave Abrahams
598573bd19 Add -AA option for aCC
[SVN r17026]
2003-01-24 13:58:57 +00:00
John Maddock
b0aa8f3c2c Disabled threading support when _POSIX_THREADS is not set
[SVN r17023]
2003-01-24 12:44:33 +00:00
John Maddock
e4171501b5 Moved platform specific HP options into platform config
and out of the compiler config (these options need to
be set for gcc as well as for HP aCC for example).


[SVN r17006]
2003-01-23 12:33:29 +00:00
Dave Abrahams
609a9b1721 Update config to match configure results
[SVN r16976]
2003-01-21 14:04:09 +00:00
Dave Abrahams
10b23200bb Add -AA option to aCC so that we get accurate info
[SVN r16974]
2003-01-21 13:41:00 +00:00
John Maddock
e457f90dfa Enabled pthread support for OpenBSD
[SVN r16927]
2003-01-18 11:30:51 +00:00
John Maddock
659d73e807 loosened feature detection: previous change was too tight.
[SVN r16874]
2003-01-12 11:37:53 +00:00
Beman Dawes
1789378a6e fix broken links
[SVN r16818]
2003-01-09 12:30:58 +00:00
John Maddock
c2f2333c2d config_info now prints BOOST_DEDUCED_TYPENAME
Jamfile and generator program now uses compile-fail tests


[SVN r16745]
2003-01-04 12:55:01 +00:00
John Maddock
043ada7c08 Fixed cygwin config to cope with new stricter POSIX feature detection
Modified dinkumware config to not set BOOST_NO_STD_ALLOCATOR when the compiler is not MSVC.


[SVN r16744]
2003-01-04 12:53:08 +00:00
Dave Abrahams
18e4652814 Patch for missing long long numeric limits.
[SVN r16738]
2003-01-03 15:16:30 +00:00
Beman Dawes
7c7da1d09a Use __VERSION__ for msg to pick up all 3 levels
[SVN r16728]
2003-01-01 19:19:57 +00:00
Beman Dawes
ce94616f6e add or update See www.boost.org comments
[SVN r16708]
2002-12-27 16:51:53 +00:00
Beman Dawes
783b6407c3 ++last known
[SVN r16694]
2002-12-23 19:49:22 +00:00
Beman Dawes
bd3900cb28 1.30.0 prep
[SVN r16693]
2002-12-23 15:19:21 +00:00
Beman Dawes
6fc288a2cd rename Boost.test libraries
[SVN r16680]
2002-12-22 20:57:56 +00:00
John Maddock
21922c5b5b Added checks for _POSIX_C_SOURCE and _XOPEN_SOURCE
[SVN r16677]
2002-12-22 12:11:07 +00:00
Dave Abrahams
5e5eaae566 add missing parens
[SVN r16665]
2002-12-19 17:01:00 +00:00
John Maddock
3ada4c5873 MacOS fixes for Carbon builds
[SVN r16662]
2002-12-19 11:38:07 +00:00
Dave Abrahams
ff6bee14c8 doc fix
[SVN r16661]
2002-12-19 04:29:53 +00:00
Dave Abrahams
75d1036e2b Final version, I think.
Includes BOOST_TESTED_AT error/warning mechanism for latest version tests.


[SVN r16660]
2002-12-19 04:29:03 +00:00
John Maddock
941d72d8df Initial commit
[SVN r16601]
2002-12-13 11:14:29 +00:00
Dave Abrahams
6b980a5a2d Fold in results of all recent discussions
[SVN r16596]
2002-12-12 18:43:26 +00:00
Dave Abrahams
430d235b4e Added BOOST_NO_UNREACHABLE_RETURN_DETECTION
[SVN r16575]
2002-12-09 14:57:59 +00:00
John Maddock
3596eec09a Added BOOST_UNREACHABLE_RETURN workaround macro.
[SVN r16574]
2002-12-09 12:21:54 +00:00
Dave Abrahams
555d41525d Add boost/config.hpp include
[SVN r16529]
2002-12-06 19:17:42 +00:00
Dave Abrahams
eb0e48ba27 initial commit
[SVN r16527]
2002-12-06 19:07:40 +00:00
Dave Abrahams
09ab4bc87b Account for broken pthreads on HPUX
[SVN r16519]
2002-12-04 17:58:12 +00:00
Dave Abrahams
0c41779a38 added BOOST_NO_MEMBER_TEMPLATE_KEYWORD
[SVN r16507]
2002-12-04 15:49:51 +00:00
Dave Abrahams
dd33b06231 update configuration for latest HP
[SVN r16492]
2002-12-03 19:04:22 +00:00
John Maddock
a7e89b0c67 removed defunct BOOST_DECL macro
[SVN r16257]
2002-11-15 12:57:13 +00:00
John Maddock
93c84f7657 Added new macros to config_info
Updated configure script to log the results


[SVN r16251]
2002-11-15 11:46:26 +00:00
John Maddock
180d63457b Added new config macro test cases, removed old testing script (use bjam instead).
[SVN r16222]
2002-11-13 12:19:31 +00:00
Dave Abrahams
b09fd33660 BOOST_NO_EXCEPTIONS patch from Alberto Barbati <abarbati@iaanus.com>
[SVN r16219]
2002-11-13 04:49:56 +00:00
Dave Abrahams
2ca6ac7df2 Fix for vc7
[SVN r16207]
2002-11-12 03:18:20 +00:00
Daniel Frey
ea44ab1401 Added BOOST_HAS_NRVO
[SVN r16204]
2002-11-12 00:18:26 +00:00
John Maddock
0ec58eab08 Added BOOST_STD_EXTENTION_NAMESPACE docs.
[SVN r16193]
2002-11-11 12:14:04 +00:00
John Maddock
3c3999d851 fixed mis-spelled BOOST_NO_CWCTYPE
[SVN r16192]
2002-11-11 12:12:55 +00:00
John Maddock
49ab0b66d5 Added BOOST_DINKUMWARE_STDLIB macro
[SVN r16172]
2002-11-09 11:54:05 +00:00
Dave Abrahams
14bbe68053 BOOST_DEDUCED_TYPENAME
[SVN r16146]
2002-11-07 14:01:16 +00:00
Dave Abrahams
f217166b21 BOOST_DEDUCED_TYPENAME
[SVN r16138]
2002-11-07 01:11:13 +00:00
Dave Abrahams
48b23b5064 No member template friends in 8.x
[SVN r16135]
2002-11-06 19:40:16 +00:00
Dave Abrahams
f0ab8c6d41 Daniel Frey's NRVO patches
[SVN r16084]
2002-11-04 01:59:32 +00:00
Dave Abrahams
49e2972952 Update for Sun Workshop 7
[SVN r16036]
2002-11-01 02:41:01 +00:00
Darin Adler
253bd15cf1 Fix standard C library check so it will work with CodeWarrior Pro 8.
[SVN r15972]
2002-10-23 23:32:38 +00:00
John Maddock
f72495d8b5 Moved Dinkumware lib detection further down the list,
so that it doesn't get confused with any possible replacements.


[SVN r15965]
2002-10-23 11:02:04 +00:00
John Maddock
7302ec29fe Merged changes from RC_1_29_0.
[SVN r15960]
2002-10-21 11:05:10 +00:00
John Maddock
9ec9927674 Merged changes from the RC_1_29_0 branch.
[SVN r15959]
2002-10-21 11:03:05 +00:00
Aleksey Gurtovoy
e1504cfb2e BOOST_NO_TEMPLATE_TEMPLATES fix
[SVN r15568]
2002-09-30 05:25:45 +00:00
Aleksey Gurtovoy
c980eca229 undo incorrect BOOST_STRICT_CONFIG changes
[SVN r15567]
2002-09-30 05:21:38 +00:00
Aleksey Gurtovoy
b0310d66ea undo incorrect BOOST_STRICT_CONFIG changes
[SVN r15566]
2002-09-30 05:03:47 +00:00
Aleksey Gurtovoy
397e88754d BOOST_STRICT_CONFIG fix
[SVN r15565]
2002-09-30 04:47:03 +00:00
Dave Abrahams
8c49d00328 Correct BOOST_NO_EXCEPTIONS for KAI
[SVN r15414]
2002-09-17 17:37:31 +00:00
Dave Abrahams
61cc49fd2f Move BOOST_NO_TEMPLATE_TEMPLATES check to edg_common
[SVN r15393]
2002-09-17 01:00:31 +00:00
Dave Abrahams
78dddbc032 Old EDG fixes
[SVN r15392]
2002-09-17 00:49:09 +00:00
Dave Abrahams
f7ca700f8a No template template parameters for Intel 5.x
[SVN r15387]
2002-09-16 20:09:04 +00:00
John Maddock
a37bdd82b5 Updated last vacpp version number
[SVN r15370]
2002-09-16 11:52:30 +00:00
Björn Karlsson
1ac93b8c1a fix: changed ULONG_LONG_MIN to ULONGLONG_MIN
[SVN r15369]
2002-09-16 11:00:55 +00:00
Dave Abrahams
beeb65b38d vc6 fix
[SVN r15340]
2002-09-15 19:28:13 +00:00
John Maddock
d3a4cda4c0 Made changes to work with new boost.test library.
Added separate Jamfile


[SVN r15299]
2002-09-13 11:44:40 +00:00
John Maddock
d3cc222fe9 VC7 has no numeric_limits<__int64> specialisation
[SVN r15209]
2002-09-08 11:31:56 +00:00
John Maddock
5241fbdd13 Fixed def of mumeric_limits<unsigned long long>::digits
[SVN r15208]
2002-09-08 11:31:17 +00:00
John Maddock
4000c1eeed Fixed Intel C++ fix (had previously mis-spelled __ICL)
[SVN r15194]
2002-09-07 10:45:47 +00:00
John Maddock
398a9b79f0 Tentative changes for Visual C++ .NET 2003 (Beta)
[SVN r15174]
2002-09-06 10:16:56 +00:00
John Maddock
cb0286c416 Added BOOST_NO_STD_LOCALE for intel C++ on Dinkumware.
Removed BOOST_HAS_STDINT_H for Borland on non-Win32 platforms


[SVN r15125]
2002-09-01 10:45:12 +00:00
Beman Dawes
b99b9771c1 8.02
[SVN r15113]
2002-08-30 12:47:29 +00:00
John Maddock
e0d2db8a3d Misc Kylix fixes
[SVN r15086]
2002-08-25 11:57:37 +00:00
John Maddock
d6a89e7d49 Added Kylix 3 support
[SVN r15050]
2002-08-22 11:50:39 +00:00
Beman Dawes
414d604f79 init commit
[SVN r14977]
2002-08-19 23:29:18 +00:00
John Maddock
3dfd72e3bc Added new config macros:
BOOST_HAS_PARTIAL_STD_ALLOCATOR
	BOOST_NO_EXCEPTION_STD_NAMESPACE


[SVN r14809]
2002-08-13 11:52:06 +00:00
Dave Abrahams
9a536e3f28 Fix for platforms (MINGW 2.95.2) where only one of ULLONG_MAX and ULLONG_MIN are defined.
[SVN r14718]
2002-08-06 22:32:37 +00:00
Beman Dawes
7c8d4f23ce clear un/signed warnings
[SVN r14692]
2002-08-05 11:16:14 +00:00
John Maddock
93a28fab3b Corrected Typo in BOOST_NO_STD_WSTREAMBUF
[SVN r14652]
2002-07-31 11:23:53 +00:00
John Maddock
51aac5ee14 Tidied up #if
[SVN r14651]
2002-07-31 11:23:01 +00:00
John Maddock
ec0bf8e76a Added BOOST_NO_STD_WSTREAMBUF to GNU libstdc++3 config
[SVN r14632]
2002-07-28 11:06:51 +00:00
John Maddock
f591b2901f Added some more EDG compiler macros
[SVN r14631]
2002-07-28 11:01:28 +00:00
John Maddock
392bbe5700 Updated dinkumware config: should work for Intel C++ now.
[SVN r14626]
2002-07-27 11:43:45 +00:00
John Maddock
81097e309e Stripped tabs from files.
[SVN r14618]
2002-07-26 11:17:37 +00:00
Dave Abrahams
0c1888c352 GCC 2.95.x fixes
[SVN r14591]
2002-07-24 16:07:41 +00:00
Beman Dawes
053c1fb45f Removed several spurious ";" to quiet warnings
[SVN r14577]
2002-07-23 20:47:35 +00:00
Beman Dawes
56c052de56 Better version identification
[SVN r14576]
2002-07-23 19:47:15 +00:00
John Maddock
23308946c7 Added documentation for new config macros:
BOOST_NO_MS_INT64_NUMERIC_LIMTS
	BOOST_NO_LONG LONG_NUMERIC_LIMTS
	BOOST_NO_STD_WSTREAM
Added new macros to config_info.cpp program.


[SVN r14560]
2002-07-22 11:23:24 +00:00
John Maddock
3168ad683a Added __int64 and long long tests.
[SVN r14559]
2002-07-22 11:01:23 +00:00
John Maddock
3a70564582 Added specialisations for __int64 and long long where these are missing.
[SVN r14558]
2002-07-22 11:00:20 +00:00
John Maddock
06034f2281 Moved min/max overloads to win32.hpp from suffix.hpp
[SVN r14551]
2002-07-21 11:06:29 +00:00
John Maddock
f1d6e86af9 Fixed VC6 warnings.
[SVN r14547]
2002-07-20 12:06:34 +00:00
John Maddock
5406c65596 Moved definition of NOMINMAX to win32.hpp
[SVN r14546]
2002-07-20 12:06:05 +00:00
John Maddock
5c7f8b9290 Added new config macros:
BOOST_NO_STD_WSTREAMBUF
	BOOST_NO_LONG_LONG_NUMERIC_LIMITS
	BOOST_NO_MS_INT64_NUMERIC_LIMITS


[SVN r14514]
2002-07-18 11:10:04 +00:00
John Maddock
113cded49d Added new libcomo.hpp config header.
Added new config macros:
	BOOST_NO_STD_WSTREAMBUF
	BOOST_NO_LONG_LONG_NUMERIC_LIMITS
	BOOST_NO_MS_INT64_NUMERIC_LIMITS


[SVN r14512]
2002-07-18 11:06:42 +00:00
John Maddock
08cf657ad4 Updated support for Borland C++ and STLport (again)
Hopefully fixed support for platforms where STLport imports names from std:: to _STL::


[SVN r14490]
2002-07-17 11:37:48 +00:00
John Maddock
224e97fbb6 Fixed support for C++ Builder 5 + STLport.
[SVN r14476]
2002-07-16 11:18:02 +00:00
Dave Abrahams
bc1b510b18 Rip out mistaken "fix" based on John Maddock's advice
[SVN r14446]
2002-07-14 11:47:42 +00:00
Dave Abrahams
99b01de780 Fix unversioned VC++ checks
[SVN r14436]
2002-07-13 12:26:19 +00:00
Beman Dawes
873f5745a6 Improve BOOST_COMPILER
[SVN r14430]
2002-07-12 21:41:55 +00:00
Beman Dawes
f6c78ce85d 8.1 increment
[SVN r14429]
2002-07-12 19:58:26 +00:00
Peter Dimov
8f83b72cfb Last tested version is 1310.
[SVN r14425]
2002-07-12 18:24:15 +00:00
Dave Abrahams
2fbcada958 Add specializations for __int64 and unsigned __int64 for MSVC6
[SVN r14409]
2002-07-11 20:30:32 +00:00
John Maddock
b79fe524db Added needed BOOST_NO_TEMPLATE_TEMPLATES option.
[SVN r14405]
2002-07-11 10:38:21 +00:00
John Maddock
2f2fe38142 Added detection for exception and long long support.
[SVN r14320]
2002-07-07 10:44:08 +00:00
Dave Abrahams
a02e3a0b7e Commited patch from "Lars Gullik Bjønnes" <larsbj@lyx.org>
[SVN r14279]
2002-07-02 12:59:37 +00:00
Dave Abrahams
17dcb7eabb Fix mistaken config changes
[SVN r14259]
2002-06-29 18:31:27 +00:00
Beman Dawes
388bf56907 8.0 further update
[SVN r14254]
2002-06-28 00:27:02 +00:00
Beman Dawes
739a468531 add 8.0
[SVN r14253]
2002-06-28 00:06:47 +00:00
Darin Adler
03affa0d41 Use if __MACH__ instead of ifdef __MACH__
[SVN r14089]
2002-06-06 13:53:49 +00:00
John Maddock
a2e706b74a Updated docs on BOOST_MSVC_ITERATOR
[SVN r14034]
2002-05-24 11:08:36 +00:00
John Maddock
d0e59f4b09 Removed msvc-iterator flag
[SVN r14033]
2002-05-24 11:07:09 +00:00
John Maddock
52a0dc9a14 Hopefully fixed Intel C++ on linux by adding BOOST_NO_STDC_NAMESPACE
(the C++ headers for this compiler seem to do an incomplete job of
importing C functions into std:: as per usual).


[SVN r14018]
2002-05-23 11:41:10 +00:00
Dave Abrahams
edc44fc45d remove bogus BOOST_NO_INCLASS_MEMBER_INITIALIZATION
[SVN r13992]
2002-05-21 13:09:25 +00:00
John Maddock
234c93f760 Re-enabled BOOST_MSVC_STD_ITERATOR for VC+STLport (seems to work now).
[SVN r13985]
2002-05-20 11:44:31 +00:00
John Maddock
d88a4e5f15 Several new config macros added.
[SVN r13984]
2002-05-20 11:28:22 +00:00
Jens Maurer
71bb9dcb7e don't give an error or warning with gcc 3.2 (current gcc main branch)
[SVN r13983]
2002-05-20 10:53:04 +00:00
Jens Maurer
c039069703 add comment for BOOST_BIG_ENDIAN etc.
[SVN r13982]
2002-05-20 10:50:04 +00:00
John Maddock
a10341d270 Added new config options - not yet quite finished - test cases to come.
[SVN r13972]
2002-05-18 11:31:51 +00:00
Beman Dawes
b6045d7e4a 1.29.0
[SVN r13955]
2002-05-16 18:07:26 +00:00
Dave Abrahams
d8cfcaf517 Merged from RC_1_28_0
[SVN r13944]
2002-05-16 00:56:42 +00:00
John Maddock
b44b6d5082 Removed reference to BOOST_HAS_LONG_LONG (doesn't work yet).
[SVN r13819]
2002-05-11 10:58:12 +00:00
John Maddock
8dfc8e3813 Removed tabs, fixed end of files.
[SVN r13803]
2002-05-10 11:35:38 +00:00
John Maddock
d1c3bf73de Added user-config macro BOOST_DISABLE_WIN32
(also set in the compiler 's strict mode).
Modified Boost source not to use Win32 specific
extentions in the presence of BOOST_DISABLE_WIN32.


[SVN r13771]
2002-05-09 11:40:52 +00:00
John Maddock
697f09e480 Moved config_info.cpp and the config docs into synch.
[SVN r13715]
2002-05-07 11:40:13 +00:00
John Maddock
9e02db296c Added new config macro BOOST_HAS_MS_INT64 to detect presence of __int64 data type.
Modified boost source to use BOOST_HAS_LONG_LONG and BOOST_HAS_MS_INT64
   where appropriate to do so.


[SVN r13714]
2002-05-07 11:24:29 +00:00
John Maddock
6b5a580456 Patched so that the code now compilers with VC6
[SVN r13669]
2002-05-05 11:00:28 +00:00
John Maddock
33badb1465 Borland C++ Builder 6 fixes
[SVN r13659]
2002-05-04 10:55:15 +00:00
John Maddock
40652fd38b Como on linux fix - sets BOOST_NO_STDC_NAMESPACE
[SVN r13658]
2002-05-04 10:51:33 +00:00
John Maddock
8b19f71d8b Added some more fixes for calling config script from an alien directory
[SVN r13563]
2002-04-25 11:57:48 +00:00
John Maddock
529cd10632 Added --with-boost=DIR option
[SVN r13558]
2002-04-24 11:31:31 +00:00
Jens Maurer
9bbd6ebd4e SunCC <= 5.2 does not do partial specialization sufficiently well
[SVN r13555]
2002-04-23 19:55:47 +00:00
Peter Dimov
86fdd6b8b7 Fixes for Comeau strict mode on Windows
[SVN r13544]
2002-04-22 21:17:42 +00:00
Peter Dimov
125d0a3960 Preliminary 7.01 support
[SVN r13540]
2002-04-22 09:36:25 +00:00
John Maddock
2b3a97d877 tweeks for C++ Builder 6
[SVN r13481]
2002-04-14 11:41:54 +00:00
John Maddock
1c7875b8f3 Replace BOOST_NO_EXCEPTIONS support which had got lost in the last checkin.
[SVN r13355]
2002-04-03 10:29:32 +00:00
Jens Maurer
f60564c3fc BOOST_NO_LIMITS should not be used by user code; use <boost/limits.hpp> instead
BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS should not be defined when
BOOST_NO_LIMITS is defined


[SVN r13340]
2002-04-01 18:57:43 +00:00
John Maddock
e9a05a8e99 Added BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS workaround.
[SVN r13293]
2002-03-28 12:45:03 +00:00
John Maddock
77408f35fa Added new amiga config.
[SVN r13292]
2002-03-28 12:44:12 +00:00
John Maddock
6c739c164c Added amiga config.
[SVN r13291]
2002-03-28 12:43:38 +00:00
Dave Abrahams
9689b13885 Fixes for use with older dinkum libraries
[SVN r13189]
2002-03-14 05:08:55 +00:00
Beman Dawes
32b9a941eb Fix copyright message
[SVN r13185]
2002-03-13 01:34:11 +00:00
Aleksey Gurtovoy
98c7b04e09 fixed incorrect #warning directive
[SVN r13171]
2002-03-11 01:23:15 +00:00
John Maddock
8e4cc7303b Updated description
[SVN r13048]
2002-03-03 11:38:18 +00:00
John Maddock
70bbd4f23e Updated BOOST_NO_USING_TEMPLATE docs.
[SVN r13047]
2002-03-03 11:36:31 +00:00
John Maddock
6018d270bc Fixed selection of BOOST_NO_STDC_NAMESPACE on bcb6
[SVN r13046]
2002-03-03 11:33:14 +00:00
Jens Maurer
7e7c15a4cc add "long double" overloads of min/max for MSVC to avoid choosing
the "long" overloads for floating-point numbers


[SVN r13041]
2002-03-03 10:03:00 +00:00
John Maddock
69ad1282a3 Added some RT and thread API selection options which otherwise auto-detected.
[SVN r12991]
2002-03-01 12:24:20 +00:00
John Maddock
a62b71e0f7 Turned on threading support.
[SVN r12990]
2002-03-01 12:23:40 +00:00
Dave Abrahams
e21b6658c9 Applying Patch from "Ed James-Beckham" <edjboost@yahoo.com>
[SVN r12940]
2002-02-26 13:10:28 +00:00
Dave Abrahams
bd52ac9181 #undef min/max for MinGW if neccessary
[SVN r12917]
2002-02-24 02:35:55 +00:00
John Maddock
57743254f6 Moved como entry up the list so that como+borland works now.
[SVN r12911]
2002-02-23 12:57:54 +00:00
John Maddock
8d9d0c50da Defined BOOST_NO_STDC_NAMESPACE for VC6 (or compatible) compiler with updated Dinkumware lib.
[SVN r12873]
2002-02-21 11:34:11 +00:00
John Maddock
10f4ccdeb5 Added more (and better) docs for BOOST_NO_EXCEPTIONS
[SVN r12791]
2002-02-13 12:29:31 +00:00
Lie-Quan Lee
2e8d7faec6 OST_NO_INCLASS_MEMBER_INITIALIZATION
[SVN r12790]
2002-02-12 22:34:28 +00:00
Douglas Gregor
43130a3d85 FreeBSD 3.x has pthreads support, but _POSIX_THREADS isn't defined by
<unistd.h>


[SVN r12771]
2002-02-09 15:02:48 +00:00
Douglas Gregor
77c2b1f807 FreeBSD 3.x has <hl_types.h>
[SVN r12770]
2002-02-09 14:55:37 +00:00
John Maddock
bdf2ddfb26 Added support for BOOST_NO_EXCEPTIONS
[SVN r12756]
2002-02-08 12:42:59 +00:00
John Maddock
4091f8c54f Added BOOST_NO_EXCEPTIONS support
[SVN r12754]
2002-02-08 12:39:21 +00:00
Beman Dawes
a42bc25797 1.27.0 runup
[SVN r12733]
2002-02-05 18:37:22 +00:00
Douglas Gregor
95579505ba Linux has pthread_mutexattr_settype with _XOPEN_VERSION == 500
[SVN r12728]
2002-02-05 15:59:48 +00:00
Douglas Gregor
dfdd6c27c0 Regenerated
[SVN r12668]
2002-02-03 15:12:29 +00:00
Darin Adler
466f871557 Fix small HTML problems.
[SVN r12650]
2002-02-02 19:05:15 +00:00
Darin Adler
577d925828 New smart pointer documentation. Related clean-up of the smart pointer
library. Changing includes to include the new individual smart pointer
headers. Replacing old smart pointer library with an include of the new
smart pointer headers. Simplify ifdefs that involve the member templates
macros now that BOOST_MSVC6_MEMBER_TEMPLATES is also guaranteed to bet
set for platforms that have full member templates.


[SVN r12647]
2002-02-02 18:36:12 +00:00
John Maddock
d4cb507015 Undone previous mistaken fix.
[SVN r12629]
2002-02-02 12:16:25 +00:00
John Maddock
82c4ce106f Added BOOST_NO_VOID_RETURNS to ensure bind/function code works.
[SVN r12628]
2002-02-02 11:56:07 +00:00
Dave Abrahams
c556aa4e2d Improved GCC 2.95 compatibility. Now works with MinGW 1.1
[SVN r12589]
2002-01-30 20:02:44 +00:00
Douglas Gregor
b73d7be5f1 boost_no_priv_aggregate.cxx:
- Make dummy function uncallable (added to silence GCC warning)

config_test.cpp:
regression.cfg:
  - Regenerated

boost_has_pthread_ma_st.cxx:
  - BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE macro test

boost_has_pthread_ma_gt.cxx:
  - BOOST_HAS_PTHREAD_MUTEXATTR_GETTYPE macro is unused, so remove it


[SVN r12551]
2002-01-29 13:48:02 +00:00
John Maddock
ed54a93299 Added BOOST_NO_CTYPE_FUNCTIONS fix for gcc 3.x
[SVN r12548]
2002-01-29 12:56:11 +00:00
Douglas Gregor
0483b05a98 Silence a warning from GCC
[SVN r12527]
2002-01-27 18:00:20 +00:00
William E. Kempf
b9cd52c6a2 Added Mac Carbon implementation to Boost.Threads.
[SVN r12480]
2002-01-24 16:32:23 +00:00
Douglas Gregor
78793dd2ba update version comment
[SVN r12477]
2002-01-24 13:33:11 +00:00
Douglas Gregor
810fea3ae9 gcc.hpp:
- Bump GCC version accepted to 3.1


[SVN r12476]
2002-01-24 13:31:39 +00:00
Peter Dimov
3cc12ab7e0 smart_ptr.hpp less<> fixed, partial specialization enabled on Sun 5.3
[SVN r12334]
2002-01-17 12:46:45 +00:00
John Maddock
5dcc786a6d Stripped tabs from source files
[SVN r12333]
2002-01-17 12:46:26 +00:00
Beman Dawes
ae5fdbe5f4 7.1
[SVN r12142]
2001-12-24 14:40:17 +00:00
Jens Maurer
1a8c1dda68 void returns not supported on EDG <= 2.40 (Ralf W. Grosse-Kunstleve)
[SVN r12069]
2001-12-16 16:31:20 +00:00
Beman Dawes
2a53a7458e backout #define BOOST_NO_STRINGSTREAM - later versions of 2.9x supply it
[SVN r12033]
2001-12-13 16:24:31 +00:00
Beman Dawes
cf0493ff14 add BOOST_NO_STRINGSTREAM
[SVN r12018]
2001-12-12 02:14:12 +00:00
Dave Abrahams
6a41c69ad6 Fixed locale support macro definitions
[SVN r11872]
2001-12-03 14:35:11 +00:00
Jens Maurer
cdd885bc28 avoid "unused variable" warnings
[SVN r11861]
2001-12-02 19:58:06 +00:00
Dave Abrahams
63dc3c2a64 Metrowerks needs BOOST_NO_STD_LOCALE in config to be able to compile regex
regex test Jamfile updates so that some tests will actually run
warning suppression for condition.cpp

unit-test rule now accepts input files
updated metrowerks and borland to properly set up path for running tests

----------------------------------------------------------------------
Modified Files:
	boost/config/compiler/metrowerks.hpp
	libs/python/src/gen_function.py libs/regex/test/Jamfile
 Tag: thread-initial
	libs/thread/src/condition.cpp
 No tag
	tools/build/boost-base.jam tools/build/borland-tools.jam
	tools/build/metrowerks-tools.jam
----------------------------------------------------------------------


[SVN r11853]
2001-12-02 17:43:45 +00:00
Peter Dimov
ebc6c751ac Defined BOOST_NO_VOID_RETURNS in MSVC 6 mode.
[SVN r11846]
2001-12-01 13:19:05 +00:00
Beman Dawes
5435b76457 release
[SVN r11840]
2001-11-30 18:03:58 +00:00
Jens Maurer
3b5fa98ad0 print BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
[SVN r11773]
2001-11-22 22:16:11 +00:00
Jens Maurer
59dd992f5f better adjustment of compiler workarounds
[SVN r11772]
2001-11-22 22:07:47 +00:00
Jens Maurer
84c8b8180f print BOOST_NESTED_TEMPLATE
[SVN r11771]
2001-11-22 21:53:47 +00:00
Jens Maurer
906226607b adjust for version A.03.33
[SVN r11770]
2001-11-22 21:45:17 +00:00
Jens Maurer
7b623f0998 change tabs to spaces
[SVN r11738]
2001-11-19 22:13:04 +00:00
John Maddock
5390cbc736 Updated to prevent failures on Metrowerks compiler.
[SVN r11660]
2001-11-11 11:55:51 +00:00
John Maddock
279fff7821 Updated to prevent warnings when BOOST_HAS_WINTHREADS is defined.
[SVN r11648]
2001-11-10 12:14:59 +00:00
Darin Adler
96026e7152 Remove assumption that the compiler is always in multithreaded mode.
Instead, figure out when the library is in multithreaded mode, by
looking at _MWMT.


[SVN r11631]
2001-11-08 16:17:28 +00:00
Darin Adler
0a31cf05f6 Indicate the CodeWarrior is always in "multi-threaded mode".
[SVN r11629]
2001-11-08 06:21:39 +00:00
John Maddock
cdb0120c91 Added explicit qualifiers to mem_fun calls, as workaround for broken std libs that don't put code in namespace std.
[SVN r11624]
2001-11-07 12:36:55 +00:00
228 changed files with 5691 additions and 1864 deletions

View File

@@ -5,14 +5,14 @@
content="text/html; charset=iso-8859-1">
<meta name="Template"
content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<title></title>
</head>
<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080">
<p align="left"><img src="../../c++boost.gif" width="277"
height="86"></p>
<p align="left"><img src="../../c++boost.gif" alt="Boost"
width="277" height="86"></p>
<h1 align="center">Boost Configuration Reference</h1>
@@ -270,6 +270,15 @@ they are listed in the following table:&nbsp;</p>
threading support, even if the compiler in its current
translation mode supports multiple threads.</td>
</tr>
<tr>
<td valign="top">BOOST_DISABLE_WIN32</td>
<td>When defined, disables the use of Win32 specific
API's, even when these are available. Also has the effect
of setting BOOST_DISABLE_THREADS unless
BOOST_HAS_PTHREADS is set. This option may be set
automatically by the config system when it detects that
the compiler is in &quot;strict mode&quot;.</td>
</tr>
</table>
<h4><a name="advanced_config"></a>Advanced configuration usage</h4>
@@ -474,6 +483,12 @@ the standard.</p>
<td valign="top" width="33%"><p align="center"><b>Description</b></p>
</td>
</tr>
<tr>
<td>BOOST_BCB_PARTIAL_SPECIALIZATION_BUG</td>
<td>Compiler</td>
<td>The compiler exibits certain partial specialisation
bug - probably Borland C++ Builder specific.</td>
</tr>
<tr>
<td valign="top" width="51%">BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</td>
<td valign="top" width="16%">Compiler</td>
@@ -539,6 +554,23 @@ struct foo : {
class X { ... };</pre>
</td>
</tr>
<tr>
<td valign="top">BOOST_NO_EXCEPTION_STD_NAMESPACE</td>
<td valign="top">Standard Library</td>
<td>The standard library does not put some or all of the
contents of &lt;exception&gt; in namespace std.</td>
</tr>
<tr>
<td valign="top">BOOST_NO_EXCEPTIONS</td>
<td valign="top">Compiler</td>
<td>The compiler does not support exception handling (this
setting is typically required by many C++ compilers for
embedded platforms). Note that there is no requirement
for boost libraries to honor this configuration setting -
indeed doing so may be impossible in some cases. Those
libraries that do honor this will typically abort if a
critical error occurs - you have been warned!</td>
</tr>
<tr>
<td valign="top" width="51%">BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS</td>
<td valign="top" width="16%">Compiler</td>
@@ -578,7 +610,9 @@ f(&amp;bar); // should choose #2.</pre>
<td valign="top" width="51%">BOOST_NO_LIMITS</td>
<td valign="top" width="16%">Standard library</td>
<td valign="top" width="33%">The C++ implementation does
not provide the &lt;limits&gt; header.</td>
not provide the &lt;limits&gt; header. Never check for
this symbol in library code; always include &lt;boost/limits.hpp&gt;,
which guarantees to provide <code>std::numeric_limits</code>.</td>
</tr>
<tr>
<td valign="top" width="51%">BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS</td>
@@ -587,6 +621,21 @@ f(&amp;bar); // should choose #2.</pre>
numeric_limits&lt;T&gt;::is_signed are not available for
use at compile-time.</td>
</tr>
<tr>
<td>BOOST_NO_LONG_LONG_NUMERIC_LIMITS</td>
<td>Standard library</td>
<td>There is no specialization for numeric_limits&lt;long
long&gt; and numeric_limits&lt;unsigned long long&gt;.
&lt;boost/limits.hpp&gt; will then add these
specializations as a standard library &quot;fix&quot;
only if the compiler supports the long long datatype.</td>
</tr>
<tr>
<td>BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS</td>
<td>Compiler</td>
<td>The compiler does not support the specialization of
individual member functions of template classes.</td>
</tr>
<tr>
<td valign="top" width="51%">BOOST_NO_MEMBER_TEMPLATE_KEYWORD</td>
<td valign="top" width="16%">Compiler</td>
@@ -607,6 +656,16 @@ f(&amp;bar); // should choose #2.</pre>
<td valign="top" width="33%">Member template functions
not fully supported.</td>
</tr>
<tr>
<td>BOOST_NO_MS_INT64_NUMERIC_LIMITS</td>
<td>Standard library</td>
<td>There is no specialization for
numeric_limits&lt;__int64&gt; and
numeric_limits&lt;unsigned __int64&gt;. &lt;boost/limits.hpp&gt;
will then add these specializations as a standard library
&quot;fix&quot;, only if the compiler supports the __int64
datatype.</td>
</tr>
<tr>
<td valign="top" width="51%">BOOST_NO_OPERATORS_IN_NAMESPACE</td>
<td valign="top" width="16%">Compiler</td>
@@ -689,6 +748,12 @@ f(&amp;bar); // should choose #2.</pre>
<td valign="top" width="33%">The standard library lacks a
conforming std::use_facet.</td>
</tr>
<tr>
<td>BOOST_NO_STD_WSTREAMBUF</td>
<td>Standard library</td>
<td>The standard library's implementation of std::basic_streambuf&lt;wchar_t&gt;
is either missing, incomplete, or buggy.</td>
</tr>
<tr>
<td valign="top" width="51%">BOOST_NO_STD_WSTRING</td>
<td valign="top" width="16%">Standard library</td>
@@ -731,13 +796,29 @@ f(&amp;bar); // should choose #2.</pre>
not provide templated iterator constructors for its
containers.</td>
</tr>
<tr>
<td>BOOST_NO_TEMPLATE_TEMPLATES</td>
<td>Compiler</td>
<td>The compiler does not support template template
parameters.</td>
</tr>
<tr>
<td>BOOST_NO_UNREACHABLE_RETURN_DETECTION</td>
<td>Compiler</td>
<td>If a return is unreachable, then no return statement
should be required, however some compilers insist on it,
while other issue a bunch of warnings if it is in fact
present.</td>
</tr>
<tr>
<td valign="top" width="51%">BOOST_NO_USING_TEMPLATE</td>
<td valign="top" width="16%">Compiler</td>
<td valign="top" width="33%">The compiler will not accept
a using declaration that imports a template from the
global namespace into a named namespace. Probably Borland
specific.</td>
a using declaration that imports a template class or
function from another namespace. Originally a Borland
specific problem with imports to/from the global
namespace, extended to MSVC6 which has a specific issue
with importing template classes (but not functions).</td>
</tr>
<tr>
<td valign="top" width="51%">BOOST_NO_VOID_RETURNS</td>
@@ -771,12 +852,38 @@ present.</p>
<td valign="top" width="37%">The platform supports BeOS
style threads.</td>
</tr>
<tr>
<td>BOOST_HAS_CLOCK_GETTIME</td>
<td>Platform</td>
<td>The platform has the POSIX API clock_gettime.</td>
</tr>
<tr>
<td>BOOST_HAS_DIRENT_H</td>
<td>Platform</td>
<td>The platform has the POSIX header &lt;dirent.h&gt;.</td>
</tr>
<tr>
<td>BOOST_HAS_FTIME</td>
<td>Platform</td>
<td>The platform has the Win32 API
GetSystemTimeAsFileTime.</td>
</tr>
<tr>
<td>BOOST_HAS_GETTIMEOFDAY</td>
<td>Platform</td>
<td>The platform has the POSIX API gettimeofday.</td>
</tr>
<tr>
<td valign="top" width="48%">BOOST_HAS_HASH</td>
<td valign="top" width="15%">Standard library</td>
<td valign="top" width="37%">The C++ implementation
provides the (SGI) hash_set or hash_map classes.</td>
</tr>
<tr>
<td>BOOST_HAS_LONG_LONG</td>
<td>Compiler</td>
<td>The compiler supports the long long data type.</td>
</tr>
<tr>
<td valign="top" width="48%">BOOST_HAS_MACRO_USE_FACET</td>
<td valign="top" width="15%">Standard library</td>
@@ -785,18 +892,75 @@ present.</p>
that does the job. This is primarily for the Dinkumware
std lib.</td>
</tr>
<tr>
<td>BOOST_HAS_MS_INT64</td>
<td>Compiler</td>
<td>The compiler supports the __int64 data type.</td>
</tr>
<tr>
<td>BOOST_HAS_NANOSLEEP</td>
<td>Platform</td>
<td>The platform has the POSIX API nanosleep.</td>
</tr>
<tr>
<td valign="top" width="48%">BOOST_HAS_NL_TYPES_H</td>
<td valign="top" width="15%">Platform</td>
<td valign="top" width="37%">The platform has an
&lt;nl_types.h&gt;.</td>
</tr>
<tr>
<td>BOOST_HAS_NRVO</td>
<td>Compiler</td>
<td>Indicated that the compiler supports the named return
value optimization (NRVO). Used to select the most
efficient implementation for some function. See <a
href="../../boost/operators.hpp">boost/operators.hpp</a>
for example.</td>
</tr>
<tr>
<td valign="top">BOOST_HAS_PARTIAL_STD_ALLOCATOR</td>
<td>Standard Library</td>
<td>The standard library has a partially conforming std::allocator
class, but without any of the member templates.</td>
</tr>
<tr>
<td>BOOST_HAS_PTHREAD_DELAY_NP</td>
<td>Platform</td>
<td>The platform has the POSIX API pthread_delay_np.</td>
</tr>
<tr>
<td>BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE</td>
<td>Platform</td>
<td>The platform has the POSIX API
pthread_mutexattr_settype.</td>
</tr>
<tr>
<td>BOOST_HAS_PTHREAD_YIELD</td>
<td>Platform</td>
<td>The platform has the POSIX API pthread_yield.</td>
</tr>
<tr>
<td valign="top" width="48%">BOOST_HAS_PTHREADS</td>
<td valign="top" width="15%">Platform</td>
<td valign="top" width="37%">The platform support POSIX
style threads.</td>
</tr>
<tr>
<td>BOOST_HAS_SCHED_YIELD</td>
<td>Platform</td>
<td>The platform has the POSIX API sched_yield.</td>
</tr>
<tr>
<td>BOOST_HAS_SGI_TYPE_TRAITS</td>
<td>Compiler/standard library</td>
<td>The compiler has native support for SGI style type
traits.</td>
</tr>
<tr>
<td>BOOST_HAS_STDINT_H</td>
<td>Platform</td>
<td>The platform has a &lt;stdint.h&gt;</td>
</tr>
<tr>
<td valign="top" width="48%">BOOST_HAS_SLIST</td>
<td valign="top" width="15%">Standard library</td>
@@ -843,8 +1007,7 @@ present.</p>
<td valign="top" width="15%">Standard library</td>
<td valign="top" width="37%">Microsoft's broken version
of std::iterator is being used. This implies that std::iterator
takes no more than two template parameters, and that std::reverse_iterator
takes at least two template parameters.</td>
takes no more than two template parameters.</td>
</tr>
<tr>
<td valign="top" width="48%">BOOST_MSVC6_MEMBER_TEMPLATES</td>
@@ -883,6 +1046,22 @@ provide workarounds for compiler/standard library defects.</p>
<td valign="top" width="50%"><p align="center"><b>Description</b></p>
</td>
</tr>
<tr>
<td valign="top" width="50%">BOOST_DEDUCED_TYPENAME</td>
<td valign="top" width="50%">Some compilers don't support
the use of <code>typename</code> for dependent types in
deduced contexts. This macro expands to nothing on those
compilers, and <code>typename</code> elsewhere. For
example, replace:<pre>template &lt;class T&gt; void f(T, typename T::type);</pre>
<p>with:</p>
<pre>template &lt;class T&gt; void f(T, BOOST_DEDUCED_TYPENAME T::type);</pre>
</td>
</tr>
<tr>
<td>BOOST_STD_EXTENSION_NAMESPACE</td>
<td>The namespace used for std library extensions (hashtable
classes etc).</td>
</tr>
<tr>
<td valign="top" width="50%">BOOST_STATIC_CONSTANT(Type,
assignment)</td>
@@ -900,6 +1079,12 @@ provide workarounds for compiler/standard library defects.</p>
};</pre>
</td>
</tr>
<tr>
<td>BOOST_UNREACHABLE_RETURN(result)</td>
<td>Normally evaluates to nothing, but evaluates to <font
face="Courier New">return x;</font> if the compiler
requires a return, even when it can never be reached.</td>
</tr>
<tr>
<td valign="top" width="50%">BOOST_USE_FACET(Type, loc)</td>
<td valign="top" width="50%">When the standard library
@@ -984,6 +1169,13 @@ user code.</p>
Microsoft Visual C++, as opposed to one of the many other
compilers that also define _MSC_VER.</td>
</tr>
<tr>
<td>BOOST_DINKUMWARE_STDLIB</td>
<td>&lt;boost/config.hpp&gt;</td>
<td>Defined if the dinkumware standard library is in use,
takes the same value as the Dinkumware library version
macro _CPPLIB_VER if defined, otherwise 1.</td>
</tr>
<tr>
<td valign="top" width="33%">BOOST_NO_WREGEX</td>
<td valign="top" width="33%">&lt;boost/regex.hpp&gt;</td>
@@ -1295,4 +1487,4 @@ contributed fixes to boost's configuration.</p>
<p>&nbsp;</p>
</body>
</html>
</html>

2011
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
// See http://www.boost.org/libs/config for most recent version.
// Boost config.hpp policy and rationale documentation has been moved to
// http://www.boost.org/libs/config

View File

@@ -7,32 +7,92 @@
// Borland C++ compiler setup:
// Version 5.0 and below:
# if __BORLANDC__ <= 0x0550
// Borland C++ Builder 4 and 5:
// Borland C++Builder 4 and 5:
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# if __BORLANDC__ == 0x0550
// Borland C++ Builder 5, command-line compiler 5.5:
// Borland C++Builder 5, command-line compiler 5.5:
# define BOOST_NO_OPERATORS_IN_NAMESPACE
# endif
# endif
#if (__BORLANDC__ >= 0x550)
// <climits> is partly broken, some macos define symbols that are really in
// Version 5.51 and below:
#if (__BORLANDC__ <= 0x551)
# define BOOST_NO_CV_SPECIALIZATIONS
# define BOOST_NO_CV_VOID_SPECIALIZATIONS
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
#endif
// Version 7.0 (Kylix) and below:
#if (__BORLANDC__ <= 0x570) || !defined(BOOST_STRICT_CONFIG)
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
# define BOOST_NO_PRIVATE_IN_AGGREGATE
# define BOOST_NO_USING_TEMPLATE
# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
# define BOOST_NO_TEMPLATE_TEMPLATES
// we shouldn't really need this - but too many things choke
// without it, this needs more investigation:
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
//
// new bug in 5.61:
#if __BORLANDC__ >= 0x561
// this seems to be needed by the command line compiler, but not the IDE:
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
#endif
# ifdef _WIN32
# define BOOST_NO_SWPRINTF
# elif defined(linux) || defined(__linux__) || defined(__linux)
// we should really be able to do without this
// but the wcs* functions aren't imported into std::
# define BOOST_NO_STDC_NAMESPACE
// _CPPUNWIND doesn't get automatically set for some reason:
# pragma defineonoption BOOST_CPPUNWIND -x
# endif
#endif
//
// Post 0x561 we have long long and stdint.h:
#if __BORLANDC__ >= 0x561
# define BOOST_HAS_LONG_LONG
// On non-Win32 platforms let the platform config figure this out:
# ifdef _WIN32
# define BOOST_HAS_STDINT_H
# endif
#endif
// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is
// defined, then we have 0x560 or greater with the Rogue Wave implementation
// which presumably has the std::DBL_MAX bug.
#if ((__BORLANDC__ >= 0x550) && (__BORLANDC__ < 0x560)) || defined(_USE_OLD_RW_STL)
// <climits> is partly broken, some macros define symbols that are really in
// namespace std, so you end up having to use illegal constructs like
// std::DBL_MAX, as a fix we'll just include float.h and have done with:
#include <float.h>
#endif
// Version 5.51:
#if (__BORLANDC__ <= 0x551) || !defined(BOOST_STRICT_CONFIG)
# define BOOST_NO_CV_SPECIALIZATIONS
# define BOOST_NO_CV_VOID_SPECIALIZATIONS
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_PRIVATE_IN_AGGREGATE
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
# define BOOST_NO_SWPRINTF
# define BOOST_NO_USING_TEMPLATE
//
// __int64:
//
#if __BORLANDC__ >= 0x530
# define BOOST_HAS_MS_INT64
#endif
//
// check for exception handling support:
//
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND)
# define BOOST_NO_EXCEPTIONS
#endif
//
// all versions have a <dirent.h>:
//
#define BOOST_HAS_DIRENT_H
//
// Disable Win32 support in ANSI mode:
//
#pragma defineonoption BOOST_DISABLE_WIN32 -A
#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
@@ -43,8 +103,8 @@
# error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 5.51:
#if (__BORLANDC__ > 0x551)
// last known and checked version is 5.7 (Kylix 3):
#if (__BORLANDC__ > 0x570)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else
@@ -53,3 +113,7 @@
#endif

View File

@@ -12,9 +12,37 @@
#if (__COMO_VERSION__ <= 4245) || !defined(BOOST_STRICT_CONFIG)
# if defined(_MSC_VER) && _MSC_VER <= 1300
# define BOOST_NO_STDC_NAMESPACE
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# define BOOST_NO_SWPRINTF
# if _MSC_VER > 100
// only set this in non-strict mode:
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# endif
# endif
// Void returns don't work when emulating VC 6 (Peter Dimov)
# if defined(_MSC_VER) && (_MSC_VER == 1200)
# define BOOST_NO_VOID_RETURNS
# endif
#endif // version 4245
//
// enable __int64 support in VC emulation mode
// we should also set BOOST_HAS_LONG_LONG when that is
// supported, but there is no way we can detect it:
//
# if defined(_MSC_VER) && (_MSC_VER >= 1200)
# define BOOST_HAS_MS_INT64
# endif
//
// disable win32 support unless we are in VC emulation mode,
// (what does this do to Como on top of Borland?):
//
#if defined(_WIN32) && (_MSC_VER+0 < 1000)
# define BOOST_DISABLE_WIN32
#endif
#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)

View File

@@ -10,22 +10,39 @@
//
// This is included from within the individual compiler mini-configs.
#ifndef __EDG_VERSION__
#ifndef __EDG_VERSION__
# error This file requires that __EDG_VERSION__ be defined.
#endif
#if (__EDG_VERSION__ <= 238)
# define BOOST_NO_VOID_RETURNS
# define BOOST_NO_INTEGRAL_INT64_T
#endif
#if (__EDG_VERSION__ <= 240)
# define BOOST_NO_VOID_RETURNS
#endif
#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
#endif
#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
# define BOOST_NO_TEMPLATE_TEMPLATES
#endif
// See also kai.hpp which checks a Kai-specific symbol for EH
# if !defined(__KCC) && !defined(__EXCEPTIONS)
# define BOOST_NO_EXCEPTIONS
# endif
# if !defined(__NO_LONG_LONG)
# define BOOST_HAS_LONG_LONG
# endif
#ifdef c_plusplus
// EDG has "long long" in non-strict mode
// However, some libraries have insufficient "long long" support
// #define BOOST_HAS_LONG_LONG
#endif

View File

@@ -8,7 +8,7 @@
// GNU C++ compiler setup:
# if __GNUC__ == 2 && __GNUC_MINOR__ == 91
// egcs 1.1 won't parse smart_ptr.hpp without this:
// egcs 1.1 won't parse shared_ptr.hpp without this:
# define BOOST_NO_AUTO_PTR
# endif
# if __GNUC__ == 2 && __GNUC_MINOR__ < 95
@@ -28,19 +28,43 @@
# define BOOST_NO_OPERATORS_IN_NAMESPACE
# endif
# if __GNUC__ < 3
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
# endif
#ifndef __EXCEPTIONS
# define BOOST_NO_EXCEPTIONS
#endif
//
// Threading support:
// Turn this on unconditionally here, it will get turned off again later
// if no threading API is detected.
// Bug specific to gcc 3.1 and 3.2:
//
#define BOOST_HAS_THREADS
#if (__GNUC__ == 3) && ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
#endif
//
// Threading support: Turn this on unconditionally here (except for
// those platforms where we can know for sure). It will get turned off again
// later if no threading API is detected.
//
#if !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
# define BOOST_HAS_THREADS
#endif
//
// gcc has "long long"
//
#define BOOST_HAS_LONG_LONG
#define BOOST_COMPILER "GNU C++ version " BOOST_STRINGIZE(__GNUC__) "." BOOST_STRINGIZE(__GNUC_MINOR__)
//
// gcc implements the named return value optimization since version 3.1
//
#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
#define BOOST_HAS_NRVO
#endif
#define BOOST_COMPILER "GNU C++ version " __VERSION__
//
// versions check:
@@ -49,11 +73,12 @@
# error "Compiler not configured - please reconfigure"
#endif
//
// last known and checked version is 3.0:
#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 0))
// last known and checked version is 3.3:
#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else
# warning "Unknown compiler version - please run the configure tests and report the results"
# endif
#endif

View File

@@ -7,10 +7,8 @@
// HP aCC C++ compiler setup:
// THIS FILE IS INCOMPLETE: WE NEED THE CORRECT VERSION CHECKS ADDING!!!
#if (__HP_aCC <= 33100) || !defined(BOOST_STRICT_CONFIG)
#if (__HP_aCC <= 33100)
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
# define BOOST_NO_OPERATORS_IN_NAMESPACE
# if !defined(_NAMESPACE_STD)
# define BOOST_NO_STD_LOCALE
@@ -18,20 +16,42 @@
# endif
#endif
#if (__HP_aCC <= 33300)
// member templates are sufficiently broken that we disable them for now
# define BOOST_NO_MEMBER_TEMPLATES
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
#endif
#if (__HP_aCC <= 33900) || !defined(BOOST_STRICT_CONFIG)
# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
# define BOOST_NO_TEMPLATE_TEMPLATES
# define BOOST_NO_SWPRINTF
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
// std lib config should set this one already:
//# define BOOST_NO_STD_ALLOCATOR
#endif
// optional features rather than defects:
#if (__HP_aCC >= 33900)
# define BOOST_HAS_LONG_LONG
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
#endif
#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)
//
// versions check:
// we don't support HP aCC prior to version 0:
#if __HP_aCC < 0
#if __HP_aCC < 33000
# error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 0:
#if (__HP_aCC > 33100)
#if (__HP_aCC > 33900)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif
#endif

View File

@@ -19,11 +19,13 @@
#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER)
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
# define BOOST_NO_TEMPLATE_TEMPLATES
#endif
#if (BOOST_INTEL_CXX_VERSION <= 600) || !defined(BOOST_STRICT_CONFIG)
# if defined(_MSC_VER)
# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)
// Intel C++ 5.0.1 uses EDG 2.45, but fails to activate Koenig lookup
// in the frontend even in "strict" mode, unless you use
// -Qoption,cpp,--arg_dep_lookup. (reported by Kirk Klobe & Thomas Witt)
@@ -31,22 +33,41 @@
// variable scoping. (reported by Thomas Witt)
// Intel C++ 6.0 (currently in Beta test) doesn't have any front-end
// changes at all. (reported by Kirk Klobe)
// That can't be right, since it supports template template
// arguments (reported by Dave Abrahams)
# ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# endif
# define BOOST_NO_SWPRINTF
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# endif
// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)
# if defined(_MSC_VER) && (_MSC_VER <= 1200)
# define BOOST_NO_VOID_RETURNS
# define BOOST_NO_INTEGRAL_INT64_T
# endif
#endif
#ifdef _MSC_VER
#if _MSC_VER+0 >= 1000
# ifndef _NATIVE_WCHAR_T_DEFINED
# define BOOST_NO_INTRINSIC_WCHAR_T
# endif
# if _MSC_VER >= 1200
# define BOOST_HAS_MS_INT64
# endif
# define BOOST_NO_SWPRINTF
#elif defined(_WIN32)
# define BOOST_DISABLE_WIN32
#endif
// I checked version 6.0 build 020312Z, it implements the NRVO.
// Correct this as you find out which version of the compiler
// implemented the NRVO first. (Daniel Frey)
#if (BOOST_INTEL_CXX_VERSION >= 600)
# define BOOST_HAS_NRVO
#endif
//
// versions check:
@@ -55,12 +76,12 @@
# error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 500:
#if (BOOST_INTEL_CXX_VERSION > 500)
// last known and checked version:
#if (BOOST_INTEL_CXX_VERSION > 700)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# elif defined(_MSC_VER)
# warning "Unknown compiler version - please run the configure tests and report the results"
# pragma message("Unknown compiler version - please run the configure tests and report the results")
# endif
#endif

View File

@@ -14,6 +14,11 @@
# define BOOST_NO_STDC_NAMESPACE
# endif
// see also common_edg.hpp which needs a special check for __KCC
# if !defined(_EXCEPTIONS)
# define BOOST_NO_EXCEPTIONS
# endif
#define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION)
//

View File

@@ -7,6 +7,11 @@
// Metrowerks C++ compiler setup:
// locale support is disabled when linking with the dynamic runtime
# ifdef _MSL_NO_LOCALE
# define BOOST_NO_STD_LOCALE
# endif
# if __MWERKS__ <= 0x2301 // 5.3
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
# define BOOST_NO_POINTER_TO_MEMBER_CONST
@@ -18,16 +23,36 @@
//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
# endif
# if(__MWERKS__ <= 0x2405) || !defined(BOOST_STRICT_CONFIG) // 7.0
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# if(__MWERKS__ <= 0x2407) // 7.x
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
# endif
# if(__MWERKS__ <= 0x3003) // 8.x
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# endif
#if !__option(wchar_type)
# define BOOST_NO_INTRINSIC_WCHAR_T
#endif
#if !__option(exceptions)
# define BOOST_NO_EXCEPTIONS
#endif
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(__MWERKS__)
# if __MWERKS__ == 0x3000
# define BOOST_COMPILER_VERSION 8.0
# elif __MWERKS__ == 0x3001
# define BOOST_COMPILER_VERSION 8.1
# elif __MWERKS__ == 0x3002
# define BOOST_COMPILER_VERSION 8.2
# elif __MWERKS__ == 0x3003
# define BOOST_COMPILER_VERSION 8.3
# else
# define BOOST_COMPILER_VERSION __MWERKS__
# endif
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
//
// versions check:
@@ -36,8 +61,8 @@
# error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 0x2405:
#if (__MWERKS__ > 0x2405)
// last known and checked version:
#if (__MWERKS__ > 0x3003)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif

View File

@@ -11,6 +11,13 @@
#include "boost/config/compiler/common_edg.hpp"
//
// Threading support:
// Turn this on unconditionally here, it will get turned off again later
// if no threading API is detected.
//
#define BOOST_HAS_THREADS
//
// version check:
// probably nothing to do here?

View File

@@ -21,22 +21,34 @@
// wrong, especially where the value is computed
// from other constants (J Maddock 6th May 2001)
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# endif
# if (__SUNPRO_CC <= 0x530) || !defined(BOOST_STRICT_CONFIG)
// Although sunpro 5.2 supports the syntax for
// partial specialization, it often seems to
// bind to the wrong specialization. Better
// to disable it until suppport becomes more stable
// (J Maddock 6th May 2001).
# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
# endif
# if (__SUNPRO_CC <= 0x530) || !defined(BOOST_STRICT_CONFIG)
// SunPro 5.3 has better support for partial specialization,
// but breaks when compiling std::less<shared_ptr<T> >
// (Jens Maurer 4 Nov 2001).
# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
// std::less specialization fixed as reported by George
// Heintzelman; partial specialization re-enabled
// (Peter Dimov 17 Jan 2002)
//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
// integral constant expressions with 64 bit numbers fail
# define BOOST_NO_INTEGRAL_INT64_T
# endif
# if (__SUNPRO_CC <= 0x540) || !defined(BOOST_STRICT_CONFIG)
# define BOOST_NO_TEMPLATE_TEMPLATES
# endif
#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
//
@@ -56,3 +68,4 @@

View File

@@ -7,7 +7,22 @@
// Visual Age (IBM) C++ compiler setup:
#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
#if __IBMCPP__ <= 501
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
#endif
#if (__IBMCPP__ <= 502)
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
#endif
#if (__IBMCPP__ <= 502) || !defined(BOOST_STRICT_CONFIG)
// Actually the compiler supports inclass member initialization but it
// requires a definition for the class member and it doesn't recognize
// it as an integral constant expression when used as a template argument.
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# define BOOST_NO_INTEGRAL_INT64_T
#endif
//
// On AIX thread support seems to be indicated by _THREAD_SAFE:
@@ -16,7 +31,7 @@
# define BOOST_HAS_THREADS
#endif
#define BOOST_COMPILER "IBM Visual Age" BOOST_STRINGIZE(__IBMCPP__)
#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__)
//
// versions check:
@@ -26,7 +41,7 @@
#endif
//
// last known and checked version is 500:
#if (__IBMCPP__ > 500)
#if (__IBMCPP__ > 502)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif

View File

@@ -10,16 +10,25 @@
#define BOOST_MSVC _MSC_VER
// turn off the warnings before we #include anything
#pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info
#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
#if _MSC_VER <= 1200 // 1200 == VC++ 6.0
#pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
# define BOOST_NO_VOID_RETURNS
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
# define BOOST_NO_DEDUCED_TYPENAME
// disable min/max macro defines on vc6:
//
#endif
#if (_MSC_VER <= 1300) // 1200 == VC++ 7.0
#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
#endif
#if (_MSC_VER <= 1300) || !defined(BOOST_STRICT_CONFIG) // VC7 Beta 2 or later
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# define BOOST_NO_PRIVATE_IN_AGGREGATE
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
@@ -37,28 +46,59 @@
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
# define BOOST_NO_USING_TEMPLATE
# define BOOST_NO_SWPRINTF
//# define BOOST_NO_POINTER_TO_MEMBER_CONST
//
// disable min/max macros if defined:
//
# ifdef min
# undef min
# endif
# ifdef max
# undef max
# endif
// disable min/max macro defines on vc6:
//
# ifndef NOMINMAX
# define NOMINMAX
# define BOOST_NO_TEMPLATE_TEMPLATES
# if (_MSC_VER > 1200)
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
# endif
#endif
#if _MSC_VER < 1310 // 1310 == VC++ 7.1
# define BOOST_NO_SWPRINTF
#endif
#if _MSC_VER <= 1310
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
#endif
#ifndef _NATIVE_WCHAR_T_DEFINED
# define BOOST_NO_INTRINSIC_WCHAR_T
#endif
#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(_MSC_VER)
//
// check for exception handling support:
#ifndef _CPPUNWIND
# define BOOST_NO_EXCEPTIONS
#endif
//
// __int64 support:
//
#if (_MSC_VER >= 1200) && defined(_MSC_EXTENSIONS)
# define BOOST_HAS_MS_INT64
#endif
#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS)
# define BOOST_HAS_LONG_LONG
#endif
//
// disable Win32 API's if compiler extentions are
// turned off:
//
#ifndef _MSC_EXTENSIONS
# define BOOST_DISABLE_WIN32
#endif
# if _MSC_VER == 1200
# define BOOST_COMPILER_VERSION 6.0
# elif _MSC_VER == 1300
# define BOOST_COMPILER_VERSION 7.0
# elif _MSC_VER == 1310
# define BOOST_COMPILER_VERSION 7.1
# else
# define BOOST_COMPILER_VERSION _MSC_VER
# endif
#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
//
// versions check:
@@ -67,12 +107,17 @@
#error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 1300:
#if (_MSC_VER > 1300)
// last known and checked version is 1310:
#if (_MSC_VER > 1310)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else
# warning "Unknown compiler version - please run the configure tests and report the results"
# pragma message("Unknown compiler version - please run the configure tests and report the results")
# endif
#endif

View File

@@ -10,12 +10,20 @@
#define BOOST_PLATFORM "IBM Aix"
#define BOOST_HAS_UNISTD_H
#define BOOST_HAS_PTHREADS
#define BOOST_HAS_NL_TYPES_H
#define BOOST_HAS_NANOSLEEP
#define BOOST_HAS_CLOCK_GETTIME
// This needs support in "boost/cstdint.hpp" exactly like FreeBSD.
// This platform has header named <inttypes.h> which includes all
// the things needed.
#define BOOST_HAS_STDINT_H
// Threading API's:
#define BOOST_HAS_PTHREADS
#define BOOST_HAS_PTHREAD_DELAY_NP
#define BOOST_HAS_PTHREAD_YIELD
#define BOOST_HAS_SCHED_YIELD
//#define BOOST_HAS_PTHREAD_YIELD
// boilerplate code:
#include <boost/config/posix_features.hpp>

View File

@@ -0,0 +1,15 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
#define BOOST_PLATFORM "AmigaOS"
#define BOOST_DISABLE_THREADS
#define BOOST_NO_CWCHAR
#define BOOST_NO_STD_WSTRING
#define BOOST_NO_INTRINSIC_WCHAR_T

View File

@@ -21,13 +21,21 @@
//
// is this the correct version check?
// FreeBSD has <nl_type.h> but does not
// FreeBSD has <nl_types.h> but does not
// advertise the fact in <unistd.h>:
//
#if defined(__FreeBSD__) && (__FreeBSD__ >= 4)
#if defined(__FreeBSD__) && (__FreeBSD__ >= 3)
# define BOOST_HAS_NL_TYPES_H
#endif
//
// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>
// and not in <unistd.h>
//
#if defined(__FreeBSD__) && (__FreeBSD__ <= 3)
# define BOOST_HAS_PTHREADS
#endif
//
// No wide character support in the BSD header files:
//
@@ -45,9 +53,13 @@
#define BOOST_HAS_NANOSLEEP
#define BOOST_HAS_GETTIMEOFDAY
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#define BOOST_HAS_SIGACTION
// boilerplate code:
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>

View File

@@ -11,6 +11,7 @@
#define BOOST_NO_CWCTYPE
#define BOOST_NO_CWCHAR
#define BOOST_NO_SWPRINTF
#define BOOST_HAS_DIRENT_H
//
// Threading API:
@@ -23,8 +24,11 @@
# define BOOST_HAS_SCHED_YIELD
# define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# define BOOST_HAS_SIGACTION
#else
# define BOOST_HAS_WINTHREADS
# if !defined(BOOST_HAS_WINTHREADS)
# define BOOST_HAS_WINTHREADS
# endif
# define BOOST_HAS_FTIME
#endif
@@ -32,3 +36,4 @@
#include <boost/config/posix_features.hpp>

View File

@@ -22,7 +22,39 @@
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>
#ifndef BOOST_HAS_GETTIMEOFDAY
// gettimeofday is always available
#define BOOST_HAS_GETTIMEOFDAY
// HPUX has an incomplete pthreads implementation, so it doesn't
// define _POSIX_THREADS, but it might be enough to implement
// Boost.Threads.
#if !defined(BOOST_HAS_PTHREADS) && defined(_POSIX_THREAD_ATTR_STACKADDR)
# define BOOST_HAS_PTHREADS
#endif
// the following are always available:
#ifndef BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_GETTIMEOFDAY
#endif
#ifndef BOOST_HAS_SCHED_YIELD
# define BOOST_HAS_SCHED_YIELD
#endif
#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#endif
#ifndef BOOST_HAS_NL_TYPES_H
# define BOOST_HAS_NL_TYPES_H
#endif
#ifndef BOOST_HAS_NANOSLEEP
# define BOOST_HAS_NANOSLEEP
#endif
#ifndef BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_GETTIMEOFDAY
#endif
#ifndef BOOST_HAS_DIRENT_H
# define BOOST_HAS_DIRENT_H
#endif
#ifndef BOOST_HAS_CLOCK_GETTIME
# define BOOST_HAS_CLOCK_GETTIME
#endif
#ifndef BOOST_HAS_SIGACTION
# define BOOST_HAS_SIGACTION
#endif

View File

@@ -10,8 +10,15 @@
#define BOOST_PLATFORM "SGI Irix"
#define BOOST_NO_SWPRINTF
//
// these are not auto detected by POSIX feature tests:
//
#define BOOST_HAS_GETTIMEOFDAY
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
// boilerplate code:
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>

View File

@@ -25,6 +25,20 @@
# endif
#endif
//
// como on linux doesn't have std:: c functions:
//
#ifdef __COMO__
# define BOOST_NO_STDC_NAMESPACE
#endif
//
// Intel on linux doesn't have swprintf in std::
//
#ifdef __ICC
# define BOOST_NO_STDC_NAMESPACE
#endif
//
// If glibc is past version 2 then we definitely have
// gettimeofday, earlier versions may or may not have it:

View File

@@ -9,8 +9,9 @@
#define BOOST_PLATFORM "Mac OS"
// If __MACH__, we're using the BSD standard C library, not the MSL:
#if defined(__MACH__)
#if __MACH__ && !defined(_MSL_USING_MSL_C)
// Using the Mac OS X system BSD-style C library.
# define BOOST_NO_CTYPE_FUNCTIONS
# define BOOST_NO_CWCHAR
@@ -18,18 +19,21 @@
# define BOOST_HAS_UNISTD_H
# endif
// boilerplate code:
# include <boost/config/posix_features.hpp>
# ifndef TARGET_CARBON
# include <boost/config/posix_features.hpp>
# endif
# ifndef BOOST_HAS_STDINT_H
# define BOOST_HAS_STDINT_H
# endif
//
// BSD runtime has pthreads, sched_yield and gettimeofday,
// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday,
// of these only pthreads are advertised in <unistd.h>, so set the
// other options explicitly:
//
# define BOOST_HAS_SCHED_YIELD
# define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_SIGACTION
# ifndef __APPLE_CC__
@@ -39,5 +43,24 @@
# define BOOST_NO_STDC_NAMESPACE
# endif
#else
// Using the MSL C library.
// We will eventually support threads in non-Carbon builds, but we do
// not support this yet.
# if TARGET_CARBON
# define BOOST_HAS_MPTASKS
// The MP task implementation of Boost Threads aims to replace MP-unsafe
// parts of the MSL, so we turn on threads unconditionally.
# define BOOST_HAS_THREADS
// The remote call manager depends on this.
# define BOOST_BIND_ENABLE_PASCAL
# endif
#endif

View File

@@ -9,21 +9,11 @@
#define BOOST_PLATFORM "Win32"
#if defined BOOST_DECL_EXPORTS
# if defined BOOST_DECL_IMPORTS
# error Not valid to define both BOOST_DECL_EXPORTS and BOOST_DECL_IMPORTS
# endif
# define BOOST_DECL __declspec(dllexport)
#elif defined BOOST_DECL_IMPORTS
# define BOOST_DECL __declspec(dllimport)
#else
# define BOOST_DECL
#endif
#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF)
# define BOOST_NO_SWPRINTF
#endif
#ifndef BOOST_DISABLE_WIN32
//
// Win32 will normally be using native Win32 threads,
// but there is a pthread library avaliable as an option:
@@ -34,3 +24,44 @@
// WEK: Added
#define BOOST_HAS_FTIME
#endif
//
// disable min/max macros:
//
#ifdef min
# undef min
#endif
#ifdef max
# undef max
#endif
#ifndef NOMINMAX
# define NOMINMAX
#endif
#ifdef BOOST_MSVC
namespace std{
// Apparently, something in the Microsoft libraries requires the "long"
// overload, because it calls the min/max functions with arguments of
// slightly different type. (If this proves to be incorrect, this
// whole "BOOST_MSVC" section can be removed.)
inline long min(long __a, long __b) {
return __b < __a ? __b : __a;
}
inline long max(long __a, long __b) {
return __a < __b ? __b : __a;
}
// The "long double" overload is required, otherwise user code calling
// min/max for floating-point numbers will use the "long" overload.
// (SourceForge bug #495495)
inline long double min(long double __a, long double __b) {
return __b < __a ? __b : __a;
}
inline long double max(long double __a, long double __b) {
return __a < __b ? __b : __a;
}
}
using std::min;
using std::max;
# endif

View File

@@ -5,9 +5,15 @@
// See http://www.boost.org for most recent version.
// All POSIX feature tests go in this file:
// All POSIX feature tests go in this file,
// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well
// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's
// may be present but none-functional unless _POSIX_C_SOURCE and
// _XOPEN_SOURCE have been defined to the right value (it's up
// to the user to do this *before* including any header, although
// in most cases the compiler will do this for you).
# ifdef BOOST_HAS_UNISTD_H
# if defined(BOOST_HAS_UNISTD_H)
# include <unistd.h>
// XOpen has <nl_types.h>, but is this the correct version check?
@@ -20,13 +26,22 @@
# define BOOST_HAS_STDINT_H
# endif
// POSIX version 2 requires <dirent.h>
# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)
# define BOOST_HAS_DIRENT_H
# endif
// POSIX version 3 requires <signal.h> to have sigaction:
# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L)
# define BOOST_HAS_SIGACTION
# endif
// POSIX defines _POSIX_THREADS > 0 for pthread support,
// however some platforms define _POSIX_THREADS without
// a value, hence the (_POSIX_THREADS+0 >= 0) check.
// Strictly speaking this may catch platforms with a
// non-functioning stub <pthreads.h>, but such occurrences should
// occur very rarely if at all.
# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS)
# define BOOST_HAS_PTHREADS
# endif
@@ -58,9 +73,13 @@
// BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:
// These are predicated on _XOPEN_VERSION, and appears to be first released
// in issue 4, version 2 (_XOPEN_VERSION > 500).
# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 > 500)
# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)
# define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# endif
# endif
# endif

View File

@@ -14,6 +14,10 @@
// GNU C++:
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
# elif defined __COMO__
// Comeau C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
#elif defined __KCC
// Kai C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp"
@@ -58,10 +62,6 @@
// IBM Visual Age
# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"
# elif defined __COMO__
// Comeau C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
#elif defined _MSC_VER
// Microsoft Visual C++
//
@@ -75,3 +75,4 @@
# error "Unknown compiler - please configure and report the results to boost.org"
#endif

View File

@@ -52,6 +52,10 @@
// IBM
# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp"
#elif defined(__amigaos__)
// AmigaOS
# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp"
#else
# if defined(unix) \

View File

@@ -23,14 +23,14 @@
// can end up detecting that first rather than STLport:
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp"
#elif defined(__LIBCOMO__)
// Commeau STL:
#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp"
#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
// Rogue Wave library:
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp"
#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
// Dinkumware Library:
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp"
#elif defined(__GLIBCPP__)
// GNU libstdc++ 3
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"
@@ -51,6 +51,10 @@
// Modena C++ standard library
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp"
#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
// Dinkumware Library (this has to appear after any possible replacement libraries):
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp"
#elif defined (BOOST_ASSERT_CONFIG)
// this must come last - generate an error if we don't
// recognise the library:

View File

@@ -21,13 +21,21 @@
# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(_STD) // can be defined in yvals.h
# define BOOST_NO_STDC_NAMESPACE
# endif
# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0))
# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
# define BOOST_NO_STD_ALLOCATOR
# endif
# if defined(_MSC_VER) && (_MSC_VER < 1300)
// if this lib version is set up for vc6 then there is no std::use_facet:
# define BOOST_NO_STD_USE_FACET
# define BOOST_HAS_TWO_ARG_USE_FACET
// C lib functions aren't in namespace std either:
# define BOOST_NO_STDC_NAMESPACE
// and nor is <exception>
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
# endif
// There's no numeric_limits<long long> support unless _LONGLONG is defined:
# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
# endif
// 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
// and no <slist> at all
@@ -44,22 +52,29 @@
// Updated Dinkum library defines this, and provides
// its own min and max definitions.
# define BOOST_NO_STD_MIN_MAX
# undef min
# undef max
# endif
# ifndef NOMINMAX
// avoid spurious NOMINMAX redefinition warning
# define NOMINMAX
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
# endif
#endif
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
#if (defined(_MSC_VER) && (_MSC_VER <= 1300)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
// if we're using a dinkum lib that's
// been configured for VC6 then there is
// been configured for VC6/7 then there is
// no iterator traits (true even for icl)
# define BOOST_NO_STD_ITERATOR_TRAITS
#endif
#if defined(__ICL) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
// Intel C++ chokes over any non-trivial use of <locale>
// this may be an overly restrictive define, but regex fails without it:
# define BOOST_NO_STD_LOCALE
#endif
#ifdef _CPPLIB_VER
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
#else
# define BOOST_DINKUMWARE_STDLIB 1
#endif
#ifdef _CPPLIB_VER
# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
#else
@@ -69,3 +84,6 @@

View File

@@ -0,0 +1,33 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
// Commeau STL:
#if !defined(__LIBCOMO__)
# include <utility>
# if !defined(__LIBCOMO__)
# error "This is not the Comeau STL!"
# endif
#endif
//
// std::streambuf<wchar_t> is non-standard:
//
#if __LIBCOMO_VERSION__ <= 22
# define BOOST_NO_STD_WSTREAMBUF
#endif
//
// Intrinsic type_traits support.
// The SGI STL has it's own __type_traits class, which
// has intrinsic compiler support with SGI's compilers.
// Whatever map SGI style type traits to boost equivalents:
//
#define BOOST_HAS_SGI_TYPE_TRAITS
#define BOOST_STDLIB "Commeau standard library" BOOST_STRINGIZE(__LIBCOMO_VERSION__)

View File

@@ -14,6 +14,7 @@
# define BOOST_NO_CWCHAR
# define BOOST_NO_CWCTYPE
# define BOOST_NO_STD_WSTRING
# define BOOST_NO_STD_WSTREAMBUF
#endif
#ifndef _GLIBCPP_USE_LONG_LONG

View File

@@ -34,6 +34,10 @@
# include <boost/config/posix_features.hpp>
#endif
#if _MWMT
# define BOOST_HAS_THREADS
#endif
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)

View File

@@ -39,6 +39,17 @@
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
#endif
#if BOOST_RWSTD_VER <= 0x020101
# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
# endif
//
// Borland version of numeric_limits lacks __int64 specialisation:
//
#ifdef __BORLANDC__
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
#endif
//
// No std::iterator if it can't figure out default template args:
//

View File

@@ -82,6 +82,8 @@
# include <string>
# if defined(__BASTRING__)
# define BOOST_NO_LIMITS
// Note: <boost/limits.hpp> will provide compile-time constants
# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
# define BOOST_NO_STD_WSTRING
# endif
#endif

View File

@@ -49,10 +49,10 @@
// If the streams are not native, and we have a "using ::x" compiler bug
// then the io stream facets are not available in namespace std::
//
#if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE)
#if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
# define BOOST_NO_STD_LOCALE
#endif
#if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE)
#if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
# define BOOST_NO_STD_LOCALE
#endif
@@ -64,6 +64,10 @@
# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
# define BOOST_NO_STD_ALLOCATOR
#endif
//
// however we always have at least a partial allocator:
//
#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES)
# define BOOST_NO_STD_ALLOCATOR
@@ -80,18 +84,42 @@
// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our
// workaround does not conflict with STLports:
//
#if defined(__STL_IMPORT_VENDOR_CSTD) || defined(__STL_USE_OWN_NAMESPACE) || defined(_STLP_IMPORT_VENDOR_CSTD) || defined(_STLP_USE_OWN_NAMESPACE)
# define BOOST_NO_STDC_NAMESPACE
//
// Harold Howe says:
// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with
// BCB6 does cause problems. If we detect C++ Builder, then don't define
// BOOST_NO_STDC_NAMESPACE
//
#if !defined(__BORLANDC__)
//
// If STLport is using it's own namespace, and the real names are in
// the global namespace, then we duplicate STLport's using declarations
// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't
// necessarily import all the names we need into namespace std::
//
# if (defined(__STL_IMPORT_VENDOR_CSTD) \
|| defined(__STL_USE_OWN_NAMESPACE) \
|| defined(_STLP_IMPORT_VENDOR_CSTD) \
|| defined(_STLP_USE_OWN_NAMESPACE)) \
&& (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD))
# define BOOST_NO_STDC_NAMESPACE
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
# endif
#elif __BORLANDC__ < 0x560
// STLport doesn't import std::abs correctly:
#include <stdlib.h>
namespace std { using ::abs; }
// and strcmp/strcpy don't get imported either ('cos they are macros)
#include <string.h>
#ifdef strcpy
# undef strcpy
#endif
#ifdef strcmp
# undef strcmp
#endif
#ifdef _STLP_VENDOR_CSTD
namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; }
#endif
//
// std::reverse_iterate behaves like VC6's under some circumstances:
//
#if defined (_STLP_USE_OLD_HP_ITERATOR_QUERIES) || defined (__STL_USE_OLD_HP_ITERATOR_QUERIES)\
|| (!defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) && !defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ))
// disable this for now, it causes too many problems, we need a better
// fix for broken reverse iterators:
// # define BOOST_MSVC_STD_ITERATOR
#endif
//
@@ -109,7 +137,15 @@
//
#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE)
# define BOOST_NO_CWCHAR
# define BOOST_NO_CWTYPE
# define BOOST_NO_CWCTYPE
#endif
//
// Borland ships a version of STLport with C++ Builder 6 that lacks
// hashtables and the like:
//
#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560)
# undef BOOST_HAS_HASH
#endif
@@ -117,3 +153,7 @@

View File

@@ -5,8 +5,11 @@
// See http://www.boost.org for most recent version.
#if __IBMCPP__ <= 501
# define BOOST_NO_STD_ALLOCATOR
#endif
#define BOOST_HAS_MACRO_USE_FACET
#define BOOST_NO_STD_ALLOCATOR
#define BOOST_STDLIB "Visual Age default standard library"

View File

@@ -17,10 +17,6 @@
#ifndef BOOST_CONFIG_SUFFIX_HPP
#define BOOST_CONFIG_SUFFIX_HPP
# ifndef BOOST_DECL
# define BOOST_DECL // default for compilers not needing this decoration.
# endif
//
// look for long long by looking for the appropriate macros in <limits.h>.
// Note that we use limits.h rather than climits for maximal portability,
@@ -28,10 +24,22 @@
// no namespace issues from this.
//
#include <limits.h>
# if !defined(BOOST_MSVC) && !defined(__BORLANDC__) \
# if !defined(BOOST_HAS_LONG_LONG) \
&& !(defined(BOOST_MSVC) && BOOST_MSVC <=1300) && !defined(__BORLANDC__) \
&& (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
# define BOOST_HAS_LONG_LONG
#endif
#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_INTEGRAL_INT64_T)
# define BOOST_NO_INTEGRAL_INT64_T
#endif
// GCC 3.x will clean up all of those nasty macro definitions that
// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine
// it under GCC 3.x.
#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS)
# undef BOOST_NO_CTYPE_FUNCTIONS
#endif
//
// Assume any extensions are in namespace std:: unless stated otherwise:
@@ -55,8 +63,26 @@
# if defined(BOOST_NO_LIMITS) \
&& !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
# endif
//
// if there is no long long then there is no specialisation
// for numeric_limits<long long> either:
//
#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)
# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
#endif
//
// if there is no __int64 then there is no specialisation
// for numeric_limits<__int64> either:
//
#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
#endif
//
// if member templates are supported then so is the
// VC6 subset of member templates:
@@ -66,6 +92,14 @@
# define BOOST_MSVC6_MEMBER_TEMPLATES
# endif
//
// Without partial specialization, can't test for partial specialisation bugs:
//
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
&& !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)
# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
# endif
//
// Without partial specialization, std::iterator_traits can't work:
//
@@ -94,6 +128,13 @@
# define BOOST_NO_STD_ALLOCATOR
# endif
//
// If we have a standard allocator, then we have a partial one as well:
//
#if !defined(BOOST_NO_STD_ALLOCATOR)
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
#endif
//
// We can't have a working std::use_facet if there is no std::locale:
//
@@ -108,6 +149,13 @@
# define BOOST_NO_STD_MESSAGES
# endif
//
// We can't have a working std::wstreambuf if there is no std::locale:
//
# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF)
# define BOOST_NO_STD_WSTREAMBUF
# endif
//
// We can't have a <cwctype> if there is no <cwchar>:
//
@@ -122,6 +170,16 @@
# define BOOST_NO_SWPRINTF
# endif
//
// If Win32 support is turned off, then we must turn off
// threading support also, unless there is some other
// thread API enabled:
//
#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \
&& !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS)
# define BOOST_DISABLE_THREADS
#endif
//
// Turn on threading support if the compiler thinks that it's in
// multithreaded mode. We put this here because there are only a
@@ -144,7 +202,8 @@
// Turn threading support off if we don't recognise the threading API:
//
#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\
&& !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)
&& !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\
&& !defined(BOOST_HAS_MPTASKS)
# undef BOOST_HAS_THREADS
#endif
@@ -195,14 +254,6 @@ namespace std {
inline const _Tp& max(const _Tp& __a, const _Tp& __b) {
return __a < __b ? __b : __a;
}
# ifdef BOOST_MSVC
inline long min(long __a, long __b) {
return __b < __a ? __b : __a;
}
inline long max(long __a, long __b) {
return __a < __b ? __b : __a;
}
# endif
}
# endif
@@ -258,6 +309,34 @@ namespace std {
# define BOOST_NESTED_TEMPLATE
#endif
// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------//
// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION
// is defined, in which case it evaluates to return x; Use when you have a return
// statement that can never be reached.
#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
# define BOOST_UNREACHABLE_RETURN(x) return x;
#else
# define BOOST_UNREACHABLE_RETURN(x)
#endif
// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
//
// Some compilers don't support the use of `typename' for dependent
// types in deduced contexts, e.g.
//
// template <class T> void f(T, typename T::type);
// ^^^^^^^^
// Replace these declarations with:
//
// template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);
#ifndef BOOST_NO_DEDUCED_TYPENAME
# define BOOST_DEDUCED_TYPENAME typename
#else
# define BOOST_DEDUCED_TYPENAME
#endif
// ---------------------------------------------------------------------------//
//
@@ -301,3 +380,4 @@ namespace std {
#endif

View File

@@ -1,4 +1,10 @@
// (C) Copyright Boost.org 2001.
// boost/config/user.hpp ---------------------------------------------------//
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Do not check in modified versions of this file,
// This file may be customized by the end user, but not by boost.
@@ -55,4 +61,8 @@
// when available:
// #define BOOST_DISABLE_THREADS
// define when you want to disable Win32 specific features
// even when available:
// #define BOOST_DISABLE_WIN32

View File

@@ -33,7 +33,7 @@
* 5 Apr 2001:
* Added sparc (big endian) processor support (John Maddock).
* Initial sub:
* Modified by Jens Maurer for gcc 2.95 on x86.
* Modified by Jens Maurer for gcc 2.95 on x86.
*/
#ifndef BOOST_SGI_CPP_LIMITS
@@ -47,9 +47,11 @@
#include <cwchar> // for WCHAR_MIN and WCHAR_MAX
#endif
#if defined(__sparc) || defined(__sparc__) || defined(__powerpc__) || defined(__ppc__) || defined(__hppa) || defined(_MIPSEB)
// The macros are not named appropriately. We don't care about integer
// bit layout, but about floating-point NaN (etc.) bit patterns.
#if defined(__sparc) || defined(__sparc__) || defined(__powerpc__) || defined(__ppc__) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER)
#define BOOST_BIG_ENDIAN
#elif defined(__i386__)
#elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__)
#define BOOST_LITTLE_ENDIAN
#else
#error The file boost/detail/limits.hpp needs to be set up for your CPU type.
@@ -92,8 +94,16 @@ enum float_denorm_style {
static const __mem_type __mem_name = __mem_value
#endif /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */
// Base class for all specializations of numeric_limits.
// Deal with min/max for MinGW
#ifdef min
# undef min
#endif
#ifdef max
# undef max
#endif
// Base class for all specializations of numeric_limits.
template <class __number>
class _Numeric_limits_base {
public:
@@ -194,7 +204,7 @@ public:
const unsigned int _S_word[4] = { 0, 0, 0, Word };
return *reinterpret_cast<const Number*>(
reinterpret_cast<const char *>(&_S_word)+16-
(sizeof(Number) == 12 ? 10 : sizeof(Number)));
(sizeof(Number) == 12 ? 10 : sizeof(Number)));
}
};
@@ -337,24 +347,21 @@ class numeric_limits<unsigned long>
// Some compilers have long long, but don't define the
// LONGLONG_MIN and LONGLONG_MAX macros in limits.h. This
// assumes that long long is 64 bits.
#if !defined(LONGLONG_MIN) && !defined(LONGLONG_MAX) \
&& !defined(ULONGLONG_MAX)
#if !defined(LONGLONG_MAX) && !defined(ULONGLONG_MAX)
#define ULONGLONG_MAX 0xffffffffffffffffLLU
#define LONGLONG_MAX 0x7fffffffffffffffLL
#define LONGLONG_MIN (-LONGLONG_MAX - 1)
# define ULONGLONG_MAX 0xffffffffffffffffLLU
# define LONGLONG_MAX 0x7fffffffffffffffLL
#endif
template<>
class numeric_limits<long long>
: public _Integer_limits<long long, LONGLONG_MIN, LONGLONG_MAX>
{};
#if !defined(LONGLONG_MIN)
# define LONGLONG_MIN (-LONGLONG_MAX - 1)
#endif
template<>
class numeric_limits<unsigned long long>
: public _Integer_limits<unsigned long long, 0, ULONGLONG_MAX>
{};
#if !defined(ULONGLONG_MIN)
# define ULONGLONG_MIN 0
#endif
#endif /* __GNUC__ */

View File

@@ -0,0 +1,74 @@
// Copyright David Abrahams 2002. Permission to copy, use,
// modify, sell and distribute this software is granted provided this
// copyright notice appears in all copies. This software is provided
// "as is" without express or implied warranty, and with no claim as
// to its suitability for any purpose.
#ifndef WORKAROUND_DWA2002126_HPP
# define WORKAROUND_DWA2002126_HPP
// Compiler/library version workaround macro
//
// Usage:
//
// #if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
// ... // workaround code here
// #endif
//
// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the
// first argument must be undefined or expand to a numeric
// value. The above expands to:
//
// (BOOST_MSVC) != 0 && (BOOST_MSVC) <= 1200
//
// When used for workarounds that apply to the latest known version
// and all earlier versions of a compiler, the following convention
// should be observed:
//
// #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301))
//
// The version number in this case corresponds to the last version in
// which the workaround was known to have been required. When
// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro
// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates
// the workaround for any version of the compiler. When
// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or
// error will be issued if the compiler version exceeds the argument
// to BOOST_TESTED_AT(). This can be used to locate workarounds which
// may be obsoleted by newer versions.
# ifndef BOOST_STRICT_CONFIG
# define BOOST_WORKAROUND(symbol, test) \
((symbol != 0) && (1 % (( (symbol test) ) + 1)))
// ^ ^ ^ ^
// The extra level of parenthesis nesting above, along with the
// BOOST_OPEN_PAREN indirection below, is required to satisfy the
// broken preprocessor in MWCW 8.3 and earlier.
//
// The basic mechanism works as follows:
// (symbol test) + 1 => if (symbol test) then 2 else 1
// 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0
//
// The complication with % is for cooperation with BOOST_TESTED_AT().
// When "test" is BOOST_TESTED_AT(x) and
// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined,
//
// symbol test => if (symbol <= x) then 1 else -1
// (symbol test) + 1 => if (symbol <= x) then 2 else 0
// 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero
//
# ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS
# define BOOST_OPEN_PAREN (
# define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1
# else
# define BOOST_TESTED_AT(value) != 0
# endif
# else
# define BOOST_WORKAROUND(symbol, test) 0
# endif
#endif // WORKAROUND_DWA2002126_HPP

View File

@@ -6,15 +6,136 @@
//
// use this header as a workaround for missing <limits>
// See http://www.boost.org/libs/utility/limits.html for documentation.
#ifndef BOOST_LIMITS
#define BOOST_LIMITS
#include <boost/config.hpp>
#ifdef BOOST_NO_LIMITS
#include <boost/detail/limits.hpp>
# include <boost/detail/limits.hpp>
#else
#include <limits>
# include <limits>
#endif
#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \
|| (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS))
// Add missing specializations for numeric_limits:
#ifdef BOOST_HAS_MS_INT64
# define BOOST_LLT __int64
#else
# define BOOST_LLT long long
#endif
namespace std
{
template<>
class numeric_limits<BOOST_LLT>
{
public:
BOOST_STATIC_CONSTANT(bool, is_specialized = true);
#ifdef BOOST_HAS_MS_INT64
static BOOST_LLT min(){ return 0x8000000000000000i64; }
static BOOST_LLT max(){ return 0x7FFFFFFFFFFFFFFFi64; }
#elif defined(LLONG_MAX)
static BOOST_LLT min(){ return LLONG_MIN; }
static BOOST_LLT max(){ return LLONG_MAX; }
#elif defined(LONGLONG_MAX)
static BOOST_LLT min(){ return LONGLONG_MIN; }
static BOOST_LLT max(){ return LONGLONG_MAX; }
#else
static BOOST_LLT min(){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); }
static BOOST_LLT max(){ return ~min(); }
#endif
BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1);
BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000);
BOOST_STATIC_CONSTANT(bool, is_signed = true);
BOOST_STATIC_CONSTANT(bool, is_integer = true);
BOOST_STATIC_CONSTANT(bool, is_exact = true);
BOOST_STATIC_CONSTANT(int, radix = 2);
static BOOST_LLT epsilon() throw() { return 0; };
static BOOST_LLT round_error() throw() { return 0; };
BOOST_STATIC_CONSTANT(int, min_exponent = 0);
BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
BOOST_STATIC_CONSTANT(int, max_exponent = 0);
BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
BOOST_STATIC_CONSTANT(bool, has_infinity = false);
BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_denorm = false);
BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
static BOOST_LLT infinity() throw() { return 0; };
static BOOST_LLT quiet_NaN() throw() { return 0; };
static BOOST_LLT signaling_NaN() throw() { return 0; };
static BOOST_LLT denorm_min() throw() { return 0; };
BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
BOOST_STATIC_CONSTANT(bool, is_bounded = false);
BOOST_STATIC_CONSTANT(bool, is_modulo = false);
BOOST_STATIC_CONSTANT(bool, traps = false);
BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
};
template<>
class numeric_limits<unsigned BOOST_LLT>
{
public:
BOOST_STATIC_CONSTANT(bool, is_specialized = true);
#ifdef BOOST_HAS_MS_INT64
static unsigned BOOST_LLT min(){ return 0ui64; }
static unsigned BOOST_LLT max(){ return 0xFFFFFFFFFFFFFFFFui64; }
#elif defined(ULLONG_MAX) && defined(ULLONG_MIN)
static unsigned BOOST_LLT min(){ return ULLONG_MIN; }
static unsigned BOOST_LLT max(){ return ULLONG_MAX; }
#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN)
static unsigned BOOST_LLT min(){ return ULONGLONG_MIN; }
static unsigned BOOST_LLT max(){ return ULONGLONG_MAX; }
#else
static unsigned BOOST_LLT min(){ return 0uLL; }
static unsigned BOOST_LLT max(){ return ~0uLL; }
#endif
BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT);
BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000);
BOOST_STATIC_CONSTANT(bool, is_signed = false);
BOOST_STATIC_CONSTANT(bool, is_integer = true);
BOOST_STATIC_CONSTANT(bool, is_exact = true);
BOOST_STATIC_CONSTANT(int, radix = 2);
static unsigned BOOST_LLT epsilon() throw() { return 0; };
static unsigned BOOST_LLT round_error() throw() { return 0; };
BOOST_STATIC_CONSTANT(int, min_exponent = 0);
BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
BOOST_STATIC_CONSTANT(int, max_exponent = 0);
BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
BOOST_STATIC_CONSTANT(bool, has_infinity = false);
BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_denorm = false);
BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
static unsigned BOOST_LLT infinity() throw() { return 0; };
static unsigned BOOST_LLT quiet_NaN() throw() { return 0; };
static unsigned BOOST_LLT signaling_NaN() throw() { return 0; };
static unsigned BOOST_LLT denorm_min() throw() { return 0; };
BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
BOOST_STATIC_CONSTANT(bool, is_bounded = false);
BOOST_STATIC_CONSTANT(bool, is_modulo = false);
BOOST_STATIC_CONSTANT(bool, traps = false);
BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
};
}
#endif
#endif

View File

@@ -1,11 +1,11 @@
// Boost config.hpp configuration header file ------------------------------//
// Boost version.hpp configuration header file ------------------------------//
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
// See http://www.boost.org/libs/config for documentation
#ifndef BOOST_VERSION_HPP
#define BOOST_VERSION_HPP
@@ -20,7 +20,7 @@
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
#define BOOST_VERSION 102501
#define BOOST_VERSION 103000
#endif

9
index.html Normal file
View File

@@ -0,0 +1,9 @@
<html>
<head>
<meta http-equiv="refresh" content="0; URL=config.htm">
</head>
<body>
Automatic redirection failed, please go to
<a href="config.htm">config.htm</a>.
</body>
</html>

245
test/Jamfile Normal file
View File

@@ -0,0 +1,245 @@
#
# Regression test Jamfile for boost configuration setup.
# This file was automatically generated on Thu Feb 13 12:10:01 GMTST 2003,
# do not edit by hand...
#
subproject libs/config/test ;
# bring in the rules for testing
SEARCH on testing.jam = $(BOOST_BUILD_PATH) ;
include testing.jam ;
run config_info.cpp ;
run config_test.cpp <lib>../../test/build/boost_test_exec_monitor ;
run limits_test.cpp <lib>../../test/build/boost_test_exec_monitor ;
test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" :
[ run no_arg_dep_lookup_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_arg_dep_lookup_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_AUTO_PTR" :
[ run no_auto_ptr_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_auto_ptr_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" :
[ run no_bcb_partial_spec_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_bcb_partial_spec_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_CTYPE_FUNCTIONS" :
[ run no_ctype_functions_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_ctype_functions_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_CV_SPECIALIZATIONS" :
[ run no_cv_spec_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_cv_spec_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" :
[ run no_cv_void_spec_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_cv_void_spec_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_CWCHAR" :
[ run no_cwchar_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_cwchar_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_CWCTYPE" :
[ run no_cwctype_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_cwctype_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_DEDUCED_TYPENAME" :
[ run no_ded_typename_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_ded_typename_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" :
[ run no_dep_nested_class_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_dep_nested_class_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" :
[ run no_dep_val_param_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_dep_val_param_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" :
[ run no_excep_std_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_excep_std_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_EXCEPTIONS" :
[ run no_exceptions_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_exceptions_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" :
[ run no_exp_func_tem_arg_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_exp_func_tem_arg_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" :
[ run no_func_tmp_order_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_func_tmp_order_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" :
[ run no_i64_limits_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_i64_limits_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" :
[ run no_inline_memb_init_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_inline_memb_init_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_INTEGRAL_INT64_T" :
[ run no_integral_int64_t_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_integral_int64_t_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" :
[ run no_iter_construct_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_iter_construct_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_LIMITS" :
[ run no_limits_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_limits_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" :
[ run no_limits_const_exp_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_limits_const_exp_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" :
[ run no_ll_limits_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_ll_limits_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" :
[ run no_mem_func_spec_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_mem_func_spec_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" :
[ run no_mem_tem_keyword_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_mem_tem_keyword_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" :
[ run no_mem_templ_frnds_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_mem_templ_frnds_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATES" :
[ run no_mem_templates_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_mem_templates_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" :
[ run no_ops_in_namespace_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_ops_in_namespace_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" :
[ run no_partial_spec_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_partial_spec_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" :
[ run no_priv_aggregate_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_priv_aggregate_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" :
[ run no_ptr_mem_const_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_ptr_mem_const_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
[ run no_ret_det_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_ret_det_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STRINGSTREAM" :
[ run no_sstream_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_sstream_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_ALLOCATOR" :
[ run no_std_allocator_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_allocator_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_DISTANCE" :
[ run no_std_distance_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_distance_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_ITERATOR_TRAITS" :
[ run no_std_iter_traits_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_iter_traits_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_ITERATOR" :
[ run no_std_iterator_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_iterator_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_LOCALE" :
[ run no_std_locale_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_locale_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_MESSAGES" :
[ run no_std_messages_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_messages_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_MIN_MAX" :
[ run no_std_min_max_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_min_max_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" :
[ run no_std_oi_assign_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_oi_assign_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_USE_FACET" :
[ run no_std_use_facet_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_use_facet_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_WSTREAMBUF" :
[ run no_std_wstreambuf_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_wstreambuf_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STD_WSTRING" :
[ run no_std_wstring_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_std_wstring_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_STDC_NAMESPACE" :
[ run no_stdc_namespace_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_stdc_namespace_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_SWPRINTF" :
[ run no_swprintf_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_swprintf_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_TEMPLATE_TEMPLATES" :
[ run no_template_template_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_template_template_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_USING_TEMPLATE" :
[ run no_using_template_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_using_template_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_VOID_RETURNS" :
[ run no_void_returns_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_void_returns_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_NO_INTRINSIC_WCHAR_T" :
[ run no_wchar_t_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail no_wchar_t_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_TWO_ARG_USE_FACET" :
[ run has_2arg_use_facet_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_2arg_use_facet_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_BETHREADS" :
[ run has_bethreads_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_bethreads_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_CLOCK_GETTIME" :
[ run has_clock_gettime_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_clock_gettime_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_DIRENT_H" :
[ run has_dirent_h_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_dirent_h_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_FTIME" :
[ run has_ftime_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_ftime_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_GETTIMEOFDAY" :
[ run has_gettimeofday_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_gettimeofday_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_HASH" :
[ run has_hash_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_hash_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_LONG_LONG" :
[ run has_long_long_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_long_long_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_MACRO_USE_FACET" :
[ run has_macro_use_facet_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_macro_use_facet_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_MS_INT64" :
[ run has_ms_int64_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_ms_int64_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_NANOSLEEP" :
[ run has_nanosleep_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_nanosleep_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_NL_TYPES_H" :
[ run has_nl_types_h_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_nl_types_h_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_NRVO" :
[ run has_nrvo_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_nrvo_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" :
[ run has_part_alloc_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_part_alloc_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_PTHREAD_DELAY_NP" :
[ run has_pthread_delay_np_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_pthread_delay_np_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" :
[ run has_pthread_ma_st_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_pthread_ma_st_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_PTHREAD_YIELD" :
[ run has_pthread_yield_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_pthread_yield_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_PTHREADS" :
[ run has_pthreads_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_pthreads_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_SCHED_YIELD" :
[ run has_sched_yield_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_sched_yield_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_SGI_TYPE_TRAITS" :
[ run has_sgi_type_traits_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_sgi_type_traits_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_SIGACTION" :
[ run has_sigaction_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_sigaction_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_SLIST" :
[ run has_slist_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_slist_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_STDINT_H" :
[ run has_stdint_h_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_stdint_h_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_STLP_USE_FACET" :
[ run has_stlp_use_facet_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_stlp_use_facet_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_UNISTD_H" :
[ run has_unistd_h_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_unistd_h_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" :
[ run has_vc6_mem_templ_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_vc6_mem_templ_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_MSVC_STD_ITERATOR" :
[ run has_vc_iterator_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_vc_iterator_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;
test-suite "BOOST_HAS_WINTHREADS" :
[ run has_winthreads_pass.cpp <lib>../../test/build/boost_prg_exec_monitor ]
[ compile-fail has_winthreads_fail.cpp <lib>../../test/build/boost_prg_exec_monitor ] ;

View File

@@ -0,0 +1,27 @@
// (C) Copyright John Maddock 2002. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_HAS_DIRENT_H
// TITLE: <dirent.h>
// DESCRIPTION: The platform has an <dirent.h>.
#include <dirent.h>
namespace boost_has_dirent_h{
int test()
{
DIR* pd = opendir("foobar");
if(pd) closedir(pd);
return 0;
}
}

View File

@@ -14,8 +14,8 @@ namespace boost_has_long_long{
int test()
{
long long int lli = 0LL;
unsigned long long int ulli = 0uLL;
long long lli = 0LL;
unsigned long long ulli = 0uLL;
(void)lli;
(void)ulli;
return 0;

View File

@@ -0,0 +1,29 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_HAS_MS_INT64
// TITLE: __int64
// DESCRIPTION: The platform supports Microsoft style __int64.
#include <cstdlib>
namespace boost_has_ms_int64{
int test()
{
__int64 lli = 0i64;
unsigned __int64 ulli = 0ui64;
(void)lli;
(void)ulli;
return 0;
}
}

52
test/boost_has_nrvo.ipp Normal file
View File

@@ -0,0 +1,52 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_HAS_NRVO
// TITLE: Named return value optimisation.
// DESCRIPTION: Named return value optimisation.
namespace boost_has_nrvo
{
class test_class
{
public:
test_class() {}
test_class(const test_class &other)
{
++copy_count;
}
static int copy_count;
};
int test_class::copy_count;
test_class f()
{
test_class nrv;
return nrv;
}
int test()
{
test_class::copy_count=0;
f();
return test_class::copy_count;
}
} // namespace boost_has_nrvo

View File

@@ -0,0 +1,59 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_HAS_PARTIAL_STD_ALLOCATOR
// TITLE: limited std::allocator support
// DESCRIPTION: The std lib has at least some kind of stanfard allocator
// with allocate/deallocate members and probably not much more.
#include <memory>
namespace boost_has_partial_std_allocator{
//
// test everything except rebind template members:
//
template <class T>
int test_allocator(const T& i)
{
typedef std::allocator<int> alloc1_t;
typedef typename alloc1_t::size_type size_type;
typedef typename alloc1_t::difference_type difference_type;
typedef typename alloc1_t::pointer pointer;
typedef typename alloc1_t::const_pointer const_pointer;
typedef typename alloc1_t::reference reference;
typedef typename alloc1_t::const_reference const_reference;
typedef typename alloc1_t::value_type value_type;
alloc1_t a1;
pointer p = a1.allocate(1);
const_pointer cp = p;
a1.construct(p,i);
size_type s = a1.max_size();
(void)s;
reference r = *p;
const_reference cr = *cp;
if(p != a1.address(r)) return -1;
if(cp != a1.address(cr)) return -1;
a1.destroy(p);
a1.deallocate(p,1);
return 0;
}
int test()
{
return test_allocator(0);
}
}

View File

@@ -4,8 +4,8 @@
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
// TITLE: pthread_mutexattr_gettype
// DESCRIPTION: The platform supports POSIX API pthread_mutexattr_gettype.
// TITLE: pthread_mutexattr_settype
// DESCRIPTION: The platform supports POSIX API pthread_mutexattr_settype.
#include <pthread.h>
@@ -17,8 +17,8 @@ void f()
// this is never called, it just has to compile:
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
int type;
pthread_mutexattr_gettype(&attr, &type);
int type = 0;
pthread_mutexattr_settype(&attr, type);
}
int test()

View File

@@ -24,6 +24,9 @@ int test()
typedef ::__type_traits<char>::has_trivial_default_constructor tdc;
typedef ::__type_traits<foo_type>::is_POD_type isp;
(void) &t; // avoid "unused variable" warnings
(void) &f;
return 0;
}

View File

@@ -0,0 +1,33 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_HAS_SIGACTION
// TITLE: sigaction
// DESCRIPTION: The platform supports POSIX standard API sigaction.
#include <signal.h>
namespace boost_has_sigaction{
void f()
{
// this is never called, it just has to compile:
struct sigaction* sa1;
struct sigaction* sa2;
int res = sigaction(0, sa1, sa2);
(void) &res;
}
int test()
{
return 0;
}
}

View File

@@ -0,0 +1,52 @@
// (C) Copyright Terje Slettebø 2002. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
// TITLE: Full partial specialization support.
// DESCRIPTION: Borland C++ Builder has some rather specific partial
// specialisation bugs which this code tests for.
#include <vector>
namespace boost_bcb_partial_specialization_bug{
template<class T1,class T2>
class Test
{
};
template<class T1,class T2>
class Test<std::vector<T1>,T2>
{
};
template<class T>
class Test<std::vector<int>,T>
{
};
template <class T>
struct is_const{};
template <class T>
struct is_const<T const>{};
int test()
{
Test<std::vector<int>,double> v;
is_const<const int> ci;
(void)v; // warning suppression
(void)ci;
return 0;
}
}

View File

@@ -0,0 +1,38 @@
// (C) Copyright John Maddock and David Abrahams 2002. Permission to
// copy, use, modify, sell and distribute this software is granted
// provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty,
// and with no claim as to its suitability for any purpose.
// MACRO: BOOST_DEDUCED_TYPENAME
// TITLE: deduced typenames
// DESCRIPTION: Some compilers can't use the typename keyword in deduced contexts.
#ifndef BOOST_DEDUCED_TYPENAME
#define BOOST_DEDUCED_TYPENAME typename
#endif
namespace boost_deduced_typename{
template <class T>
int f(T const volatile*, BOOST_DEDUCED_TYPENAME T::type* = 0)
{
return 0;
}
struct X { typedef int type; };
int test()
{
return f((X*)0);
}
}

View File

@@ -0,0 +1,32 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_NO_EXCEPTION_STD_NAMESPACE
// TITLE: <exception> is in namespace std
// DESCRIPTION: Some std libs don't put the contents of
// <exception> in namespace std.
#include <exception>
namespace boost_no_exception_std_namespace{
int t(int i)
{
if(i)
std::terminate();
return 0;
}
int test()
{
return t(0);
}
}

View File

@@ -0,0 +1,40 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_NO_EXCEPTIONS
// TITLE: exception handling support
// DESCRIPTION: The compiler in its current translation mode supports
// exception handling.
namespace boost_no_exceptions{
void throw_it(int i)
{
throw i;
}
int test()
{
try
{
throw_it(2);
}
catch(int i)
{
return (i == 2) ? 0 : -1;
}
catch(...)
{
return -1;
}
return -1;
}
}

View File

@@ -0,0 +1,26 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_NO_MS_INT64_NUMERIC_LIMITS
// TITLE: std::numeric_limits<__int64>
// DESCRIPTION: The C++ implementation does not provide the a specialisation
// for std::numeric_limits<__int64>.
#include <limits>
namespace boost_no_ms_int64_numeric_limits{
int test()
{
if(0 == std::numeric_limits<__int64>::is_specialized) return -1;
if(0 == std::numeric_limits<unsigned __int64>::is_specialized) return -1;
return 0;
}
}

View File

@@ -12,6 +12,7 @@
namespace boost_no_integral_int64_t{
#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
enum{ mask = 1uLL << 50 };
template <unsigned long long m>
@@ -19,6 +20,15 @@ struct llt
{
enum{ value = m };
};
#else
static const unsigned long long mask = 1uLL << 50;
template <unsigned long long m>
struct llt
{
static const unsigned long long value = m;
};
#endif
int test()
{

View File

@@ -0,0 +1,26 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_NO_LONG_LONG_NUMERIC_LIMITS
// TITLE: std::numeric_limits<long long>
// DESCRIPTION: The C++ implementation does not provide the a specialisation
// for std::numeric_limits<long long>.
#include <limits>
namespace boost_no_long_long_numeric_limits{
int test()
{
if(0 == std::numeric_limits<long long>::is_specialized) return -1;
if(0 == std::numeric_limits<unsigned long long>::is_specialized) return -1;
return 0;
}
}

View File

@@ -0,0 +1,59 @@
// (C) Copyright John Maddock 2002. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
// TITLE: Specialisation of individual member functions.
// DESCRIPTION: Verify that specializations of individual members
// of template classes work OK.
namespace boost_no_member_function_specializations{
template<class T>
class foo
{
public:
foo();
foo(const T&);
~foo();
int bar();
};
// declare specialisations:
template<> foo<int>::foo();
template<> foo<int>::foo(const int&);
template<> foo<int>::~foo();
template<> int foo<int>::bar();
// provide defaults:
template<class T> foo<T>::foo(){}
template<class T> foo<T>::foo(const T&){}
template<class T> foo<T>::~foo(){}
template<class T> int foo<T>::bar(){ return 0; }
// provide defs:
template<> foo<int>::foo(){}
template<> foo<int>::foo(const int&){}
template<> foo<int>::~foo(){}
template<> int foo<int>::bar(){ return 1; }
int test()
{
foo<double> f1;
foo<int> f2;
f1.bar();
f2.bar();
return 0;
}
}

View File

@@ -17,6 +17,7 @@ struct t
private:
void foo(){ i = j; }
public:
void uncallable(); // silences warning from GCC
int i;
int j;
};

View File

@@ -80,8 +80,8 @@ public:
int test()
{
mem_fun(&tester::foo1);
mem_fun(&tester::foo2);
boost_no_pointer_to_member_const::mem_fun(&tester::foo1);
boost_no_pointer_to_member_const::mem_fun(&tester::foo2);
return 0;
}

33
test/boost_no_ret_det.ipp Normal file
View File

@@ -0,0 +1,33 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_NO_UNREACHABLE_RETURN_DETECTION
// TITLE: detection of unreachable returns
// DESCRIPTION: If a return is unreachable, then no return
// statement should be required, however some
// compilers insist on it, while other issue a
// bunch of warnings if it is in fact present.
namespace boost_no_unreachable_return_detection{
int checker()
{
throw 0;
// no return statement: we don't ever get here...
}
int check = 0;
int test()
{
if(check)
return checker();
return 0;
}
}

View File

@@ -0,0 +1,103 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_NO_STD_WSTREAMBUF
// TITLE: std::basic_streambuf<wchar_t>
// DESCRIPTION: The standard library lacks std::basic_streambuf<wchar_t>.
#include <iostream>
namespace boost_no_std_wstreambuf{
template <class charT,
class traits = ::std::char_traits<charT> >
class parser_buf : public ::std::basic_streambuf<charT, traits>
{
typedef ::std::basic_streambuf<charT, traits> base_type;
typedef typename base_type::int_type int_type;
typedef typename base_type::char_type char_type;
typedef typename base_type::pos_type pos_type;
typedef ::std::streamsize streamsize;
typedef typename base_type::off_type off_type;
public:
parser_buf() : base_type() { setbuf(0, 0); }
const charT* getnext() { return this->gptr(); }
protected:
std::basic_streambuf<charT, traits>* setbuf(char_type* s, streamsize n);
typename parser_buf<charT, traits>::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which);
typename parser_buf<charT, traits>::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which);
private:
parser_buf& operator=(const parser_buf&)
{ return *this; };
parser_buf(const parser_buf&){};
};
template<class charT, class traits>
std::basic_streambuf<charT, traits>*
parser_buf<charT, traits>::setbuf(char_type* s, streamsize n)
{
this->setg(s, s, s + n);
return this;
}
template<class charT, class traits>
typename parser_buf<charT, traits>::pos_type
parser_buf<charT, traits>::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which)
{
typedef typename parser_buf<charT, traits>::pos_type pos_type;
if(which & ::std::ios_base::out)
return pos_type(off_type(-1));
std::ptrdiff_t size = this->egptr() - this->eback();
std::ptrdiff_t pos = this->gptr() - this->eback();
charT* g = this->eback();
switch(way)
{
case ::std::ios_base::beg:
if((off < 0) || (off > size))
return pos_type(off_type(-1));
else
this->setg(g, g + off, g + size);
case ::std::ios_base::end:
if((off < 0) || (off > size))
return pos_type(off_type(-1));
else
this->setg(g, g + size - off, g + size);
case ::std::ios_base::cur:
{
std::ptrdiff_t newpos = pos + off;
if((newpos < 0) || (newpos > size))
return pos_type(off_type(-1));
else
this->setg(g, g + newpos, g + size);
}
}
return static_cast<pos_type>(this->gptr() - this->eback());
}
template<class charT, class traits>
typename parser_buf<charT, traits>::pos_type
parser_buf<charT, traits>::seekpos(pos_type sp, ::std::ios_base::openmode which)
{
if(which & ::std::ios_base::out)
return pos_type(off_type(-1));
std::ptrdiff_t size = this->egptr() - this->eback();
charT* g = this->eback();
if(sp <= size)
{
this->setg(g, g + ::std::streamsize(sp), g + size);
}
return pos_type(off_type(-1));
}
int test()
{
return 0;
}
template class parser_buf<char>;
template class parser_buf<wchar_t>;
}

View File

@@ -0,0 +1,47 @@
// (C) Copyright John Maddock 2002. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_NO_TEMPLATE_TEMPLATES
// TITLE: template template paramters.
// DESCRIPTION: Verify that template template parameters both work
// and can be deduced through a function call.
namespace boost_no_template_templates{
template<class T>
class foo
{
public:
foo(){};
foo(const T&){};
const foo& bar()const{ return *this; }
foo& operator=(const foo&){ return *this; }
};
template<typename T, template<typename> class U>
U<T> sinhc_pi(const U<T> x)
{
return x.bar();
}
int test()
{
foo<double> f1;
foo<int> f2;
f1 = sinhc_pi(f1);
f2 = sinhc_pi(f2);
return 0;
}
}

View File

@@ -6,8 +6,8 @@
// MACRO: BOOST_NO_USING_TEMPLATE
// TITLE: using template declarations
// DESCRIPTION: The compiler will not accept a using declaration
// that imports a template from the global namespace
// into a named namespace. Probably Borland specific.
// that imports a class or function template
// into a named namespace. Probably Borland/MSVC6 specific.
template <class T>
int global_foo(T)
@@ -41,3 +41,4 @@ int test()

View File

@@ -18,18 +18,18 @@
namespace boost_no_intrinsic_wchar_t{
template <class T>
struct is_int{};
struct is_int{ int i; };
template <> struct is_int<unsigned char>{};
template <> struct is_int<signed char>{};
template <> struct is_int<char>{};
template <> struct is_int<unsigned short>{};
template <> struct is_int<short>{};
template <> struct is_int<unsigned int>{};
template <> struct is_int<int>{};
template <> struct is_int<unsigned long>{};
template <> struct is_int<long>{};
template <> struct is_int<wchar_t>{};
template <> struct is_int<unsigned char>{ int i; };
template <> struct is_int<signed char>{ int i; };
template <> struct is_int<char>{ int i; };
template <> struct is_int<unsigned short>{ int i; };
template <> struct is_int<short>{ int i; };
template <> struct is_int<unsigned int>{ int i; };
template <> struct is_int<int>{ int i; };
template <> struct is_int<unsigned long>{ int i; };
template <> struct is_int<long>{ int i; };
template <> struct is_int<wchar_t>{ int i; };
int test()
{

View File

@@ -87,9 +87,9 @@ void print_byte_order(const char* what, T /* t */ )
template <class T>
void print_sign(const char* what, T t)
{
t = -1;
t = static_cast<T>(-1); // cast suppresses warnings
for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
std::cout << "Type " << what << " is " << ((t < 0) ? "signed" : "unsigned") << std::endl;
std::cout << "Type " << what << " is " << ((t > 0) ? "unsigned" : "signed") << std::endl;
}
#define PRINT_SIGN(T) print_sign(#T, T())
@@ -110,7 +110,7 @@ void print_compiler_macros()
PRINT_MACRO(__FUNC__);
PRINT_MACRO(_M_IX86);
PRINT_MACRO(__MSDOS__);
PRINT_MACRO(__MT__ );
PRINT_MACRO(__MT__ );
PRINT_MACRO(__PASCAL__);
PRINT_MACRO(__STDC__);
PRINT_MACRO(__TLS__);
@@ -252,6 +252,10 @@ void print_compiler_macros()
PRINT_MACRO(__EDG_ABI_COMPATIBILITY_VERSION);
PRINT_MACRO(__EDG_IMPLICIT_USING_STD);
PRINT_MACRO(__EDG_RUNTIME_USES_NAMESPACES);
PRINT_MACRO(__BOOL_DEFINED);
PRINT_MACRO(__RTTI);
PRINT_MACRO(__PLACEMENT_DELETE);
PRINT_MACRO(__NO_LONG_LONG);
// misc compilers not covered so far:
PRINT_MACRO(__ICC);
@@ -821,21 +825,39 @@ void print_platform_macros()
void print_boost_macros()
{
std::cout << "Boost version " << BOOST_STRINGIZE(BOOST_VERSION) << std::endl;
PRINT_MACRO(BOOST_DECL);
// config setup macros first:
PRINT_MACRO(BOOST_USER_CONFIG);
PRINT_MACRO(BOOST_COMPILER_CONFIG);
PRINT_MACRO(BOOST_STDLIB_CONFIG);
PRINT_MACRO(BOOST_PLATFORM_CONFIG);
PRINT_MACRO(BOOST_NO_CONFIG);
PRINT_MACRO(BOOST_NO_USER_CONFIG);
PRINT_MACRO(BOOST_NO_COMPILER_CONFIG);
PRINT_MACRO(BOOST_NO_STDLIB_CONFIG);
PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG);
// then defect and feature macros:
PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG);
PRINT_MACRO(BOOST_DEDUCED_TYPENAME);
PRINT_MACRO(BOOST_DISABLE_THREADS);
PRINT_MACRO(BOOST_DISABLE_WIN32);
PRINT_MACRO(BOOST_HAS_BETHREADS);
PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
PRINT_MACRO(BOOST_HAS_DIRENT_H);
PRINT_MACRO(BOOST_HAS_FTIME);
PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY);
PRINT_MACRO(BOOST_HAS_HASH);
PRINT_MACRO(BOOST_HAS_LONG_LONG);
PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET);
PRINT_MACRO(BOOST_HAS_MS_INT64);
PRINT_MACRO(BOOST_HAS_NANOSLEEP);
PRINT_MACRO(BOOST_HAS_NL_TYPES_H);
PRINT_MACRO(BOOST_HAS_NRVO);
PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP);
PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE);
PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD);
PRINT_MACRO(BOOST_HAS_PTHREADS);
PRINT_MACRO(BOOST_HAS_SCHED_YIELD);
PRINT_MACRO(BOOST_HAS_SIGACTION);
PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS);
PRINT_MACRO(BOOST_HAS_STDINT_H);
PRINT_MACRO(BOOST_HAS_SLIST);
@@ -847,6 +869,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_MSVC);
PRINT_MACRO(BOOST_MSVC_STD_ITERATOR);
PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES);
PRINT_MACRO(BOOST_NESTED_TEMPLATE);
PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
PRINT_MACRO(BOOST_NO_AUTO_PTR);
PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS);
@@ -854,7 +877,10 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_CWCHAR);
PRINT_MACRO(BOOST_NO_CWCTYPE);
PRINT_MACRO(BOOST_NO_DEDUCED_TYPENAME);
PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS);
PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS);
PRINT_MACRO(BOOST_NO_EXCEPTIONS);
PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS);
PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING);
PRINT_MACRO(BOOST_NO_HASH);
@@ -864,29 +890,38 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T);
PRINT_MACRO(BOOST_NO_LIMITS);
PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS);
PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS);
PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD);
PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS);
PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES);
PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS);
PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE);
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
PRINT_MACRO(BOOST_NO_SLIST);
PRINT_MACRO(BOOST_NO_STD_ALLOCATOR);
PRINT_MACRO(BOOST_NO_STD_DISTANCE);
PRINT_MACRO(BOOST_NO_STD_ITERATOR);
PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS);
PRINT_MACRO(BOOST_NO_STD_LOCALE);
PRINT_MACRO(BOOST_NO_STD_MESSAGES);
PRINT_MACRO(BOOST_NO_STD_MIN_MAX);
PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN);
PRINT_MACRO(BOOST_NO_STD_USE_FACET);
PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF);
PRINT_MACRO(BOOST_NO_STD_WSTRING);
PRINT_MACRO(BOOST_NO_STDC_NAMESPACE);
PRINT_MACRO(BOOST_NO_STRINGSTREAM);
PRINT_MACRO(BOOST_NO_SWPRINTF);
PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION);
PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES);
PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS);
PRINT_MACRO(BOOST_DISABLE_THREADS);
PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION);
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
}
void print_separator()
@@ -912,3 +947,8 @@ int main()

View File

@@ -10,7 +10,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_*.cxx on
// Wed Oct 31 12:19:39 2001
// Thu Feb 13 12:10:01 GMTST 2003
#include <boost/config.hpp>
#define BOOST_INCLUDE_MAIN
@@ -27,6 +27,11 @@ namespace boost_no_argument_dependent_lookup = empty_boost;
#else
namespace boost_no_auto_ptr = empty_boost;
#endif
#ifndef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
#include "boost_no_bcb_partial_spec.cxx"
#else
namespace boost_bcb_partial_specialization_bug = empty_boost;
#endif
#ifndef BOOST_NO_CTYPE_FUNCTIONS
#include "boost_no_ctype_functions.cxx"
#else
@@ -52,6 +57,11 @@ namespace boost_no_cwchar = empty_boost;
#else
namespace boost_no_cwctype = empty_boost;
#endif
#ifndef BOOST_DEDUCED_TYPENAME
#include "boost_no_ded_typename.cxx"
#else
namespace boost_deduced_typename = empty_boost;
#endif
#ifndef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
#include "boost_no_dep_nested_class.cxx"
#else
@@ -62,6 +72,16 @@ namespace boost_no_dependent_nested_derivations = empty_boost;
#else
namespace boost_no_dependent_types_in_template_value_parameters = empty_boost;
#endif
#ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
#include "boost_no_excep_std.cxx"
#else
namespace boost_no_exception_std_namespace = empty_boost;
#endif
#ifndef BOOST_NO_EXCEPTIONS
#include "boost_no_exceptions.cxx"
#else
namespace boost_no_exceptions = empty_boost;
#endif
#ifndef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
#include "boost_no_exp_func_tem_arg.cxx"
#else
@@ -72,6 +92,11 @@ namespace boost_no_explicit_function_template_arguments = empty_boost;
#else
namespace boost_no_function_template_ordering = empty_boost;
#endif
#ifndef BOOST_NO_MS_INT64_NUMERIC_LIMITS
#include "boost_no_i64_limits.cxx"
#else
namespace boost_no_ms_int64_numeric_limits = empty_boost;
#endif
#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
#include "boost_no_inline_memb_init.cxx"
#else
@@ -97,6 +122,16 @@ namespace boost_no_limits = empty_boost;
#else
namespace boost_no_limits_compile_time_constants = empty_boost;
#endif
#ifndef BOOST_NO_LONG_LONG_NUMERIC_LIMITS
#include "boost_no_ll_limits.cxx"
#else
namespace boost_no_long_long_numeric_limits = empty_boost;
#endif
#ifndef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
#include "boost_no_mem_func_spec.cxx"
#else
namespace boost_no_member_function_specializations = empty_boost;
#endif
#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
#include "boost_no_mem_tem_keyword.cxx"
#else
@@ -132,6 +167,11 @@ namespace boost_no_private_in_aggregate = empty_boost;
#else
namespace boost_no_pointer_to_member_const = empty_boost;
#endif
#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION
#include "boost_no_ret_det.cxx"
#else
namespace boost_no_unreachable_return_detection = empty_boost;
#endif
#ifndef BOOST_NO_STRINGSTREAM
#include "boost_no_sstream.cxx"
#else
@@ -182,6 +222,11 @@ namespace boost_no_std_output_iterator_assign = empty_boost;
#else
namespace boost_no_std_use_facet = empty_boost;
#endif
#ifndef BOOST_NO_STD_WSTREAMBUF
#include "boost_no_std_wstreambuf.cxx"
#else
namespace boost_no_std_wstreambuf = empty_boost;
#endif
#ifndef BOOST_NO_STD_WSTRING
#include "boost_no_std_wstring.cxx"
#else
@@ -197,6 +242,11 @@ namespace boost_no_stdc_namespace = empty_boost;
#else
namespace boost_no_swprintf = empty_boost;
#endif
#ifndef BOOST_NO_TEMPLATE_TEMPLATES
#include "boost_no_template_template.cxx"
#else
namespace boost_no_template_templates = empty_boost;
#endif
#ifndef BOOST_NO_USING_TEMPLATE
#include "boost_no_using_template.cxx"
#else
@@ -227,6 +277,11 @@ namespace boost_has_bethreads = empty_boost;
#else
namespace boost_has_clock_gettime = empty_boost;
#endif
#ifdef BOOST_HAS_DIRENT_H
#include "boost_has_dirent_h.cxx"
#else
namespace boost_has_dirent_h = empty_boost;
#endif
#ifdef BOOST_HAS_FTIME
#include "boost_has_ftime.cxx"
#else
@@ -252,6 +307,11 @@ namespace boost_has_long_long = empty_boost;
#else
namespace boost_has_macro_use_facet = empty_boost;
#endif
#ifdef BOOST_HAS_MS_INT64
#include "boost_has_ms_int64.cxx"
#else
namespace boost_has_ms_int64 = empty_boost;
#endif
#ifdef BOOST_HAS_NANOSLEEP
#include "boost_has_nanosleep.cxx"
#else
@@ -262,13 +322,23 @@ namespace boost_has_nanosleep = empty_boost;
#else
namespace boost_has_nl_types_h = empty_boost;
#endif
#ifdef BOOST_HAS_NRVO
#include "boost_has_nrvo.cxx"
#else
namespace boost_has_nrvo = empty_boost;
#endif
#ifdef BOOST_HAS_PARTIAL_STD_ALLOCATOR
#include "boost_has_part_alloc.cxx"
#else
namespace boost_has_partial_std_allocator = empty_boost;
#endif
#ifdef BOOST_HAS_PTHREAD_DELAY_NP
#include "boost_has_pthread_delay_np.cxx"
#else
namespace boost_has_pthread_delay_np = empty_boost;
#endif
#ifdef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#include "boost_has_pthread_ma_gt.cxx"
#include "boost_has_pthread_ma_st.cxx"
#else
namespace boost_has_pthread_mutexattr_settype = empty_boost;
#endif
@@ -292,6 +362,11 @@ namespace boost_has_sched_yield = empty_boost;
#else
namespace boost_has_sgi_type_traits = empty_boost;
#endif
#ifdef BOOST_HAS_SIGACTION
#include "boost_has_sigaction.cxx"
#else
namespace boost_has_sigaction = empty_boost;
#endif
#ifdef BOOST_HAS_SLIST
#include "boost_has_slist.cxx"
#else
@@ -330,67 +405,82 @@ namespace boost_has_winthreads = empty_boost;
int test_main( int, char *[] )
{
BOOST_TEST(0 == boost_no_intrinsic_wchar_t::test());
BOOST_TEST(0 == boost_no_void_returns::test());
BOOST_TEST(0 == boost_no_using_template::test());
BOOST_TEST(0 == boost_no_swprintf::test());
BOOST_TEST(0 == boost_no_stdc_namespace::test());
BOOST_TEST(0 == boost_no_std_wstring::test());
BOOST_TEST(0 == boost_no_std_use_facet::test());
BOOST_TEST(0 == boost_no_std_output_iterator_assign::test());
BOOST_TEST(0 == boost_no_std_min_max::test());
BOOST_TEST(0 == boost_no_std_messages::test());
BOOST_TEST(0 == boost_no_std_locale::test());
BOOST_TEST(0 == boost_no_std_iterator::test());
BOOST_TEST(0 == boost_no_std_iterator_traits::test());
BOOST_TEST(0 == boost_no_std_distance::test());
BOOST_TEST(0 == boost_no_std_allocator::test());
BOOST_TEST(0 == boost_no_stringstream::test());
BOOST_TEST(0 == boost_no_pointer_to_member_const::test());
BOOST_TEST(0 == boost_no_private_in_aggregate::test());
BOOST_TEST(0 == boost_no_template_partial_specialization::test());
BOOST_TEST(0 == boost_no_operators_in_namespace::test());
BOOST_TEST(0 == boost_no_member_templates::test());
BOOST_TEST(0 == boost_no_member_template_friends::test());
BOOST_TEST(0 == boost_no_member_template_keyword::test());
BOOST_TEST(0 == boost_no_limits_compile_time_constants::test());
BOOST_TEST(0 == boost_no_limits::test());
BOOST_TEST(0 == boost_no_templated_iterator_constructors::test());
BOOST_TEST(0 == boost_no_integral_int64_t::test());
BOOST_TEST(0 == boost_no_inclass_member_initialization::test());
BOOST_TEST(0 == boost_no_function_template_ordering::test());
BOOST_TEST(0 == boost_no_explicit_function_template_arguments::test());
BOOST_TEST(0 == boost_no_dependent_types_in_template_value_parameters::test());
BOOST_TEST(0 == boost_no_dependent_nested_derivations::test());
BOOST_TEST(0 == boost_no_cwctype::test());
BOOST_TEST(0 == boost_no_cwchar::test());
BOOST_TEST(0 == boost_no_cv_void_specializations::test());
BOOST_TEST(0 == boost_no_cv_specializations::test());
BOOST_TEST(0 == boost_no_ctype_functions::test());
BOOST_TEST(0 == boost_no_auto_ptr::test());
BOOST_TEST(0 == boost_no_argument_dependent_lookup::test());
BOOST_TEST(0 == boost_has_winthreads::test());
BOOST_TEST(0 == boost_msvc_std_iterator::test());
BOOST_TEST(0 == boost_msvc6_member_templates::test());
BOOST_TEST(0 == boost_has_unistd_h::test());
BOOST_TEST(0 == boost_has_stlp_use_facet::test());
BOOST_TEST(0 == boost_has_stdint_h::test());
BOOST_TEST(0 == boost_has_slist::test());
BOOST_TEST(0 == boost_has_sgi_type_traits::test());
BOOST_TEST(0 == boost_has_sched_yield::test());
BOOST_TEST(0 == boost_has_pthreads::test());
BOOST_TEST(0 == boost_has_pthread_yield::test());
BOOST_TEST(0 == boost_has_pthread_mutexattr_settype::test());
BOOST_TEST(0 == boost_has_pthread_delay_np::test());
BOOST_TEST(0 == boost_has_nl_types_h::test());
BOOST_TEST(0 == boost_has_nanosleep::test());
BOOST_TEST(0 == boost_has_macro_use_facet::test());
BOOST_TEST(0 == boost_has_long_long::test());
BOOST_TEST(0 == boost_has_hash::test());
BOOST_TEST(0 == boost_has_gettimeofday::test());
BOOST_TEST(0 == boost_has_ftime::test());
BOOST_TEST(0 == boost_has_clock_gettime::test());
BOOST_TEST(0 == boost_has_bethreads::test());
BOOST_TEST(0 == boost_has_two_arg_use_facet::test());
return 0;
BOOST_TEST(0 == boost_no_intrinsic_wchar_t::test());
BOOST_TEST(0 == boost_no_void_returns::test());
BOOST_TEST(0 == boost_no_using_template::test());
BOOST_TEST(0 == boost_no_template_templates::test());
BOOST_TEST(0 == boost_no_swprintf::test());
BOOST_TEST(0 == boost_no_stdc_namespace::test());
BOOST_TEST(0 == boost_no_std_wstring::test());
BOOST_TEST(0 == boost_no_std_wstreambuf::test());
BOOST_TEST(0 == boost_no_std_use_facet::test());
BOOST_TEST(0 == boost_no_std_output_iterator_assign::test());
BOOST_TEST(0 == boost_no_std_min_max::test());
BOOST_TEST(0 == boost_no_std_messages::test());
BOOST_TEST(0 == boost_no_std_locale::test());
BOOST_TEST(0 == boost_no_std_iterator::test());
BOOST_TEST(0 == boost_no_std_iterator_traits::test());
BOOST_TEST(0 == boost_no_std_distance::test());
BOOST_TEST(0 == boost_no_std_allocator::test());
BOOST_TEST(0 == boost_no_stringstream::test());
BOOST_TEST(0 == boost_no_unreachable_return_detection::test());
BOOST_TEST(0 == boost_no_pointer_to_member_const::test());
BOOST_TEST(0 == boost_no_private_in_aggregate::test());
BOOST_TEST(0 == boost_no_template_partial_specialization::test());
BOOST_TEST(0 == boost_no_operators_in_namespace::test());
BOOST_TEST(0 == boost_no_member_templates::test());
BOOST_TEST(0 == boost_no_member_template_friends::test());
BOOST_TEST(0 == boost_no_member_template_keyword::test());
BOOST_TEST(0 == boost_no_member_function_specializations::test());
BOOST_TEST(0 == boost_no_long_long_numeric_limits::test());
BOOST_TEST(0 == boost_no_limits_compile_time_constants::test());
BOOST_TEST(0 == boost_no_limits::test());
BOOST_TEST(0 == boost_no_templated_iterator_constructors::test());
BOOST_TEST(0 == boost_no_integral_int64_t::test());
BOOST_TEST(0 == boost_no_inclass_member_initialization::test());
BOOST_TEST(0 == boost_no_ms_int64_numeric_limits::test());
BOOST_TEST(0 == boost_no_function_template_ordering::test());
BOOST_TEST(0 == boost_no_explicit_function_template_arguments::test());
BOOST_TEST(0 == boost_no_exceptions::test());
BOOST_TEST(0 == boost_no_exception_std_namespace::test());
BOOST_TEST(0 == boost_no_dependent_types_in_template_value_parameters::test());
BOOST_TEST(0 == boost_no_dependent_nested_derivations::test());
BOOST_TEST(0 == boost_deduced_typename::test());
BOOST_TEST(0 == boost_no_cwctype::test());
BOOST_TEST(0 == boost_no_cwchar::test());
BOOST_TEST(0 == boost_no_cv_void_specializations::test());
BOOST_TEST(0 == boost_no_cv_specializations::test());
BOOST_TEST(0 == boost_no_ctype_functions::test());
BOOST_TEST(0 == boost_bcb_partial_specialization_bug::test());
BOOST_TEST(0 == boost_no_auto_ptr::test());
BOOST_TEST(0 == boost_no_argument_dependent_lookup::test());
BOOST_TEST(0 == boost_has_winthreads::test());
BOOST_TEST(0 == boost_msvc_std_iterator::test());
BOOST_TEST(0 == boost_msvc6_member_templates::test());
BOOST_TEST(0 == boost_has_unistd_h::test());
BOOST_TEST(0 == boost_has_stlp_use_facet::test());
BOOST_TEST(0 == boost_has_stdint_h::test());
BOOST_TEST(0 == boost_has_slist::test());
BOOST_TEST(0 == boost_has_sigaction::test());
BOOST_TEST(0 == boost_has_sgi_type_traits::test());
BOOST_TEST(0 == boost_has_sched_yield::test());
BOOST_TEST(0 == boost_has_pthreads::test());
BOOST_TEST(0 == boost_has_pthread_yield::test());
BOOST_TEST(0 == boost_has_pthread_mutexattr_settype::test());
BOOST_TEST(0 == boost_has_pthread_delay_np::test());
BOOST_TEST(0 == boost_has_partial_std_allocator::test());
BOOST_TEST(0 == boost_has_nrvo::test());
BOOST_TEST(0 == boost_has_nl_types_h::test());
BOOST_TEST(0 == boost_has_nanosleep::test());
BOOST_TEST(0 == boost_has_ms_int64::test());
BOOST_TEST(0 == boost_has_macro_use_facet::test());
BOOST_TEST(0 == boost_has_long_long::test());
BOOST_TEST(0 == boost_has_hash::test());
BOOST_TEST(0 == boost_has_gettimeofday::test());
BOOST_TEST(0 == boost_has_ftime::test());
BOOST_TEST(0 == boost_has_dirent_h::test());
BOOST_TEST(0 == boost_has_clock_gettime::test());
BOOST_TEST(0 == boost_has_bethreads::test());
BOOST_TEST(0 == boost_has_two_arg_use_facet::test());
return 0;
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_2arg_use_facet.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_TWO_ARG_USE_FACET
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_two_arg_use_facet::test();
}
return boost_has_two_arg_use_facet::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_2arg_use_facet.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_TWO_ARG_USE_FACET
@@ -31,6 +30,6 @@ namespace boost_has_two_arg_use_facet = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_two_arg_use_facet::test();
}
return boost_has_two_arg_use_facet::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_bethreads.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_BETHREADS
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_bethreads::test();
}
return boost_has_bethreads::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_bethreads.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_BETHREADS
@@ -31,6 +30,6 @@ namespace boost_has_bethreads = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_bethreads::test();
}
return boost_has_bethreads::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_clock_gettime.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_CLOCK_GETTIME
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_clock_gettime::test();
}
return boost_has_clock_gettime::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_clock_gettime.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_CLOCK_GETTIME
@@ -31,6 +30,6 @@ namespace boost_has_clock_gettime = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_clock_gettime::test();
}
return boost_has_clock_gettime::test();
}

View File

@@ -0,0 +1,35 @@
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Test file for macro BOOST_HAS_DIRENT_H
// This file should not compile, if it does then
// BOOST_HAS_DIRENT_H may be defined.
// see boost_has_dirent_h.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_dirent_h.cxx on
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_DIRENT_H
#include "boost_has_dirent_h.cxx"
#else
#error "this file should not compile"
#endif
int cpp_main( int, char *[] )
{
return boost_has_dirent_h::test();
}

View File

@@ -0,0 +1,35 @@
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Test file for macro BOOST_HAS_DIRENT_H
// This file should compile, if it does not then
// BOOST_HAS_DIRENT_H should not be defined.
// see boost_has_dirent_h.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_dirent_h.cxx on
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_DIRENT_H
#include "boost_has_dirent_h.cxx"
#else
namespace boost_has_dirent_h = empty_boost;
#endif
int cpp_main( int, char *[] )
{
return boost_has_dirent_h::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_ftime.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_FTIME
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_ftime::test();
}
return boost_has_ftime::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_ftime.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_FTIME
@@ -31,6 +30,6 @@ namespace boost_has_ftime = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_ftime::test();
}
return boost_has_ftime::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_gettimeofday.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_GETTIMEOFDAY
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_gettimeofday::test();
}
return boost_has_gettimeofday::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_gettimeofday.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_GETTIMEOFDAY
@@ -31,6 +30,6 @@ namespace boost_has_gettimeofday = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_gettimeofday::test();
}
return boost_has_gettimeofday::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_hash.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_HASH
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_hash::test();
}
return boost_has_hash::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_hash.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_HASH
@@ -31,6 +30,6 @@ namespace boost_has_hash = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_hash::test();
}
return boost_has_hash::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_long_long.cxx on
// Tue Oct 16 12:34:33 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_LONG_LONG
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_long_long::test();
}
return boost_has_long_long::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_long_long.cxx on
// Tue Oct 16 12:34:33 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_LONG_LONG
@@ -31,6 +30,6 @@ namespace boost_has_long_long = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_long_long::test();
}
return boost_has_long_long::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_macro_use_facet.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_MACRO_USE_FACET
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_macro_use_facet::test();
}
return boost_has_macro_use_facet::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_macro_use_facet.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_MACRO_USE_FACET
@@ -31,6 +30,6 @@ namespace boost_has_macro_use_facet = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_macro_use_facet::test();
}
return boost_has_macro_use_facet::test();
}

View File

@@ -0,0 +1,35 @@
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Test file for macro BOOST_HAS_MS_INT64
// This file should not compile, if it does then
// BOOST_HAS_MS_INT64 may be defined.
// see boost_has_ms_int64.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_ms_int64.cxx on
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_MS_INT64
#include "boost_has_ms_int64.cxx"
#else
#error "this file should not compile"
#endif
int cpp_main( int, char *[] )
{
return boost_has_ms_int64::test();
}

View File

@@ -0,0 +1,35 @@
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Test file for macro BOOST_HAS_MS_INT64
// This file should compile, if it does not then
// BOOST_HAS_MS_INT64 should not be defined.
// see boost_has_ms_int64.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_ms_int64.cxx on
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_MS_INT64
#include "boost_has_ms_int64.cxx"
#else
namespace boost_has_ms_int64 = empty_boost;
#endif
int cpp_main( int, char *[] )
{
return boost_has_ms_int64::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_nanosleep.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_NANOSLEEP
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_nanosleep::test();
}
return boost_has_nanosleep::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_nanosleep.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_NANOSLEEP
@@ -31,6 +30,6 @@ namespace boost_has_nanosleep = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_nanosleep::test();
}
return boost_has_nanosleep::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_nl_types_h.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_NL_TYPES_H
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_nl_types_h::test();
}
return boost_has_nl_types_h::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_nl_types_h.cxx on
// Mon Sep 10 12:18:12 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_NL_TYPES_H
@@ -31,6 +30,6 @@ namespace boost_has_nl_types_h = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_nl_types_h::test();
}
return boost_has_nl_types_h::test();
}

35
test/has_nrvo_fail.cpp Normal file
View File

@@ -0,0 +1,35 @@
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Test file for macro BOOST_HAS_NRVO
// This file should not compile, if it does then
// BOOST_HAS_NRVO may be defined.
// see boost_has_nrvo.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_nrvo.cxx on
// Tue Nov 12 11:07:30 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_NRVO
#include "boost_has_nrvo.cxx"
#else
#error "this file should not compile"
#endif
int cpp_main( int, char *[] )
{
return boost_has_nrvo::test();
}

35
test/has_nrvo_pass.cpp Normal file
View File

@@ -0,0 +1,35 @@
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Test file for macro BOOST_HAS_NRVO
// This file should compile, if it does not then
// BOOST_HAS_NRVO should not be defined.
// see boost_has_nrvo.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_nrvo.cxx on
// Tue Nov 12 11:07:30 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_NRVO
#include "boost_has_nrvo.cxx"
#else
namespace boost_has_nrvo = empty_boost;
#endif
int cpp_main( int, char *[] )
{
return boost_has_nrvo::test();
}

View File

@@ -0,0 +1,35 @@
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Test file for macro BOOST_HAS_PARTIAL_STD_ALLOCATOR
// This file should not compile, if it does then
// BOOST_HAS_PARTIAL_STD_ALLOCATOR may be defined.
// see boost_has_part_alloc.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_part_alloc.cxx on
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_PARTIAL_STD_ALLOCATOR
#include "boost_has_part_alloc.cxx"
#else
#error "this file should not compile"
#endif
int cpp_main( int, char *[] )
{
return boost_has_partial_std_allocator::test();
}

View File

@@ -0,0 +1,35 @@
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Test file for macro BOOST_HAS_PARTIAL_STD_ALLOCATOR
// This file should compile, if it does not then
// BOOST_HAS_PARTIAL_STD_ALLOCATOR should not be defined.
// see boost_has_part_alloc.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_part_alloc.cxx on
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_PARTIAL_STD_ALLOCATOR
#include "boost_has_part_alloc.cxx"
#else
namespace boost_has_partial_std_allocator = empty_boost;
#endif
int cpp_main( int, char *[] )
{
return boost_has_partial_std_allocator::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_pthread_delay_np.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_PTHREAD_DELAY_NP
@@ -31,6 +30,6 @@
int cpp_main( int, char *[] )
{
return boost_has_pthread_delay_np::test();
}
return boost_has_pthread_delay_np::test();
}

View File

@@ -11,7 +11,7 @@
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_pthread_delay_np.cxx on
// Thu Oct 11 12:24:39 2001
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,7 +20,6 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifdef BOOST_HAS_PTHREAD_DELAY_NP
@@ -31,6 +30,6 @@ namespace boost_has_pthread_delay_np = empty_boost;
int cpp_main( int, char *[] )
{
return boost_has_pthread_delay_np::test();
}
return boost_has_pthread_delay_np::test();
}

View File

@@ -7,11 +7,11 @@
// Test file for macro BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
// This file should not compile, if it does then
// BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE may be defined.
// see boost_has_pthread_ma_gt.cxx for more details
// see boost_has_pthread_ma_st.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_has_pthread_ma_gt.cxx on
// Thu Oct 11 12:24:39 2001
// ../tools/generate from boost_has_pthread_ma_st.cxx on
// Thu Sep 12 12:24:12 2002
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
@@ -20,17 +20,16 @@
#endif
#include <boost/config.hpp>
#include <boost/test/cpp_main.cpp>
#include "test.hpp"
#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#include "boost_has_pthread_ma_gt.cxx"
#include "boost_has_pthread_ma_st.cxx"
#else
#error "this file should not compile"
#endif
int cpp_main( int, char *[] )
{
return boost_has_pthread_mutexattr_settype::test();
}
return boost_has_pthread_mutexattr_settype::test();
}

Some files were not shown because too many files have changed in this diff Show More