From ddd23aa211a6d6539f2d1a42ac80c6b269297ac7 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Mon, 9 Mar 2020 14:59:30 +0100
Subject: gcc8 plugin: update to 8.4.0

---
 plugins/gcc8/gcc8-overlay.mk |  4 ++--
 plugins/gcc8/gcc8.patch      | 53 +++-----------------------------------------
 2 files changed, 5 insertions(+), 52 deletions(-)

diff --git a/plugins/gcc8/gcc8-overlay.mk b/plugins/gcc8/gcc8-overlay.mk
index 1ebdae7..5b6a05b 100644
--- a/plugins/gcc8/gcc8-overlay.mk
+++ b/plugins/gcc8/gcc8-overlay.mk
@@ -17,8 +17,8 @@ $(PKG)_URL      := https://isl.gforge.inria.fr/$($(PKG)_FILE)
 $(PKG)_URL_2    := https://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
 
 PKG             := gcc
-$(PKG)_VERSION  := 8.3.0
-$(PKG)_CHECKSUM := 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
+$(PKG)_VERSION  := 8.4.0
+$(PKG)_CHECKSUM := e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4
 $(PKG)_SUBDIR   := gcc-$($(PKG)_VERSION)
 $(PKG)_FILE     := gcc-$($(PKG)_VERSION).tar.xz
 $(PKG)_URL      := https://ftp.gnu.org/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
diff --git a/plugins/gcc8/gcc8.patch b/plugins/gcc8/gcc8.patch
index 488f6b7..6b4e974 100644
--- a/plugins/gcc8/gcc8.patch
+++ b/plugins/gcc8/gcc8.patch
@@ -5,7 +5,7 @@ Contains ad hoc patches for cross building.
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Tony Theodore <tonyt@logyst.com>
 Date: Thu, 2 Feb 2017 02:05:50 +1100
-Subject: [PATCH 1/3] allow native cpu detection when building with clang
+Subject: [PATCH 1/2] allow native cpu detection when building with clang
 
 function was disabled for non-gcc5 in:
 https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b587c12551143c14f023860a1dbdf7316ae71f27;hp=43096b526a9f23008b9769372f11475ae63487bc
@@ -29,14 +29,14 @@ index 1111111..2222222 100644
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Tony Theodore <tonyt@logyst.com>
 Date: Fri, 6 Apr 2018 13:40:22 +1000
-Subject: [PATCH 2/3] remove hard-coded mingw from include path
+Subject: [PATCH 2/2] remove hard-coded mingw from include path
 
 
 diff --git a/gcc/config.gcc b/gcc/config.gcc
 index 1111111..2222222 100644
 --- a/gcc/config.gcc
 +++ b/gcc/config.gcc
-@@ -1801,7 +1801,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
+@@ -1810,7 +1810,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
  			tmake_file="${tmake_file} i386/t-mingw-w32"
  			;;
  	esac
@@ -59,50 +59,3 @@ index 1111111..2222222 100644
  /* Output STRING, a string representing a filename, to FILE.
     We canonicalize it to be in Unix format (backslashes are replaced
 
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Sat, 9 Mar 2019 12:08:23 +0000
-Subject: [PATCH 3/3] PR c/88568 * attribs.c (handle_dll_attribute): Don't
- clear TREE_STATIC for dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE
- DECL_CONTEXT.
-
-taken from:
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923214
-
-diff --git a/gcc/attribs.c b/gcc/attribs.c
-index 1111111..2222222 100644
---- a/gcc/attribs.c
-+++ b/gcc/attribs.c
-@@ -1685,8 +1685,11 @@ handle_dll_attribute (tree * pnode, tree name, tree args, int flags,
- 	     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)
-diff --git a/gcc/testsuite/g++.dg/other/pr88568.C b/gcc/testsuite/g++.dg/other/pr88568.C
-new file mode 100644
-index 000000000..9d344fd91
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/other/pr88568.C
-@@ -0,0 +1,13 @@
-+// PR c/88568
-+// { dg-do compile }
-+// { dg-require-dll "" }
-+
-+struct S {
-+  __attribute__((dllimport)) static const char foo[];
-+};
-+
-+int
-+foo (int x)
-+{
-+  return S::foo[x];
-+}
-- 
cgit v0.12