www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - dmd 1.071 and 2.056 release

reply Walter Bright <newshound2 digitalmars.com> writes:
100 bugs fixed!

http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.071.zip

http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.056.zip
Oct 26 2011
next sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
This is the first release in a while that hasn't broken any of my code. Yay!
Oct 26 2011
parent "Nick Sabalausky" <a a.a> writes:
"Andrej Mitrovic" <andrej.mitrovich gmail.com> wrote in message 
news:mailman.517.1319656575.24802.digitalmars-d-announce puremagic.com...
 This is the first release in a while that hasn't broken any of my code. 
 Yay!

It broke one thing in mine...but that's just because I was accidentally doing something that violated immutable and DMD didn't catch it until now. So "Yay!" from here, too :)
Oct 26 2011
prev sibling next sibling parent reply "Nick Sabalausky" <a a.a> writes:
Great release :)

Although it's not in the changelog (I didn't even think to check for it 
there until now), there's a bunch of RDMD issues fixed too:

------------------------------------------------

https://github.com/D-Programming-Language/tools/pull/14 (Don't pass .di 
files to DMD.)

This fixes a problem that frequently made RDMD fail to work on projects that 
import a static lib and .di files. Real-world examples of the problem are 
here:

http://www.dsource.org/forums/viewtopic.php?t=5856
http://www.linuxquestions.org/questions/programming-9/d-is-d-programming-language-just-too-much-898862/#post4452127

------------------------------------------------

https://github.com/D-Programming-Language/tools/pull/14 (rdmd fixes)

This is killer pull request from CyberShadow, improving a number of things:

- Fixes usage of rdmd by multiple users on the same Posix system.

- Using --build-only, by default, places the exe in the current directory 
rather than the usual tmp directory. The --build-only option is frequently 
(always, AFAIK) used like an alternate to bud/rebuild/xfbuild/etc, so this 
default makes much more sense.

- RDMD should now work within VisualD

- Don't append a second extension to -of path on Windows

- A couple of things that had been fixed in an old pre-github patch, but 
failed to get applied correctly (thank god we're on github now!!):

1. Don't mistake .map filenames as the .d file to build.

2. Don't use std.getopt.config.stopOnFirstNonOption. As CyberShadow says: 
"rdmd already scans the command line to find the point where option parsing 
should stop. Including this getopt option breaks using rdmd with e.g. 
DMD's -map option."
Oct 26 2011
parent Trass3r <un known.com> writes:
 - Using --build-only, by default, places the exe in the current directory
 rather than the usual tmp directory. The --build-only option is  
 frequently (always, AFAIK) used like an alternate to  
 bud/rebuild/xfbuild/etc

Yep, build-only should be the default! And running the exe afterwards an option.
Oct 27 2011
prev sibling next sibling parent reply "Nick Sabalausky" <a a.a> writes:
http://www.d-programming-language.org/phobos/std_string.html

Have the docs just not been updated yet, or did I do something wrong in the 
doc comments for my std.string changes?
Oct 26 2011
parent reply "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Wednesday, October 26, 2011 14:20 Nick Sabalausky wrote:
 http://www.d-programming-language.org/phobos/std_string.html
 
 Have the docs just not been updated yet, or did I do something wrong in the
 doc comments for my std.string changes?

It's Andrei that manages the site, whereas Walter does the dmd release, and it's been less than 3 hours since the release, so I expect that Andrei hasn't had the chance to update the site yet. - Jonathan M Davis
Oct 26 2011
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/26/11 4:25 PM, Jonathan M Davis wrote:
 On Wednesday, October 26, 2011 14:20 Nick Sabalausky wrote:
 http://www.d-programming-language.org/phobos/std_string.html

 Have the docs just not been updated yet, or did I do something wrong in the
 doc comments for my std.string changes?

It's Andrei that manages the site, whereas Walter does the dmd release, and it's been less than 3 hours since the release, so I expect that Andrei hasn't had the chance to update the site yet. - Jonathan M Davis

Site updated. Andrei
Oct 30 2011
prev sibling next sibling parent reply John Chapman <j ch.com> writes:
Anyone else experience slow compiles? Seems about 2-3 times slower than 2.055.

Also, resulting executables are nearly twice as large on Windows.

John.
Oct 26 2011
next sibling parent reply "Mike James" <foo bar.com> writes:
"John Chapman" <j ch.com> wrote in message 
news:j8a00m$176m$1 digitalmars.com...
 Anyone else experience slow compiles? Seems about 2-3 times slower than 
 2.055.

 Also, resulting executables are nearly twice as large on Windows.

 John.

Yeh, a simple app I've written has gone from 514k to 1098k in release. Where has all the extra 'goodness' come from :-O -=mike=-
Oct 27 2011
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 10/27/2011 7:00 AM, Mike James wrote:
 Yeh, a simple app I've written has gone from 514k to 1098k in release. Where
has
 all the extra 'goodness' come from :-O

Take a look at the .map file (run dmc with -map). It'll tell you where the size comes from.
Oct 27 2011
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 10/27/2011 11:51 AM, Andrej Mitrovic wrote:
 On 10/27/11, Walter Bright<newshound2 digitalmars.com>  wrote:
 On 10/27/2011 7:00 AM, Mike James wrote:
 Yeh, a simple app I've written has gone from 514k to 1098k in release.
 Where has
 all the extra 'goodness' come from :-O

Take a look at the .map file (run dmc with -map). It'll tell you where the size comes from.

This is the only section that seem to have a big difference in length: 2.055: Length Name Class 00071CAEH _TEXT CODE 32-bit 2.056: Length Name Class 00101A1AH _TEXT CODE 32-bit Other than that, 2.056 actually creates fewer symbols than 2.055.

Take a look at the symbols, too.
Oct 27 2011
prev sibling next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 10/27/2011 12:27 PM, Trass3r wrote:
 Hurray, template bloat ;)

Actually, likely not. I did make a change reduced the granularity of the object files (multiobj). If that's the source of the large size increase, I need to revisit that.
Oct 27 2011
parent Walter Bright <newshound2 digitalmars.com> writes:
On 10/27/2011 1:48 PM, Vladimir Panteleev wrote:
 On Thu, 27 Oct 2011 22:30:16 +0300, Walter Bright <newshound2 digitalmars.com>
 wrote:

 Actually, likely not. I did make a change reduced the granularity of the
 object files (multiobj). If that's the source of the large size increase, I
 need to revisit that.

What are the benefits of reducing smart linkage granularity?

Fixing a bug where static ctors/dtors needed to be referenced by the ModuleInfo.
Oct 27 2011
prev sibling parent "Mike James" <foo bar.com> writes:
"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:j8c7gj$2ctn$2 digitalmars.com...
 On 10/27/2011 7:00 AM, Mike James wrote:
 Yeh, a simple app I've written has gone from 514k to 1098k in release. 
 Where has
 all the extra 'goodness' come from :-O

Take a look at the .map file (run dmc with -map). It'll tell you where the size comes from.

More interestingly if you open up the executable in a hex editor there are huge chunks of the .exe padded with zeros... -=mike=-
Oct 28 2011
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 10/27/11, Walter Bright <newshound2 digitalmars.com> wrote:
 On 10/27/2011 7:00 AM, Mike James wrote:
 Yeh, a simple app I've written has gone from 514k to 1098k in release.
 Where has
 all the extra 'goodness' come from :-O

Take a look at the .map file (run dmc with -map). It'll tell you where the size comes from.

This is the only section that seem to have a big difference in length: 2.055: Length Name Class 00071CAEH _TEXT CODE 32-bit 2.056: Length Name Class 00101A1AH _TEXT CODE 32-bit Other than that, 2.056 actually creates fewer symbols than 2.055.
Oct 27 2011
prev sibling next sibling parent Trass3r <un known.com> writes:
 This is the only section that seem to have a big difference in length:

 2.055:
 Length           Name             Class
 00071CAEH  _TEXT             CODE 32-bit

 2.056:
 Length     Name                   Class
 00101A1AH  _TEXT              CODE 32-bit

Hurray, template bloat ;)
Oct 27 2011
prev sibling next sibling parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Thu, 27 Oct 2011 22:30:16 +0300, Walter Bright  
<newshound2 digitalmars.com> wrote:

 Actually, likely not. I did make a change reduced the granularity of the  
 object files (multiobj). If that's the source of the large size  
 increase, I need to revisit that.

What are the benefits of reducing smart linkage granularity? -- Best regards, Vladimir mailto:vladimir thecybershadow.net
Oct 27 2011
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 10/27/11, Trass3r <un known.com> wrote:
 Hurray, template bloat ;)

You bet. And I thought I was clever writing all those templates. The linker flashed me internals just recently, that's a sure sign it's had enough templates for one day. lol.
Oct 27 2011
prev sibling next sibling parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Fri, 28 Oct 2011 11:42:33 +0300, Mike James <foo bar.com> wrote:

 More interestingly if you open up the executable in a hex editor there  
 are huge chunks of the .exe padded with zeros...

Most likely related to this issue: http://d.puremagic.com/issues/show_bug.cgi?id=2254 -- Best regards, Vladimir mailto:vladimir thecybershadow.net
Oct 28 2011
prev sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 10/28/11, Vladimir Panteleev <vladimir thecybershadow.net> wrote:
 Most likely related to this issue

Interesting.. If I compile my app via dmd myapp.d <dependencies.lib> I get a 2.149 KB exe. If instead I do "dmd -c myapp.d" and then do "dmd myapp.obj <dependencies.lib> I get a 1.117KB exe. That's kind of odd. If I use Unilink to link the app object file to the dependencies I get a 340Kb working exe. Now that's something!
Oct 28 2011
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 10/26/11, Nick Sabalausky <a a.a> wrote:
 "Andrej Mitrovic" <andrej.mitrovich gmail.com> wrote in message
 news:mailman.517.1319656575.24802.digitalmars-d-announce puremagic.com...
 This is the first release in a while that hasn't broken any of my code.
 Yay!

It broke one thing in mine...but that's just because I was accidentally doing something that violated immutable and DMD didn't catch it until now. So "Yay!" from here, too :)

Actually I had one little problem, that outdated Gdi32 import lib. I quickly replaced it with a new one though. I hope we can start putting newer import libs into future DMD releases, there are several projects out there that depend on it (DGUI and maybe even DWT, I think they both distribute import libs).
Oct 26 2011
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 10/27/11, John Chapman <j ch.com> wrote:
 Anyone else experience slow compiles? Seems about 2-3 times slower than
 2.055.

So far I'm getting only slightly slower builds (on the order of +100 msecs), but it does seem to be consistently slower.
 Also, resulting executables are nearly twice as large on Windows.

On one of my apps: 2.055: no flags: 545 kb -g: 1567 kb 2.056: no flags: 1115 kb -g: 2143 kb I thought -g was to blame but they've doubled regardless.
Oct 26 2011
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2011-10-26 20:34, Walter Bright wrote:
 100 bugs fixed!

 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.071.zip

 http://www.digitalmars.com/d/2.0/changelog.html
 http://ftp.digitalmars.com/dmd.2.056.zip

Impressive as always. I noticed there seem to be a couple of D2 related fixes in the D1 changelog: Bugzilla 6073: Cannot pass __traits(parent, ...) as a template parameter if it is a module Then there are a couple of fixes related to regressions for D2, don't know if they apply to D1 as well, just look for Regression(2.0xy). -- /Jacob Carlborg
Oct 26 2011
parent reply Don <nospam nospam.com> writes:
On 27.10.2011 08:48, Jacob Carlborg wrote:
 On 2011-10-26 20:34, Walter Bright wrote:
 100 bugs fixed!

 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.071.zip

 http://www.digitalmars.com/d/2.0/changelog.html
 http://ftp.digitalmars.com/dmd.2.056.zip

Impressive as always. I noticed there seem to be a couple of D2 related fixes in the D1 changelog: Bugzilla 6073: Cannot pass __traits(parent, ...) as a template parameter if it is a module Then there are a couple of fixes related to regressions for D2, don't know if they apply to D1 as well, just look for Regression(2.0xy).

They do apply. In every case, some code was modified on the D1 compiler. Not all of the test cases apply to D1 though (sometimes there are bugs in the compiler internals, where we don't have a D1 test case that triggers them).
Oct 30 2011
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 10/30/2011 11:01 PM, Don wrote:
 They do apply. In every case, some code was modified on the D1 compiler. Not
all
 of the test cases apply to D1 though (sometimes there are bugs in the compiler
 internals, where we don't have a D1 test case that triggers them).

Just to chime in, whenever I fix a bug in D2 I check to see if it is applicable to D1, and merge the patch into D1 if it is.
Oct 31 2011
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2011-10-31 07:01, Don wrote:
 On 27.10.2011 08:48, Jacob Carlborg wrote:
 On 2011-10-26 20:34, Walter Bright wrote:
 100 bugs fixed!

 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.071.zip

 http://www.digitalmars.com/d/2.0/changelog.html
 http://ftp.digitalmars.com/dmd.2.056.zip

Impressive as always. I noticed there seem to be a couple of D2 related fixes in the D1 changelog: Bugzilla 6073: Cannot pass __traits(parent, ...) as a template parameter if it is a module Then there are a couple of fixes related to regressions for D2, don't know if they apply to D1 as well, just look for Regression(2.0xy).

They do apply. In every case, some code was modified on the D1 compiler. Not all of the test cases apply to D1 though (sometimes there are bugs in the compiler internals, where we don't have a D1 test case that triggers them).

Ok, I see. -- /Jacob Carlborg
Oct 31 2011
prev sibling next sibling parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Wed, 26 Oct 2011 21:34:35 +0300, Walter Bright  
<newshound2 digitalmars.com> wrote:

 100 bugs fixed!

I'm only saddened that my std.socket cleanup pull request[1] wasn't merged, despite being ready for merging for over a month of inactivity. That's a few more months for my open-source network code not building with a stock DMD. Oh well, I guess I'll move the new std.socket to my network library if it comes to that. [1]: https://github.com/D-Programming-Language/phobos/pull/260 -- Best regards, Vladimir mailto:vladimir thecybershadow.net
Oct 27 2011
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 10/27/2011 3:16 AM, Vladimir Panteleev wrote:
 I'm only saddened that my std.socket cleanup pull request[1] wasn't merged,
 despite being ready for merging for over a month of inactivity. That's a few
 more months for my open-source network code not building with a stock DMD. Oh
 well, I guess I'll move the new std.socket to my network library if it comes to
 that.

 [1]: https://github.com/D-Programming-Language/phobos/pull/260

Sorry about that. There are still a lot of great outstanding pull requests. There's nothing dramatic that marked this release, it's simply that enough was pulled to justify putting out a release.
Oct 27 2011
parent Walter Bright <newshound2 digitalmars.com> writes:
On 10/27/2011 12:19 PM, Steven Schveighoffer wrote:
 Sorry about that. There are still a lot of great outstanding pull requests.
 There's nothing dramatic that marked this release, it's simply that enough was
 pulled to justify putting out a release.

*ahem* inout working?

Inout working is important, time will tell if it is dramatic.
Oct 27 2011
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/27/11 5:16 AM, Vladimir Panteleev wrote:
 On Wed, 26 Oct 2011 21:34:35 +0300, Walter Bright
 <newshound2 digitalmars.com> wrote:

 100 bugs fixed!

I'm only saddened that my std.socket cleanup pull request[1] wasn't merged, despite being ready for merging for over a month of inactivity. That's a few more months for my open-source network code not building with a stock DMD. Oh well, I guess I'll move the new std.socket to my network library if it comes to that. [1]: https://github.com/D-Programming-Language/phobos/pull/260

Let's make sure we review and pull that in soon. Andrei
Oct 30 2011
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Thu, 27 Oct 2011 14:20:09 -0400, Walter Bright  
<newshound2 digitalmars.com> wrote:

 On 10/27/2011 3:16 AM, Vladimir Panteleev wrote:
 I'm only saddened that my std.socket cleanup pull request[1] wasn't  
 merged,
 despite being ready for merging for over a month of inactivity. That's  
 a few
 more months for my open-source network code not building with a stock  
 DMD. Oh
 well, I guess I'll move the new std.socket to my network library if it  
 comes to
 that.

 [1]: https://github.com/D-Programming-Language/phobos/pull/260

Sorry about that. There are still a lot of great outstanding pull requests. There's nothing dramatic that marked this release, it's simply that enough was pulled to justify putting out a release.

*ahem* inout working? -Steve
Oct 27 2011
prev sibling next sibling parent Steve Teale <steve.teale britseyeview.com> writes:
 I'm only saddened that my std.socket cleanup pull request[1] wasn't
 merged, despite being ready for merging for over a month of inactivity.

Vladimir, What's new and different in your std.sockets. Should I be using it for the native MySQL client? Steve
Nov 03 2011
prev sibling next sibling parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Thu, 03 Nov 2011 17:44:22 +0200, Steve Teale  
<steve.teale britseyeview.com> wrote:

 What's new and different in your std.sockets.

There's a list in this post: http://www.digitalmars.com/d/archives/digitalmars/D/Clean-up_of_std.socket_144324.html
 Should I be using it for the native MySQL client?

If you use name lookup in your code, you should probably switch to the new API when the next DMD comes out. -- Best regards, Vladimir mailto:vladimir thecybershadow.net
Nov 03 2011
prev sibling parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
On 26/10/2011 19:34, Walter Bright wrote:
<snip>
 http://www.digitalmars.com/d/2.0/changelog.html

Version D 2.056 Sep 10, 2011 New/Changed Features Druntime Bugs Fixed Library Bugs Fixed DMD Bugs Fixed ??? Stewart.
Dec 04 2011
parent storm <linker.storm gmail.com> writes:
+1
Dec 05 2011