From 48742e02d7136e60e8e91631d76403d56e4eee09 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Mon, 30 Mar 2020 11:37:30 +0200 Subject: [PATCH] d: Use d_comdat_linkage on generated internal decl. This adds weak linkage to internal TypeInfo data on top of the existing DECL_COMDAT, which helps in the unlikely event that two of the same TypeInfo data ends up in multiple places. gcc/d/ChangeLog: * typeinfo.cc (TypeInfoVisitor::internal_reference): Call d_comdat_linkage on generated decl. --- gcc/d/ChangeLog | 5 +++++ gcc/d/typeinfo.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 606f7f30eb04..ea1d7d5c896f 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,8 @@ +2020-03-31 Iain Buclaw + + * typeinfo.cc (TypeInfoVisitor::internal_reference): Call + d_comdat_linkage on generated decl. + 2020-03-22 Iain Buclaw PR d/93038 diff --git a/gcc/d/typeinfo.cc b/gcc/d/typeinfo.cc index 07011deaf6f9..90a44944f4ce 100644 --- a/gcc/d/typeinfo.cc +++ b/gcc/d/typeinfo.cc @@ -358,7 +358,7 @@ class TypeInfoVisitor : public Visitor DECL_EXTERNAL (decl) = 0; TREE_PUBLIC (decl) = 1; DECL_VISIBILITY (decl) = VISIBILITY_INTERNAL; - DECL_COMDAT (decl) = 1; + d_comdat_linkage (decl); d_pushdecl (decl); return decl; -- 2.47.2