summaryrefslogtreecommitdiff
path: root/chromium/third_party/protobuf/patches/0003-remove-static-initializers.patch
blob: d5b6baedd36e38826c9885b695f3f4f6c724865b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
unchanged:
--- protobuf-cleaned/src/google/protobuf/stubs/status.cc	2015-12-30 13:21:46.000000000 -0800
+++ protobuf-patched/src/google/protobuf/stubs/status.cc	2016-03-31 13:25:40.888006485 -0700
@@ -82,9 +82,9 @@
 }
 }  // namespace error.
 
-const Status Status::OK = Status();
-const Status Status::CANCELLED = Status(error::CANCELLED, "");
-const Status Status::UNKNOWN = Status(error::UNKNOWN, "");
+const StatusPod Status::OK = { error::OK };
+const StatusPod Status::CANCELLED = { error::CANCELLED };
+const StatusPod Status::UNKNOWN = { error::UNKNOWN };
 
 Status::Status() : error_code_(error::OK) {
 }
@@ -100,6 +100,9 @@
     : error_code_(other.error_code_), error_message_(other.error_message_) {
 }
 
+Status::Status(const StatusPod& status_pod) : error_code_(status_pod.code) {
+}
+
 Status& Status::operator=(const Status& other) {
   error_code_ = other.error_code_;
   error_message_ = other.error_message_;
unchanged:
--- protobuf-cleaned/src/google/protobuf/stubs/status.h	2015-12-30 13:21:46.000000000 -0800
+++ protobuf-patched/src/google/protobuf/stubs/status.h	2016-03-31 13:25:40.888006485 -0700
@@ -62,6 +62,10 @@
 };
 }  // namespace error
 
+struct StatusPod {
+  error::Code code;
+};
+
 class LIBPROTOBUF_EXPORT Status {
  public:
   // Creates a "successful" status.
@@ -73,13 +77,14 @@
   // constructed.
   Status(error::Code error_code, StringPiece error_message);
   Status(const Status&);
+  Status(const StatusPod&);
   Status& operator=(const Status& x);
   ~Status() {}
 
   // Some pre-defined Status objects
-  static const Status OK;             // Identical to 0-arg constructor
-  static const Status CANCELLED;
-  static const Status UNKNOWN;
+  static const StatusPod OK;
+  static const StatusPod CANCELLED;
+  static const StatusPod UNKNOWN;
 
   // Accessor
   bool ok() const {
only in patch2:
unchanged: