File relax-abi.diff of Package wxWidgets-3_0

From: Nathan Ridge

Relax the ABI compatibility requirements for GCC.

Allow a library and an application to differ in __GXX_ABI_VERSION
within the range 1002-1008. The ABI changes made in this range
do not affect wxWidgets.

https://github.com/wxWidgets/wxWidgets/commit/ad21cc332ac906b9ae8f238ab135cbe410e78eba
https://github.com/wxWidgets/wxWidgets/commit/96f5a24f6dfdfff3466ab7c1736dfc741165aaea
---
 include/wx/build.h |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

Index: wxWidgets-3.0.2/include/wx/build.h
===================================================================
--- wxWidgets-3.0.2.orig/include/wx/build.h
+++ wxWidgets-3.0.2/include/wx/build.h
@@ -52,8 +52,17 @@
 // GCC and Intel C++ share same C++ ABI (and possibly others in the future),
 // check if compiler versions are compatible:
 #if defined(__GXX_ABI_VERSION)
+    // The changes between ABI versions 1002 through 1008 (documented at
+    // https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html
+    // under -fabi-version) don't affect wxWidgets, so we allow a library
+    // and an application to differ within that range.
+    #if ((__GXX_ABI_VERSION >= 1002) && (__GXX_ABI_VERSION <= 1011))
+        #define wxGXX_EFFECTIVE_ABI_VERSION 1002
+    #else
+        #define wxGXX_EFFECTIVE_ABI_VERSION __GXX_ABI_VERSION
+    #endif
     #define __WX_BO_COMPILER \
-            ",compiler with C++ ABI " __WX_BO_STRINGIZE(__GXX_ABI_VERSION)
+            ",compiler with C++ ABI " __WX_BO_STRINGIZE(wxGXX_EFFECTIVE_ABI_VERSION)
 #elif defined(__GNUG__)
     #define __WX_BO_COMPILER ",GCC " \
             __WX_BO_STRINGIZE(__GNUC__) "." __WX_BO_STRINGIZE(__GNUC_MINOR__)
openSUSE Build Service is sponsored by