[pkg-d-commits] [ldc] 17/211: Merge ddmd tag 2.071.2-b6
Matthias Klumpp
mak at moszumanska.debian.org
Sun Apr 23 22:36:05 UTC 2017
This is an automated email from the git hooks/post-receive script.
mak pushed a commit to annotated tag v1.1.0
in repository ldc.
commit d48b80996d936caa9c13a8596f2d3e0f05ba937c
Author: Johan Engelen <jbc.engelen at gmail.com>
Date: Sat Sep 17 15:22:13 2016 +0200
Merge ddmd tag 2.071.2-b6
---
CMakeLists.txt | 2 +-
ddmd/dscope.d | 20 ++++++++++++++++++--
ddmd/dsymbol.d | 4 ----
tests/d2/dmd-testsuite | 2 +-
4 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a9c0100..ed6e2a8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -58,7 +58,7 @@ set(LDC_VERSION "1.0.0") # May be overridden by git hash tag
set(DMDFE_MAJOR_VERSION 2)
set(DMDFE_MINOR_VERSION 0)
set(DMDFE_PATCH_VERSION 71)
-set(DMDFE_FIX_LEVEL 2-b2) # Comment out if not used
+set(DMDFE_FIX_LEVEL 2-b6) # Comment out if not used
set(DMD_VERSION ${DMDFE_MAJOR_VERSION}.${DMDFE_MINOR_VERSION}${DMDFE_PATCH_VERSION})
if(DEFINED DMDFE_FIX_LEVEL)
diff --git a/ddmd/dscope.d b/ddmd/dscope.d
index fdb06c2..e9b6056 100644
--- a/ddmd/dscope.d
+++ b/ddmd/dscope.d
@@ -584,14 +584,30 @@ else
*/
extern (C++) static void deprecation10378(Loc loc, Dsymbol sold, Dsymbol snew)
{
+ // Bugzilla 15857
+ //
+ // The overloadset found via the new lookup rules is either
+ // equal or a subset of the overloadset found via the old
+ // lookup rules, so it suffices to compare the dimension to
+ // check for equality.
+ OverloadSet osold, osnew;
+ if (sold && (osold = sold.isOverloadSet()) !is null &&
+ snew && (osnew = snew.isOverloadSet()) !is null &&
+ osold.a.dim == osnew.a.dim)
+ return;
+
OutBuffer buf;
buf.writestring("local import search method found ");
- if (sold)
+ if (osold)
+ buf.printf("%s %s (%d overloads)", sold.kind(), sold.toPrettyChars(), cast(int) osold.a.dim);
+ else if (sold)
buf.printf("%s %s", sold.kind(), sold.toPrettyChars());
else
buf.writestring("nothing");
buf.writestring(" instead of ");
- if (snew)
+ if (osnew)
+ buf.printf("%s %s (%d overloads)", snew.kind(), snew.toPrettyChars(), cast(int) osnew.a.dim);
+ else if (snew)
buf.printf("%s %s", snew.kind(), snew.toPrettyChars());
else
buf.writestring("nothing");
diff --git a/ddmd/dsymbol.d b/ddmd/dsymbol.d
index 53c7939..46e1f4b 100644
--- a/ddmd/dsymbol.d
+++ b/ddmd/dsymbol.d
@@ -1407,11 +1407,7 @@ public:
if (a)
{
if (!s.isOverloadSet())
- {
a = mergeOverloadSet(ident, a, s);
- if (symtab)
- symtabInsert(a); // Bugzilla 15857
- }
s = a;
}
// TODO: remove once private symbol visibility has been deprecated
diff --git a/tests/d2/dmd-testsuite b/tests/d2/dmd-testsuite
index 568d05d..eeebe9a 160000
--- a/tests/d2/dmd-testsuite
+++ b/tests/d2/dmd-testsuite
@@ -1 +1 @@
-Subproject commit 568d05dcb9a169c7a91860269b8508735758bb83
+Subproject commit eeebe9a301ec05fb5dbdb79f2b567f2061943790
--
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