diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-03-30 11:37:30 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-03-31 15:54:45 +0200 |
commit | 48742e02d7136e60e8e91631d76403d56e4eee09 (patch) | |
tree | ea5c2c5b75c2484ac8d956b7e933e28a12cfae73 /gcc | |
parent | 1165109b401377a2b8028a7beaa9f50684649f2b (diff) | |
download | gcc-48742e02d7136e60e8e91631d76403d56e4eee09.zip gcc-48742e02d7136e60e8e91631d76403d56e4eee09.tar.gz gcc-48742e02d7136e60e8e91631d76403d56e4eee09.tar.bz2 |
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.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/d/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/d/typeinfo.cc | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 606f7f3..ea1d7d5 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,8 @@ +2020-03-31 Iain Buclaw <ibuclaw@gdcproject.org> + + * typeinfo.cc (TypeInfoVisitor::internal_reference): Call + d_comdat_linkage on generated decl. + 2020-03-22 Iain Buclaw <ibuclaw@gdcproject.org> PR d/93038 diff --git a/gcc/d/typeinfo.cc b/gcc/d/typeinfo.cc index 07011de..90a4494 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; |