summaryrefslogtreecommitdiffstats
path: root/libraries/qt5/patches/gcc8.patch
blob: 8e05ab0e922cbe0a518ebb8fe5741a57c1f4e82d (plain)
diff -Naur qt-everywhere-opensource-src-5.7.1.orig/qtwebengine/src/3rdparty/chromium/mojo/public/c/system/macros.h qt-everywhere-opensource-src-5.7.1/qtwebengine/src/3rdparty/chromium/mojo/public/c/system/macros.h
--- qt-everywhere-opensource-src-5.7.1.orig/qtwebengine/src/3rdparty/chromium/mojo/public/c/system/macros.h	2016-11-07 15:46:18.000000000 +0100
+++ qt-everywhere-opensource-src-5.7.1/qtwebengine/src/3rdparty/chromium/mojo/public/c/system/macros.h	2018-06-29 21:41:17.353727000 +0200
@@ -48,7 +48,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)