-
- Downloads
d: Add TARGET_D_TEMPLATES_ALWAYS_COMDAT
Following up on the fix for PR99914, when testing on MinGW, it was found not to support weak in the same way as on ELF or Mach-O targets. So the linkage has been reverted back to COMDAT for that target, however in order to properly support overriding functions and variables, all declarations with external linkage must be put on COMDAT. For this a new target hook has been added to control the behavior. gcc/ChangeLog: PR d/99914 * config/i386/winnt-d.c (TARGET_D_TEMPLATES_ALWAYS_COMDAT): Define. * doc/tm.texi: Regenerate. * doc/tm.texi.in (D language and ABI): Add @hook for TARGET_D_TEMPLATES_ALWAYS_COMDAT. gcc/d/ChangeLog: PR d/99914 * d-target.def (d_templates_always_comdat): New hook. * d-tree.h (mark_needed): Remove prototype. * decl.cc: Include d-target.h. (mark_needed): Rename to... (d_mark_needed): ...this. Make static. (set_linkage_for_decl): Put variables in comdat if d_templates_always_comdat.
Showing
- gcc/config/i386/winnt-d.c 5 additions, 0 deletionsgcc/config/i386/winnt-d.c
- gcc/d/d-target.def 8 additions, 0 deletionsgcc/d/d-target.def
- gcc/d/d-tree.h 0 additions, 1 deletiongcc/d/d-tree.h
- gcc/d/decl.cc 15 additions, 2 deletionsgcc/d/decl.cc
- gcc/doc/tm.texi 6 additions, 0 deletionsgcc/doc/tm.texi
- gcc/doc/tm.texi.in 2 additions, 0 deletionsgcc/doc/tm.texi.in
Loading
Please register or sign in to comment