Avoid #include with inline function on C++Builder

Commit 6b2978406 exposed a bug with C++Builder's Clang-based compilers,
which cause inline function definitions in C translation units to not
be found by the linker. Disable the inclusion of the triggering header.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15025)
This commit is contained in:
Tanzinul Islam 2021-04-25 19:59:29 +01:00 committed by Richard Levitte
parent c85c5e1a53
commit 3e4981dd59

9
e_os.h
View File

@ -108,7 +108,14 @@
*/
# include <winsock2.h>
# include <ws2tcpip.h>
# include <wspiapi.h>
/*
* Clang-based C++Builder 10.3.3 toolchains cannot find C inline
* definitions at link-time. This header defines WspiapiLoad() as an
* __inline function. https://quality.embarcadero.com/browse/RSP-33806
*/
# if !defined(__BORLANDC__) || !defined(__clang__)
# include <wspiapi.h>
# endif
/* yes, they have to be #included prior to <windows.h> */
# endif
# include <windows.h>