Thread overview | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
May 03, 2012 [Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 Don <clugdbug@yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |clugdbug@yahoo.com.au --- Comment #1 from Don <clugdbug@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: ------- |
May 03, 2012 [Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 --- Comment #2 from Don <clugdbug@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: ------- |
May 03, 2012 [Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 --- Comment #3 from Leandro Lucarella <leandro.lucarella@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: ------- |
May 03, 2012 [Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 --- Comment #4 from Leandro Lucarella <leandro.lucarella@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: ------- |
May 03, 2012 [Issue 8016] (Regression git) Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 Leandro Lucarella <leandro.lucarella@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: ------- |
May 03, 2012 [Issue 8016] Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 --- Comment #7 from github-bugzilla@puremagic.com 2012-05-03 11:55:02 PDT --- Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/d420faebda45eb27596697594a61ecd2a6d3b3d7 Fix issue 8016 Regression Methods defined in external object files when template alias parameter is involved Make the fix for bug 2962 a bit less aggressive. Still passes all test cases for 2962. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
May 03, 2012 [Issue 8016] Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla@digitalmars.com Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
May 03, 2012 [Issue 8016] Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 --- Comment #8 from github-bugzilla@puremagic.com 2012-05-03 13:28:18 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/fb797c20e97ccfe18e0ec483dc8373e8028991de Add test case for bug 8016 https://github.com/D-Programming-Language/dmd/commit/731fb84247f170d7de8ae091f90c61134e548c1e Merge pull request #921 from llucax/test8016 Add test case for bug 8016 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
May 04, 2012 [Issue 8016] Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 --- Comment #9 from Walter Bright <bugzilla@digitalmars.com> 2012-05-03 20:19:02 PDT --- The test cases were reverted because they failed in the auto-tester. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
May 04, 2012 [Issue 8016] Methods defined in external object files when template alias parameter is involved | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8016 Leandro Lucarella <leandro.lucarella@sociomantic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |INVALID --- Comment #10 from Leandro Lucarella <leandro.lucarella@sociomantic.com> 2012-05-04 02:00:44 PDT --- (In reply to comment #9) > The test cases were reverted because they failed in the auto-tester. This is because that patch only partially fix this issue, it seems that there are 2 issues in this test case and only one is being fix in the patch. The patch completely fixes bug 8023 though. So please re-apply pull #922 (now pull #923: https://github.com/D-Programming-Language/dmd/pull/923). Wait for the autotester to run to make sure is passing now that the fix for 8023 is merged. I'm sorry I made such a mess of this bug report, but it was quite tricky because I kept discovering bugs exposed by it. I will close this bug as INVALID and open a new one with a proper description of the issue that is left after the patch. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation