summaryrefslogtreecommitdiff
path: root/www-client/chromium/files/chromium-union.patch
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium/files/chromium-union.patch')
-rw-r--r--www-client/chromium/files/chromium-union.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-union.patch b/www-client/chromium/files/chromium-union.patch
new file mode 100644
index 0000000..be41f6d
--- /dev/null
+++ b/www-client/chromium/files/chromium-union.patch
@@ -0,0 +1,54 @@
+diff --git a/base/values.h b/base/values.h
+index 6f2cd3cc3..7f148d259 100644
+--- a/base/values.h
++++ b/base/values.h
+@@ -415,42 +415,13 @@ class BASE_EXPORT Value {
+ // of 24, without losing any information. Results are unchanged for x86,
+ // x86_64 and arm64 (16, 32 and 32 bytes respectively).
+ union {
+- struct {
+- // TODO(crbug.com/646113): Make these private once DictionaryValue and
+- // ListValue are properly inlined.
+- Type type_ : 8;
+- };
+- struct {
+- Type bool_type_ : 8;
+- bool bool_value_;
+- };
+- struct {
+- Type int_type_ : 8;
+- int int_value_;
+- };
+- struct {
+- Type double_type_ : 8;
+- // Subtle: On architectures that require it, the compiler will ensure
+- // that |double_value_|'s offset is a multiple of 8 (e.g. 32-bit ARM).
+- // See technical note above to understand why it is important.
+- double double_value_;
+- };
+- struct {
+- Type string_type_ : 8;
+- std::string string_value_;
+- };
+- struct {
+- Type binary_type_ : 8;
+- BlobStorage binary_value_;
+- };
+- struct {
+- Type dict_type_ : 8;
+- DictStorage dict_;
+- };
+- struct {
+- Type list_type_ : 8;
+- ListStorage list_;
+- };
++ bool bool_value_;
++ int int_value_;
++ double double_value_;
++ std::string string_value_;
++ BlobStorage binary_value_;
++ DictStorage dict_;
++ ListStorage list_;
+ };
+
+ private: