[gcc-6] 312/401: [ Iain Buclaw ] * Use needsCodegen rather than isRoot for determining the static/extern of a template symbol. Closes: #845377.
Ximin Luo
infinity0 at debian.org
Wed Apr 5 15:50:19 UTC 2017
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch pu/reproducible_builds
in repository gcc-6.
commit 7673d123c432c30e2c008149d6da0e51655aed5e
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date: Mon Dec 12 11:42:01 2016 +0000
[ Iain Buclaw ]
* Use needsCodegen rather than isRoot for determining the static/extern of a
template symbol. Closes: #845377.
git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-6@9174 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
debian/changelog | 4 ++++
debian/patches/gdc-845377.diff | 33 +++++++++++++++++++++++++++++++++
debian/rules.patch | 3 ++-
3 files changed, 39 insertions(+), 1 deletion(-)
diff --git a/debian/changelog b/debian/changelog
index 33f3863..f61c321 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -32,6 +32,10 @@ gcc-6 (6.2.1-6) UNRELEASED; urgency=medium
[ Svante Signell ]
* GNU/Hurd port for gccgo.
+ [ Iain Buclaw ]
+ * Use needsCodegen rather than isRoot for determining the static/extern of a
+ template symbol. Closes: #845377.
+
-- Matthias Klose <doko at debian.org> Mon, 12 Dec 2016 11:38:52 +0100
gcc-6 (6.2.1-5) unstable; urgency=medium
diff --git a/debian/patches/gdc-845377.diff b/debian/patches/gdc-845377.diff
new file mode 100644
index 0000000..b0cb091
--- /dev/null
+++ b/debian/patches/gdc-845377.diff
@@ -0,0 +1,33 @@
+Index: gcc-6-6.2.1/src/gcc/d/d-objfile.cc
+===================================================================
+--- gcc-6-6.2.1.orig/src/gcc/d/d-objfile.cc
++++ gcc-6-6.2.1/src/gcc/d/d-objfile.cc
+@@ -1727,21 +1727,17 @@ d_comdat_linkage(tree decl)
+ void
+ get_template_storage_info (Dsymbol *dsym, bool *local_p, bool *template_p)
+ {
+- *local_p = output_module_p(dsym->getModule());
++ TemplateInstance *ti = dsym->isInstantiated();
++ *local_p = false;
+ *template_p = false;
+- Dsymbol *sym = dsym->toParent();
+
+- while (sym)
++ if (ti != NULL)
+ {
+- TemplateInstance *ti = sym->isTemplateInstance();
+- if (ti)
+- {
+- *local_p = output_module_p(ti->minst);
+- *template_p = true;
+- break;
+- }
+- sym = sym->toParent();
++ *local_p = ti->needsCodegen();
++ *template_p = true;
+ }
++ else
++ *local_p = (dsym->getModule() && dsym->getModule()->isRoot());
+ }
+
+ // Set a DECL's STATIC and EXTERN based on the decl's storage class
diff --git a/debian/rules.patch b/debian/rules.patch
index b8bda00..1cf7fd4 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -198,7 +198,8 @@ ifeq ($(with_d),yes)
gdc-frontend-posix \
gdc-base-version \
gdc-profiledbuild \
- gdc-libphobos-link
+ gdc-libphobos-link \
+ gdc-845377
# gdc-multiarch
ifneq ($(GFDL_INVARIANT_FREE),yes)
debian_patches += gdc-6-doc
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-6.git
More information about the Reproducible-commits
mailing list