http://d.puremagic.com/issues/show_bug.cgi?id=8016



--- Comment #2 from Don <clugd...@yahoo.com.au> 2012-05-03 02:04:54 PDT ---
Here's what happens.
When parsing m2, it imports m1. The static assert forces it to run semantic on
f(). This instantiates template t.
t gets added to the list of instantiated templates *of module m2*.

Before the fix for bug 2962 was made, template t was written to m2.o with weak
linkage. This was strictly unnecessary, but relatively harmless because of the
weak linkage. But the template that was written may have been wrong, if it hit
bug 2962. Now that bug 2962 is fixed, it writes f. 

This pull request changes it so that it only writes f if it is part of a
template, and will therefore have weak linkage. That still fixes all test cases
in bug 2962.

https://github.com/D-Programming-Language/dmd/pull/920

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to