summaryrefslogtreecommitdiffstats
path: root/libraries/qt5/patches/gcc8.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/qt5/patches/gcc8.patch')
-rw-r--r--libraries/qt5/patches/gcc8.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/libraries/qt5/patches/gcc8.patch b/libraries/qt5/patches/gcc8.patch
new file mode 100644
index 0000000000..8e05ab0e92
--- /dev/null
+++ b/libraries/qt5/patches/gcc8.patch
@@ -0,0 +1,18 @@
+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)