www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - DMD 0.107 release

reply "Walter" <newshound digitalmars.com> writes:
http://www.digitalmars.com/d/changelog.html
Nov 29 2004
next sibling parent reply Ant <duitoolkit yahoo.ca> writes:
On Mon, 29 Nov 2004 18:06:18 -0800, Walter wrote:

 
 http://www.digitalmars.com/d/changelog.html

The thrill is gonne! No, not the thrill for D, the thrill for the next release of DMD. We (I) no longer wait for the next release of DMD. I don't expect amasing new features, or even the fixes I've been waiting for months (for which I couldn't produce code examples). This is to be expected as DMD is reaching 1.0. Can it be the reason the trafic is slower here? I bet it is. There is nothing new to see here. I see this as a good sign. It means DMD is getting there! Now if I was responsable for D and DMD I would release it without: (each one insert your own - I'm working on leds) I'm going to download DMD 0.107 now just to help finding problems, not because I expect any improvement, I'm actually afraid things might break... Thanks for D, Walter. Ant
Nov 29 2004
parent reply "Walter" <newshound digitalmars.com> writes:
"Ant" <duitoolkit yahoo.ca> wrote in message
news:pan.2004.11.30.04.04.24.396981 yahoo.ca...
 Now if I was responsable for D and DMD I would release it without:
 (each one insert your own - I'm working on leds)

Maybe I should just call it 1.0 and ship it!
Nov 29 2004
parent reply "Kris" <fu bar.com> writes:
Please don't do that yet; I just sent you a problem with dmd-107. It breaks
all the ICU bindings ...


"Walter" <newshound digitalmars.com> wrote in message
news:coh201$2vv3$1 digitaldaemon.com...
|
| "Ant" <duitoolkit yahoo.ca> wrote in message
| news:pan.2004.11.30.04.04.24.396981 yahoo.ca...
| > Now if I was responsable for D and DMD I would release it without:
| > (each one insert your own - I'm working on leds)
|
| Maybe I should just call it 1.0 and ship it!
|
|
Nov 29 2004
next sibling parent Ant <duitoolkit yahoo.ca> writes:
On Mon, 29 Nov 2004 22:27:54 -0800, Kris wrote:

 Please don't do that yet; I just sent you a problem with dmd-107. It breaks
 all the ICU bindings ...

yeah... but the strategy must be lined up! Ant
 
 
 "Walter" <newshound digitalmars.com> wrote in message
 news:coh201$2vv3$1 digitaldaemon.com...
 |
 | "Ant" <duitoolkit yahoo.ca> wrote in message
 | news:pan.2004.11.30.04.04.24.396981 yahoo.ca...
 | > Now if I was responsable for D and DMD I would release it without:
 | > (each one insert your own - I'm working on leds)
 |
 | Maybe I should just call it 1.0 and ship it!
 |
 |

Nov 29 2004
prev sibling parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
Kris wrote:
 Please don't do that yet; I just sent you a problem with dmd-107. It breaks
 all the ICU bindings ...

I think Walter was joking. For those who haven't seen it already, we have a list of reasons we're far from ready for 1.0: http://www.wikiservice.at/wiki4d/wiki.cgi?PendingPeeves Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit.
Nov 30 2004
parent reply Ant <Ant_member pathlink.com> writes:
In article <cohhg4$o36$1 digitaldaemon.com>, Stewart Gordon says...
Kris wrote:
 Please don't do that yet; I just sent you a problem with dmd-107. It breaks
 all the ICU bindings ...

I think Walter was joking. For those who haven't seen it already, we have a list of reasons we're far from ready for 1.0: http://www.wikiservice.at/wiki4d/wiki.cgi?PendingPeeves

Can't you do better then that? The quality of it is very low. 1 - Walter expressly said he didn't want bug lists 2 - points to all sorts of less then relevant discussions Ant
Nov 30 2004
parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
Ant wrote:
<snip>
 http://www.wikiservice.at/wiki4d/wiki.cgi?PendingPeeves

Can't you do better then that? The quality of it is very low. 1 - Walter expressly said he didn't want bug lists 2 - points to all sorts of less then relevant discussions

I don't see what you mean. Please be specific. Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit.
Nov 30 2004
parent reply J C Calvarese <jcc7 cox.net> writes:
Stewart Gordon wrote:
 Ant wrote:
 <snip>
 
 http://www.wikiservice.at/wiki4d/wiki.cgi?PendingPeeves

Can't you do better then that? The quality of it is very low. 1 - Walter expressly said he didn't want bug lists 2 - points to all sorts of less then relevant discussions

I don't see what you mean. Please be specific.

I think Ant is remembering it wrong. Walter has said that's he's not going to have an official list of bugs: "I published a carefully documented bug list once in the past. It was a disaster." (D/23404) I don't think he minds it if we keep unofficial bug lists.
 
 Stewart.

-- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Dec 01 2004
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
J C Calvarese wrote:

 I think Ant is remembering it wrong.
 
 Walter has said that's he's not going to have an official list of bugs:
 "I published a carefully documented bug list once in the past. It was a
 disaster." (D/23404)
 
 I don't think he minds it if we keep unofficial bug lists.

Also, Thomas Kühne is doing an excellent job by keeping an *automated* bug list in the form of the Dstress test suite: http://svn.kuehne.cn/dstress/www/dstress.html That makes it easy to test that old bugs hasn't "resurfaced", as they have a tendancy to do if not properly pesticided... --anders
Dec 02 2004
parent reply Helmut Leitner <leitner wikiservice.at> writes:
Anders F Björklund wrote:
 J C Calvarese wrote:
 
 I think Ant is remembering it wrong.

 Walter has said that's he's not going to have an official list of bugs:
 "I published a carefully documented bug list once in the past. It was a
 disaster." (D/23404)

 I don't think he minds it if we keep unofficial bug lists.

Also, Thomas Kühne is doing an excellent job by keeping an *automated* bug list in the form of the Dstress test suite: http://svn.kuehne.cn/dstress/www/dstress.html That makes it easy to test that old bugs hasn't "resurfaced", as they have a tendancy to do if not properly pesticided...

If unittests were applied as advertized, then any error would result in one ore more unittests written, that would effectively hinder the errors to return.
Dec 02 2004
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Helmut Leitner wrote:

 That makes it easy to test that old bugs hasn't "resurfaced",
 as they have a tendancy to do if not properly pesticided...

If unittests were applied as advertized, then any error would result in one ore more unittests written, that would effectively hinder the errors to return.

Dstress is such a unittest, for the compiler itself... (Thomas has added all kinds of conformance tests, as well as various bugs reported on the D forums) All the tests are available at: http://svn.kuehne.cn/dstress/ The built-in unittest{} is also useful for testing code, as of DMD 0.108 the following seems to have such tests:
 phobos/internal/adi.d
 phobos/internal/arraycast.d
 phobos/internal/gc/gcbits.d
 phobos/internal/qsort.d
 phobos/internal/switch.d
 phobos/std/base64.d
 phobos/std/c/linux/linux.d
 phobos/std/conv.d
 phobos/std/ctype.d
 phobos/std/dateparse.d
 phobos/std/format.d
 phobos/std/math.d
 phobos/std/math2.d
 phobos/std/md5.d
 phobos/std/outbuffer.d
 phobos/std/path.d
 phobos/std/perf.d
 phobos/std/random.d
 phobos/std/recls.d
 phobos/std/regexp.d
 phobos/std/socket.d
 phobos/std/stream.d
 phobos/std/string.d
 phobos/std/thread.d
 phobos/std/uri.d
 phobos/std/utf.d
 phobos/std/windows/registry.d
 phobos/std/zlib.d

At least, that is what running a quick "grep" told me :-) I am not sure if either of the testsuites is run before releases, think that Walter has some kind of internal test program for DMD ? GDC has a "make unittest", but I've not been able to make that run, and it doesn't seem to like the GCC "make check-d" either ? --anders
Dec 02 2004
prev sibling next sibling parent Ant <duitoolkit yahoo.ca> writes:
On Mon, 29 Nov 2004 18:06:18 -0800, Walter wrote:

 
 http://www.digitalmars.com/d/changelog.html

I got this message from the compiler (which I can ignore obviously) "Creating default this(){} for class NB" NB is a nested class. --------- also found (thanks to 107): - duplicated char[] switchcase - passing -1 to uint param - using inExpression as bit all my projects seem to run correctly with 107. (15 min tests...) for DUI users: all the erros found were in leds, so no problems with the released DUI and dool. Ant
Nov 29 2004
prev sibling next sibling parent reply "Simon Buchan" <currently no.where> writes:
For lazy people with Newsreaders:

New/Changed Features
- Improved speed of writef().
- Improved single thread performance of gc allocation per davejf's  
suggestions.
- InExpressions now, instead of returning a bit, return a pointer to the  
associative array element if the key is present, null if it is not. This  
obviates - the need for many double lookups.
- .offset property is now deprecated, use .offsetof instead. This makes  
for better compatibility with C and fewer conflicts with offset as a field  
name.
- Added .ptr property to arrays, which is handier and more typesafe than  
casting an array to a pointer.
- Added Ben Hinkle's changes to std.stream:
   adds EndianStream for BOM and endian support.
   removes the two public imports std.string and std.file from end of file
   adds read/write for ifloat, idouble, cfloat, cdouble and dchar to  
interfaces InputStream and OutputStream and add implementations to Stream  
and EndianStream
- Added std.c.stddef for definition of C wchar_t.

Bugs Fixed
- Fixed internal error e2ir 814
- Fixed protection of implicit constructor.
- Fixed deprecated attribute overriding static.
- Tightened up detection of constants being implicitly converted to a type  
that cannot hold it.
- Now detects duplicate case strings in switch statements.
- Added support for switch(dchar[]) statements.
- Fixed bug reading source files without B.O.M.
- Fixed initialization of anonymous structs in classes.
- Anonymous structs/unions can now only be a member of an aggregate.
- Assert expressions are no longer evaluated for side effects even if  
asserts are turned off. It is not legal to depend on the side effect of an  
assert.
- Fixed _init vs __init prefix for TypeInfo classes.
- Adjusted arithmetic conversion rules to match C99.

Get it at: ftp://ftp.digitalmars.com/dmd.107.zip

-- 
"Unhappy Microsoft customers have a funny way of becoming Linux,
Salesforce.com and Oracle customers." - www.microsoft-watch.com:
"The Year in Review: Microsoft Opens Up"
Nov 29 2004
next sibling parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
Simon Buchan wrote:
 For lazy people with Newsreaders:

 - Added std.c.stddef for definition of C wchar_t.

For lazy people who like to c&p C declarations without having to change them? Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit.
Nov 30 2004
parent =?UTF-8?B?QW5kZXJzIEYgQmrDtnJrbHVuZA==?= <afb algonet.se> writes:
Stewart Gordon wrote:
 - Added std.c.stddef for definition of C wchar_t.

For lazy people who like to c&p C declarations without having to change them?

Or for people who like to write portable code...
 version (Win32)
 {
     alias wchar wchar_t;
 }
 else version (linux)
 {
     alias dchar wchar_t;
 }

Guess I will have to wait for next GDC for Darwin. --anders
Nov 30 2004
prev sibling next sibling parent reply Ben Hinkle <bhinkle4 juno.com> writes:
Simon Buchan wrote:


 - InExpressions now, instead of returning a bit, return a pointer to the
 associative array element if the key is present, null if it is not. This
 obviates - the need for many double lookups.

nice!
 - Added .ptr property to arrays, which is handier and more typesafe than
 casting an array to a pointer.

cool. I'll start using that instead. It always felt funny to cast.
 Get it at: ftp://ftp.digitalmars.com/dmd.107.zip

now dmd.108.zip?
Nov 30 2004
parent "Walter" <newshound digitalmars.com> writes:
"Ben Hinkle" <bhinkle4 juno.com> wrote in message
news:cohso3$18hc$1 digitaldaemon.com...
 Simon Buchan wrote:
 - InExpressions now, instead of returning a bit, return a pointer to the
 associative array element if the key is present, null if it is not. This
 obviates - the need for many double lookups.

nice!

That double lookup problem was pointed out here a while back, but I couldn't think of a decent solution. Finally, I had a brainwave <g>.
 - Added .ptr property to arrays, which is handier and more typesafe than
 casting an array to a pointer.


Yes, I think so too.
 Get it at: ftp://ftp.digitalmars.com/dmd.107.zip

now dmd.108.zip?

Fixes Kris' build break.
Nov 30 2004
prev sibling next sibling parent reply =?UTF-8?B?QW5kZXJzIEYgQmrDtnJrbHVuZA==?= <afb algonet.se> writes:
Simon Buchan wrote:

 - InExpressions now, instead of returning a bit, return a pointer to 
   the associative array element if the key is present, null if it is not. 
   This obviates - the need for many double lookups.

The documentation needs to be updated to reflect this: (http://www.digitalmars.com/d/arrays.html#associative)
 The InExpression yields a boolean result indicating if a key
 is in an associative array or not:
 
 	if ("hello" in b)
 		...

The InExpression yields a pointer to the associative array element if the key is present, or null if the key is not in the associative array. if (("hello" in b) != null) ... Assuming you want to pretend that there actually is a boolean type. Not that D cares about the difference between the two, but anyway. --anders PS. Still no way to perform a static init of an associative array ?
Nov 30 2004
parent reply "Walter" <newshound digitalmars.com> writes:
"Anders F Björklund" <afb algonet.se> wrote in message
news:cohvm9$1e76$1 digitaldaemon.com...
 The documentation needs to be updated to reflect this:
 (http://www.digitalmars.com/d/arrays.html#associative)

Good catch, thanks.
 PS. Still no way to perform a static init of an associative array ?

That's a 2.0 feature!
Nov 30 2004
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Walter wrote:

PS. Still no way to perform a static init of an associative array ?

That's a 2.0 feature!

That's OK, you can't do 'em in Java either... (static initalizer code works in the meantime) --anders
Nov 30 2004
prev sibling next sibling parent Stewart Gordon <smjg_1998 yahoo.com> writes:
Simon Buchan wrote:
<snip>
 - Fixed initialization of anonymous structs in classes.
 - Anonymous structs/unions can now only be a member of an aggregate.

OK, so one of my previous minimal testcases now complies. However, somehow the fixes seem to have managed to exclude the uses to which SDWF puts the constructs. 1. Initialisation still screws up when a union is involved. ---------- class Qwert { union { struct { int yuiop = 13; } int asdfg; } } ---------- D:\My Documents\Programming\D\Tests\bugs\broken108_init.d(1): class broken108_init.Qwert 2duplicate union initialization for yuiop ---------- 2. Giving one of the struct/union members an access attribute renders it invisible. If the initialiser is removed from the above example, it compiles and runs OK. But if I do this: ---------- import std.stdio; class Qwert { union { struct { int yuiop; } public int asdfg; } } void main() { Qwert hjkl = new Qwert; writefln(hjkl.yuiop); writefln(hjkl.asdfg); } ---------- D:\My Documents\Programming\D\Tests\bugs\broken108_anon.d(16): no property 'asdfg' for type 'Qwert' ---------- The same error occurs if I replace the class definition with any of the following: ---------- class Qwert { union { struct { int yuiop; public int asdfg; } protected int zxcvb; } } ---------- class Qwert { struct { int yuiop; public int asdfg; } } ---------- class Qwert { union { int yuiop; public int asdfg; } } ---------- Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit.
Dec 01 2004
prev sibling parent "Carlos Santander B." <csantander619 gmail.com> writes:
"Simon Buchan" <currently no.where> escribió en el mensaje 
news:opsh9jq4ufjccy7t simon.homenet...
| For lazy people with Newsreaders:
|
| New/Changed Features
| - Added Ben Hinkle's changes to std.stream:
|   adds EndianStream for BOM and endian support.
|   removes the two public imports std.string and std.file from end of file
|   adds read/write for ifloat, idouble, cfloat, cdouble and dchar to
| interfaces InputStream and OutputStream and add implementations to Stream
| and EndianStream

Thanks for that, Ben!

-----------------------
Carlos Santander Bernal 
Dec 01 2004
prev sibling parent James Dunne <jdunne4 bradley.edu> writes:
In article <cogmka$2frg$1 digitaldaemon.com>, Walter says...
http://www.digitalmars.com/d/changelog.html

I've heard complaints of this before: compilation taking upwards of 2 minutes under certain circumstances. I just ran into this problem myself with 0.107 under Linux. I have no idea what could be causing this, but I am willing to share my code if someone wants to check it out. The program is perfect syntax and semantics, nothing wrong with it; it just won't compile! It worked fine (read compiled blazingly fast) before I made a few changes and I've been trying to figure out what those changes were that did it in. Regards, James Dunne
Nov 30 2004