www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DMD 1.028 and 2.012 releases

reply Walter Bright <newshound1 digitalmars.com> writes:
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.028.zip

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

Yes, you read that right, struct destructors but no struct constructors yet.
Mar 06 2008
next sibling parent reply BCS <ao pathlink.com> writes:
Reply to Walter,

 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.028.zip
 http://www.digitalmars.com/d/2.0/changelog.html
 http://ftp.digitalmars.com/dmd.2.012.zip
 Yes, you read that right, struct destructors but no struct
 constructors yet.
 

opImplicitCast (Yummy!! :)
Mar 06 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
BCS wrote:
 opImplicitCast (Yummy!! :)

That isn't implemented yet, either :(
Mar 06 2008
next sibling parent "Saaa" <empty needmail.com> writes:
 BCS wrote:
 opImplicitCast (Yummy!! :)

That isn't implemented yet, either :(

lol Thanks anyways!
Mar 06 2008
prev sibling parent BCS <ao pathlink.com> writes:
Reply to Walter,

 BCS wrote:
 
 opImplicitCast (Yummy!! :)
 


Well Dr. Pavlov, what do you expect me to do when you ring the bell? <g>
Mar 06 2008
prev sibling next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Walter Bright wrote:
 
 
 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.028.zip
 
 http://www.digitalmars.com/d/2.0/changelog.html
 http://ftp.digitalmars.com/dmd.2.012.zip
 
 Yes, you read that right, struct destructors but no struct constructors 
 yet.

*is flooded with happiness* Thank you; this release is awesome!
Mar 06 2008
prev sibling next sibling parent Derek Parnell <derek nomail.afraid.org> writes:
On Thu, 06 Mar 2008 21:35:42 -0800, Walter Bright wrote:

 http://ftp.digitalmars.com/dmd.2.012.zip

OMG! Thanks for all your efforts. This pace is outstanding. I don't even mind regression testing again this weekend ;-) -- Derek (skype: derek.j.parnell) Melbourne, Australia 7/03/2008 6:29:29 PM
Mar 06 2008
prev sibling next sibling parent reply nobody <nobody impossible.de> writes:
Walter Bright Wrote:

 
 
 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.028.zip
 
 http://www.digitalmars.com/d/2.0/changelog.html
 http://ftp.digitalmars.com/dmd.2.012.zip
 
 Yes, you read that right, struct destructors but no struct constructors yet.

Hello, i can't compile programs with writef under Linux. import std.stdio; void main() { writef("Hello World\n"); } dmd hello.d hello.o: In function `_D3std6format80__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterAxaZv': hello.d:(.text._D3std6format80__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFi eWriterAxaZv+0xa6): undefined reference to `_D3std6format10FormatInfo6flDashMFbZv' hello.d:(.text._D3std6format80__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFi eWriterAxaZv+0xfe): undefined reference to `_D3std6format10FormatInfo6flDashMFbZv' hello.o: In function `_D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6format10FormatInfo': hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma 10FormatInfo+0x73): undefined reference to `_D3std6format10FormatInfo6flDashMFbZv' hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma 10FormatInfo+0x82): undefined reference to `_D3std6format10FormatInfo6flPlusMFbZv' hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma 10FormatInfo+0x91): undefined reference to `_D3std6format10FormatInfo6flHashMFbZv' hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma 10FormatInfo+0xa0): undefined reference to `_D3std6format10FormatInfo6flZeroMFbZv' hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma 10FormatInfo+0xaf): undefined reference to `_D3std6format10FormatInfo7flSpaceMFbZv' collect2: ld gab 1 als Ende-Status zurück --- errorlevel 1 Switch i back to 2.0.10, all compiles fine.
Mar 06 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
nobody wrote:
 i can't compile programs with writef under Linux.
 
 import std.stdio;
 void main() {
     writef("Hello World\n");
  }
 
 dmd hello.d
 hello.o: In function
`_D3std6format80__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterAxaZv':
 hello.d:(.text._D3std6format80__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFi
eWriterAxaZv+0xa6): undefined reference to
`_D3std6format10FormatInfo6flDashMFbZv'
 hello.d:(.text._D3std6format80__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFi
eWriterAxaZv+0xfe): undefined reference to
`_D3std6format10FormatInfo6flDashMFbZv'
 hello.o: In function
`_D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6format10FormatInfo':
 hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma
10FormatInfo+0x73): undefined reference to
`_D3std6format10FormatInfo6flDashMFbZv'
 hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma
10FormatInfo+0x82): undefined reference to
`_D3std6format10FormatInfo6flPlusMFbZv'
 hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma
10FormatInfo+0x91): undefined reference to
`_D3std6format10FormatInfo6flHashMFbZv'
 hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma
10FormatInfo+0xa0): undefined reference to
`_D3std6format10FormatInfo6flZeroMFbZv'
 hello.d:(.text._D3std6format25__T15parseFormatSpecTAxaZ15parseFormatSpecFKAxaZS3std6forma
10FormatInfo+0xaf): undefined reference to
`_D3std6format10FormatInfo7flSpaceMFbZv'
 collect2: ld gab 1 als Ende-Status zurück
 --- errorlevel 1
 
 Switch i back to 2.0.10, all compiles fine.

It works when I try it. I suspect a libphobos2.a mismatch problem on your system. Try blowing away every libphobos2.a on your system and reinstall.
Mar 06 2008
parent reply =?ISO-8859-1?Q?S=F6nke_Ludwig?= writes:
Walter Bright schrieb:
 
 It works when I try it. I suspect a libphobos2.a mismatch problem on 
 your system. Try blowing away every libphobos2.a on your system and 
 reinstall.

I'm getting similar errors (on 32-bit linux, too - haven't tested on windows). There are no other libphobos2.a's other than the one from the 2.012 zip.
Mar 06 2008
parent reply somebody <some where.com> writes:
I got similar link errors too.  Maybe libphobos2.a shipped in 2.012 zip is
wrong?


In function
`_D3std6format84__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaTkTaZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterAxakaZv':
inner.d:(.text._D3std6format84__T14formattedWriteTS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterTaTkTaZ14formattedWriteFKS3std5stdio25__T17PrivateFileWriterTaZ17PrivateFileWriterAxakaZv
+0xd7)&#65306;&#23545;‘_D3std6format10FormatInfo6flDashMFbZv’

...


== Quote from Sönke_Ludwig (ludwig informatik_dot_uni-luebeck.de)'s article
 Walter Bright schrieb:
 It works when I try it. I suspect a libphobos2.a mismatch problem on
 your system. Try blowing away every libphobos2.a on your system and
 reinstall.

There are no other libphobos2.a's other than the one from the 2.012 zip.

Mar 07 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
somebody wrote:
 I got similar link errors too.  Maybe libphobos2.a shipped in 2.012 zip is
wrong?

Gak! You're right. I just uploaded a replacement. Meanwhile, the QA staff has been sacked.
Mar 07 2008
parent nobody <nobody impossible.de> writes:
Brad Roberts Wrote:

 Walter Bright wrote:
 somebody wrote:
 I got similar link errors too.  Maybe libphobos2.a shipped in 2.012 
 zip is wrong?

Gak! You're right. I just uploaded a replacement. Meanwhile, the QA staff has been sacked.

... twice. The correct version is up and I've verified that it fixes the problem I could reproduce. I've closed the bug. The relevant info bears repeating since the filename was left the same for the corrected .zip file. To check to make sure you have the right one, here's the relevant info for the fixed files: libphobos.a size: 1669414 md5sum: e90f6bfb31ce9a678a8acbfb206cd1bf dmd.2.012.zip size: 5336394 md5sum: 6e0aae81028e24e6ecc866f1b1f439bd Later, Brad

Thank you. It worked
Mar 07 2008
prev sibling next sibling parent =?ISO-8859-1?Q?S=F6nke_Ludwig?= writes:
Great release! Now that's really a bunch of rough corners less when comparing
to 
2.007/8. The const system should now be fully usable, which is really nice. 
(I'll keep my mouth shut about tail-const class references ;)

And indeed a few 'o == null' errors were just catched by the compiler :). 
Considering that most of this happened in parts of the project which were 
written by a 'D newbie' coming from a C++ background, an error message like 
"Cannot compare contents of 'null'. Use 'is' instead of '==' when comparing for 
identity." might be a good instrument to educate such users.

I'm getting some linker errors, too - but that will have to wait until tonight.
Mar 06 2008
prev sibling next sibling parent Brad Roberts <braddr puremagic.com> writes:
Sönke Ludwig wrote:
 Walter Bright schrieb:
 It works when I try it. I suspect a libphobos2.a mismatch problem on 
 your system. Try blowing away every libphobos2.a on your system and 
 reinstall.

I'm getting similar errors (on 32-bit linux, too - haven't tested on windows). There are no other libphobos2.a's other than the one from the 2.012 zip.

I'm seeing this as well, with the released library. My own build works fine. I've opened a bug report so it can be tracked appropriately. http://d.puremagic.com/issues/show_bug.cgi?id=1895 Later, Brad
Mar 07 2008
prev sibling next sibling parent Brad Roberts <braddr puremagic.com> writes:
Walter Bright wrote:
 somebody wrote:
 I got similar link errors too.  Maybe libphobos2.a shipped in 2.012 
 zip is wrong?

Gak! You're right. I just uploaded a replacement. Meanwhile, the QA staff has been sacked.

... twice. The correct version is up and I've verified that it fixes the problem I could reproduce. I've closed the bug. The relevant info bears repeating since the filename was left the same for the corrected .zip file. To check to make sure you have the right one, here's the relevant info for the fixed files: libphobos.a size: 1669414 md5sum: e90f6bfb31ce9a678a8acbfb206cd1bf dmd.2.012.zip size: 5336394 md5sum: 6e0aae81028e24e6ecc866f1b1f439bd Later, Brad
Mar 07 2008
prev sibling next sibling parent Frank Benoit <keinfarbton googlemail.com> writes:
I use dmd 1.028 on linux.

It seems it does not give any error on null literal comparison, and it 
still seems to print the linker command. Can somebody confirm that, or 
did i confused something in my installation?
Mar 07 2008
prev sibling next sibling parent Max Samukha <maxsamukha gmail.com> writes:
Walter Bright wrote:

 
 
 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.028.zip
 
 http://www.digitalmars.com/d/2.0/changelog.html
 http://ftp.digitalmars.com/dmd.2.012.zip
 
 Yes, you read that right, struct destructors but no struct constructors
 yet.

Thanks for the bug fixes!
Mar 07 2008
prev sibling next sibling parent reply Don Clugston <dac nospam.com.au> writes:
Walter Bright wrote:
 
 
 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.028.zip
 
 http://www.digitalmars.com/d/2.0/changelog.html
 http://ftp.digitalmars.com/dmd.2.012.zip
 
 Yes, you read that right, struct destructors but no struct constructors 
 yet.

Missing from the D2 changelog: std.math: * Support for different CPU IEEE 'real' formats: 64-bit, 80-bit and 128-bit (quadruple) reals, both BigEndian and LittleEndian; partial support for non-IEEE 'doubledouble' reals. * Added implementation of nextafter (Bugzilla 1722) and scalb for DMD-Windows. * Added nextUp(), nextDown() * Bugzilla 1881: feqrel nonsensical for non-real arguments. BTW all these changes can be applied to DMD 1.0 -- at present, nothing in std.math is specific to D2.0.
Mar 07 2008
next sibling parent Don Clugston <dac nospam.com.au> writes:
Don Clugston wrote:
 Walter Bright wrote:
 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.028.zip

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

 Yes, you read that right, struct destructors but no struct 
 constructors yet.

Missing from the D2 changelog: std.math: * Support for different CPU IEEE 'real' formats: 64-bit, 80-bit and 128-bit (quadruple) reals, both BigEndian and LittleEndian; partial support for non-IEEE 'doubledouble' reals. * Added implementation of nextafter (Bugzilla 1722) and scalb for DMD-Windows. * Added nextUp(), nextDown() * Bugzilla 1881: feqrel nonsensical for non-real arguments. BTW all these changes can be applied to DMD 1.0 -- at present, nothing in std.math is specific to D2.0.

Oops, forgot a few other ones: Merging improvements to Tango.Math into Phobos: * internal functions isPosZero(), isNegZero() removed in favour of the more generally useful isIdentical(). * asm versions of functions which were not implemented by DMD Windows: scalb, lrint. * added creal expi(real y) which is useful for simultaneous calculation of sin + cos.
Mar 07 2008
prev sibling parent reply jcc7 <technocrat7 gmail.com> writes:
== Quote from Don Clugston (dac nospam.com.au)'s article
 Walter Bright wrote:
 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.028.zip

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

 Yes, you read that right, struct destructors but no struct
 constructors yet.

Missing from the D2 changelog: std.math:

...
 BTW all these changes can be applied to DMD 1.0 -- at present,
 nothing in std.math is specific to D2.0.

I agree that backwards-compatible improvements to D and Phobos should be eligible for inclusion into D1 (and Phobos1), but Walter disagrees. This issue is related to the "Who favors the current D1 situation?" thread that Bill Baxter started today: http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=67313 By the way, some of these kinds of changes to Phobos are available in std2: http://www.dsource.org/projects/std2 (but apparently std2 development has stopped since the port of DMD 2.008).
Mar 07 2008
next sibling parent Bill Baxter <dnewsgroup billbaxter.com> writes:
jcc7 wrote:
 == Quote from Don Clugston (dac nospam.com.au)'s article
 Walter Bright wrote:
 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.028.zip

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

 Yes, you read that right, struct destructors but no struct
 constructors yet.

std.math:

...
 BTW all these changes can be applied to DMD 1.0 -- at present,
 nothing in std.math is specific to D2.0.

I agree that backwards-compatible improvements to D and Phobos should be eligible for inclusion into D1 (and Phobos1), but Walter disagrees. This issue is related to the "Who favors the current D1 situation?" thread that Bill Baxter started today: http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=67313 By the way, some of these kinds of changes to Phobos are available in std2: http://www.dsource.org/projects/std2 (but apparently std2 development has stopped since the port of DMD 2.008).

Yes, things like not fixing bug 493[1] in D1 have made porting to D1 too difficult. I think if that bug gets fixed then I could get at least std.algorithms D2.012 working in D1. I spent a few hours yesterday trying to port it (despite my message of abandoning std2 on the web page...) [1] http://d.puremagic.com/issues/show_bug.cgi?id=493 --bb
Mar 07 2008
prev sibling parent reply Don Clugston <dac nospam.com.au> writes:
jcc7 wrote:
 == Quote from Don Clugston (dac nospam.com.au)'s article
 Walter Bright wrote:
 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.028.zip

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

 Yes, you read that right, struct destructors but no struct
 constructors yet.

std.math:

...
 BTW all these changes can be applied to DMD 1.0 -- at present,
 nothing in std.math is specific to D2.0.

I agree that backwards-compatible improvements to D and Phobos should be eligible for inclusion into D1 (and Phobos1), but Walter disagrees.

I intend to move most of these changes into Phobos1, since they are almost all bugfixes.
Mar 07 2008
parent Walter Bright <newshound1 digitalmars.com> writes:
Don Clugston wrote:
 I intend to move most of these changes into Phobos1, since they are 
 almost all bugfixes.

I agree.
Mar 07 2008
prev sibling parent reply "Chris Miller" <chris dprogramming.com> writes:
1.028's std.thread sports a private definition of WAIT_TIMEOUT, so now it  
causes conflicts in my libraries. It's one thing if it's actually a  
feature you're adding, but privately defining for local use causing  
conflicts?
Mar 07 2008
parent Robert Fraser <fraserofthenight gmail.com> writes:
Chris Miller wrote:
 1.028's std.thread sports a private definition of WAIT_TIMEOUT, so now 
 it causes conflicts in my libraries. It's one thing if it's actually a 
 feature you're adding, but privately defining for local use causing 
 conflicts?

Yup, that's been a bug for a while (private members being imported). I'm not even sure if Walter acknowledges it as a bug, and if not we probably won't see it changed for a while.
Mar 07 2008