From 4f44750f9a1d5315d7340c127091a23490e24d06 Mon Sep 17 00:00:00 2001 From: merge-script Date: Sat, 20 Jul 2024 14:50:09 +0100 Subject: [PATCH] Merge bitcoin/bitcoin#30491: Fix MSVC warning C4273 "inconsistent dll linkage" 7703884ab19cd7ffddc5c52ba57dec82fbc8dc2b Fix MSVC warning C4273 "inconsistent dll linkage" (Hennadii Stepanov) Pull request description: Broken out of https://github.com/bitcoin/bitcoin/pull/30454. When using CMake, the user can select the MSVC runtime library to be: 1) Statically-linked (with the corresponding `x64-windows-static` vcpkg triplet) or 2) Dynamically-linked (with the corresponding `x64-windows` vcpkg triplet) In the latter case, the compiler emits the [C4273](https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4273) warning. As the "Necessary on some platforms" comment does not apply to MSVC, skip the declaration for MSVC. The MSVC build system in the master branch supports the statically-linked runtime only: https://github.com/bitcoin/bitcoin/blob/ed739d14b58b5e772a65b85bb421703963b06852/build_msvc/common.init.vcxproj.in#L65 ACKs for top commit: sipa: utACK 7703884ab19cd7ffddc5c52ba57dec82fbc8dc2b sipsorcery: utACK 7703884ab19cd7ffddc5c52ba57dec82fbc8dc2b. theuni: utACK 7703884ab19cd7ffddc5c52ba57dec82fbc8dc2b Tree-SHA512: a42e1a0d48973217462e703c418f3e9ef9cb5236267c1bf32912aacaf68976cdd2b9229168523f7c2a99ee3f2fb1bf8add4f342796bdb1e4063ca026b761db51 --- src/randomenv.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/randomenv.cpp b/src/randomenv.cpp index 05aa0c2d2c..ddb8983c6c 100644 --- a/src/randomenv.cpp +++ b/src/randomenv.cpp @@ -57,8 +57,10 @@ #include #endif +#ifndef _MSC_VER //! Necessary on some platforms -extern char** environ; +extern char** environ; // NOLINT(readability-redundant-declaration): Necessary on some platforms +#endif namespace {