Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix building shared libraries on MinGW-w64 #13240

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/google/protobuf/arena.cc
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ ThreadSafeArena::ThreadCache& ThreadSafeArena::thread_cache() {
new internal::ThreadLocalStorage<ThreadCache>();
return *thread_cache_->Get();
}
#elif defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER)
#elif defined(PROTOBUF_USE_DLLS) && defined(_WIN32)
ThreadSafeArena::ThreadCache& ThreadSafeArena::thread_cache() {
static PROTOBUF_THREAD_LOCAL ThreadCache thread_cache;
return thread_cache;
Expand Down
2 changes: 1 addition & 1 deletion src/google/protobuf/descriptor.h
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ class PROTOBUF_EXPORT Descriptor : private internal::SymbolBase {

// A range of field numbers which are designated for third-party
// extensions.
class ExtensionRange {
class PROTOBUF_EXPORT ExtensionRange {
public:
typedef DescriptorProto_ExtensionRange Proto;

Expand Down
2 changes: 1 addition & 1 deletion src/google/protobuf/port_def.inc
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
// constant-initializing weak default instance pointers. Versions 12.0 and
// higher seem to work, except that XCode 12.5.1 shows the error even though it
// uses Clang 12.0.5.
# elif !defined(__CYGWIN__) && \
# elif !defined(__CYGWIN__) && !defined(__MINGW32__) && \
__has_cpp_attribute(clang::require_constant_initialization) && \
((defined(__APPLE__) && PROTOBUF_CLANG_MIN(13, 0)) || \
(!defined(__APPLE__) && PROTOBUF_CLANG_MIN(12, 0)))
Expand Down
2 changes: 1 addition & 1 deletion src/google/protobuf/reflection_mode.cc
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ namespace internal {

#if !defined(PROTOBUF_NO_THREADLOCAL)

#if defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER)
#if defined(PROTOBUF_USE_DLLS) && defined(_WIN32)
ReflectionMode& ScopedReflectionMode::reflection_mode() {
static PROTOBUF_THREAD_LOCAL ReflectionMode reflection_mode =
ReflectionMode::kDefault;
Expand Down
4 changes: 2 additions & 2 deletions src/google/protobuf/reflection_mode.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ class PROTOBUF_EXPORT ScopedReflectionMode final {
private:
#if !defined(PROTOBUF_NO_THREADLOCAL)
const ReflectionMode previous_mode_;
#if defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER)
#if defined(PROTOBUF_USE_DLLS) && defined(_WIN32)
// Thread local variables cannot be exposed through MSVC DLL interface but we
// can wrap them in static functions.
static ReflectionMode& reflection_mode();
Expand All @@ -108,7 +108,7 @@ class PROTOBUF_EXPORT ScopedReflectionMode final {

#if !defined(PROTOBUF_NO_THREADLOCAL)

#if defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER)
#if defined(PROTOBUF_USE_DLLS) && defined(_WIN32)

inline ScopedReflectionMode::ScopedReflectionMode(ReflectionMode mode)
: previous_mode_(reflection_mode()) {
Expand Down
2 changes: 1 addition & 1 deletion src/google/protobuf/thread_safe_arena.h
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ class PROTOBUF_EXPORT ThreadSafeArena {
// iOS does not support __thread keyword so we use a custom thread local
// storage class we implemented.
static ThreadCache& thread_cache();
#elif defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER)
#elif defined(PROTOBUF_USE_DLLS) && defined(_WIN32)
// Thread local variables cannot be exposed through MSVC DLL interface but we
// can wrap them in static functions.
static ThreadCache& thread_cache();
Expand Down