mirror of
https://github.com/boostorg/system.git
synced 2025-07-31 04:57:13 +02:00
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
This commit is contained in:
@ -38,6 +38,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td width="100%" bgcolor="#E8F5FF">
|
<td width="100%" bgcolor="#E8F5FF">
|
||||||
<a href="#Introduction">Introduction</a><br>
|
<a href="#Introduction">Introduction</a><br>
|
||||||
|
<a href="#Release_History">Release History</a><br>
|
||||||
<a href="#Design_Rationale">Design Rationale</a><br>
|
<a href="#Design_Rationale">Design Rationale</a><br>
|
||||||
<a href="#History">History</a><br>
|
<a href="#History">History</a><br>
|
||||||
<a href="#Acknowledgements">Acknowledgements</a>
|
<a href="#Acknowledgements">Acknowledgements</a>
|
||||||
@ -95,7 +96,7 @@ and Windows platforms. These headers are effectively no-ops if included for
|
|||||||
platforms other than their intended target.</p>
|
platforms other than their intended target.</p>
|
||||||
<table border="1" cellpadding="10" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111">
|
<table border="1" cellpadding="10" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111">
|
||||||
<tr>
|
<tr>
|
||||||
<td>The Boost System Library will become part of the C++0x Standard Library.
|
<td>The Boost System Library is part of the C++11 Standard Library.
|
||||||
A number of changes, particularly to names, were made by the C++ committee
|
A number of changes, particularly to names, were made by the C++ committee
|
||||||
during standardization. The Boost implementation is tracking those changes.
|
during standardization. The Boost implementation is tracking those changes.
|
||||||
See <a href="reference.html#Deprecated-names">Deprecated names</a> for
|
See <a href="reference.html#Deprecated-names">Deprecated names</a> for
|
||||||
@ -105,6 +106,9 @@ platforms other than their intended target.</p>
|
|||||||
and will cause compile-time errors.</td>
|
and will cause compile-time errors.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<h2><a name="Release_History">Release History</a></h2>
|
||||||
|
<p><code>system-2014-06-02</code>: First modular Boost release. Minor
|
||||||
|
maintenance changes.</p>
|
||||||
<h2><a name="Design_Rationale">Design Rationale</a></h2>
|
<h2><a name="Design_Rationale">Design Rationale</a></h2>
|
||||||
<p>Class <code>error_code</code> and <code>error_condition</code> are designed as a value types so
|
<p>Class <code>error_code</code> and <code>error_condition</code> are designed as a value types so
|
||||||
they can be copied
|
they can be copied
|
||||||
@ -145,7 +149,7 @@ paper. Johan Nilsson's comments led to several of the refinements in N2066 .</p>
|
|||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<p>Revised
|
<p>Revised
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%B %d, %Y" startspan -->May 28, 2010<!--webbot bot="Timestamp" endspan i-checksum="11241" --> </font>
|
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%B %d, %Y" startspan -->June 02, 2014<!--webbot bot="Timestamp" endspan i-checksum="13984" --> </font>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p><EFBFBD> Copyright Beman Dawes, 1999</p>
|
<p><EFBFBD> Copyright Beman Dawes, 1999</p>
|
||||||
|
@ -89,6 +89,12 @@ provided, so users may ignore these macros if they prefer.</p>
|
|||||||
<td height="16"><b><i>Default</i></b></td>
|
<td height="16"><b><i>Default</i></b></td>
|
||||||
<td height="16"><b><i>Effect if defined</i></b></td>
|
<td height="16"><b><i>Effect if defined</i></b></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td valign="top" height="64"><code>BOOST_ERROR_CODE_HEADER_ONLY</code></td>
|
||||||
|
<td valign="top" height="64">Not defined.</td>
|
||||||
|
<td valign="top" height="64">The implementation is header-only, and the
|
||||||
|
Boost.System library is not built. Overrides other link and library macros.</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" height="64"><code>BOOST_SYSTEM_DYN_LINK</code></td>
|
<td valign="top" height="64"><code>BOOST_SYSTEM_DYN_LINK</code></td>
|
||||||
<td valign="top" height="64">Defined if <code>BOOST_ALL_DYN_LINK</code> is defined,
|
<td valign="top" height="64">Defined if <code>BOOST_ALL_DYN_LINK</code> is defined,
|
||||||
@ -812,7 +818,7 @@ application program interfaces.</p>
|
|||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<p>Revised
|
<p>Revised
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%B %d, %Y" startspan -->February 27, 2013<!--webbot bot="Timestamp" endspan i-checksum="41547" --> </font>
|
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%B %d, %Y" startspan -->January 06, 2014<!--webbot bot="Timestamp" endspan i-checksum="31400" --> </font>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p><EFBFBD> Copyright Beman Dawes, 2006, 2007, 2008, 2013</p>
|
<p><EFBFBD> Copyright Beman Dawes, 2006, 2007, 2008, 2013</p>
|
||||||
|
481
include/boost/system/detail/error_code.ipp
Normal file
481
include/boost/system/detail/error_code.ipp
Normal file
@ -0,0 +1,481 @@
|
|||||||
|
// error_code support implementation file ----------------------------------//
|
||||||
|
|
||||||
|
// Copyright Beman Dawes 2002, 2006
|
||||||
|
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// See library home page at http://www.boost.org/libs/system
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------//
|
||||||
|
|
||||||
|
#include <boost/config/warning_disable.hpp>
|
||||||
|
|
||||||
|
#include <boost/system/config.hpp>
|
||||||
|
#include <boost/system/error_code.hpp>
|
||||||
|
#include <boost/cerrno.hpp>
|
||||||
|
#include <vector>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
#include <cstring> // for strerror/strerror_r
|
||||||
|
|
||||||
|
# if defined( BOOST_WINDOWS_API )
|
||||||
|
# include <windows.h>
|
||||||
|
# if !defined(WINAPI_FAMILY) || ((WINAPI_FAMILY & WINAPI_PARTITION_DESKTOP) != 0)
|
||||||
|
# include <boost/system/detail/local_free_on_destruction.hpp>
|
||||||
|
# endif
|
||||||
|
# ifndef ERROR_INCORRECT_SIZE
|
||||||
|
# define ERROR_INCORRECT_SIZE ERROR_BAD_ARGUMENTS
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------//
|
||||||
|
namespace boost
|
||||||
|
{
|
||||||
|
namespace system
|
||||||
|
{
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
|
||||||
|
// standard error categories ---------------------------------------------//
|
||||||
|
|
||||||
|
class generic_error_category : public error_category
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
generic_error_category(){}
|
||||||
|
const char * name() const BOOST_SYSTEM_NOEXCEPT;
|
||||||
|
std::string message( int ev ) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
class system_error_category : public error_category
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
system_error_category(){}
|
||||||
|
const char * name() const BOOST_SYSTEM_NOEXCEPT;
|
||||||
|
std::string message( int ev ) const;
|
||||||
|
error_condition default_error_condition( int ev ) const BOOST_SYSTEM_NOEXCEPT;
|
||||||
|
};
|
||||||
|
|
||||||
|
// generic_error_category implementation ---------------------------------//
|
||||||
|
|
||||||
|
const char * generic_error_category::name() const BOOST_SYSTEM_NOEXCEPT
|
||||||
|
{
|
||||||
|
return "generic";
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string generic_error_category::message( int ev ) const
|
||||||
|
{
|
||||||
|
using namespace boost::system::errc;
|
||||||
|
#if defined(__PGI)
|
||||||
|
using boost::system::errc::invalid_argument;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static std::string unknown_err( "Unknown error" );
|
||||||
|
// strerror_r is preferred because it is always thread safe,
|
||||||
|
// however, we fallback to strerror in certain cases because:
|
||||||
|
// -- Windows doesn't provide strerror_r.
|
||||||
|
// -- HP and Sun do provide strerror_r on newer systems, but there is
|
||||||
|
// no way to tell if is available at runtime and in any case their
|
||||||
|
// versions of strerror are thread safe anyhow.
|
||||||
|
// -- Linux only sometimes provides strerror_r.
|
||||||
|
// -- Tru64 provides strerror_r only when compiled -pthread.
|
||||||
|
// -- VMS doesn't provide strerror_r, but on this platform, strerror is
|
||||||
|
// thread safe.
|
||||||
|
# if defined(BOOST_WINDOWS_API) || defined(__hpux) || defined(__sun)\
|
||||||
|
|| (defined(__linux) && (!defined(__USE_XOPEN2K) || defined(BOOST_SYSTEM_USE_STRERROR)))\
|
||||||
|
|| (defined(__osf__) && !defined(_REENTRANT))\
|
||||||
|
|| (defined(__INTEGRITY))\
|
||||||
|
|| (defined(__vms))\
|
||||||
|
|| (defined(__QNXNTO__))
|
||||||
|
const char * c_str = std::strerror( ev );
|
||||||
|
return c_str
|
||||||
|
? std::string( c_str )
|
||||||
|
: unknown_err;
|
||||||
|
# else // use strerror_r
|
||||||
|
char buf[64];
|
||||||
|
char * bp = buf;
|
||||||
|
std::size_t sz = sizeof(buf);
|
||||||
|
# if defined(__CYGWIN__) || defined(__USE_GNU)
|
||||||
|
// Oddball version of strerror_r
|
||||||
|
const char * c_str = strerror_r( ev, bp, sz );
|
||||||
|
return c_str
|
||||||
|
? std::string( c_str )
|
||||||
|
: unknown_err;
|
||||||
|
# else
|
||||||
|
// POSIX version of strerror_r
|
||||||
|
int result;
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
// strerror_r returns 0 on success, otherwise ERANGE if buffer too small,
|
||||||
|
// invalid_argument if ev not a valid error number
|
||||||
|
# if defined (__sgi)
|
||||||
|
const char * c_str = strerror( ev );
|
||||||
|
result = 0;
|
||||||
|
return c_str
|
||||||
|
? std::string( c_str )
|
||||||
|
: unknown_err;
|
||||||
|
# else
|
||||||
|
result = strerror_r( ev, bp, sz );
|
||||||
|
# endif
|
||||||
|
if (result == 0 )
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
# if defined(__linux)
|
||||||
|
// Linux strerror_r returns -1 on error, with error number in errno
|
||||||
|
result = errno;
|
||||||
|
# endif
|
||||||
|
if ( result != ERANGE ) break;
|
||||||
|
if ( sz > sizeof(buf) ) std::free( bp );
|
||||||
|
sz *= 2;
|
||||||
|
if ( (bp = static_cast<char*>(std::malloc( sz ))) == 0 )
|
||||||
|
return std::string( "ENOMEM" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::string msg;
|
||||||
|
# ifndef BOOST_NO_EXCEPTIONS
|
||||||
|
try
|
||||||
|
# endif
|
||||||
|
{
|
||||||
|
msg = ( ( result == invalid_argument ) ? "Unknown error" : bp );
|
||||||
|
}
|
||||||
|
|
||||||
|
# ifndef BOOST_NO_EXCEPTIONS
|
||||||
|
// See ticket #2098
|
||||||
|
catch(...)
|
||||||
|
{
|
||||||
|
// just eat the exception
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
if ( sz > sizeof(buf) ) std::free( bp );
|
||||||
|
sz = 0;
|
||||||
|
return msg;
|
||||||
|
# endif // else POSIX version of strerror_r
|
||||||
|
# endif // else use strerror_r
|
||||||
|
}
|
||||||
|
// system_error_category implementation --------------------------------//
|
||||||
|
|
||||||
|
const char * system_error_category::name() const BOOST_SYSTEM_NOEXCEPT
|
||||||
|
{
|
||||||
|
return "system";
|
||||||
|
}
|
||||||
|
|
||||||
|
error_condition system_error_category::default_error_condition( int ev ) const BOOST_SYSTEM_NOEXCEPT
|
||||||
|
{
|
||||||
|
using namespace boost::system::errc;
|
||||||
|
#if defined(__PGI)
|
||||||
|
using boost::system::errc::invalid_argument;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
# if defined(BOOST_WINDOWS_API)
|
||||||
|
# if defined(WINAPI_FAMILY) && ((WINAPI_FAMILY & WINAPI_PARTITION_APP) != 0)
|
||||||
|
// When using the Windows Runtime, most system errors are reported as HRESULTs.
|
||||||
|
// We want to map the common Win32 errors to their equivalent error condition,
|
||||||
|
// whether or not they are reported via an HRESULT.
|
||||||
|
if ( ev < 0 ) // Check for failed HRESULTs only.
|
||||||
|
if ( HRESULT_FACILITY( ev ) == FACILITY_WIN32 )
|
||||||
|
ev = HRESULT_CODE( ev );
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
switch ( ev )
|
||||||
|
{
|
||||||
|
case 0: return make_error_condition( success );
|
||||||
|
# if defined(BOOST_POSIX_API)
|
||||||
|
// POSIX-like O/S -> posix_errno decode table ---------------------------//
|
||||||
|
case E2BIG: return make_error_condition( argument_list_too_long );
|
||||||
|
case EACCES: return make_error_condition( permission_denied );
|
||||||
|
case EADDRINUSE: return make_error_condition( address_in_use );
|
||||||
|
case EADDRNOTAVAIL: return make_error_condition( address_not_available );
|
||||||
|
case EAFNOSUPPORT: return make_error_condition( address_family_not_supported );
|
||||||
|
case EAGAIN: return make_error_condition( resource_unavailable_try_again );
|
||||||
|
# if EALREADY != EBUSY // EALREADY and EBUSY are the same on QNX Neutrino
|
||||||
|
case EALREADY: return make_error_condition( connection_already_in_progress );
|
||||||
|
# endif
|
||||||
|
case EBADF: return make_error_condition( bad_file_descriptor );
|
||||||
|
case EBADMSG: return make_error_condition( bad_message );
|
||||||
|
case EBUSY: return make_error_condition( device_or_resource_busy );
|
||||||
|
case ECANCELED: return make_error_condition( operation_canceled );
|
||||||
|
case ECHILD: return make_error_condition( no_child_process );
|
||||||
|
case ECONNABORTED: return make_error_condition( connection_aborted );
|
||||||
|
case ECONNREFUSED: return make_error_condition( connection_refused );
|
||||||
|
case ECONNRESET: return make_error_condition( connection_reset );
|
||||||
|
case EDEADLK: return make_error_condition( resource_deadlock_would_occur );
|
||||||
|
case EDESTADDRREQ: return make_error_condition( destination_address_required );
|
||||||
|
case EDOM: return make_error_condition( argument_out_of_domain );
|
||||||
|
case EEXIST: return make_error_condition( file_exists );
|
||||||
|
case EFAULT: return make_error_condition( bad_address );
|
||||||
|
case EFBIG: return make_error_condition( file_too_large );
|
||||||
|
case EHOSTUNREACH: return make_error_condition( host_unreachable );
|
||||||
|
case EIDRM: return make_error_condition( identifier_removed );
|
||||||
|
case EILSEQ: return make_error_condition( illegal_byte_sequence );
|
||||||
|
case EINPROGRESS: return make_error_condition( operation_in_progress );
|
||||||
|
case EINTR: return make_error_condition( interrupted );
|
||||||
|
case EINVAL: return make_error_condition( invalid_argument );
|
||||||
|
case EIO: return make_error_condition( io_error );
|
||||||
|
case EISCONN: return make_error_condition( already_connected );
|
||||||
|
case EISDIR: return make_error_condition( is_a_directory );
|
||||||
|
case ELOOP: return make_error_condition( too_many_symbolic_link_levels );
|
||||||
|
case EMFILE: return make_error_condition( too_many_files_open );
|
||||||
|
case EMLINK: return make_error_condition( too_many_links );
|
||||||
|
case EMSGSIZE: return make_error_condition( message_size );
|
||||||
|
case ENAMETOOLONG: return make_error_condition( filename_too_long );
|
||||||
|
case ENETDOWN: return make_error_condition( network_down );
|
||||||
|
case ENETRESET: return make_error_condition( network_reset );
|
||||||
|
case ENETUNREACH: return make_error_condition( network_unreachable );
|
||||||
|
case ENFILE: return make_error_condition( too_many_files_open_in_system );
|
||||||
|
case ENOBUFS: return make_error_condition( no_buffer_space );
|
||||||
|
case ENODATA: return make_error_condition( no_message_available );
|
||||||
|
case ENODEV: return make_error_condition( no_such_device );
|
||||||
|
case ENOENT: return make_error_condition( no_such_file_or_directory );
|
||||||
|
case ENOEXEC: return make_error_condition( executable_format_error );
|
||||||
|
case ENOLCK: return make_error_condition( no_lock_available );
|
||||||
|
case ENOLINK: return make_error_condition( no_link );
|
||||||
|
case ENOMEM: return make_error_condition( not_enough_memory );
|
||||||
|
case ENOMSG: return make_error_condition( no_message );
|
||||||
|
case ENOPROTOOPT: return make_error_condition( no_protocol_option );
|
||||||
|
case ENOSPC: return make_error_condition( no_space_on_device );
|
||||||
|
case ENOSR: return make_error_condition( no_stream_resources );
|
||||||
|
case ENOSTR: return make_error_condition( not_a_stream );
|
||||||
|
case ENOSYS: return make_error_condition( function_not_supported );
|
||||||
|
case ENOTCONN: return make_error_condition( not_connected );
|
||||||
|
case ENOTDIR: return make_error_condition( not_a_directory );
|
||||||
|
# if ENOTEMPTY != EEXIST // AIX treats ENOTEMPTY and EEXIST as the same value
|
||||||
|
case ENOTEMPTY: return make_error_condition( directory_not_empty );
|
||||||
|
# endif // ENOTEMPTY != EEXIST
|
||||||
|
# if ENOTRECOVERABLE != ECONNRESET // the same on some Broadcom chips
|
||||||
|
case ENOTRECOVERABLE: return make_error_condition( state_not_recoverable );
|
||||||
|
# endif // ENOTRECOVERABLE != ECONNRESET
|
||||||
|
case ENOTSOCK: return make_error_condition( not_a_socket );
|
||||||
|
case ENOTSUP: return make_error_condition( not_supported );
|
||||||
|
case ENOTTY: return make_error_condition( inappropriate_io_control_operation );
|
||||||
|
case ENXIO: return make_error_condition( no_such_device_or_address );
|
||||||
|
# if EOPNOTSUPP != ENOTSUP
|
||||||
|
case EOPNOTSUPP: return make_error_condition( operation_not_supported );
|
||||||
|
# endif // EOPNOTSUPP != ENOTSUP
|
||||||
|
case EOVERFLOW: return make_error_condition( value_too_large );
|
||||||
|
# if EOWNERDEAD != ECONNABORTED // the same on some Broadcom chips
|
||||||
|
case EOWNERDEAD: return make_error_condition( owner_dead );
|
||||||
|
# endif // EOWNERDEAD != ECONNABORTED
|
||||||
|
case EPERM: return make_error_condition( operation_not_permitted );
|
||||||
|
case EPIPE: return make_error_condition( broken_pipe );
|
||||||
|
case EPROTO: return make_error_condition( protocol_error );
|
||||||
|
case EPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
|
||||||
|
case EPROTOTYPE: return make_error_condition( wrong_protocol_type );
|
||||||
|
case ERANGE: return make_error_condition( result_out_of_range );
|
||||||
|
case EROFS: return make_error_condition( read_only_file_system );
|
||||||
|
case ESPIPE: return make_error_condition( invalid_seek );
|
||||||
|
case ESRCH: return make_error_condition( no_such_process );
|
||||||
|
case ETIME: return make_error_condition( stream_timeout );
|
||||||
|
case ETIMEDOUT: return make_error_condition( timed_out );
|
||||||
|
case ETXTBSY: return make_error_condition( text_file_busy );
|
||||||
|
# if EAGAIN != EWOULDBLOCK
|
||||||
|
case EWOULDBLOCK: return make_error_condition( operation_would_block );
|
||||||
|
# endif // EAGAIN != EWOULDBLOCK
|
||||||
|
case EXDEV: return make_error_condition( cross_device_link );
|
||||||
|
#else
|
||||||
|
// Windows system -> posix_errno decode table ---------------------------//
|
||||||
|
// see WinError.h comments for descriptions of errors
|
||||||
|
case ERROR_ACCESS_DENIED: return make_error_condition( permission_denied );
|
||||||
|
case ERROR_ALREADY_EXISTS: return make_error_condition( file_exists );
|
||||||
|
case ERROR_BAD_UNIT: return make_error_condition( no_such_device );
|
||||||
|
case ERROR_BUFFER_OVERFLOW: return make_error_condition( filename_too_long );
|
||||||
|
case ERROR_BUSY: return make_error_condition( device_or_resource_busy );
|
||||||
|
case ERROR_BUSY_DRIVE: return make_error_condition( device_or_resource_busy );
|
||||||
|
case ERROR_CANNOT_MAKE: return make_error_condition( permission_denied );
|
||||||
|
case ERROR_CANTOPEN: return make_error_condition( io_error );
|
||||||
|
case ERROR_CANTREAD: return make_error_condition( io_error );
|
||||||
|
case ERROR_CANTWRITE: return make_error_condition( io_error );
|
||||||
|
case ERROR_CURRENT_DIRECTORY: return make_error_condition( permission_denied );
|
||||||
|
case ERROR_DEV_NOT_EXIST: return make_error_condition( no_such_device );
|
||||||
|
case ERROR_DEVICE_IN_USE: return make_error_condition( device_or_resource_busy );
|
||||||
|
case ERROR_DIR_NOT_EMPTY: return make_error_condition( directory_not_empty );
|
||||||
|
case ERROR_DIRECTORY: return make_error_condition( invalid_argument ); // WinError.h: "The directory name is invalid"
|
||||||
|
case ERROR_DISK_FULL: return make_error_condition( no_space_on_device );
|
||||||
|
case ERROR_FILE_EXISTS: return make_error_condition( file_exists );
|
||||||
|
case ERROR_FILE_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
|
||||||
|
case ERROR_HANDLE_DISK_FULL: return make_error_condition( no_space_on_device );
|
||||||
|
case ERROR_INVALID_ACCESS: return make_error_condition( permission_denied );
|
||||||
|
case ERROR_INVALID_DRIVE: return make_error_condition( no_such_device );
|
||||||
|
case ERROR_INVALID_FUNCTION: return make_error_condition( function_not_supported );
|
||||||
|
case ERROR_INVALID_HANDLE: return make_error_condition( invalid_argument );
|
||||||
|
case ERROR_INVALID_NAME: return make_error_condition( invalid_argument );
|
||||||
|
case ERROR_LOCK_VIOLATION: return make_error_condition( no_lock_available );
|
||||||
|
case ERROR_LOCKED: return make_error_condition( no_lock_available );
|
||||||
|
case ERROR_NEGATIVE_SEEK: return make_error_condition( invalid_argument );
|
||||||
|
case ERROR_NOACCESS: return make_error_condition( permission_denied );
|
||||||
|
case ERROR_NOT_ENOUGH_MEMORY: return make_error_condition( not_enough_memory );
|
||||||
|
case ERROR_NOT_READY: return make_error_condition( resource_unavailable_try_again );
|
||||||
|
case ERROR_NOT_SAME_DEVICE: return make_error_condition( cross_device_link );
|
||||||
|
case ERROR_OPEN_FAILED: return make_error_condition( io_error );
|
||||||
|
case ERROR_OPEN_FILES: return make_error_condition( device_or_resource_busy );
|
||||||
|
case ERROR_OPERATION_ABORTED: return make_error_condition( operation_canceled );
|
||||||
|
case ERROR_OUTOFMEMORY: return make_error_condition( not_enough_memory );
|
||||||
|
case ERROR_PATH_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
|
||||||
|
case ERROR_READ_FAULT: return make_error_condition( io_error );
|
||||||
|
case ERROR_RETRY: return make_error_condition( resource_unavailable_try_again );
|
||||||
|
case ERROR_SEEK: return make_error_condition( io_error );
|
||||||
|
case ERROR_SHARING_VIOLATION: return make_error_condition( permission_denied );
|
||||||
|
case ERROR_TOO_MANY_OPEN_FILES: return make_error_condition( too_many_files_open );
|
||||||
|
case ERROR_WRITE_FAULT: return make_error_condition( io_error );
|
||||||
|
case ERROR_WRITE_PROTECT: return make_error_condition( permission_denied );
|
||||||
|
case WSAEACCES: return make_error_condition( permission_denied );
|
||||||
|
case WSAEADDRINUSE: return make_error_condition( address_in_use );
|
||||||
|
case WSAEADDRNOTAVAIL: return make_error_condition( address_not_available );
|
||||||
|
case WSAEAFNOSUPPORT: return make_error_condition( address_family_not_supported );
|
||||||
|
case WSAEALREADY: return make_error_condition( connection_already_in_progress );
|
||||||
|
case WSAEBADF: return make_error_condition( bad_file_descriptor );
|
||||||
|
case WSAECONNABORTED: return make_error_condition( connection_aborted );
|
||||||
|
case WSAECONNREFUSED: return make_error_condition( connection_refused );
|
||||||
|
case WSAECONNRESET: return make_error_condition( connection_reset );
|
||||||
|
case WSAEDESTADDRREQ: return make_error_condition( destination_address_required );
|
||||||
|
case WSAEFAULT: return make_error_condition( bad_address );
|
||||||
|
case WSAEHOSTUNREACH: return make_error_condition( host_unreachable );
|
||||||
|
case WSAEINPROGRESS: return make_error_condition( operation_in_progress );
|
||||||
|
case WSAEINTR: return make_error_condition( interrupted );
|
||||||
|
case WSAEINVAL: return make_error_condition( invalid_argument );
|
||||||
|
case WSAEISCONN: return make_error_condition( already_connected );
|
||||||
|
case WSAEMFILE: return make_error_condition( too_many_files_open );
|
||||||
|
case WSAEMSGSIZE: return make_error_condition( message_size );
|
||||||
|
case WSAENAMETOOLONG: return make_error_condition( filename_too_long );
|
||||||
|
case WSAENETDOWN: return make_error_condition( network_down );
|
||||||
|
case WSAENETRESET: return make_error_condition( network_reset );
|
||||||
|
case WSAENETUNREACH: return make_error_condition( network_unreachable );
|
||||||
|
case WSAENOBUFS: return make_error_condition( no_buffer_space );
|
||||||
|
case WSAENOPROTOOPT: return make_error_condition( no_protocol_option );
|
||||||
|
case WSAENOTCONN: return make_error_condition( not_connected );
|
||||||
|
case WSAENOTSOCK: return make_error_condition( not_a_socket );
|
||||||
|
case WSAEOPNOTSUPP: return make_error_condition( operation_not_supported );
|
||||||
|
case WSAEPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
|
||||||
|
case WSAEPROTOTYPE: return make_error_condition( wrong_protocol_type );
|
||||||
|
case WSAETIMEDOUT: return make_error_condition( timed_out );
|
||||||
|
case WSAEWOULDBLOCK: return make_error_condition( operation_would_block );
|
||||||
|
#endif
|
||||||
|
default: return error_condition( ev, system_category() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# if !defined( BOOST_WINDOWS_API )
|
||||||
|
|
||||||
|
std::string system_error_category::message( int ev ) const
|
||||||
|
{
|
||||||
|
return generic_category().message( ev );
|
||||||
|
}
|
||||||
|
# else
|
||||||
|
|
||||||
|
std::string system_error_category::message( int ev ) const
|
||||||
|
{
|
||||||
|
# if defined(WINAPI_FAMILY) && ((WINAPI_FAMILY & WINAPI_PARTITION_DESKTOP) == 0)
|
||||||
|
std::string str( 128, char() );
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
DWORD retval = ::FormatMessageA(
|
||||||
|
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||||
|
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||||
|
NULL,
|
||||||
|
ev,
|
||||||
|
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
||||||
|
&str[0],
|
||||||
|
str.size(),
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( retval > 0 )
|
||||||
|
{
|
||||||
|
str.resize( retval );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if ( ::GetLastError() != ERROR_INSUFFICIENT_BUFFER )
|
||||||
|
{
|
||||||
|
return std::string("Unknown error");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
str.resize( str.size() + str.size()/2 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# elif !defined(BOOST_NO_ANSI_APIS)
|
||||||
|
LPVOID lpMsgBuf = 0;
|
||||||
|
DWORD retval = ::FormatMessageA(
|
||||||
|
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||||
|
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||||
|
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||||
|
NULL,
|
||||||
|
ev,
|
||||||
|
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
||||||
|
(LPSTR) &lpMsgBuf,
|
||||||
|
0,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
detail::local_free_on_destruction lfod(lpMsgBuf);
|
||||||
|
if (retval == 0)
|
||||||
|
return std::string("Unknown error");
|
||||||
|
|
||||||
|
std::string str( static_cast<LPCSTR>(lpMsgBuf) );
|
||||||
|
# else // WinCE workaround
|
||||||
|
LPVOID lpMsgBuf = 0;
|
||||||
|
DWORD retval = ::FormatMessageW(
|
||||||
|
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||||
|
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||||
|
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||||
|
NULL,
|
||||||
|
ev,
|
||||||
|
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
||||||
|
(LPWSTR) &lpMsgBuf,
|
||||||
|
0,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
detail::local_free_on_destruction lfod(lpMsgBuf);
|
||||||
|
if (retval == 0)
|
||||||
|
return std::string("Unknown error");
|
||||||
|
|
||||||
|
int num_chars = (wcslen( static_cast<LPCWSTR>(lpMsgBuf) ) + 1) * 2;
|
||||||
|
LPSTR narrow_buffer = (LPSTR)_alloca( num_chars );
|
||||||
|
if (::WideCharToMultiByte(CP_ACP, 0, static_cast<LPCWSTR>(lpMsgBuf), -1, narrow_buffer, num_chars, NULL, NULL) == 0)
|
||||||
|
return std::string("Unknown error");
|
||||||
|
|
||||||
|
std::string str( narrow_buffer );
|
||||||
|
# endif
|
||||||
|
while ( str.size()
|
||||||
|
&& (str[str.size()-1] == '\n' || str[str.size()-1] == '\r') )
|
||||||
|
str.erase( str.size()-1 );
|
||||||
|
if ( str.size() && str[str.size()-1] == '.' )
|
||||||
|
{ str.erase( str.size()-1 ); }
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
} // unnamed namespace
|
||||||
|
|
||||||
|
|
||||||
|
# ifndef BOOST_SYSTEM_NO_DEPRECATED
|
||||||
|
BOOST_SYSTEM_DECL error_code throws; // "throw on error" special error_code;
|
||||||
|
// note that it doesn't matter if this
|
||||||
|
// isn't initialized before use since
|
||||||
|
// the only use is to take its
|
||||||
|
// address for comparison purposes
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifdef BOOST_ERROR_CODE_HEADER_ONLY
|
||||||
|
# define BOOST_SYSTEM_LINKAGE inline
|
||||||
|
# else
|
||||||
|
# define BOOST_SYSTEM_LINKAGE BOOST_SYSTEM_DECL
|
||||||
|
# endif
|
||||||
|
|
||||||
|
BOOST_SYSTEM_LINKAGE const error_category & system_category() BOOST_SYSTEM_NOEXCEPT
|
||||||
|
{
|
||||||
|
static const system_error_category system_category_const;
|
||||||
|
return system_category_const;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_SYSTEM_LINKAGE const error_category & generic_category() BOOST_SYSTEM_NOEXCEPT
|
||||||
|
{
|
||||||
|
static const generic_error_category generic_category_const;
|
||||||
|
return generic_category_const;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace system
|
||||||
|
} // namespace boost
|
@ -14,7 +14,6 @@
|
|||||||
#include <boost/system/config.hpp>
|
#include <boost/system/config.hpp>
|
||||||
#include <boost/cstdint.hpp>
|
#include <boost/cstdint.hpp>
|
||||||
#include <boost/assert.hpp>
|
#include <boost/assert.hpp>
|
||||||
#include <boost/operators.hpp>
|
|
||||||
#include <boost/noncopyable.hpp>
|
#include <boost/noncopyable.hpp>
|
||||||
#include <boost/utility/enable_if.hpp>
|
#include <boost/utility/enable_if.hpp>
|
||||||
#include <ostream>
|
#include <ostream>
|
||||||
@ -513,7 +512,7 @@ namespace boost
|
|||||||
#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
|
#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
|
||||||
|
|
||||||
# ifdef BOOST_ERROR_CODE_HEADER_ONLY
|
# ifdef BOOST_ERROR_CODE_HEADER_ONLY
|
||||||
# include <boost/../libs/system/src/error_code.cpp>
|
# include <boost/system/detail/error_code.ipp>
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#endif // BOOST_ERROR_CODE_HPP
|
#endif // BOOST_ERROR_CODE_HPP
|
||||||
|
@ -9,471 +9,12 @@
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------//
|
//----------------------------------------------------------------------------//
|
||||||
|
|
||||||
#include <boost/config/warning_disable.hpp>
|
|
||||||
|
|
||||||
// define BOOST_SYSTEM_SOURCE so that <boost/system/config.hpp> knows
|
// define BOOST_SYSTEM_SOURCE so that <boost/system/config.hpp> knows
|
||||||
// the library is being built (possibly exporting rather than importing code)
|
// the library is being built (possibly exporting rather than importing code)
|
||||||
#define BOOST_SYSTEM_SOURCE
|
#define BOOST_SYSTEM_SOURCE
|
||||||
|
|
||||||
#include <boost/system/config.hpp>
|
|
||||||
#include <boost/system/error_code.hpp>
|
#include <boost/system/error_code.hpp>
|
||||||
#include <boost/cerrno.hpp>
|
|
||||||
#include <vector>
|
|
||||||
#include <cstdlib>
|
|
||||||
#include <cassert>
|
|
||||||
|
|
||||||
#include <cstring> // for strerror/strerror_r
|
#ifndef BOOST_ERROR_CODE_HEADER_ONLY
|
||||||
|
#include <boost/system/detail/error_code.ipp>
|
||||||
# if defined( BOOST_WINDOWS_API )
|
|
||||||
# include <windows.h>
|
|
||||||
# if !defined(WINAPI_FAMILY) || ((WINAPI_FAMILY & WINAPI_PARTITION_DESKTOP) != 0)
|
|
||||||
# include "local_free_on_destruction.hpp"
|
|
||||||
# endif
|
|
||||||
# ifndef ERROR_INCORRECT_SIZE
|
|
||||||
# define ERROR_INCORRECT_SIZE ERROR_BAD_ARGUMENTS
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------//
|
|
||||||
namespace boost
|
|
||||||
{
|
|
||||||
namespace system
|
|
||||||
{
|
|
||||||
|
|
||||||
namespace
|
|
||||||
{
|
|
||||||
|
|
||||||
// standard error categories ---------------------------------------------//
|
|
||||||
|
|
||||||
class generic_error_category : public error_category
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
generic_error_category(){}
|
|
||||||
const char * name() const BOOST_SYSTEM_NOEXCEPT;
|
|
||||||
std::string message( int ev ) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
class system_error_category : public error_category
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
system_error_category(){}
|
|
||||||
const char * name() const BOOST_SYSTEM_NOEXCEPT;
|
|
||||||
std::string message( int ev ) const;
|
|
||||||
error_condition default_error_condition( int ev ) const BOOST_SYSTEM_NOEXCEPT;
|
|
||||||
};
|
|
||||||
|
|
||||||
// generic_error_category implementation ---------------------------------//
|
|
||||||
|
|
||||||
const char * generic_error_category::name() const BOOST_SYSTEM_NOEXCEPT
|
|
||||||
{
|
|
||||||
return "generic";
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string generic_error_category::message( int ev ) const
|
|
||||||
{
|
|
||||||
using namespace boost::system::errc;
|
|
||||||
#if defined(__PGI)
|
|
||||||
using boost::system::errc::invalid_argument;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static std::string unknown_err( "Unknown error" );
|
|
||||||
// strerror_r is preferred because it is always thread safe,
|
|
||||||
// however, we fallback to strerror in certain cases because:
|
|
||||||
// -- Windows doesn't provide strerror_r.
|
|
||||||
// -- HP and Sun do provide strerror_r on newer systems, but there is
|
|
||||||
// no way to tell if is available at runtime and in any case their
|
|
||||||
// versions of strerror are thread safe anyhow.
|
|
||||||
// -- Linux only sometimes provides strerror_r.
|
|
||||||
// -- Tru64 provides strerror_r only when compiled -pthread.
|
|
||||||
// -- VMS doesn't provide strerror_r, but on this platform, strerror is
|
|
||||||
// thread safe.
|
|
||||||
# if defined(BOOST_WINDOWS_API) || defined(__hpux) || defined(__sun)\
|
|
||||||
|| (defined(__linux) && (!defined(__USE_XOPEN2K) || defined(BOOST_SYSTEM_USE_STRERROR)))\
|
|
||||||
|| (defined(__osf__) && !defined(_REENTRANT))\
|
|
||||||
|| (defined(__INTEGRITY))\
|
|
||||||
|| (defined(__vms))\
|
|
||||||
|| (defined(__QNXNTO__))
|
|
||||||
const char * c_str = std::strerror( ev );
|
|
||||||
return c_str
|
|
||||||
? std::string( c_str )
|
|
||||||
: unknown_err;
|
|
||||||
# else // use strerror_r
|
|
||||||
char buf[64];
|
|
||||||
char * bp = buf;
|
|
||||||
std::size_t sz = sizeof(buf);
|
|
||||||
# if defined(__CYGWIN__) || defined(__USE_GNU)
|
|
||||||
// Oddball version of strerror_r
|
|
||||||
const char * c_str = strerror_r( ev, bp, sz );
|
|
||||||
return c_str
|
|
||||||
? std::string( c_str )
|
|
||||||
: unknown_err;
|
|
||||||
# else
|
|
||||||
// POSIX version of strerror_r
|
|
||||||
int result;
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
// strerror_r returns 0 on success, otherwise ERANGE if buffer too small,
|
|
||||||
// invalid_argument if ev not a valid error number
|
|
||||||
# if defined (__sgi)
|
|
||||||
const char * c_str = strerror( ev );
|
|
||||||
result = 0;
|
|
||||||
return c_str
|
|
||||||
? std::string( c_str )
|
|
||||||
: unknown_err;
|
|
||||||
# else
|
|
||||||
result = strerror_r( ev, bp, sz );
|
|
||||||
# endif
|
|
||||||
if (result == 0 )
|
|
||||||
break;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
# if defined(__linux)
|
|
||||||
// Linux strerror_r returns -1 on error, with error number in errno
|
|
||||||
result = errno;
|
|
||||||
# endif
|
|
||||||
if ( result != ERANGE ) break;
|
|
||||||
if ( sz > sizeof(buf) ) std::free( bp );
|
|
||||||
sz *= 2;
|
|
||||||
if ( (bp = static_cast<char*>(std::malloc( sz ))) == 0 )
|
|
||||||
return std::string( "ENOMEM" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
std::string msg;
|
|
||||||
# ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
try
|
|
||||||
# endif
|
|
||||||
{
|
|
||||||
msg = ( ( result == invalid_argument ) ? "Unknown error" : bp );
|
|
||||||
}
|
|
||||||
|
|
||||||
# ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
// See ticket #2098
|
|
||||||
catch(...)
|
|
||||||
{
|
|
||||||
// just eat the exception
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
if ( sz > sizeof(buf) ) std::free( bp );
|
|
||||||
sz = 0;
|
|
||||||
return msg;
|
|
||||||
# endif // else POSIX version of strerror_r
|
|
||||||
# endif // else use strerror_r
|
|
||||||
}
|
|
||||||
// system_error_category implementation --------------------------------//
|
|
||||||
|
|
||||||
const char * system_error_category::name() const BOOST_SYSTEM_NOEXCEPT
|
|
||||||
{
|
|
||||||
return "system";
|
|
||||||
}
|
|
||||||
|
|
||||||
error_condition system_error_category::default_error_condition( int ev ) const BOOST_SYSTEM_NOEXCEPT
|
|
||||||
{
|
|
||||||
using namespace boost::system::errc;
|
|
||||||
#if defined(__PGI)
|
|
||||||
using boost::system::errc::invalid_argument;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
# if defined(BOOST_WINDOWS_API)
|
|
||||||
# if defined(WINAPI_FAMILY) && ((WINAPI_FAMILY & WINAPI_PARTITION_APP) != 0)
|
|
||||||
// When using the Windows Runtime, most system errors are reported as HRESULTs.
|
|
||||||
// We want to map the common Win32 errors to their equivalent error condition,
|
|
||||||
// whether or not they are reported via an HRESULT.
|
|
||||||
if ( ev < 0 ) // Check for failed HRESULTs only.
|
|
||||||
if ( HRESULT_FACILITY( ev ) == FACILITY_WIN32 )
|
|
||||||
ev = HRESULT_CODE( ev );
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
switch ( ev )
|
|
||||||
{
|
|
||||||
case 0: return make_error_condition( success );
|
|
||||||
# if defined(BOOST_POSIX_API)
|
|
||||||
// POSIX-like O/S -> posix_errno decode table ---------------------------//
|
|
||||||
case E2BIG: return make_error_condition( argument_list_too_long );
|
|
||||||
case EACCES: return make_error_condition( permission_denied );
|
|
||||||
case EADDRINUSE: return make_error_condition( address_in_use );
|
|
||||||
case EADDRNOTAVAIL: return make_error_condition( address_not_available );
|
|
||||||
case EAFNOSUPPORT: return make_error_condition( address_family_not_supported );
|
|
||||||
case EAGAIN: return make_error_condition( resource_unavailable_try_again );
|
|
||||||
# if EALREADY != EBUSY // EALREADY and EBUSY are the same on QNX Neutrino
|
|
||||||
case EALREADY: return make_error_condition( connection_already_in_progress );
|
|
||||||
# endif
|
|
||||||
case EBADF: return make_error_condition( bad_file_descriptor );
|
|
||||||
case EBADMSG: return make_error_condition( bad_message );
|
|
||||||
case EBUSY: return make_error_condition( device_or_resource_busy );
|
|
||||||
case ECANCELED: return make_error_condition( operation_canceled );
|
|
||||||
case ECHILD: return make_error_condition( no_child_process );
|
|
||||||
case ECONNABORTED: return make_error_condition( connection_aborted );
|
|
||||||
case ECONNREFUSED: return make_error_condition( connection_refused );
|
|
||||||
case ECONNRESET: return make_error_condition( connection_reset );
|
|
||||||
case EDEADLK: return make_error_condition( resource_deadlock_would_occur );
|
|
||||||
case EDESTADDRREQ: return make_error_condition( destination_address_required );
|
|
||||||
case EDOM: return make_error_condition( argument_out_of_domain );
|
|
||||||
case EEXIST: return make_error_condition( file_exists );
|
|
||||||
case EFAULT: return make_error_condition( bad_address );
|
|
||||||
case EFBIG: return make_error_condition( file_too_large );
|
|
||||||
case EHOSTUNREACH: return make_error_condition( host_unreachable );
|
|
||||||
case EIDRM: return make_error_condition( identifier_removed );
|
|
||||||
case EILSEQ: return make_error_condition( illegal_byte_sequence );
|
|
||||||
case EINPROGRESS: return make_error_condition( operation_in_progress );
|
|
||||||
case EINTR: return make_error_condition( interrupted );
|
|
||||||
case EINVAL: return make_error_condition( invalid_argument );
|
|
||||||
case EIO: return make_error_condition( io_error );
|
|
||||||
case EISCONN: return make_error_condition( already_connected );
|
|
||||||
case EISDIR: return make_error_condition( is_a_directory );
|
|
||||||
case ELOOP: return make_error_condition( too_many_symbolic_link_levels );
|
|
||||||
case EMFILE: return make_error_condition( too_many_files_open );
|
|
||||||
case EMLINK: return make_error_condition( too_many_links );
|
|
||||||
case EMSGSIZE: return make_error_condition( message_size );
|
|
||||||
case ENAMETOOLONG: return make_error_condition( filename_too_long );
|
|
||||||
case ENETDOWN: return make_error_condition( network_down );
|
|
||||||
case ENETRESET: return make_error_condition( network_reset );
|
|
||||||
case ENETUNREACH: return make_error_condition( network_unreachable );
|
|
||||||
case ENFILE: return make_error_condition( too_many_files_open_in_system );
|
|
||||||
case ENOBUFS: return make_error_condition( no_buffer_space );
|
|
||||||
case ENODATA: return make_error_condition( no_message_available );
|
|
||||||
case ENODEV: return make_error_condition( no_such_device );
|
|
||||||
case ENOENT: return make_error_condition( no_such_file_or_directory );
|
|
||||||
case ENOEXEC: return make_error_condition( executable_format_error );
|
|
||||||
case ENOLCK: return make_error_condition( no_lock_available );
|
|
||||||
case ENOLINK: return make_error_condition( no_link );
|
|
||||||
case ENOMEM: return make_error_condition( not_enough_memory );
|
|
||||||
case ENOMSG: return make_error_condition( no_message );
|
|
||||||
case ENOPROTOOPT: return make_error_condition( no_protocol_option );
|
|
||||||
case ENOSPC: return make_error_condition( no_space_on_device );
|
|
||||||
case ENOSR: return make_error_condition( no_stream_resources );
|
|
||||||
case ENOSTR: return make_error_condition( not_a_stream );
|
|
||||||
case ENOSYS: return make_error_condition( function_not_supported );
|
|
||||||
case ENOTCONN: return make_error_condition( not_connected );
|
|
||||||
case ENOTDIR: return make_error_condition( not_a_directory );
|
|
||||||
# if ENOTEMPTY != EEXIST // AIX treats ENOTEMPTY and EEXIST as the same value
|
|
||||||
case ENOTEMPTY: return make_error_condition( directory_not_empty );
|
|
||||||
# endif // ENOTEMPTY != EEXIST
|
|
||||||
# if ENOTRECOVERABLE != ECONNRESET // the same on some Broadcom chips
|
|
||||||
case ENOTRECOVERABLE: return make_error_condition( state_not_recoverable );
|
|
||||||
# endif // ENOTRECOVERABLE != ECONNRESET
|
|
||||||
case ENOTSOCK: return make_error_condition( not_a_socket );
|
|
||||||
case ENOTSUP: return make_error_condition( not_supported );
|
|
||||||
case ENOTTY: return make_error_condition( inappropriate_io_control_operation );
|
|
||||||
case ENXIO: return make_error_condition( no_such_device_or_address );
|
|
||||||
# if EOPNOTSUPP != ENOTSUP
|
|
||||||
case EOPNOTSUPP: return make_error_condition( operation_not_supported );
|
|
||||||
# endif // EOPNOTSUPP != ENOTSUP
|
|
||||||
case EOVERFLOW: return make_error_condition( value_too_large );
|
|
||||||
# if EOWNERDEAD != ECONNABORTED // the same on some Broadcom chips
|
|
||||||
case EOWNERDEAD: return make_error_condition( owner_dead );
|
|
||||||
# endif // EOWNERDEAD != ECONNABORTED
|
|
||||||
case EPERM: return make_error_condition( operation_not_permitted );
|
|
||||||
case EPIPE: return make_error_condition( broken_pipe );
|
|
||||||
case EPROTO: return make_error_condition( protocol_error );
|
|
||||||
case EPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
|
|
||||||
case EPROTOTYPE: return make_error_condition( wrong_protocol_type );
|
|
||||||
case ERANGE: return make_error_condition( result_out_of_range );
|
|
||||||
case EROFS: return make_error_condition( read_only_file_system );
|
|
||||||
case ESPIPE: return make_error_condition( invalid_seek );
|
|
||||||
case ESRCH: return make_error_condition( no_such_process );
|
|
||||||
case ETIME: return make_error_condition( stream_timeout );
|
|
||||||
case ETIMEDOUT: return make_error_condition( timed_out );
|
|
||||||
case ETXTBSY: return make_error_condition( text_file_busy );
|
|
||||||
# if EAGAIN != EWOULDBLOCK
|
|
||||||
case EWOULDBLOCK: return make_error_condition( operation_would_block );
|
|
||||||
# endif // EAGAIN != EWOULDBLOCK
|
|
||||||
case EXDEV: return make_error_condition( cross_device_link );
|
|
||||||
#else
|
|
||||||
// Windows system -> posix_errno decode table ---------------------------//
|
|
||||||
// see WinError.h comments for descriptions of errors
|
|
||||||
case ERROR_ACCESS_DENIED: return make_error_condition( permission_denied );
|
|
||||||
case ERROR_ALREADY_EXISTS: return make_error_condition( file_exists );
|
|
||||||
case ERROR_BAD_UNIT: return make_error_condition( no_such_device );
|
|
||||||
case ERROR_BUFFER_OVERFLOW: return make_error_condition( filename_too_long );
|
|
||||||
case ERROR_BUSY: return make_error_condition( device_or_resource_busy );
|
|
||||||
case ERROR_BUSY_DRIVE: return make_error_condition( device_or_resource_busy );
|
|
||||||
case ERROR_CANNOT_MAKE: return make_error_condition( permission_denied );
|
|
||||||
case ERROR_CANTOPEN: return make_error_condition( io_error );
|
|
||||||
case ERROR_CANTREAD: return make_error_condition( io_error );
|
|
||||||
case ERROR_CANTWRITE: return make_error_condition( io_error );
|
|
||||||
case ERROR_CURRENT_DIRECTORY: return make_error_condition( permission_denied );
|
|
||||||
case ERROR_DEV_NOT_EXIST: return make_error_condition( no_such_device );
|
|
||||||
case ERROR_DEVICE_IN_USE: return make_error_condition( device_or_resource_busy );
|
|
||||||
case ERROR_DIR_NOT_EMPTY: return make_error_condition( directory_not_empty );
|
|
||||||
case ERROR_DIRECTORY: return make_error_condition( invalid_argument ); // WinError.h: "The directory name is invalid"
|
|
||||||
case ERROR_DISK_FULL: return make_error_condition( no_space_on_device );
|
|
||||||
case ERROR_FILE_EXISTS: return make_error_condition( file_exists );
|
|
||||||
case ERROR_FILE_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
|
|
||||||
case ERROR_HANDLE_DISK_FULL: return make_error_condition( no_space_on_device );
|
|
||||||
case ERROR_INVALID_ACCESS: return make_error_condition( permission_denied );
|
|
||||||
case ERROR_INVALID_DRIVE: return make_error_condition( no_such_device );
|
|
||||||
case ERROR_INVALID_FUNCTION: return make_error_condition( function_not_supported );
|
|
||||||
case ERROR_INVALID_HANDLE: return make_error_condition( invalid_argument );
|
|
||||||
case ERROR_INVALID_NAME: return make_error_condition( invalid_argument );
|
|
||||||
case ERROR_LOCK_VIOLATION: return make_error_condition( no_lock_available );
|
|
||||||
case ERROR_LOCKED: return make_error_condition( no_lock_available );
|
|
||||||
case ERROR_NEGATIVE_SEEK: return make_error_condition( invalid_argument );
|
|
||||||
case ERROR_NOACCESS: return make_error_condition( permission_denied );
|
|
||||||
case ERROR_NOT_ENOUGH_MEMORY: return make_error_condition( not_enough_memory );
|
|
||||||
case ERROR_NOT_READY: return make_error_condition( resource_unavailable_try_again );
|
|
||||||
case ERROR_NOT_SAME_DEVICE: return make_error_condition( cross_device_link );
|
|
||||||
case ERROR_OPEN_FAILED: return make_error_condition( io_error );
|
|
||||||
case ERROR_OPEN_FILES: return make_error_condition( device_or_resource_busy );
|
|
||||||
case ERROR_OPERATION_ABORTED: return make_error_condition( operation_canceled );
|
|
||||||
case ERROR_OUTOFMEMORY: return make_error_condition( not_enough_memory );
|
|
||||||
case ERROR_PATH_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
|
|
||||||
case ERROR_READ_FAULT: return make_error_condition( io_error );
|
|
||||||
case ERROR_RETRY: return make_error_condition( resource_unavailable_try_again );
|
|
||||||
case ERROR_SEEK: return make_error_condition( io_error );
|
|
||||||
case ERROR_SHARING_VIOLATION: return make_error_condition( permission_denied );
|
|
||||||
case ERROR_TOO_MANY_OPEN_FILES: return make_error_condition( too_many_files_open );
|
|
||||||
case ERROR_WRITE_FAULT: return make_error_condition( io_error );
|
|
||||||
case ERROR_WRITE_PROTECT: return make_error_condition( permission_denied );
|
|
||||||
case WSAEACCES: return make_error_condition( permission_denied );
|
|
||||||
case WSAEADDRINUSE: return make_error_condition( address_in_use );
|
|
||||||
case WSAEADDRNOTAVAIL: return make_error_condition( address_not_available );
|
|
||||||
case WSAEAFNOSUPPORT: return make_error_condition( address_family_not_supported );
|
|
||||||
case WSAEALREADY: return make_error_condition( connection_already_in_progress );
|
|
||||||
case WSAEBADF: return make_error_condition( bad_file_descriptor );
|
|
||||||
case WSAECONNABORTED: return make_error_condition( connection_aborted );
|
|
||||||
case WSAECONNREFUSED: return make_error_condition( connection_refused );
|
|
||||||
case WSAECONNRESET: return make_error_condition( connection_reset );
|
|
||||||
case WSAEDESTADDRREQ: return make_error_condition( destination_address_required );
|
|
||||||
case WSAEFAULT: return make_error_condition( bad_address );
|
|
||||||
case WSAEHOSTUNREACH: return make_error_condition( host_unreachable );
|
|
||||||
case WSAEINPROGRESS: return make_error_condition( operation_in_progress );
|
|
||||||
case WSAEINTR: return make_error_condition( interrupted );
|
|
||||||
case WSAEINVAL: return make_error_condition( invalid_argument );
|
|
||||||
case WSAEISCONN: return make_error_condition( already_connected );
|
|
||||||
case WSAEMFILE: return make_error_condition( too_many_files_open );
|
|
||||||
case WSAEMSGSIZE: return make_error_condition( message_size );
|
|
||||||
case WSAENAMETOOLONG: return make_error_condition( filename_too_long );
|
|
||||||
case WSAENETDOWN: return make_error_condition( network_down );
|
|
||||||
case WSAENETRESET: return make_error_condition( network_reset );
|
|
||||||
case WSAENETUNREACH: return make_error_condition( network_unreachable );
|
|
||||||
case WSAENOBUFS: return make_error_condition( no_buffer_space );
|
|
||||||
case WSAENOPROTOOPT: return make_error_condition( no_protocol_option );
|
|
||||||
case WSAENOTCONN: return make_error_condition( not_connected );
|
|
||||||
case WSAENOTSOCK: return make_error_condition( not_a_socket );
|
|
||||||
case WSAEOPNOTSUPP: return make_error_condition( operation_not_supported );
|
|
||||||
case WSAEPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
|
|
||||||
case WSAEPROTOTYPE: return make_error_condition( wrong_protocol_type );
|
|
||||||
case WSAETIMEDOUT: return make_error_condition( timed_out );
|
|
||||||
case WSAEWOULDBLOCK: return make_error_condition( operation_would_block );
|
|
||||||
#endif
|
|
||||||
default: return error_condition( ev, system_category() );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# if !defined( BOOST_WINDOWS_API )
|
|
||||||
|
|
||||||
std::string system_error_category::message( int ev ) const
|
|
||||||
{
|
|
||||||
return generic_category().message( ev );
|
|
||||||
}
|
|
||||||
# else
|
|
||||||
|
|
||||||
std::string system_error_category::message( int ev ) const
|
|
||||||
{
|
|
||||||
# if defined(WINAPI_FAMILY) && ((WINAPI_FAMILY & WINAPI_PARTITION_DESKTOP) == 0)
|
|
||||||
std::string str( 128, char() );
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
DWORD retval = ::FormatMessageA(
|
|
||||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
|
||||||
FORMAT_MESSAGE_IGNORE_INSERTS,
|
|
||||||
NULL,
|
|
||||||
ev,
|
|
||||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
|
||||||
&str[0],
|
|
||||||
str.size(),
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( retval > 0 )
|
|
||||||
{
|
|
||||||
str.resize( retval );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if ( ::GetLastError() != ERROR_INSUFFICIENT_BUFFER )
|
|
||||||
{
|
|
||||||
return std::string("Unknown error");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
str.resize( str.size() + str.size()/2 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# elif !defined(BOOST_NO_ANSI_APIS)
|
|
||||||
LPVOID lpMsgBuf = 0;
|
|
||||||
DWORD retval = ::FormatMessageA(
|
|
||||||
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
|
||||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
|
||||||
FORMAT_MESSAGE_IGNORE_INSERTS,
|
|
||||||
NULL,
|
|
||||||
ev,
|
|
||||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
|
||||||
(LPSTR) &lpMsgBuf,
|
|
||||||
0,
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
detail::local_free_on_destruction lfod(lpMsgBuf);
|
|
||||||
if (retval == 0)
|
|
||||||
return std::string("Unknown error");
|
|
||||||
|
|
||||||
std::string str( static_cast<LPCSTR>(lpMsgBuf) );
|
|
||||||
# else // WinCE workaround
|
|
||||||
LPVOID lpMsgBuf = 0;
|
|
||||||
DWORD retval = ::FormatMessageW(
|
|
||||||
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
|
||||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
|
||||||
FORMAT_MESSAGE_IGNORE_INSERTS,
|
|
||||||
NULL,
|
|
||||||
ev,
|
|
||||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
|
||||||
(LPWSTR) &lpMsgBuf,
|
|
||||||
0,
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
detail::local_free_on_destruction lfod(lpMsgBuf);
|
|
||||||
if (retval == 0)
|
|
||||||
return std::string("Unknown error");
|
|
||||||
|
|
||||||
int num_chars = (wcslen( static_cast<LPCWSTR>(lpMsgBuf) ) + 1) * 2;
|
|
||||||
LPSTR narrow_buffer = (LPSTR)_alloca( num_chars );
|
|
||||||
if (::WideCharToMultiByte(CP_ACP, 0, static_cast<LPCWSTR>(lpMsgBuf), -1, narrow_buffer, num_chars, NULL, NULL) == 0)
|
|
||||||
return std::string("Unknown error");
|
|
||||||
|
|
||||||
std::string str( narrow_buffer );
|
|
||||||
# endif
|
|
||||||
while ( str.size()
|
|
||||||
&& (str[str.size()-1] == '\n' || str[str.size()-1] == '\r') )
|
|
||||||
str.erase( str.size()-1 );
|
|
||||||
if ( str.size() && str[str.size()-1] == '.' )
|
|
||||||
{ str.erase( str.size()-1 ); }
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
|
|
||||||
} // unnamed namespace
|
|
||||||
|
|
||||||
|
|
||||||
# ifndef BOOST_SYSTEM_NO_DEPRECATED
|
|
||||||
BOOST_SYSTEM_DECL error_code throws; // "throw on error" special error_code;
|
|
||||||
// note that it doesn't matter if this
|
|
||||||
// isn't initialized before use since
|
|
||||||
// the only use is to take its
|
|
||||||
// address for comparison purposes
|
|
||||||
# endif
|
|
||||||
|
|
||||||
BOOST_SYSTEM_DECL const error_category & system_category() BOOST_SYSTEM_NOEXCEPT
|
|
||||||
{
|
|
||||||
static const system_error_category system_category_const;
|
|
||||||
return system_category_const;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOST_SYSTEM_DECL const error_category & generic_category() BOOST_SYSTEM_NOEXCEPT
|
|
||||||
{
|
|
||||||
static const generic_error_category generic_category_const;
|
|
||||||
return generic_category_const;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace system
|
|
||||||
} // namespace boost
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
# See library home page at http://www.boost.org/libs/system
|
# See library home page at http://www.boost.org/libs/system
|
||||||
|
|
||||||
|
|
||||||
project
|
project
|
||||||
: requirements
|
: requirements
|
||||||
<library>/boost/system//boost_system
|
<library>/boost/system//boost_system
|
||||||
|
22
test/system/common.props
Normal file
22
test/system/common.props
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ImportGroup Label="PropertySheets" />
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup />
|
||||||
|
<ItemDefinitionGroup>
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>../../../../..</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup>
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<PreprocessorDefinitions>BOOST_ALL_NO_LIB;BOOST_ALL_DYN_LINK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ExceptionHandling>Async</ExceptionHandling>
|
||||||
|
</ClCompile>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>"$(TargetDir)\$(TargetName).exe"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup />
|
||||||
|
</Project>
|
91
test/system/error_code_test/error_code_test.vcxproj
Normal file
91
test/system/error_code_test/error_code_test.vcxproj
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{E50C14DC-547D-4C33-83EA-653C0D0D4E64}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>error_code_test</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\common.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\common.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\system-dll\system-dll.vcxproj">
|
||||||
|
<Project>{419402d4-f990-4b05-a459-655e2dc33dc2}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\error_code_test.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
86
test/system/header_only_test/header_only_test.vcxproj
Normal file
86
test/system/header_only_test/header_only_test.vcxproj
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{3773451B-A618-4A26-A7F2-85554F4BD21B}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>header_only_test</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\common.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\common.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\header_only_test.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
89
test/system/system-dll/system-dll.vcxproj
Normal file
89
test/system/system-dll/system-dll.vcxproj
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{419402D4-F990-4B05-A459-655E2DC33DC2}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>systemdll</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\common.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\common.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SYSTEMDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command />
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SYSTEMDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\src\error_code.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
32
test/system/system.sln
Normal file
32
test/system/system.sln
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Express 2013 for Windows Desktop
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "system-dll", "system-dll\system-dll.vcxproj", "{419402D4-F990-4B05-A459-655E2DC33DC2}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_code_test", "error_code_test\error_code_test.vcxproj", "{E50C14DC-547D-4C33-83EA-653C0D0D4E64}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "header_only_test", "header_only_test\header_only_test.vcxproj", "{3773451B-A618-4A26-A7F2-85554F4BD21B}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{419402D4-F990-4B05-A459-655E2DC33DC2}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{419402D4-F990-4B05-A459-655E2DC33DC2}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{419402D4-F990-4B05-A459-655E2DC33DC2}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{419402D4-F990-4B05-A459-655E2DC33DC2}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{E50C14DC-547D-4C33-83EA-653C0D0D4E64}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{E50C14DC-547D-4C33-83EA-653C0D0D4E64}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{E50C14DC-547D-4C33-83EA-653C0D0D4E64}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{E50C14DC-547D-4C33-83EA-653C0D0D4E64}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{3773451B-A618-4A26-A7F2-85554F4BD21B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{3773451B-A618-4A26-A7F2-85554F4BD21B}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{3773451B-A618-4A26-A7F2-85554F4BD21B}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{3773451B-A618-4A26-A7F2-85554F4BD21B}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
@ -1,19 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioPropertySheet
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="common"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories="../../../../.."
|
|
||||||
PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_ALL_DYN_LINK"
|
|
||||||
ExceptionHandling="2"
|
|
||||||
WarningLevel="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description=""
|
|
||||||
CommandLine=""
|
|
||||||
/>
|
|
||||||
</VisualStudioPropertySheet>
|
|
@ -1,199 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="error_code_test"
|
|
||||||
ProjectGUID="{81960557-E9A9-4E81-AC96-9E11C33CB058}"
|
|
||||||
RootNamespace="error_code_test"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="196613"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\common.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Executing test $(TargetName).exe..."
|
|
||||||
CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\common.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="4"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Executing test $(TargetName).exe..."
|
|
||||||
CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\error_code_test.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Resource Files"
|
|
||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
|
||||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
|
||||||
>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
@ -1,57 +0,0 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
|
||||||
# Visual C++ Express 2008
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_code_test", "error_code_test\error_code_test.vcproj", "{81960557-E9A9-4E81-AC96-9E11C33CB058}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{22892211-A1F3-435B-8B97-A12E8772599E} = {22892211-A1F3-435B-8B97-A12E8772599E}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "system_error_test", "system_error_test\system_error_test.vcproj", "{CBD12E59-99E5-4F35-9B66-0554D0FBDB76}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{22892211-A1F3-435B-8B97-A12E8772599E} = {22892211-A1F3-435B-8B97-A12E8772599E}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamic_link_test", "dynamic_link_test\dynamic_link_test.vcproj", "{AD186B11-9132-48A9-9F24-3522C2310B0D}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{F6D9B408-84A3-405A-93ED-DE5AA8CF84D7} = {F6D9B408-84A3-405A-93ED-DE5AA8CF84D7}
|
|
||||||
{22892211-A1F3-435B-8B97-A12E8772599E} = {22892211-A1F3-435B-8B97-A12E8772599E}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "system_dll", "system_dll\system_dll.vcproj", "{22892211-A1F3-435B-8B97-A12E8772599E}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "throw_test_dll", "throw_test_dll\throw_test_dll.vcproj", "{F6D9B408-84A3-405A-93ED-DE5AA8CF84D7}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{22892211-A1F3-435B-8B97-A12E8772599E} = {22892211-A1F3-435B-8B97-A12E8772599E}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{81960557-E9A9-4E81-AC96-9E11C33CB058}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{81960557-E9A9-4E81-AC96-9E11C33CB058}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{81960557-E9A9-4E81-AC96-9E11C33CB058}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{81960557-E9A9-4E81-AC96-9E11C33CB058}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{CBD12E59-99E5-4F35-9B66-0554D0FBDB76}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{CBD12E59-99E5-4F35-9B66-0554D0FBDB76}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{CBD12E59-99E5-4F35-9B66-0554D0FBDB76}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{CBD12E59-99E5-4F35-9B66-0554D0FBDB76}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{AD186B11-9132-48A9-9F24-3522C2310B0D}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{AD186B11-9132-48A9-9F24-3522C2310B0D}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{AD186B11-9132-48A9-9F24-3522C2310B0D}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{AD186B11-9132-48A9-9F24-3522C2310B0D}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{22892211-A1F3-435B-8B97-A12E8772599E}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{22892211-A1F3-435B-8B97-A12E8772599E}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{22892211-A1F3-435B-8B97-A12E8772599E}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{22892211-A1F3-435B-8B97-A12E8772599E}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{F6D9B408-84A3-405A-93ED-DE5AA8CF84D7}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{F6D9B408-84A3-405A-93ED-DE5AA8CF84D7}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{F6D9B408-84A3-405A-93ED-DE5AA8CF84D7}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{F6D9B408-84A3-405A-93ED-DE5AA8CF84D7}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
Reference in New Issue
Block a user