digitalmars.D.announce - dmd 2.057 release
- Walter Bright (5/5) Dec 13 2011 Highlights are use of XMM floating point registers in 64 bit targets, an...
- Bernard Helyer (1/1) Dec 13 2011 Changelog isn't showing up for me.
- Jacob Carlborg (4/5) Dec 13 2011 Same here, latest change log is 2.056, which is empty.
- Walter Bright (2/5) Dec 13 2011 Andrei's working on uploading it. Sorry about the delay.
- Andrei Alexandrescu (3/10) Dec 14 2011 Yah, sorry.
- Andrej Mitrovic (14/14) Dec 13 2011 Why is the result of this different between 2.056 and 2.057?
- Jonathan M Davis (4/5) Dec 13 2011 Walter does the release, but Andrei updates the site. So, there's always...
- bearophile (9/10) Dec 14 2011 Thank you for the work. 2.057beta has allowed me to remove several work-...
- Dmitry Olshansky (16/22) Dec 14 2011 Indeed.
- Jacob Carlborg (4/10) Dec 14 2011 That's an impressive number of bug fixes and new features, nice.
- Jacob Carlborg (17/23) Dec 14 2011 What happened to arrays in this release:
- Walter Bright (8/22) Dec 14 2011 I don't remember if there was a bugzilla entry for it, but it's the obje...
- Jacob Carlborg (6/35) Dec 14 2011 I think it would be good if it's in the changelog, even if there is no
- Sean Kelly (6/47) Dec 14 2011 Ideally, every nontrivial change should have a bugzilla entry, even if t...
- Jonathan M Davis (4/35) Dec 14 2011 It's the first dmd bug on the list:
- Jacob Carlborg (4/39) Dec 14 2011 I see, thanks. I was search for "array" on the changelog page.
- Jonathan M Davis (7/48) Dec 14 2011 The names of bug reports are frequently not particularly informative, an...
- Jacob Carlborg (4/52) Dec 15 2011 Yeah, I guess.
- Jacob Carlborg (5/11) Dec 15 2011 I wonder if we can list breaking changes in a separate sections in the
- Walter Bright (3/4) Dec 15 2011 Any bug fix is a breaking change - code can and does depend on bugs (oft...
- Jacob Carlborg (6/11) Dec 15 2011 In this particular case it could just have been a design decision that
- Don (6/16) Dec 15 2011 Deprecating typedef is in the list of changed features, not in the list
- Jacob Carlborg (7/24) Dec 15 2011 Yes, I noticed typedef in the list, but in this case it would have been
- JoeCoder (2/7) Dec 16 2011 I've never seen code depend on an ICE :)
- bearophile (49/50) Dec 14 2011 They have closed a significant D2 hole.
- Andrei Alexandrescu (4/10) Dec 14 2011 Many thanks to all participants for this awesome release and in
- Adrian (59/67) Dec 14 2011 I have a strange crash of the new dmd 2.057 compiler.
- Walter Bright (2/3) Dec 14 2011 I can't do anything without a reproducible test case.
- Adrian (4/8) Dec 14 2011 If you want, I can sent you the whole source. Its nothing real
- Adrian (4/14) Dec 15 2011 I am little step forward. It has to do with the option for array bounds
- Adrian (15/19) Dec 15 2011 I tried to reduce the problem as much as possible and found out the
- Stephan (3/6) Dec 15 2011 sounds like this one i encountered last release already:
- Adrian (3/11) Dec 15 2011 yes looks pretty much the same. Its total weired, because it seems to
- Walter Bright (2/13) Dec 15 2011 How about adding your bug.zip to that report?
- Sean Kelly (5/34) Dec 15 2011 Sounds offset-dependent. I bet if you added and removed instructions in ...
- Peter Alexander (5/11) Dec 14 2011 Great release.
- Christian Manning (18/24) Dec 16 2011 I found a bug when slicing static arrays. It's not new to 2.057
- Jonathan M Davis (7/40) Dec 16 2011 It may bhttp://d.puremagic.com/issues/show_bug.cgi?id=4414
- Christian Manning (16/57) Dec 16 2011 It was just some mess around code, but I'll avoid it in the
- Jonathan M Davis (8/17) Dec 16 2011 That actually has exactly the same problem. You're slicing a temporary. ...
- Christian Manning (3/9) Dec 16 2011 Ah I get it now, thanks.
- bearophile (4/14) Dec 17 2011 Is it in Bugzilla?
- Christian Manning (3/17) Dec 17 2011 Looks to be the same issue as
- Caligo (3/3) Jan 02 2012 Considering the rate at which bugs are being discovered and fixed, would...
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (4/7) Jan 03 2012 Perhaps some kind of experimental releases would be better. It could
- Robert Clipsham (9/16) Jan 03 2012 Beta releases are made weeks before an actual release for testing on
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (4/19) Jan 03 2012 I mean something weekly or bi-weekly. Beta releases are only made very
- simendsjo (4/29) Jan 03 2012 I just asked about this in D, but as there is a discussion here already:...
-
Walter Bright
(3/5)
Jan 03 2012
We call them betas
. - =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (5/10) Jan 03 2012 That's not very practical for most users. Some kind of ready-to-download...
- Walter Bright (3/14) Jan 03 2012 Using a nightly build is not very practical for most users, either, prob...
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (8/26) Jan 03 2012 I don't know. There are many things in DMD that are far from bug-free,
- Sean Cavanaugh (3/21) Jan 03 2012 Well there is always the google (and mozilla) route of force-feeding the...
- Andrew Wiley (8/37) Jan 03 2012 They can get away with that because their users don't really care
- Jacob Carlborg (4/26) Jan 03 2012 They don't install nightly builds, do they?
- Bill Baxter (7/43) Jan 04 2012 Chrome and Firefox both have several different auto updating versions. F...
- Nick Sabalausky (7/27) Jan 03 2012 I don't remember if this feature has made it into a formal DVM release y...
- Jacob Carlborg (6/28) Jan 03 2012 No, it's not in a release yet, sorry. But I can make one. I was hoping
Highlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!
Dec 13 2011
On 2011-12-14 08:09, Bernard Helyer wrote:Changelog isn't showing up for me.Same here, latest change log is 2.056, which is empty. -- /Jacob Carlborg
Dec 13 2011
On 12/13/2011 11:18 PM, Jacob Carlborg wrote:On 2011-12-14 08:09, Bernard Helyer wrote:Andrei's working on uploading it. Sorry about the delay.Changelog isn't showing up for me.Same here, latest change log is 2.056, which is empty.
Dec 13 2011
On 12/14/11 1:44 AM, Walter Bright wrote:On 12/13/2011 11:18 PM, Jacob Carlborg wrote:Yah, sorry. AndreiOn 2011-12-14 08:09, Bernard Helyer wrote:Andrei's working on uploading it. Sorry about the delay.Changelog isn't showing up for me.Same here, latest change log is 2.056, which is empty.
Dec 14 2011
Why is the result of this different between 2.056 and 2.057? import std.stdio; import std.regex; void main() { string src = "4.5.1"; foreach (c; match(src, regex(r"(\d+)"))) writeln(c.hit); } 2.056: 4 5 1 2.057: 4
Dec 13 2011
On Wednesday, December 14, 2011 08:09:53 Bernard Helyer wrote:Changelog isn't showing up for me.Walter does the release, but Andrei updates the site. So, there's always a delay after a release before the site is updated. - Jonathan M Davis
Dec 13 2011
Walter:http://ftp.digitalmars.com/dmd.2.057.zipThank you for the work. 2.057beta has allowed me to remove several work-arounds in my D2 code. Some thinks I'd like to see some attention on, in 2.058: 1) Fixing import semantics (http://d.puremagic.com/issues/show_bug.cgi?id=313 https://github.com/D-Programming-Language/dmd/pull/190 ), this causes several troubles; 2) Face the problems with slice assignment syntax (the bug report is a mess, but the problem is real, "Syntax & semantics for array assigns": http://d.puremagic.com/issues/show_bug.cgi?id=3971, "Ambiguously designed array syntax": http://d.puremagic.com/issues/show_bug.cgi?id=4703 ). The sooner this is fixed, the better, because it implies a syntax breaking change; And an enhancement request too: 3) Discussing/implementing tuple unpacking syntax: https://github.com/D-Programming-Language/dmd/pull/341 (with a change I have suggested in comment 40: http://d.puremagic.com/issues/show_bug.cgi?id=6365#c40 ). Bye, bearophile
Dec 14 2011
On 14.12.2011 11:05, Walter Bright wrote:Highlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!Indeed. Yet I have to issue yet another warning about new std.regex compared with old one: import std.stdio; import std.regex; void main() { string src = "4.5.1"; foreach (c; match(src, regex(r"(\d+)"))) writeln(c.hit); } previously this will find all matches, now it finds only first one. To get all of matches use "g" option. Seems like 100% compatibility was next to impossible. -- Dmitry Olshansky
Dec 14 2011
On 2011-12-14 08:05, Walter Bright wrote:Highlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!That's an impressive number of bug fixes and new features, nice. -- /Jacob Carlborg
Dec 14 2011
On 2011-12-14 08:05, Walter Bright wrote:Highlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!What happened to arrays in this release: void foo (Object[] a) {} class Foo {} void main () { Foo[] b; foo(b); } The above code fails with the following message: main.d(54): Error: function main.foo (Object[] a) is not callable using argument types (Foo[]) main.d(54): Error: cannot implicitly convert expression (b) of type Foo[] to Object[] Have I missed something, I can't find this in the changelog? -- /Jacob Carlborg
Dec 14 2011
On 12/14/2011 1:59 AM, Jacob Carlborg wrote:What happened to arrays in this release: void foo (Object[] a) {} class Foo {} void main () { Foo[] b; foo(b); } The above code fails with the following message: main.d(54): Error: function main.foo (Object[] a) is not callable using argument types (Foo[]) main.d(54): Error: cannot implicitly convert expression (b) of type Foo[] to Object[] Have I missed something, I can't find this in the changelog?I don't remember if there was a bugzilla entry for it, but it's the object slicing problem. The thing is, main() expects b to be an array of Foo's. If foo() replaces one of the array elements with an Object, then b is no longer an array of Foo's, and can crash. Note that if you write foo as: void foo(const(Object)[] a) it will work.
Dec 14 2011
On 2011-12-14 11:10, Walter Bright wrote:On 12/14/2011 1:59 AM, Jacob Carlborg wrote:I think it would be good if it's in the changelog, even if there is no bugzilla entry for it.What happened to arrays in this release: void foo (Object[] a) {} class Foo {} void main () { Foo[] b; foo(b); } The above code fails with the following message: main.d(54): Error: function main.foo (Object[] a) is not callable using argument types (Foo[]) main.d(54): Error: cannot implicitly convert expression (b) of type Foo[] to Object[] Have I missed something, I can't find this in the changelog?I don't remember if there was a bugzilla entry for it, but it's the object slicing problem. The thing is, main() expects b to be an array of Foo's. If foo() replaces one of the array elements with an Object, then b is no longer an array of Foo's, and can crash.Note that if you write foo as: void foo(const(Object)[] a) it will work.Ok, thanks. -- /Jacob Carlborg
Dec 14 2011
Ideally, every nontrivial change should have a bugzilla entry, even if that m= eans its created by whoever made the change. It's too easy to miss things ot= herwise.=20 Sent from my iPhone On Dec 14, 2011, at 3:11 AM, Jacob Carlborg <doob me.com> wrote:On 2011-12-14 11:10, Walter Bright wrote:zilla entry for it.On 12/14/2011 1:59 AM, Jacob Carlborg wrote:=20 I think it would be good if it's in the changelog, even if there is no bug=What happened to arrays in this release: =20 void foo (Object[] a) {} class Foo {} =20 void main () { Foo[] b; foo(b); } =20 The above code fails with the following message: =20 main.d(54): Error: function main.foo (Object[] a) is not callable using argument types (Foo[]) main.d(54): Error: cannot implicitly convert expression (b) of type Foo[] to Object[] =20 Have I missed something, I can't find this in the changelog?=20 I don't remember if there was a bugzilla entry for it, but it's the object slicing problem. The thing is, main() expects b to be an array of Foo's. If foo() replaces one of the array elements with an Object, then b is no longer an array of Foo's, and can crash.=20Note that if you write foo as: =20 void foo(const(Object)[] a) =20 it will work.=20 Ok, thanks. =20 --=20 /Jacob Carlborg
Dec 14 2011
On Wednesday, December 14, 2011 12:11:03 Jacob Carlborg wrote:On 2011-12-14 11:10, Walter Bright wrote:It's the first dmd bug on the list: http://d.puremagic.com/issues/show_bug.cgi?id=2095 - Jonathan M DavisOn 12/14/2011 1:59 AM, Jacob Carlborg wrote:I think it would be good if it's in the changelog, even if there is no bugzilla entry for it.What happened to arrays in this release: void foo (Object[] a) {} class Foo {} void main () { Foo[] b; foo(b); } The above code fails with the following message: main.d(54): Error: function main.foo (Object[] a) is not callable using argument types (Foo[]) main.d(54): Error: cannot implicitly convert expression (b) of type Foo[] to Object[] Have I missed something, I can't find this in the changelog?I don't remember if there was a bugzilla entry for it, but it's the object slicing problem. The thing is, main() expects b to be an array of Foo's. If foo() replaces one of the array elements with an Object, then b is no longer an array of Foo's, and can crash.
Dec 14 2011
On 2011-12-14 18:00, Jonathan M Davis wrote:On Wednesday, December 14, 2011 12:11:03 Jacob Carlborg wrote:I see, thanks. I was search for "array" on the changelog page. -- /Jacob CarlborgOn 2011-12-14 11:10, Walter Bright wrote:It's the first dmd bug on the list: http://d.puremagic.com/issues/show_bug.cgi?id=2095 - Jonathan M DavisOn 12/14/2011 1:59 AM, Jacob Carlborg wrote:I think it would be good if it's in the changelog, even if there is no bugzilla entry for it.What happened to arrays in this release: void foo (Object[] a) {} class Foo {} void main () { Foo[] b; foo(b); } The above code fails with the following message: main.d(54): Error: function main.foo (Object[] a) is not callable using argument types (Foo[]) main.d(54): Error: cannot implicitly convert expression (b) of type Foo[] to Object[] Have I missed something, I can't find this in the changelog?I don't remember if there was a bugzilla entry for it, but it's the object slicing problem. The thing is, main() expects b to be an array of Foo's. If foo() replaces one of the array elements with an Object, then b is no longer an array of Foo's, and can crash.
Dec 14 2011
On Thursday, December 15, 2011 08:19:39 Jacob Carlborg wrote:On 2011-12-14 18:00, Jonathan M Davis wrote:The names of bug reports are frequently not particularly informative, and even if they are, they frequently don't contain the necessary information to understand the effects of fixing the bug. If you want to actually know what's really being fixed, you frequently have to actually read all of the bug reports rather than looking at their titles. - Jonathan M DavisOn Wednesday, December 14, 2011 12:11:03 Jacob Carlborg wrote:I see, thanks. I was search for "array" on the changelog page.On 2011-12-14 11:10, Walter Bright wrote:It's the first dmd bug on the list: http://d.puremagic.com/issues/show_bug.cgi?id=2095 - Jonathan M DavisOn 12/14/2011 1:59 AM, Jacob Carlborg wrote:I think it would be good if it's in the changelog, even if there is no bugzilla entry for it.What happened to arrays in this release: void foo (Object[] a) {} class Foo {} void main () { Foo[] b; foo(b); } The above code fails with the following message: main.d(54): Error: function main.foo (Object[] a) is not callable using argument types (Foo[]) main.d(54): Error: cannot implicitly convert expression (b) of type Foo[] to Object[] Have I missed something, I can't find this in the changelog?I don't remember if there was a bugzilla entry for it, but it's the object slicing problem. The thing is, main() expects b to be an array of Foo's. If foo() replaces one of the array elements with an Object, then b is no longer an array of Foo's, and can crash.
Dec 14 2011
On 2011-12-15 08:43, Jonathan M Davis wrote:On Thursday, December 15, 2011 08:19:39 Jacob Carlborg wrote:Yeah, I guess. -- /Jacob CarlborgOn 2011-12-14 18:00, Jonathan M Davis wrote:The names of bug reports are frequently not particularly informative, and even if they are, they frequently don't contain the necessary information to understand the effects of fixing the bug. If you want to actually know what's really being fixed, you frequently have to actually read all of the bug reports rather than looking at their titles. - Jonathan M DavisOn Wednesday, December 14, 2011 12:11:03 Jacob Carlborg wrote:I see, thanks. I was search for "array" on the changelog page.On 2011-12-14 11:10, Walter Bright wrote:It's the first dmd bug on the list: http://d.puremagic.com/issues/show_bug.cgi?id=2095 - Jonathan M DavisOn 12/14/2011 1:59 AM, Jacob Carlborg wrote:I think it would be good if it's in the changelog, even if there is no bugzilla entry for it.What happened to arrays in this release: void foo (Object[] a) {} class Foo {} void main () { Foo[] b; foo(b); } The above code fails with the following message: main.d(54): Error: function main.foo (Object[] a) is not callable using argument types (Foo[]) main.d(54): Error: cannot implicitly convert expression (b) of type Foo[] to Object[] Have I missed something, I can't find this in the changelog?I don't remember if there was a bugzilla entry for it, but it's the object slicing problem. The thing is, main() expects b to be an array of Foo's. If foo() replaces one of the array elements with an Object, then b is no longer an array of Foo's, and can crash.
Dec 15 2011
On 2011-12-15 08:43, Jonathan M Davis wrote:The names of bug reports are frequently not particularly informative, and even if they are, they frequently don't contain the necessary information to understand the effects of fixing the bug. If you want to actually know what's really being fixed, you frequently have to actually read all of the bug reports rather than looking at their titles. - Jonathan M DavisI wonder if we can list breaking changes in a separate sections in the changelog. -- /Jacob Carlborg
Dec 15 2011
On 12/15/2011 4:16 AM, Jacob Carlborg wrote:I wonder if we can list breaking changes in a separate sections in the changelog.Any bug fix is a breaking change - code can and does depend on bugs (often inadvertently).
Dec 15 2011
On 2011-12-15 20:25, Walter Bright wrote:On 12/15/2011 4:16 AM, Jacob Carlborg wrote:In this particular case it could just have been a design decision that has changed. And BTW, deprecating typdef can't be considered a bug fix, that would be perfect for a list of breaking changes. -- /Jacob CarlborgI wonder if we can list breaking changes in a separate sections in the changelog.Any bug fix is a breaking change - code can and does depend on bugs (often inadvertently).
Dec 15 2011
On 15.12.2011 21:34, Jacob Carlborg wrote:On 2011-12-15 20:25, Walter Bright wrote:Deprecating typedef is in the list of changed features, not in the list of fixed bugs. Choosing which list things go in is sometimes a bit arbitrary, though. Occasionally in the changelog, major breaking changes were shown in red. That hasn't happened for ages.On 12/15/2011 4:16 AM, Jacob Carlborg wrote:In this particular case it could just have been a design decision that has changed. And BTW, deprecating typdef can't be considered a bug fix, that would be perfect for a list of breaking changes.I wonder if we can list breaking changes in a separate sections in the changelog.Any bug fix is a breaking change - code can and does depend on bugs (often inadvertently).
Dec 15 2011
On 2011-12-15 22:28, Don wrote:On 15.12.2011 21:34, Jacob Carlborg wrote:Yes, I noticed typedef in the list, but in this case it would have been nice if it had its own section in the list. I know that typedef has been "deprecated" for a while but I had no idea it would be official in this release. -- /Jacob CarlborgOn 2011-12-15 20:25, Walter Bright wrote:Deprecating typedef is in the list of changed features, not in the list of fixed bugs. Choosing which list things go in is sometimes a bit arbitrary, though. Occasionally in the changelog, major breaking changes were shown in red. That hasn't happened for ages.On 12/15/2011 4:16 AM, Jacob Carlborg wrote:In this particular case it could just have been a design decision that has changed. And BTW, deprecating typdef can't be considered a bug fix, that would be perfect for a list of breaking changes.I wonder if we can list breaking changes in a separate sections in the changelog.Any bug fix is a breaking change - code can and does depend on bugs (often inadvertently).
Dec 15 2011
On 12/15/2011 2:25 PM, Walter Bright wrote:On 12/15/2011 4:16 AM, Jacob Carlborg wrote:I've never seen code depend on an ICE :)I wonder if we can list breaking changes in a separate sections in the changelog.Any bug fix is a breaking change - code can and does depend on bugs (often inadvertently).
Dec 16 2011
Jacob Carlborg:What happened to arrays in this release:They have closed a significant D2 hole. As Walter has explained, this code used to compile fine and then crash at runtime: class Foo { void spam() {} } class Bar {} void foo(Object[] a) { a[0] = new Bar; } void main() { Foo[] b = [new Foo]; foo(b); b[0].spam(); // crash } Now instead it gives this at compile-time: test.d(10): Error: function test.foo (Object[] a) is not callable using argument types (Foo[]) test.d(10): Error: cannot implicitly convert expression (b) of type Foo[] to Object[] Now a modified foo is accepted if its 'a' argoment is constant, because you can't modify the array contents (unless you cast away const): class Foo { void spam() {} } void foo(const(Object[]) a) { } void main() { Foo[] b = [new Foo]; foo(b); } This Java code compiles with no errors: class Foo { Foo() {} void spam() {} } class Bar { Bar() {} } class Test { static void foo(Object[] a) { a[0] = new Bar(); // line 10, runtime error here } public static void main(String[] args) { Foo[] b = {new Foo()}; Test.foo(b); b[0].spam(); // line 15 } } Instead of crashing at run-time at line 15, it raises a java.lang.ArrayStoreException at runtime at line 10, where at runtime it tests that in a[0] you put a Foo() instead of something else like a Bar() or Object(). So (in theory) the JavaVM has to perform a runtime test every time you perform an assignment of a class reference to an array cell. Bye, bearophile
Dec 14 2011
On 12/14/11 1:05 AM, Walter Bright wrote:Highlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!Many thanks to all participants for this awesome release and in particular for the intense pace of the past few days! Andrei
Dec 14 2011
Am 14.12.2011 08:05, schrieb Walter Bright:Highlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!I have a strange crash of the new dmd 2.057 compiler. I am running the compiler from inside VisualD. In debug mode the code compiles fine. In release mode the compiler crashes and Windows starts the Just-In-Time-Debugger saying that there is an unhandled exception inside dmd.exe. as a side note: the same code did compile with 2.056 ! When I try to find the source of the error it gets really funky strange: int main(string[] argv) { writeln("Hello D-World!"); auto i = uniform(0, 15); // line A auto c = 0; if (c++ < c) // line B writeln("Why did they call it c++"); // line C //writeln(bench!(doStringTest)); // line D //writeln(bench!(doBench1)); // line E //writeln(bench!(doBench2)); // line F //writeln(bench!(doBench3)); // line G // main1(argv); // line I // return 0; // line J //} // line K //int main1(string[] argv) // line L //{ // line M ... much more code } - the code above crashes - when I comment out line A it compiles - when I leave A comment out B and C - dmd gets into an endless loop ( I waited several minutes for the process to terminate) - when I leave A and uncomment I to M it compiles - when I uncomment A to G it compiles - when I uncomment A to F it crashes now I tried the following: int main(string[] argv) { writeln("Hello D-World!"); auto i = uniform(0, 15); // line A auto c = 0; if (c++ < c) // line B writeln("Why did they call it c++"); // line C //writeln(bench!(doStringTest)); // line D //writeln(bench!(doBench1)); // line E //writeln(bench!(doBench2)); // line F //writeln(bench!(doBench3)); // line G main1(argv); // line I return 0; // line J } // line K int main1(string[] argv) // line L { // line M ... much more code } - as soon as I uncomment line G it compiles with any combination of line D to F uncommented - when line G is commented out any combination of line D to F uncommented crashes. - when I comment out line "I" any other combination compiles I really would like to find a minimal stripped down version of the code, but as soon as I try to find it, the behavior changes.
Dec 14 2011
On 12/14/2011 6:59 AM, Adrian wrote:I have a strange crash of the new dmd 2.057 compiler.I can't do anything without a reproducible test case.
Dec 14 2011
Am 14.12.2011 18:57, schrieb Walter Bright:On 12/14/2011 6:59 AM, Adrian wrote:If you want, I can sent you the whole source. Its nothing real important, because I am playing around with D and porting some code to test. Adrian.I have a strange crash of the new dmd 2.057 compiler.I can't do anything without a reproducible test case.
Dec 14 2011
Am 15.12.2011 07:50, schrieb Adrian:Am 14.12.2011 18:57, schrieb Walter Bright:I am little step forward. It has to do with the option for array bounds checking. When disabled dmd crashes, when enabled not. Therefor the debug version worked and the release not.On 12/14/2011 6:59 AM, Adrian wrote:If you want, I can sent you the whole source. Its nothing real important, because I am playing around with D and porting some code to test. Adrian.I have a strange crash of the new dmd 2.057 compiler.I can't do anything without a reproducible test case.
Dec 15 2011
Am 14.12.2011 18:57, schrieb Walter Bright:On 12/14/2011 6:59 AM, Adrian wrote:I tried to reduce the problem as much as possible and found out the following: - I have include a bug.bat which shows the commandline I used. - for the crash to happen the project has to be compiled with the switches -noboundscheck and -deps="bug.dep". if you omit one of them the crash wont show. - the module btree.d has to be compiled with the project, even if it is not referenced from main.d. if it is not in the command line - no crash - if you comment out the first writeln("Hello D-World!") in main() - no crash - if you comment out the other two writeln(..) in main() - no crash hope you can reproduce it on another system - it sounds too odd to me and if it is not reproducible on another system I feel a bit crazy. Adrian.I have a strange crash of the new dmd 2.057 compiler.I can't do anything without a reproducible test case.
Dec 15 2011
On 15.12.2011 12:02, Adrian wrote:- for the crash to happen the project has to be compiled with the switches -noboundscheck and -deps="bug.dep". if you omit one of them the crash wont show.sounds like this one i encountered last release already: http://d.puremagic.com/issues/show_bug.cgi?id=6951
Dec 15 2011
Am 15.12.2011 12:31, schrieb Stephan:On 15.12.2011 12:02, Adrian wrote:yes looks pretty much the same. Its total weired, because it seems to depend on code which is elsewhere.- for the crash to happen the project has to be compiled with the switches -noboundscheck and -deps="bug.dep". if you omit one of them the crash wont show.sounds like this one i encountered last release already: http://d.puremagic.com/issues/show_bug.cgi?id=6951
Dec 15 2011
On 12/15/2011 6:31 AM, Adrian wrote:Am 15.12.2011 12:31, schrieb Stephan:How about adding your bug.zip to that report?On 15.12.2011 12:02, Adrian wrote:yes looks pretty much the same. Its total weired, because it seems to depend on code which is elsewhere.- for the crash to happen the project has to be compiled with the switches -noboundscheck and -deps="bug.dep". if you omit one of them the crash wont show.sounds like this one i encountered last release already: http://d.puremagic.com/issues/show_bug.cgi?id=6951
Dec 15 2011
Sounds offset-dependent. I bet if you added and removed instructions in the r= ight place you could reduce it a lot further.=20 Sent from my iPhone On Dec 15, 2011, at 3:02 AM, Adrian <adrian.remove-nospam veith-system.de> w= rote:Am 14.12.2011 18:57, schrieb Walter Bright:On 12/14/2011 6:59 AM, Adrian wrote:=20 I tried to reduce the problem as much as possible and found out the following: =20 - I have include a bug.bat which shows the commandline I used. =20 - for the crash to happen the project has to be compiled with the switches -noboundscheck and -deps=3D"bug.dep". if you omit one of them the crash wont show. =20 - the module btree.d has to be compiled with the project, even if it is not referenced from main.d. if it is not in the command line - no crash =20 - if you comment out the first writeln("Hello D-World!") in main() - no crash =20 - if you comment out the other two writeln(..) in main() - no crash =20 =20 hope you can reproduce it on another system - it sounds too odd to me and if it is not reproducible on another system I feel a bit crazy. =20 Adrian. <bug.zip>I have a strange crash of the new dmd 2.057 compiler.=20 I can't do anything without a reproducible test case.
Dec 15 2011
On 14/12/11 7:05 AM, Walter Bright wrote:Highlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!Great release. 64-bit OSX is working for my project without any problems. Had to change some uint's to size_t's and fix some inline asm but everything was fine after that :-)
Dec 14 2011
On Wednesday, 14 December 2011 at 07:05:25 UTC, Walter Bright wrote:Highlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!I found a bug when slicing static arrays. It's not new to 2.057 but I totally forgot about it (my bad) and didn't simplify a test case. auto x() { ubyte[4] a; return a; } auto y() { return x()[1..$]; } void main() { y(); } Gives: Internal error: ..\ztc\cgcs.c 354 Is this known or should I file a bug?
Dec 16 2011
On Friday, December 16, 2011 16:26:11 Christian Manning wrote:On Wednesday, 14 December 2011 at 07:05:25 UTC, Walter Bright wrote:It may bhttp://d.puremagic.com/issues/show_bug.cgi?id=4414 I'd point out though that that is really bad code, which should probably give an error when you try and compile it (though it obviously shouldn't cause the compiler to ICE regardless). http://d.puremagic.com/issues/show_bug.cgi?id=7087 - Jonathan M DavisHighlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!I found a bug when slicing static arrays. It's not new to 2.057 but I totally forgot about it (my bad) and didn't simplify a test case. auto x() { ubyte[4] a; return a; } auto y() { return x()[1..$]; } void main() { y(); } Gives: Internal error: ..\ztc\cgcs.c 354 Is this known or should I file a bug?
Dec 16 2011
On Friday, 16 December 2011 at 16:43:29 UTC, Jonathan M Davis wrote:On Friday, December 16, 2011 16:26:11 Christian Manning wrote:It was just some mess around code, but I'll avoid it in the future, so thanks for pointing it out :) It does indeed look to be the same problem as http://d.puremagic.com/issues/show_bug.cgi?id=4414 I should also point out that the appearance of the error is dependant on the slice size. How about this as a better test case? ubyte[4] a; auto x() { return a; } void main() { auto b = x()[1..$]; }On Wednesday, 14 December 2011 at 07:05:25 UTC, Walter Bright wrote:It may bhttp://d.puremagic.com/issues/show_bug.cgi?id=4414 I'd point out though that that is really bad code, which should probably give an error when you try and compile it (though it obviously shouldn't cause the compiler to ICE regardless). http://d.puremagic.com/issues/show_bug.cgi?id=7087 - Jonathan M DavisHighlights are use of XMM floating point registers in 64 bit targets, and now supporting OS X 64 as a target. http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.057.zip A lot of people put a ton of effort into making this D's best release ever. Thanks!I found a bug when slicing static arrays. It's not new to 2.057 but I totally forgot about it (my bad) and didn't simplify a test case. auto x() { ubyte[4] a; return a; } auto y() { return x()[1..$]; } void main() { y(); } Gives: Internal error: ..\ztc\cgcs.c 354 Is this known or should I file a bug?
Dec 16 2011
On Friday, December 16, 2011 22:37:50 Christian Manning wrote:How about this as a better test case? ubyte[4] a; auto x() { return a; } void main() { auto b = x()[1..$]; }That actually has exactly the same problem. You're slicing a temporary. You can't slice a static array unless it's an actual variable, or you're going to have problems. b points to a slice of a static array which doesn't exist anymore. It _might_ work depending on how the registers used and how the stack is laid out, but it's still a bad idea. Regardless, the compiler shouldn't be ICEing though. - Jonathan M Davis
Dec 16 2011
On Friday, 16 December 2011 at 22:48:21 UTC, Jonathan M Davis wrote:That actually has exactly the same problem. You're slicing a temporary. You can't slice a static array unless it's an actual variable, or you're going to have problems. b points to a slice of a static array which doesn't exist anymore. It _might_ work depending on how the registers used and how the stack is laid out, but it's still a bad idea.Ah I get it now, thanks.
Dec 16 2011
Jonathan M Davis:On Friday, December 16, 2011 22:37:50 Christian Manning wrote:Is it in Bugzilla? Bye, bearophileubyte[4] a; auto x() { return a; } void main() { auto b = x()[1..$]; }... Regardless, the compiler shouldn't be ICEing though.
Dec 17 2011
On Saturday, 17 December 2011 at 11:02:41 UTC, bearophile wrote:Jonathan M Davis:Looks to be the same issue as http://d.puremagic.com/issues/show_bug.cgi?id=4414On Friday, December 16, 2011 22:37:50 Christian Manning wrote:Is it in Bugzilla? Bye, bearophileubyte[4] a; auto x() { return a; } void main() { auto b = x()[1..$]; }... Regardless, the compiler shouldn't be ICEing though.
Dec 17 2011
Considering the rate at which bugs are being discovered and fixed, would it be possible to shorten the release cycle, say, every 2-3 weeks instead of 1-2 months?
Jan 02 2012
On 03-01-2012 08:49, Caligo wrote:Considering the rate at which bugs are being discovered and fixed, would it be possible to shorten the release cycle, say, every 2-3 weeks instead of 1-2 months?Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster. - Alex
Jan 03 2012
On 03/01/2012 14:49, Alex Rønne Petersen wrote:On 03-01-2012 08:49, Caligo wrote:Beta releases are made weeks before an actual release for testing on this mailing list: http://lists.puremagic.com/cgi-bin/mailman/listinfo/dmd-beta Web interface: http://dfeed.kimsufi.thecybershadow.net/discussion/group/dmd-beta -- Robert http://octarineparrot.com/Considering the rate at which bugs are being discovered and fixed, would it be possible to shorten the release cycle, say, every 2-3 weeks instead of 1-2 months?Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster. - Alex
Jan 03 2012
On 03-01-2012 15:56, Robert Clipsham wrote:On 03/01/2012 14:49, Alex Rønne Petersen wrote:I mean something weekly or bi-weekly. Beta releases are only made very close to the actual release. - AlexOn 03-01-2012 08:49, Caligo wrote:Beta releases are made weeks before an actual release for testing on this mailing list: http://lists.puremagic.com/cgi-bin/mailman/listinfo/dmd-beta Web interface: http://dfeed.kimsufi.thecybershadow.net/discussion/group/dmd-betaConsidering the rate at which bugs are being discovered and fixed, would it be possible to shorten the release cycle, say, every 2-3 weeks instead of 1-2 months?Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster. - Alex
Jan 03 2012
On 03.01.2012 16:07, Alex Rønne Petersen wrote:On 03-01-2012 15:56, Robert Clipsham wrote:I just asked about this in D, but as there is a discussion here already: The auto-tester builds dmd++, why not let the latest binary that successfully passed the tests be available for download?On 03/01/2012 14:49, Alex Rønne Petersen wrote:I mean something weekly or bi-weekly. Beta releases are only made very close to the actual release. - AlexOn 03-01-2012 08:49, Caligo wrote:Beta releases are made weeks before an actual release for testing on this mailing list: http://lists.puremagic.com/cgi-bin/mailman/listinfo/dmd-beta Web interface: http://dfeed.kimsufi.thecybershadow.net/discussion/group/dmd-betaConsidering the rate at which bugs are being discovered and fixed, would it be possible to shorten the release cycle, say, every 2-3 weeks instead of 1-2 months?Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster. - Alex
Jan 03 2012
On 1/3/2012 6:49 AM, Alex Rønne Petersen wrote:Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas <g>. But anyone can pull the latest from github and use it, many do.
Jan 03 2012
On 03-01-2012 19:47, Walter Bright wrote:On 1/3/2012 6:49 AM, Alex Rønne Petersen wrote:That's not very practical for most users. Some kind of ready-to-download builds would be much better. As others suggested, the auto-tester publishing builds for download would be ideal. - AlexPerhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas <g>. But anyone can pull the latest from github and use it, many do.
Jan 03 2012
On 1/3/2012 10:55 AM, Alex Rønne Petersen wrote:On 03-01-2012 19:47, Walter Bright wrote:Using a nightly build is not very practical for most users, either, probably the same group.On 1/3/2012 6:49 AM, Alex Rønne Petersen wrote:That's not very practical for most users. Some kind of ready-to-download builds would be much better. As others suggested, the auto-tester publishing builds for download would be ideal.Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas <g>. But anyone can pull the latest from github and use it, many do.
Jan 03 2012
On 03-01-2012 20:25, Walter Bright wrote:On 1/3/2012 10:55 AM, Alex Rønne Petersen wrote:I don't know. There are many things in DMD that are far from bug-free, and some people would like to actually use those features. So when fixes are committed, it'd be nice to just be able to switch to a nightly build. We have to bear in mind that while D itself is fairly mature, it is still very much an evolving language, and thus, as is the compiler. For this reason, sticking to a stable release is not always practical. - AlexOn 03-01-2012 19:47, Walter Bright wrote:Using a nightly build is not very practical for most users, either, probably the same group.On 1/3/2012 6:49 AM, Alex Rønne Petersen wrote:That's not very practical for most users. Some kind of ready-to-download builds would be much better. As others suggested, the auto-tester publishing builds for download would be ideal.Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas <g>. But anyone can pull the latest from github and use it, many do.
Jan 03 2012
On 1/3/2012 1:25 PM, Walter Bright wrote:On 1/3/2012 10:55 AM, Alex Rønne Petersen wrote:Well there is always the google (and mozilla) route of force-feeding the latest binaries to everyone :)On 03-01-2012 19:47, Walter Bright wrote:Using a nightly build is not very practical for most users, either, probably the same group.On 1/3/2012 6:49 AM, Alex Rønne Petersen wrote:That's not very practical for most users. Some kind of ready-to-download builds would be much better. As others suggested, the auto-tester publishing builds for download would be ideal.Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas <g>. But anyone can pull the latest from github and use it, many do.
Jan 03 2012
On Tue, Jan 3, 2012 at 5:02 PM, Sean Cavanaugh <WorksOnMyMachine gmail.com> wrote:On 1/3/2012 1:25 PM, Walter Bright wrote:They can get away with that because their users don't really care about versions. As long as Chrome starts and browses when I want it to, I don't care whether Google pushes updates out behind my back. Development tools are a different game because versions introduce breaking changes and silently changing versions will just create a horde of angry developers.On 1/3/2012 10:55 AM, Alex R=F8nne Petersen wrote:Well there is always the google (and mozilla) route of force-feeding the latest binaries to everyone :)On 03-01-2012 19:47, Walter Bright wrote:Using a nightly build is not very practical for most users, either, probably the same group.On 1/3/2012 6:49 AM, Alex R=F8nne Petersen wrote:That's not very practical for most users. Some kind of ready-to-download builds would be much better. As others suggested, the auto-tester publishing builds for download would be ideal.Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas <g>. But anyone can pull the latest from github and use it, many do.
Jan 03 2012
On 2012-01-04 00:02, Sean Cavanaugh wrote:On 1/3/2012 1:25 PM, Walter Bright wrote:They don't install nightly builds, do they? -- /Jacob CarlborgOn 1/3/2012 10:55 AM, Alex Rønne Petersen wrote:Well there is always the google (and mozilla) route of force-feeding the latest binaries to everyone :)On 03-01-2012 19:47, Walter Bright wrote:Using a nightly build is not very practical for most users, either, probably the same group.On 1/3/2012 6:49 AM, Alex Rønne Petersen wrote:That's not very practical for most users. Some kind of ready-to-download builds would be much better. As others suggested, the auto-tester publishing builds for download would be ideal.Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas <g>. But anyone can pull the latest from github and use it, many do.
Jan 03 2012
Chrome and Firefox both have several different auto updating versions. For Chrome there's stable, beta, dev channel, and canary (which is basically a nightly build). So there are lots of opportunities for bugs to be found by developers before they go live in the stable release channel. --bb Sent from my Android. On Jan 4, 2012 1:43 AM, "Jacob Carlborg" <doob me.com> wrote:On 2012-01-04 00:02, Sean Cavanaugh wrote:On 1/3/2012 1:25 PM, Walter Bright wrote:They don't install nightly builds, do they? -- /Jacob CarlborgOn 1/3/2012 10:55 AM, Alex R=F8nne Petersen wrote:Well there is always the google (and mozilla) route of force-feeding the latest binaries to everyone :)On 03-01-2012 19:47, Walter Bright wrote:Using a nightly build is not very practical for most users, either, probably the same group.On 1/3/2012 6:49 AM, Alex R=F8nne Petersen wrote:That's not very practical for most users. Some kind of ready-to-download builds would be much better. As others suggested, the auto-tester publishing builds for download would be ideal.Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas <g>. But anyone can pull the latest from github and use it, many do.
Jan 04 2012
"Alex Rønne Petersen" <xtzgzorex gmail.com> wrote in message news:jdviuj$16e$1 digitalmars.com...On 03-01-2012 19:47, Walter Bright wrote:I don't remember if this feature has made it into a formal DVM release yet or not, but it's been in the main DVM master branch for awhile:On 1/3/2012 6:49 AM, Alex Rønne Petersen wrote:That's not very practical for most users. Some kind of ready-to-download builds would be much better.Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas <g>. But anyone can pull the latest from github and use it, many do.git clone https://github.com/D-Programming-Language/dmd.git git clone https://github.com/D-Programming-Language/druntime.git git clone https://github.com/D-Programming-Language/phobos.git git clone https://github.com/D-Programming-Language/tools.git dvm compileDMD32 D Compiler v2.0... ...etc... Of course, that completely ignores the results of the auto-tester.As others suggested, the auto-tester publishing builds for download would be ideal. - Alex
Jan 03 2012
On 2012-01-03 20:46, Nick Sabalausky wrote:"Alex Rønne Petersen"<xtzgzorex gmail.com> wrote in message news:jdviuj$16e$1 digitalmars.com...No, it's not in a release yet, sorry. But I can make one. I was hoping to make DVM download the source from github automatically but I haven't had time to implement that yet. I've been focused on other projects lately. -- /Jacob CarlborgOn 03-01-2012 19:47, Walter Bright wrote:I don't remember if this feature has made it into a formal DVM release yet or not, but it's been in the main DVM master branch for awhile:On 1/3/2012 6:49 AM, Alex Rønne Petersen wrote:That's not very practical for most users. Some kind of ready-to-download builds would be much better.Perhaps some kind of experimental releases would be better. It could help getting new features out to the community (and thus tested) faster.We call them betas<g>. But anyone can pull the latest from github and use it, many do.git clone https://github.com/D-Programming-Language/dmd.git git clone https://github.com/D-Programming-Language/druntime.git git clone https://github.com/D-Programming-Language/phobos.git git clone https://github.com/D-Programming-Language/tools.git dvm compile
Jan 03 2012