summaryrefslogtreecommitdiff
path: root/private/gcc-latest/patches
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2023-04-23 10:53:25 +0200
committerEugen Wissner <belka@caraus.de>2023-04-23 10:53:25 +0200
commit6f5eaf9650e9e23b11f81366de580215ddf57295 (patch)
treef37472f8ce557ada396d066546ca5bf6985a876a /private/gcc-latest/patches
parent691ddba017596abb02af51dba9dbad06e3f62bbc (diff)
downloadslackbuilder-6f5eaf9650e9e23b11f81366de580215ddf57295.tar.gz
gcc-latest: Removed
There were still problems with this build. For example LibreOffice cannot be built if GCC is installed.
Diffstat (limited to 'private/gcc-latest/patches')
-rw-r--r--private/gcc-latest/patches/gcc-no_fixincludes.diff27
-rw-r--r--private/gcc-latest/patches/gdc-immutable-struct.patch91
-rw-r--r--private/gcc-latest/patches/gdc-link-lambda.patch187
3 files changed, 0 insertions, 305 deletions
diff --git a/private/gcc-latest/patches/gcc-no_fixincludes.diff b/private/gcc-latest/patches/gcc-no_fixincludes.diff
deleted file mode 100644
index e152e08..0000000
--- a/private/gcc-latest/patches/gcc-no_fixincludes.diff
+++ /dev/null
@@ -1,27 +0,0 @@
---- ./gcc/Makefile.in.orig 2018-03-09 09:24:44.000000000 -0600
-+++ ./gcc/Makefile.in 2018-05-02 12:25:43.958002771 -0500
-@@ -3004,9 +3004,9 @@
- chmod a+r $${fix_dir}/limits.h; \
- done
- # Install the README
-- rm -f include-fixed/README
-- cp $(srcdir)/../fixincludes/README-fixinc include-fixed/README
-- chmod a+r include-fixed/README
-+# rm -f include-fixed/README
-+# cp $(srcdir)/../fixincludes/README-fixinc include-fixed/README
-+# chmod a+r include-fixed/README
- $(STAMP) $@
-
- .PHONY: install-gcc-tooldir
-@@ -3087,10 +3087,7 @@
- (TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
- SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \
- gcc_dir=`${PWD_COMMAND}` ; \
-- export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
-- cd $(build_objdir)/fixincludes && \
-- $(SHELL) ./fixinc.sh "$${gcc_dir}/$${fix_dir}" \
-- $(BUILD_SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \
-+ export TARGET_MACHINE srcdir SHELL MACRO_LIST ); \
- rm -f $${fix_dir}/syslimits.h; \
- if [ -f $${fix_dir}/limits.h ]; then \
- mv $${fix_dir}/limits.h $${fix_dir}/syslimits.h; \
diff --git a/private/gcc-latest/patches/gdc-immutable-struct.patch b/private/gcc-latest/patches/gdc-immutable-struct.patch
deleted file mode 100644
index 5c47aa7..0000000
--- a/private/gcc-latest/patches/gdc-immutable-struct.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 2583365912c8700abe1f4a23ed611acb80fac09d Mon Sep 17 00:00:00 2001
-From: Iain Buclaw <ibuclaw@gdcproject.org>
-Date: Mon, 27 Feb 2023 20:46:18 +0100
-Subject: [PATCH] d: Fix ICE on explicit immutable struct import [PR108877]
-
-Const and immutable types are built as variants of the type they are
-derived from, and TYPE_STUB_DECL is not set for these variants.
-
- PR d/108877
-
-gcc/d/ChangeLog:
-
- * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call
- make_import on TYPE_MAIN_VARIANT.
- (ImportVisitor::visit (AggregateDeclaration *)): Likewise.
- (ImportVisitor::visit (ClassDeclaration *)): Likewise.
-
-gcc/testsuite/ChangeLog:
-
- * gdc.dg/imports/pr108877a.d: New test.
- * gdc.dg/pr108877.d: New test.
-
-(cherry picked from commit ce1cea3e22f58bbddde017f8a92e59bae8892339)
----
- gcc/d/imports.cc | 7 ++++++-
- gcc/testsuite/gdc.dg/imports/pr108877a.d | 6 ++++++
- gcc/testsuite/gdc.dg/pr108877.d | 9 +++++++++
- 3 files changed, 21 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gdc.dg/imports/pr108877a.d
- create mode 100644 gcc/testsuite/gdc.dg/pr108877.d
-
-diff --git a/gcc/d/imports.cc b/gcc/d/imports.cc
-index dfda2401ee8..6a59ef61b9c 100644
---- a/gcc/d/imports.cc
-+++ b/gcc/d/imports.cc
-@@ -106,12 +106,16 @@ public:
- tree type = build_ctype (d->type);
- /* Not all kinds of D enums create a TYPE_DECL. */
- if (TREE_CODE (type) == ENUMERAL_TYPE)
-- this->result_ = this->make_import (TYPE_STUB_DECL (type));
-+ {
-+ type = TYPE_MAIN_VARIANT (type);
-+ this->result_ = this->make_import (TYPE_STUB_DECL (type));
-+ }
- }
-
- void visit (AggregateDeclaration *d)
- {
- tree type = build_ctype (d->type);
-+ type = TYPE_MAIN_VARIANT (type);
- this->result_ = this->make_import (TYPE_STUB_DECL (type));
- }
-
-@@ -119,6 +123,7 @@ public:
- {
- /* Want the RECORD_TYPE, not POINTER_TYPE. */
- tree type = TREE_TYPE (build_ctype (d->type));
-+ type = TYPE_MAIN_VARIANT (type);
- this->result_ = this->make_import (TYPE_STUB_DECL (type));
- }
-
-diff --git a/gcc/testsuite/gdc.dg/imports/pr108877a.d b/gcc/testsuite/gdc.dg/imports/pr108877a.d
-new file mode 100644
-index 00000000000..a23c78ddf84
---- /dev/null
-+++ b/gcc/testsuite/gdc.dg/imports/pr108877a.d
-@@ -0,0 +1,6 @@
-+immutable struct ImmutableS { }
-+const struct ConstS { }
-+immutable class ImmutableC { }
-+const class ConstC { }
-+immutable enum ImmutableE { _ }
-+const enum ConstE { _ }
-diff --git a/gcc/testsuite/gdc.dg/pr108877.d b/gcc/testsuite/gdc.dg/pr108877.d
-new file mode 100644
-index 00000000000..710551f3f9a
---- /dev/null
-+++ b/gcc/testsuite/gdc.dg/pr108877.d
-@@ -0,0 +1,9 @@
-+// { dg-options "-I $srcdir/gdc.dg" }
-+// { dg-do compile }
-+import imports.pr108877a :
-+ ImmutableS,
-+ ConstS,
-+ ImmutableC,
-+ ConstC,
-+ ImmutableE,
-+ ConstE;
---
-2.31.1
-
diff --git a/private/gcc-latest/patches/gdc-link-lambda.patch b/private/gcc-latest/patches/gdc-link-lambda.patch
deleted file mode 100644
index 32f069e..0000000
--- a/private/gcc-latest/patches/gdc-link-lambda.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-From 3b8b42f32627ca5ad029fe418a5839b9fc4512e9 Mon Sep 17 00:00:00 2001
-From: Iain Buclaw <ibuclaw@gdcproject.org>
-Date: Sat, 10 Dec 2022 22:11:41 +0100
-Subject: [PATCH] d: Fix undefined reference to nested lambda in template
- (PR108055)
-
-Sometimes, nested lambdas of templated functions get no code generation
-due to them being marked as instantianted outside of all modules being
-compiled in the current compilation unit. This despite enclosing
-template instances being marked as instantiated inside the current
-compilation unit. To fix, all enclosing templates are now checked in
-`function_defined_in_root_p'.
-
-Because of this change, `function_needs_inline_definition_p' has also
-been fixed up to only check whether the regular function definition
-itself is to be emitted in the current compilation unit.
-
- PR d/108055
-
-gcc/d/ChangeLog:
-
- * decl.cc (function_defined_in_root_p): Check all enclosing template
- instances for definition in a root module.
- (function_needs_inline_definition_p): Replace call to
- function_defined_in_root_p with test for outer module `isRoot'.
-
-gcc/testsuite/ChangeLog:
-
- * gdc.dg/torture/imports/pr108055conv.d: New.
- * gdc.dg/torture/imports/pr108055spec.d: New.
- * gdc.dg/torture/imports/pr108055write.d: New.
- * gdc.dg/torture/pr108055.d: New test.
-
-(cherry picked from commit 9fe7d3debbf60ed9fef8053123ad542a99d62100)
----
- gcc/d/decl.cc | 14 ++++++----
- .../gdc.dg/torture/imports/pr108055conv.d | 26 +++++++++++++++++++
- .../gdc.dg/torture/imports/pr108055spec.d | 18 +++++++++++++
- .../gdc.dg/torture/imports/pr108055write.d | 19 ++++++++++++++
- gcc/testsuite/gdc.dg/torture/pr108055.d | 12 +++++++++
- 5 files changed, 84 insertions(+), 5 deletions(-)
- create mode 100644 gcc/testsuite/gdc.dg/torture/imports/pr108055conv.d
- create mode 100644 gcc/testsuite/gdc.dg/torture/imports/pr108055spec.d
- create mode 100644 gcc/testsuite/gdc.dg/torture/imports/pr108055write.d
- create mode 100644 gcc/testsuite/gdc.dg/torture/pr108055.d
-
-diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc
-index e62be0c580a..11fd7f6c81f 100644
---- a/gcc/d/decl.cc
-+++ b/gcc/d/decl.cc
-@@ -1023,7 +1023,8 @@ build_decl_tree (Dsymbol *d)
- input_location = saved_location;
- }
-
--/* Returns true if function FD is defined or instantiated in a root module. */
-+/* Returns true if function FD, or any lexically enclosing scope function of FD
-+ is defined or instantiated in a root module. */
-
- static bool
- function_defined_in_root_p (FuncDeclaration *fd)
-@@ -1032,9 +1033,11 @@ function_defined_in_root_p (FuncDeclaration *fd)
- if (md && md->isRoot ())
- return true;
-
-- TemplateInstance *ti = fd->isInstantiated ();
-- if (ti && ti->minst && ti->minst->isRoot ())
-- return true;
-+ for (TemplateInstance *ti = fd->isInstantiated (); ti != NULL; ti = ti->tinst)
-+ {
-+ if (ti->minst && ti->minst->isRoot ())
-+ return true;
-+ }
-
- return false;
- }
-@@ -1062,7 +1065,8 @@ function_needs_inline_definition_p (FuncDeclaration *fd)
-
- /* Check whether function will be regularly defined later in the current
- translation unit. */
-- if (function_defined_in_root_p (fd))
-+ Module *md = fd->getModule ();
-+ if (md && md->isRoot ())
- return false;
-
- /* Non-inlineable functions are always external. */
-diff --git a/gcc/testsuite/gdc.dg/torture/imports/pr108055conv.d b/gcc/testsuite/gdc.dg/torture/imports/pr108055conv.d
-new file mode 100644
-index 00000000000..93ebba747b1
---- /dev/null
-+++ b/gcc/testsuite/gdc.dg/torture/imports/pr108055conv.d
-@@ -0,0 +1,26 @@
-+module imports.pr108055conv;
-+
-+T toStr(T, S)(S src)
-+{
-+ static if (is(typeof(T.init[0]) E))
-+ {
-+ struct Appender
-+ {
-+ inout(E)[] data;
-+ }
-+
-+ import imports.pr108055spec;
-+ import imports.pr108055write;
-+
-+ auto w = Appender();
-+ FormatSpec!E f;
-+ formatValue(w, src, f);
-+ return w.data;
-+ }
-+}
-+
-+T to(T, A)(A args)
-+{
-+ return toStr!T(args);
-+}
-+
-diff --git a/gcc/testsuite/gdc.dg/torture/imports/pr108055spec.d b/gcc/testsuite/gdc.dg/torture/imports/pr108055spec.d
-new file mode 100644
-index 00000000000..801c5810516
---- /dev/null
-+++ b/gcc/testsuite/gdc.dg/torture/imports/pr108055spec.d
-@@ -0,0 +1,18 @@
-+module imports.pr108055spec;
-+
-+template Unqual(T : const U, U)
-+{
-+ alias Unqual = U;
-+}
-+
-+template FormatSpec(Char)
-+if (!is(Unqual!Char == Char))
-+{
-+ alias FormatSpec = FormatSpec!(Unqual!Char);
-+}
-+
-+struct FormatSpec(Char)
-+if (is(Unqual!Char == Char))
-+{
-+ const(Char)[] nested;
-+}
-diff --git a/gcc/testsuite/gdc.dg/torture/imports/pr108055write.d b/gcc/testsuite/gdc.dg/torture/imports/pr108055write.d
-new file mode 100644
-index 00000000000..fe41d7baa7c
---- /dev/null
-+++ b/gcc/testsuite/gdc.dg/torture/imports/pr108055write.d
-@@ -0,0 +1,19 @@
-+module imports.pr108055write;
-+import imports.pr108055spec;
-+
-+void formatValueImpl(Writer, T, Char)(ref Writer , const(T) ,
-+ scope const ref FormatSpec!Char )
-+{
-+ T val;
-+ char spec;
-+
-+ (ref val) @trusted {
-+ return (cast(const char*) &val)[0 .. val.sizeof];
-+ }(val);
-+
-+}
-+
-+void formatValue(Writer, T, Char)(Writer w, T val, Char f)
-+{
-+ formatValueImpl(w, val, f);
-+}
-diff --git a/gcc/testsuite/gdc.dg/torture/pr108055.d b/gcc/testsuite/gdc.dg/torture/pr108055.d
-new file mode 100644
-index 00000000000..c4ffad26d1e
---- /dev/null
-+++ b/gcc/testsuite/gdc.dg/torture/pr108055.d
-@@ -0,0 +1,12 @@
-+// { dg-do link }
-+// { dg-additional-files "imports/pr108055conv.d imports/pr108055spec.d imports/pr108055write.d" }
-+// { dg-additional-options "-I[srcdir] -fno-druntime" }
-+import imports.pr108055conv;
-+
-+extern(C) int main()
-+{
-+ float zis;
-+ static if (is(typeof(to!string(&zis))))
-+ to!string(&zis);
-+ return 0;
-+}
---
-2.31.1
-