[pkg-d-commits] [ldc] 03/09: Refresh patches
Matthias Klumpp
mak at moszumanska.debian.org
Mon Nov 6 23:45:55 UTC 2017
This is an automated email from the git hooks/post-receive script.
mak pushed a commit to branch master
in repository ldc.
commit f99b1992cef65be2e772bf4031ed7ca6ff231be3
Author: Matthias Klumpp <mak at debian.org>
Date: Tue Nov 7 00:05:16 2017 +0100
Refresh patches
---
debian/patches/01_no-zlib-embed.patch | 4 +-
...7_Fix-storage-of-captured-lazy-parameters.patch | 64 ----------------------
debian/patches/series | 1 -
3 files changed, 2 insertions(+), 67 deletions(-)
diff --git a/debian/patches/01_no-zlib-embed.patch b/debian/patches/01_no-zlib-embed.patch
index 64e6199..26d5a95 100644
--- a/debian/patches/01_no-zlib-embed.patch
+++ b/debian/patches/01_no-zlib-embed.patch
@@ -31,7 +31,7 @@ Author: Konstantinos Margaritis <markos at debian.org>
#
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -629,6 +629,7 @@
+@@ -631,6 +631,7 @@
endif()
endif()
@@ -39,7 +39,7 @@ Author: Konstantinos Margaritis <markos at debian.org>
function(build_d_executable output_exe compiler_args linker_args compile_deps link_deps)
# Compile all D modules to a single object.
set(object_file ${output_exe}${CMAKE_CXX_OUTPUT_EXTENSION})
-@@ -844,7 +845,7 @@
+@@ -856,7 +857,7 @@
build_d_executable(
"${LDC_BUILD_RUNTIME_EXE_FULL}"
"${PROJECT_BINARY_DIR}/ldc-build-runtime.d"
diff --git a/debian/patches/07_Fix-storage-of-captured-lazy-parameters.patch b/debian/patches/07_Fix-storage-of-captured-lazy-parameters.patch
deleted file mode 100644
index fd7f23b..0000000
--- a/debian/patches/07_Fix-storage-of-captured-lazy-parameters.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 0b4623ebee7eac149a82f3e5d42cc4ffb3087ec2 Mon Sep 17 00:00:00 2001
-From: Martin <noone at nowhere.com>
-Date: Wed, 13 Sep 2017 18:13:40 +0200
-Subject: [PATCH] Fix storage of captured lazy parameters (depending on ABI)
-
-Fixes issue #2302.
----
- gen/nested.cpp | 15 +++++++++++----
- tests/codegen/nested_lazy_gh2302.d | 18 ++++++++++++++++++
- 2 files changed, 29 insertions(+), 4 deletions(-)
- create mode 100644 tests/codegen/nested_lazy_gh2302.d
-
-diff --git a/gen/nested.cpp b/gen/nested.cpp
-index 92c79d7c5..f3725502a 100644
---- a/gen/nested.cpp
-+++ b/gen/nested.cpp
-@@ -383,12 +383,19 @@ static void DtoCreateNestedContextType(FuncDeclaration *fd) {
- irLocal.nestedDepth = depth;
-
- LLType *t = nullptr;
-- if (vd->isRef() || vd->isOut())
-+ if (vd->isRef() || vd->isOut()) {
- t = DtoType(vd->type->pointerTo());
-- else if (vd->isParameter() && (vd->storage_class & STClazy))
-- t = getIrParameter(vd)->value->getType()->getContainedType(0);
-- else
-+ } else if (vd->isParameter() && (vd->storage_class & STClazy)) {
-+ // The LL type is a delegate (LL struct).
-+ // Depending on the used TargetABI, the LL parameter is either a struct or
-+ // a pointer to a struct (`byval` attribute, ExplicitByvalRewrite).
-+ t = getIrParameter(vd)->value->getType();
-+ if (t->isPointerTy())
-+ t = t->getPointerElementType();
-+ assert(t->isStructTy());
-+ } else {
- t = DtoMemType(vd->type);
-+ }
-
- builder.addType(t, getTypeAllocSize(t));
-
-diff --git a/tests/codegen/nested_lazy_gh2302.d b/tests/codegen/nested_lazy_gh2302.d
-new file mode 100644
-index 000000000..1457ea6f0
---- /dev/null
-+++ b/tests/codegen/nested_lazy_gh2302.d
-@@ -0,0 +1,18 @@
-+// RUN: %ldc -output-ll -of=%t.ll %s && FileCheck %s < %t.ll
-+// RUN: %ldc -run %s
-+
-+void foo()
-+{
-+ auto impl(T)(lazy T field)
-+ {
-+ // Make sure `field` is a closure variable with delegate type (LL struct).
-+ // CHECK: %nest.impl = type { { i8*, i32 (i8*)* } }
-+ auto ff() { return field; }
-+ auto a = field;
-+ return ff() + a;
-+ }
-+ auto r = impl(123);
-+ assert(r == 246);
-+}
-+
-+void main() { foo(); }
diff --git a/debian/patches/series b/debian/patches/series
index 4fd2696..a56b08f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,4 +4,3 @@
04_static-PIC.patch
05_pass-d-compiler-flags.patch
06_bootstrap-pic-default.patch
-07_Fix-storage-of-captured-lazy-parameters.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-d/ldc.git
More information about the pkg-d-commits
mailing list