blob: 6027d29fe783016f1d427a1d74afd124ecad24d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
diff -rauN chromium/mojo/public/c/system/macros.h chromium/mojo/public/c/system/macros.h
--- chromium/mojo/public/c/system/macros.h 2018-06-03 09:46:38.408293369 +0200
+++ chromium/mojo/public/c/system/macros.h 2018-06-03 09:46:54.734960038 +0200
@@ -18,7 +18,13 @@
#endif
// Like the C++11 |alignof| operator.
-#if __cplusplus >= 201103L
+#if defined(__GNUC__) && __GNUC__ >= 8
+// GCC 8 has changed the alignof operator to return the minimal alignment
+// required by the target ABI, instead of the preferred alignment.
+// This means that on 32-bit x86, it will return 4 instead of 8.
+// Use __alignof__ instead to avoid this.
+#define MOJO_ALIGNOF(type) __alignof__(type)
+#elif __cplusplus >= 201103L
#define MOJO_ALIGNOF(type) alignof(type)
#elif defined(__GNUC__)
#define MOJO_ALIGNOF(type) __alignof__(type)
|