Commit Graph

24 Commits

Author SHA1 Message Date
Andrey Semashev
65b9c99a67 Add explicit type casts for arguments of Interlocked* intrinsics.
This allows to use any compatible types with INTERLOCKED_* macros, not just
the ones strictly matching the particular implementation of the intrinsics.

In particular, this fixes compilation for Cygwin64, which is an LP64 target,
meaning that long is 64-bit and _Interlocked* intrinsics use a different
integer type for its 32-bit integer arguments.

Additionally, enable use of intrin.h on Cygwin (32-bit).

The test has been updated to explicitly use 32-bit integer arguments.
2019-07-10 14:44:13 +03:00
Andrey Semashev
f2789c82a4 Added a basic test for interlocked.hpp. 2019-07-10 01:41:55 +03:00
Andrey Semashev
9fcdbe2135 Added workerounds for Windows SDKs shipped with MSVC-7.1 and 8. 2018-03-17 21:29:28 +03:00
Andrey Semashev
169d0ad34b Added new error codes and made error_codes_abi test auto-generated. 2018-03-17 21:07:11 +03:00
Andrey Semashev
b55c1ca81d Added new macros to winapi_info output. 2018-03-14 14:06:07 +03:00
Andrey Semashev
2fe56a3b6d Added workarounds for MSVC-7.1. 2018-03-14 13:54:32 +03:00
Andrey Semashev
20b8d76929 Only test NTSTATUS for Desktop partition on Windows SDKs prior to 10. 2018-03-11 04:33:22 +03:00
Andrey Semashev
5e5a9c8252 Reverted addition of ntdef.h include as it causes macro clashes with winnt.h. 2018-03-11 03:57:02 +03:00
Andrey Semashev
2f3fa36ba1 Updated API partition checks. 2018-03-11 03:30:54 +03:00
Andrey Semashev
0c94a4a224 Added an include to bring in NTSTATUS from Windows SDK. 2018-03-11 03:04:12 +03:00
Andrey Semashev
f6d4772e62 Added missing preprocessor checks in apc_abi test. 2018-03-11 02:47:52 +03:00
Andrey Semashev
a513f8ec72 Added workarounds for MinGW to the error_code_abi test. 2018-03-11 01:47:36 +03:00
Andrey Semashev
d2490dcb19 Fixed tokens after #endifs. 2018-03-11 00:45:09 +03:00
Andrey Semashev
4b69ca219a Enable thread_pool_abi test only for Win2000 and later. 2018-03-11 00:38:46 +03:00
Andrey Semashev
936447c9f7 Updated PROCESS_ALL_ACCESS definition for pre-Vista targets. 2018-03-11 00:33:13 +03:00
Andrey Semashev
c830a9a898 Added missing API partition checks to file_management_abi test. 2018-03-10 23:51:38 +03:00
Andrey Semashev
906e611d17 Fixed dll_abi test on non-desktop/system API partitions. 2018-03-10 23:46:09 +03:00
Andrey Semashev
b6d038998a Removed the obsolete workaround for MinGW buggy declarations of crypt functions. 2018-03-10 23:44:09 +03:00
Andrey Semashev
61fbc6256c Fixed dbghelp_abi test on non-desktop targets. 2018-03-10 23:17:42 +03:00
Andrey Semashev
c6edc691a3 Fixed crypt_abi test on 32-bit target platform. 2018-03-10 22:55:10 +03:00
Andrey Semashev
c93cdc6943 Added more tests to verify ABI compatibility of Boost.WinAPI with WinSDK.
This new set of tests verify sizes and binary layouts of types, constant
values and signatures of some of the Windows functions.

Additionally, this commit changes how tests are run. On platforms other
than Windows and Cygwin, the tests are disabled from building instead of
making them a no-op. This allows to simplify the tests slightly and reduce
the code duplication.
2018-03-10 21:03:20 +03:00
Andrey Semashev
6b67a9c5cf Moved library headers and symbols to the boost level directory and namespace.
Despite that the library now appears at the top level in the filesystem and
namespace, it is still not intended to be used by Boost users - the library
is purposed as an internal tool for Boost needs.

The old headers are still present and define the old namespace as an alias
to the new namespace. Thus backward compatibility is preserved. These headers
will be removed as soon as all dependent libraries are updated.

While at it, also made some nonessential cleanup in headers.
2017-10-19 01:07:51 +03:00
Andrey Semashev
4933184076 Added printing WINAPI_FAMILY. 2017-09-24 02:21:32 +03:00
Andrey Semashev
2904493a9e Added a pseudo-test to display Windows SDK macros. 2017-06-25 15:56:48 +03:00