Commit Graph

163 Commits

Author SHA1 Message Date
Peter Dimov
2fa0a00583 Make Boost.System header-only 2018-09-16 03:04:19 +03:00
Peter Dimov
053972643d Replace BOOST_SYSTEM_NOEXCEPT with BOOST_NOEXCEPT 2018-09-15 20:06:14 +03:00
Peter Dimov
736d618120 Reformat error_code.hpp 2018-09-15 20:05:10 +03:00
Peter Dimov
f92c0fc9b7 Use enable_if from type_traits 2018-09-15 01:50:41 +03:00
Peter Dimov
dc5a054d9e Remove unnecessary #include 2018-09-15 01:00:39 +03:00
Peter Dimov
13199e504c Reorder includes to avoid ::gets error under Clang 3.8, 3.9 2018-07-19 19:48:20 +03:00
Peter Dimov
3c59cea7ef Disable constexpr on Clang/libstdc++4.8 2018-07-19 19:04:53 +03:00
Peter Dimov
e57cca107d Disable constexpr on Clang/Win 2018-07-09 13:50:27 +03:00
Peter Dimov
9e039cfaf9 Fix dllexport mismatch errors under clang++ 2018-06-29 05:39:42 +03:00
Peter Dimov
084d8e119e Update g++ workaround to exclude 7.4/8.1 2018-06-29 03:56:56 +03:00
Peter Dimov
d1f3d3b349 Merge branch 'develop' into feature/constexpr 2018-01-29 14:57:30 +02:00
Peter Dimov
0433e561b5 Change the invalid address of boost::throws() to 8 from 1, so that it's properly aligned 2018-01-29 02:29:14 +02:00
Peter Dimov
35e3e22c7e Add BOOST_SYSTEM_CONSTEXPR to operator bool 2018-01-22 23:39:59 +02:00
Peter Dimov
7b94454e7c Merge branch 'develop' into feature/constexpr 2018-01-22 21:13:37 +02:00
Peter Dimov
0b48bb8166 Use explicit operator bool when available 2018-01-22 21:13:02 +02:00
Peter Dimov
19d5bf5f04 clang++ 3.8 and below requires a user-provided default constructor 2018-01-22 17:39:29 +02:00
Peter Dimov
587ceaf739 Enable constexpr in header-only mode as well 2018-01-22 04:56:40 +02:00
Peter Dimov
77817d8847 Fix MinGW link errors by properly exporting symbols 2018-01-22 02:20:01 +02:00
Peter Dimov
61b4d8ef24 Fix variant=release link errors 2018-01-21 21:42:22 +02:00
Peter Dimov
83ddde6b78 Disable constexpr on g++ 7/8 in C++17 mode due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83835 2018-01-14 15:55:23 +02:00
Peter Dimov
fe55a4a963 Make error_category::op==, !=, < nonmembers (a non-literal class can't have constexpr members acc. to g++) 2018-01-14 08:49:25 +02:00
Peter Dimov
7b6dcf6ac6 Make error_code, error_condition literal if C++14 constexpr is available 2018-01-14 07:24:00 +02:00
Peter Dimov
d28c6ff128 Do not put categories in an unnamed namespace, as this is an ODR violation in header-only mode 2018-01-14 05:56:15 +02:00
Daniela Engert
706659a97f
std::basic_string::size() may return a size_type which is wider than an int.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-12-16 10:40:49 +01:00
Peter Dimov
e367d65b6e Fix use of _alloca under g++/clang (mingw/cygwin) 2017-11-01 20:59:34 +02:00
Zang MingJie
0daba59730 Fix MSVC compile error 2017-11-02 01:32:18 +08:00
Andrey Semashev
a4b67129ff Updated Boost.WinAPI usage to the new location and namespace. 2017-10-25 00:44:18 +03:00
Peter Dimov
829a1320a7 Replace BOOST_SYSTEM_NO_DEPRECATED with BOOST_SYSTEM_ENABLE_DEPRECATED 2017-10-21 19:19:57 +03:00
Beman
cd38d2f778 Remove unused assignment. This was pull request 15, which was made against master instead of develop. 2017-09-08 15:44:52 -04:00
Beman
e039a454cf Hand add the fix from github.com/boostorg/system/pull/12. Note: This fix was verified by testing in release mode with clang 4.0 on Linux. It crashed before applying the P/R and passed afterwards. The pull request was applied by hand to add some new comments and do some other minor code rearrangements. Thanks to Visigoth for the P/R. 2017-09-07 16:36:48 -04:00
Andrey Semashev
b6ef4ad220 Silence MSVC warnings about 'this' in base class initializer list. 2017-09-05 21:32:25 +03:00
Daniela Engert
d8d71216e9
fix narrowing conversion
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-08-27 07:11:04 +02:00
Peter Dimov
a0fb1f2d41 Simplify 03/11 mismatch test because of MinGW; message() doesn't work 2017-07-24 12:29:32 +03:00
Peter Dimov
c639237adf Maintain the same error_category class layout in 03/11 mode 2017-07-24 05:32:44 +03:00
Peter Dimov
2649b7e4a6 Merge branch 'develop' 2017-06-22 21:56:51 +03:00
Peter Dimov
87c427b5df Rework the equivalence logic in terms of the corresponding downstream equivalent 2017-06-22 19:27:55 +03:00
Peter Dimov
cc26feabef Fix error_code.ipp on Cygwin 2017-06-13 19:50:36 +03:00
Beman
f26bfc87aa Fix typo 2017-06-04 11:28:14 -04:00
Beman
bd37d3b619 Reformat overly long lines of code. 2017-06-04 11:17:39 -04:00
Beman
4736079b2e Fix boost::detail::winapi::ERROR_INSUFFICIENT_BUFFER_ in error_code.ipp (Thanks to Lastique). Use <boost/detail/winapi/error_codes.hpp> in windows_error.hpp. Add msvc project to build header-only version of error_code_test. 2017-06-04 11:01:08 -04:00
Jorge Lodos
67ae4c2aa7 Do not include windows.h in header only mode 2017-05-28 16:37:27 -04:00
Beman
b9eb153bac Merge branch 'hotfix/deprecated-throw' of git://github.com/mkurdej/system into mkurdej-hotfix/deprecated-throw 2017-05-28 09:15:27 -04:00
Peter Dimov
02262a4048 Test a user-defined error condition category; improve equivalent 2017-05-21 01:25:09 +03:00
Peter Dimov
bdd1613898 Do not map system::generic to std::generic directly 2017-05-20 19:33:03 +03:00
Peter Dimov
c4238c745c Add second overload of equivalent, improve first 2017-05-20 18:59:15 +03:00
Peter Dimov
2d18f66800 Try to fix g++ 4.x issue with generic_category 2017-05-20 18:43:31 +03:00
Peter Dimov
044c0565b9 Add test for std interop; implement equivalent 2017-05-20 14:33:54 +03:00
Peter Dimov
6010be4144 Add conversions to std:: counterparts when <system_error> is available 2017-05-20 06:05:39 +03:00
Beman
504c5e95ee Merge branch 'develop' 2017-02-17 06:49:49 -05:00
Beman
dc985cb3bc Clean up some sloppy include guards that were clashing with other Boost projects 2017-01-23 17:08:17 -05:00
Beman
af1f767dfe Comment two lines of code to try to prevent user confusion error_codes and error_conditions, such exhibited by ticket #12574. 2016-11-28 08:32:26 -05:00
Beman
388b3497af Revert the prior change (do not include windows.h). It worked fine with the msvc toolset, testing with the last four VC++ versions. But it failed with GCC version 4.9.3 cygwin64. 2016-02-23 10:58:27 -05:00
Jorge Lodos
561ac00345 Do not include windows.h in header only mode 2016-02-18 22:00:34 -06:00
Andrey Semashev
241f69c55e Fix gcc warnings about unused variables 2015-11-16 16:42:21 +03:00
Marek Kurdej
1f67456bcf Use BOOST_NOEXCEPT_OR_NOTHROW instead of throw() to avoid -Wdeprecated warning on clang (3.5+). 2015-10-23 11:54:17 +02:00
Beman
dcf45d36e5 Neither MinGW or Cygwin versions of winerror.h work if used alone, so on either of these platforms include the full windows.h. Move reporting of configuration to a separate config_test.cpp program, and expand the coverage to report more macros. 2014-08-03 13:44:11 -07:00
Beman
614ae2bd7f Merge branch 'MSOpenTech-fixforcygwin' into develop 2014-08-03 13:39:31 -07:00
Beman
800fce3aaf Neither MinGW or Cygwin versions of winerror.h work if used alone, so on either of these platforms include the full windows.h. Move reporting of configuration to a separate config_test.cpp program, and expand the coverage to report more macros. 2014-08-01 10:49:40 -04:00
Beman
3ec7345ba1 Merge branch 'develop' 2014-07-19 14:14:26 -04:00
Steve Gates
2f2c97caa8 Fixing break on cygwin because local_free_on_destruction.hpp is not
included. Ticket #10137.
2014-06-19 20:30:41 -07:00
Beman
74601846e6 Add Boost.Predef include so that WindowsRT changes work even if config doesn't supply platform. 2014-06-04 11:41:30 -04:00
Beman Dawes
25e79b3492 Merge pull request #3 from MSOpenTech/winrt
[winrt support] Changes to make Boost System work on the Windows Runtime.
2014-06-04 11:06:40 -04:00
Beman
5a29c4458d Merge branch 'develop'
Conflicts:
	doc/reference.html
	include/boost/system/error_code.hpp
	test/system/error_code_test/error_code_test.vcxproj
	test/system/system-dll/system-dll.vcxproj
	test/system_msvc/system_msvc.sln
2014-06-02 08:14:58 -04:00
Beman
8c1549a307 Removed unneeded #include <boost/operators.hpp> 2014-05-31 13:58:40 -04:00
Steve Gates
9c23522b73 Changes to make Boost System work on the Windows Runtime.
Basically just use FormatMessageW without FORMAT_MESSAGE_FROM_SYSTEM.
2014-05-27 12:28:13 -07:00
Beman
986e0f33ac Ensure generic_category() and system_category() linkage is correct on Windows when BOOST_ERROR_CODE_HEADER_ONLY is specified. 2014-01-06 17:38:20 -05:00
Beman
459160d184 Move BOOST_SYSTEM_SOURCE definition to src/error_code.cpp so that automatic library variant selection is enabled. 2014-01-06 16:52:15 -05:00
Beman
42ee65f745 Move src/local_free_on_destruction.hpp to include/boost/detail. Was not being found by some VC++ versions, plus header only builds are supposed to be possible without non-header directories even being present. 2014-01-06 15:37:51 -05:00
Tim Blechmann
2c620a4f3a fix header-only use of error codes
BOOST_ERROR_CODE_HEADER_ONLY was not working when the headers are separated
from the sources (e.g. when installing the headers to fhs-style /usr/include
or the like). to avoid this, we move the implementation to an .ipp file

Signed-off-by: Tim Blechmann <tim@klingt.org>
2014-01-04 12:36:44 +01:00
Vicente J. Botet Escriba
ec4d3bc41e System/FileSystem: merge from trunk to fix #7278.
[SVN r83550]
2013-03-24 20:20:29 +00:00
Beman Dawes
08ea984237 Use C++11 explicit conversion operator if available
[SVN r83210]
2013-02-28 20:55:07 +00:00
Beman Dawes
87130d1d73 Add BOOST_SYSTEM_NOEXCEPT to several functions previously missed. Update documentation to reflect use of noexcept with fallback to C++03 when C++11 feature not present.
[SVN r83197]
2013-02-28 02:13:56 +00:00
Vicente J. Botet Escriba
65e14ff167 System/FileSystem/Asio/Thread: ref #7278 Added noexcept to Boost.System to conform with C++11
[SVN r81808]
2012-12-09 14:47:39 +00:00
Beman Dawes
5430d82f9f System: merge trunk
[SVN r78528]
2012-05-21 13:39:58 +00:00
Beman Dawes
bdcfe61429 Revert portion of 68183. This changeset was aimed at other libraries, but inadvertently modified three boost/system headers.
[SVN r78325]
2012-05-04 20:12:58 +00:00
Beman Dawes
5183a336c2 Revert to BOOST_SYSTEM_STATIC_LINK as the default if no linkage macros supplied. See http://www.boost.org/doc/libs/1_49_0/libs/config/doc/html/boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code
[SVN r78267]
2012-04-30 14:01:34 +00:00
Beman Dawes
af17253f90 Make BOOST_x_DYN_LINK tbe default
[SVN r77999]
2012-04-15 20:16:18 +00:00
Beman Dawes
7671b1291c Tighten config.hpp and Jamfile logic before attaching static build problems.
[SVN r77997]
2012-04-15 19:16:49 +00:00
Vicente J. Botet Escriba
322e46fc49 Boost.Ratio/Chrono: Added boost/ratio/include.hpp file and make use of boost/ratio/ratio.hpp when all the files are not needed
[SVN r68183]
2011-01-16 12:07:26 +00:00
Beman Dawes
7ffc036bc2 Merge trunk, including changes to come into closer conformance with C++0x FCD
[SVN r63685]
2010-07-06 10:47:30 +00:00
Beman Dawes
baae3a392a Upgrade system and filesystem to conform system_category and generic_category interface to N3090, the current C++0x working paper, section 19.5, System error support.
Refactor API macros into a new header, boost/system/api_config.hpp.

Prohibit user definition of API macros. Rationale: ensure all translation units use same definitions, cut number of environments that need to be tested.

[SVN r62313]
2010-05-30 15:38:32 +00:00
Beman Dawes
2bb0075e3f Major upgrade to Boost.Config symbol visibility macros for shared libraries, based on patches from Jürgen Hunold with mods by Beman Dawes. Upgrade Boost.System to use the new visibility macros. Fixes #3697 and provides foundation for fixing 2114, 2309, etc.
[SVN r62140]
2010-05-22 12:12:00 +00:00
Beman Dawes
2f6659f39e Fix #3927
[SVN r59673]
2010-02-13 17:08:39 +00:00
Beman Dawes
f8ddc693ae System: merge trunk
[SVN r57634]
2009-11-13 14:37:32 +00:00
Beman Dawes
6a925690ca System: Correct too_many_symbolic_link_levels misspelling. Fix #3559.
[SVN r57553]
2009-11-10 19:31:24 +00:00
Beman Dawes
691fb5522c system: merge trunk
[SVN r56777]
2009-10-13 13:44:42 +00:00
Beman Dawes
b9fbd88eb6 System: minor code clean up
[SVN r56631]
2009-10-07 13:27:27 +00:00
Beman Dawes
f1cdde273a System: move throws function to namespace boost to allow peaceful coexistence with throws object.
[SVN r50727]
2009-01-22 14:47:50 +00:00
Beman Dawes
5bc362e4f3 System: provide optional throws function rather than throws object
[SVN r50705]
2009-01-21 18:01:14 +00:00
Beman Dawes
a6728e5fb9 System: add deprecated get_posix_category() to fix ticket #2461
[SVN r49717]
2008-11-13 16:05:49 +00:00
Beman Dawes
d19e139e11 Change names to ErrorCodeEnum and ErrorConditionEnum to conform to N2798
[SVN r49290]
2008-10-12 13:07:11 +00:00
Beman Dawes
d6446d1cfb Add error_code throws
[SVN r48577]
2008-09-04 17:36:56 +00:00
Beman Dawes
a97517585c Add const char* constructors to system_error, rationalize test coverage
[SVN r46678]
2008-06-25 14:16:59 +00:00
Beman Dawes
2953464e99 Apply LWG issue 805, using a namespace to emulate scoped enums.
[SVN r46645]
2008-06-24 14:59:10 +00:00
Christopher Kohlhoff
4d3adbca3f Try to fix an order-of-initialisation problem with error_category references.
The symptom, which only occurs in some applications, is a crash due to a
dereference of a null pointer. The exact conditions under which the problem
occurs are not fully understood, so this fix is probably more paranoid than
necessary.


[SVN r41100]
2007-11-15 06:19:04 +00:00
Beman Dawes
04a62ca2b1 Add separate headers for system-specific enums, thus reducing coupling. Suggested by Emil Dotchevski.
[SVN r41033]
2007-11-12 15:22:24 +00:00
Beman Dawes
1430daeb8c Add missing BOOST_SYSTEM_NO_DEPRECATED #ifndef
[SVN r40627]
2007-10-31 18:28:39 +00:00
Beman Dawes
6eda75a19e Fix linux_errno misspelling
[SVN r40360]
2007-10-23 15:04:43 +00:00
Beman Dawes
2f9e1cee92 Rename posix, windows, Linux, and cygwin namespaces to conform with C++ std.
[SVN r40352]
2007-10-23 13:00:18 +00:00
Beman Dawes
1101e65491 Quiet compiler warnings
[SVN r39585]
2007-09-28 02:03:29 +00:00