Backport patch for GCC bug #88568

This commit is contained in:
Sandro Mani 2019-04-16 16:44:56 +02:00
parent ffc33c63bc
commit 7584918660
2 changed files with 23 additions and 1 deletions

17
gcc_bug_88568.patch Normal file
View File

@ -0,0 +1,17 @@
diff -rupN gcc-8.3.0/gcc/attribs.c gcc-8.3.0-new/gcc/attribs.c
--- gcc-8.3.0/gcc/attribs.c 2019-02-07 15:26:06.000000000 +0100
+++ gcc-8.3.0-new/gcc/attribs.c 2019-04-16 15:58:04.405313950 +0200
@@ -1685,8 +1685,11 @@ handle_dll_attribute (tree * pnode, tree
a function global scope, unless declared static. */
if (current_function_decl != NULL_TREE && !TREE_STATIC (node))
TREE_PUBLIC (node) = 1;
- /* Clear TREE_STATIC because DECL_EXTERNAL is set. */
- TREE_STATIC (node) = 0;
+ /* Clear TREE_STATIC because DECL_EXTERNAL is set, unless
+ it is a C++ static data member. */
+ if (DECL_CONTEXT (node) == NULL_TREE
+ || !RECORD_OR_UNION_TYPE_P (DECL_CONTEXT (node)))
+ TREE_STATIC (node) = 0;
}
if (*no_add_attrs == false)

View File

@ -32,7 +32,7 @@
Name: mingw-gcc
Version: 8.3.0
Release: 1%{?snapshot_date:.svn.%{snapshot_date}.r%{snapshot_rev}}%{?dist}
Release: 2%{?snapshot_date:.svn.%{snapshot_date}.r%{snapshot_rev}}%{?dist}
Summary: MinGW Windows cross-compiler (GCC) for C
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
@ -45,6 +45,8 @@ Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz
# Backport fix for ICE, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86593
Patch0: gcc_bug_86593.patch
# Backport fix for ICE, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88568
Patch1: gcc_bug_88568.patch
BuildRequires: gcc-c++
BuildRequires: texinfo
@ -709,6 +711,9 @@ rm -f $RPM_BUILD_ROOT%{_bindir}/%{mingw64_target}-%{mingw64_target}-*
%changelog
* Tue Apr 16 2019 Sandro Mani <manisandro@gmail.com> - 8.3.0-2
- Backport patch for gcc #88568
* Fri Feb 22 2019 Kalev Lember <klember@redhat.com> - 8.3.0-1
- Update to 8.3.0