diff options
author | Adam Cozzette <acozzette@google.com> | 2018-06-25 13:22:10 -0700 |
---|---|---|
committer | Adam Cozzette <acozzette@google.com> | 2018-06-25 13:22:10 -0700 |
commit | 82d3d7d250645322f8a7343188e5ae6246a76414 (patch) | |
tree | 34b7acb87b15c3b8395df3d311f2e795a1285d60 /src/google/protobuf/generated_message_util.h | |
parent | 35567c166842cca3ff6af3226ff526f25c79507f (diff) | |
parent | f7ada1280fac4af717d478e6a9765d3f02b418b3 (diff) |
Merge branch '3.6.x' into merge-3-6-x
Diffstat (limited to 'src/google/protobuf/generated_message_util.h')
-rw-r--r-- | src/google/protobuf/generated_message_util.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/google/protobuf/generated_message_util.h b/src/google/protobuf/generated_message_util.h index bdaa561b..4da04cae 100644 --- a/src/google/protobuf/generated_message_util.h +++ b/src/google/protobuf/generated_message_util.h @@ -335,7 +335,16 @@ struct LIBPROTOBUF_EXPORT SCCInfoBase { kRunning = 1, kUninitialized = -1, // initial state }; +#ifndef _MSC_VER std::atomic<int> visit_status; +#else + // MSVC doesnt make std::atomic constant initialized. This union trick + // makes it so. + union { + int visit_status_to_make_linker_init; + std::atomic<int> visit_status; + }; +#endif int num_deps; void (*init_func)(); // This is followed by an array of num_deps |