diff options
Diffstat (limited to 'community/chromium/gcc8-alignof.patch')
-rw-r--r-- | community/chromium/gcc8-alignof.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/community/chromium/gcc8-alignof.patch b/community/chromium/gcc8-alignof.patch new file mode 100644 index 0000000000..90aa32872c --- /dev/null +++ b/community/chromium/gcc8-alignof.patch @@ -0,0 +1,17 @@ +--- mojo/public/c/system/macros.h.orig 2018-09-06 10:11:54.336432699 -0400 ++++ mojo/public/c/system/macros.h 2018-09-06 10:13:56.555727572 -0400 +@@ -27,7 +27,13 @@ + (sizeof(void*) == 4 ? 32 : 0) + + // 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) |