[Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved

2012-05-03 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8016


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au


--- Comment #1 from Don clugd...@yahoo.com.au 2012-05-03 00:39:41 PDT ---
As for bug 7745, with D2, it doesn't need -release -inline.

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


[Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved

2012-05-03 Thread d-bugmail
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: ---


[Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved

2012-05-03 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8016



--- Comment #3 from Leandro Lucarella leandro.lucare...@sociomantic.com 
2012-05-03 03:21:07 PDT ---
 https://github.com/D-Programming-Language/dmd/pull/920

Looks like this test case is exposing more bugs than we were aware of!

This pull request fixes the original problem I had (compiling tango CDGC),
which is the test case without the forceSemantic() trick.

Using the forceSemantic() trick doesn't work in D1 but doesn't look like a
regression, at least is present in 1.070 and 1.071.

The patch only fixes the problem partially though, with the patch you don't get
the multiple definition error but you get an undefined reference error instead,
so is a step forward but not a fix. But again, this is not a regression in D2,
the problem is present at least before the fix for 2962.

I'll report another bug with the D1-only bug that's fixed by this pull request,
so we can close that one when the pull is merged, but can keep this one open
(but without the regression severity).

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


[Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved

2012-05-03 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8016



--- Comment #4 from Leandro Lucarella leandro.lucare...@sociomantic.com 
2012-05-03 03:45:02 PDT ---
Added bug 8023.

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


[Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved

2012-05-03 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8016


Leandro Lucarella leandro.lucare...@sociomantic.com changed:

   What|Removed |Added

   Keywords|pull|
   Severity|regression  |normal


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