https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92216
Bug ID: 92216 Summary: GDC generate duplicate symbols when mixins and interfaces are used to gather Product: gcc Version: 9.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: d Assignee: ibuclaw at gdcproject dot org Reporter: kozzi11 at gmail dot com Target Milestone: --- Created attachment 47109 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47109&action=edit Zip archive with b.d and c.d files There seems to be an issue with generating object symbols for mixins. In some cases gdc generate same symbols (not weak) in object files so there is a collision when linking. Trying to build gtkd package is one of examples. I have write small example to mitigate this issue. It is add as an attachment. $ gdc -c -o b.o b.d $ gdc -c -o c.o c.d $ gdc -o test.o b.o c.o ld: c.o: in function `_DT16_D1b1B8__mixin24getSMFZPv': c.d:(.text+0x27): multiple definition of `_DT16_D1b1B8__mixin24getSMFZPv'; b.o:b.d:(.text+0x38): first defined here I have try this with gcc 9.2 (gdc (GCC) 9.2.0) And with git gcc(gdc) 10 (from august) same issue for both versions