digitalmars.D - DMD 0.117 release
- Walter (2/2) Mar 11 2005 Cleaning out the attic of lots of minor bug fixes.
- clayasaurus (9/15) Mar 11 2005 horray!
- Walter (6/16) Mar 11 2005 Forgot to copy the linux one in, fixed now.
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (9/14) Mar 12 2005 Maybe there should be some kind of "release candidate"
- Ben Hinkle (4/10) Mar 12 2005 That effectively makes all warnings into errors which is very different ...
- Georg Wrede (2/17) Mar 12 2005
- Bastiaan Veelo (4/19) Mar 12 2005 How about aping the -Werror option of gcc ("make all warnings into
- J C Calvarese (10/23) Mar 12 2005 I agree. Also, if someone is "responsible" enough to want warnings, they...
- J C Calvarese (9/12) Mar 11 2005 Such as
- John Reimer (6/16) Mar 11 2005 This is great. One less thing for Derek's build to worry about. I'm a
- Derek Parnell (10/28) Mar 11 2005 Well, DMD only supports library linkages this way, but build still suppo...
- John Reimer (2/36) Mar 11 2005 Yes, build is still clearly superior. 8^D
- Walter (4/19) Mar 11 2005 It's been in DMC++ forever. I just hadn't gotten around to putting it in...
- Andrew Fedoniouk (9/11) Mar 11 2005 Walter, one question:
- Walter (5/10) Mar 11 2005 Yes, but not for 1.0. There are some non-trivial decisions that have to ...
- Andrew Fedoniouk (9/24) Mar 11 2005 Please let me know if you need help here.
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (8/10) Mar 12 2005 Look at:
- Andrew Fedoniouk (6/16) Mar 12 2005 Thanks a lot, Anders,
- Kris (33/34) Mar 11 2005 Mango produced three or four of the following warning types, which appea...
- Walter (19/54) Mar 12 2005 to be
- Walter (16/25) Mar 12 2005 to be
- Kris (9/35) Mar 12 2005 Hmmmm. I figured it was just the implicit try/catch (via the 'auto') tha...
- Andy Friesen (11/15) Mar 11 2005 Excellent.
- Jarrett Billingsley (9/16) Mar 12 2005 Indeed! I always thought that there should be a command to link a libra...
- Walter (8/12) Mar 12 2005 for
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (5/24) Mar 12 2005 Both without -release (for my debugging version)
Cleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.html
Mar 11 2005
Walter wrote:Cleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlhorray! i'm not sure if i got the new version, because the command line still says 'DMD .116' though i did get it from ftp://ftp.digitalmars.com/dmd.117.zip one question, though. why doesn't the compiler stop compiling when it gives me warnings? shouldn't warnings just warn and still compile? *confused* thanks.
Mar 11 2005
"clayasaurus" <clayasaurus gmail.com> wrote in message news:d0torr$19ia$1 digitaldaemon.com...Walter wrote:Forgot to copy the linux one in, fixed now.Cleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlhorray! i'm not sure if i got the new version, because the command line still says 'DMD .116' though i did get it from ftp://ftp.digitalmars.com/dmd.117.zipone question, though. why doesn't the compiler stop compiling when it gives me warnings? shouldn't warnings just warn and still compile?The warnings cause the compiler to stop with a non-zero exit code for those who do automated builds. If it didn't, they'd miss the warnings as the scroll off the screen.
Mar 11 2005
Walter wrote:Maybe there should be some kind of "release candidate" procedure to the new zipfiles ? Or do we have to give the MD5SUM of the zip of the DMD version we're using ? ;-) "Fixed now" seems to imply it was changed *after* release ? --anders PS. http://www.algonet.se/~afb/d/diffs/dmd.listing http://www.algonet.se/~afb/d/diffs/dmd.md5sumi'm not sure if i got the new version, because the command line still says 'DMD .116' though i did get it from ftp://ftp.digitalmars.com/dmd.117.zipForgot to copy the linux one in, fixed now.
Mar 12 2005
That effectively makes all warnings into errors which is very different than just showing warnings and letting the user do what they want to. Capturing output so that it doesn't scroll off the screen is covered in programming 101 so I would assume people can deal with multiple comments.one question, though. why doesn't the compiler stop compiling when it gives me warnings? shouldn't warnings just warn and still compile?The warnings cause the compiler to stop with a non-zero exit code for those who do automated builds. If it didn't, they'd miss the warnings as the scroll off the screen.
Mar 12 2005
Walter, could you change DMD so that error output goes to stderr? Ben Hinkle wrote:That effectively makes all warnings into errors which is very different than just showing warnings and letting the user do what they want to. Capturing output so that it doesn't scroll off the screen is covered in programming 101 so I would assume people can deal with multiple comments.one question, though. why doesn't the compiler stop compiling when it gives me warnings? shouldn't warnings just warn and still compile?The warnings cause the compiler to stop with a non-zero exit code for those who do automated builds. If it didn't, they'd miss the warnings as the scroll off the screen.
Mar 12 2005
Ben Hinkle wrote:How about aping the -Werror option of gcc ("make all warnings into errors") for use in automated builds? Bastiaan.That effectively makes all warnings into errors which is very different than just showing warnings and letting the user do what they want to. Capturing output so that it doesn't scroll off the screen is covered in programming 101 so I would assume people can deal with multiple comments.one question, though. why doesn't the compiler stop compiling when it gives me warnings? shouldn't warnings just warn and still compile?The warnings cause the compiler to stop with a non-zero exit code for those who do automated builds. If it didn't, they'd miss the warnings as the scroll off the screen.
Mar 12 2005
Ben Hinkle wrote:I agree. Also, if someone is "responsible" enough to want warnings, they should be responsible enough to start fixing the warnings at the bottom of the list until the top of at list are visible. DMD should produce as many warnings as possible (when the switch is turned on). Let the user worry about capturing the information and applying the appropriate fixes. ;) -- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/That effectively makes all warnings into errors which is very different than just showing warnings and letting the user do what they want to. Capturing output so that it doesn't scroll off the screen is covered in programming 101 so I would assume people can deal with multiple comments.one question, though. why doesn't the compiler stop compiling when it gives me warnings? shouldn't warnings just warn and still compile?The warnings cause the compiler to stop with a non-zero exit code for those who do automated builds. If it didn't, they'd miss the warnings as the scroll off the screen.
Mar 12 2005
Walter wrote:Cleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlSuch as Hip. Hip. Hooray! I think a few people have requested this. ;) Great! It nevers hurts to plan ahead. -- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Mar 11 2005
J C Calvarese wrote:Walter wrote:This is great. One less thing for Derek's build to worry about. I'm a little surprised, though, that it suddenly showed up in dmd. Walter showed no indication of adding this pragma, unless I missed a post somewhere. Maybe he just found Derek's build utility /too/ handy! ;-) -JJRCleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlSuch as Hip. Hip. Hooray! I think a few people have requested this. ;)
Mar 11 2005
On Fri, 11 Mar 2005 22:41:17 -0800, John Reimer wrote:J C Calvarese wrote:Well, DMD only supports library linkages this way, but build still supports library *and* object files. version(build) pragma(link, "somefile.obj"); version(build) pragma(link, "libone.lib", "libtwo.lib"); ;-) -- Derek Parnell Melbourne, Australia 12/03/2005 5:49:38 PMWalter wrote:This is great. One less thing for Derek's build to worry about. I'm a little surprised, though, that it suddenly showed up in dmd. Walter showed no indication of adding this pragma, unless I missed a post somewhere. Maybe he just found Derek's build utility /too/ handy! ;-) -JJRCleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlSuch as Hip. Hip. Hooray! I think a few people have requested this. ;)
Mar 11 2005
Derek Parnell wrote:On Fri, 11 Mar 2005 22:41:17 -0800, John Reimer wrote:Yes, build is still clearly superior. 8^DJ C Calvarese wrote:Well, DMD only supports library linkages this way, but build still supports library *and* object files. version(build) pragma(link, "somefile.obj"); version(build) pragma(link, "libone.lib", "libtwo.lib"); ;-)Walter wrote:This is great. One less thing for Derek's build to worry about. I'm a little surprised, though, that it suddenly showed up in dmd. Walter showed no indication of adding this pragma, unless I missed a post somewhere. Maybe he just found Derek's build utility /too/ handy! ;-) -JJRCleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlSuch as Hip. Hip. Hooray! I think a few people have requested this. ;)
Mar 11 2005
"John Reimer" <brk_6502 yahoo.com> wrote in message news:d0u2uf$1jnk$1 digitaldaemon.com...J C Calvarese wrote:It's been in DMC++ forever. I just hadn't gotten around to putting it in DMD before.Walter wrote:This is great. One less thing for Derek's build to worry about. I'm a little surprised, though, that it suddenly showed up in dmd. Walter showed no indication of adding this pragma, unless I missed a post somewhere. Maybe he just found Derek's build utility /too/ handy! ;-)Cleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlSuch as Hip. Hip. Hooray! I think a few people have requested this. ;)
Mar 11 2005
Walter, one question: are you going to provide static AA initializers? For the sake if consistency with arrays and structs. And one more: do you have public bugs DB access? I mean to take a look on what is "Fixed D.bugs/1795". Thanks in advance, Andrew. "Walter" <newshound digitalmars.com> wrote in message news:d0tn63$18an$1 digitaldaemon.com...Cleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.html
Mar 11 2005
"Andrew Fedoniouk" <news terrainformatica.com> wrote in message news:d0tqj5$1bag$1 digitaldaemon.com...Walter, one question: are you going to provide static AA initializers? For the sake if consistency with arrays and structs.Yes, but not for 1.0. There are some non-trivial decisions that have to be made before it can be implemented.And one more: do you have public bugs DB access? I mean to take a look on what is "Fixed D.bugs/1795".That refers to newsgroup posting digitalmars.D.bugs/1795
Mar 11 2005
Thanks a lot, Walter.Please let me know if you need help here. I guess that {struct aaA} can be used "as is" for placing elements in static section. So lookup procedure can be built on the same principles as lookup in the heap... Andrew. "Walter" <newshound digitalmars.com> wrote in message news:d0traq$1bvh$1 digitaldaemon.com...are you going to provide static AA initializers? For the sake if consistency with arrays and structs.Yes, but not for 1.0. There are some non-trivial decisions that have to be made before it can be implemented."Andrew Fedoniouk" <news terrainformatica.com> wrote in message news:d0tqj5$1bag$1 digitaldaemon.com...Walter, one question: are you going to provide static AA initializers? For the sake if consistency with arrays and structs.Yes, but not for 1.0. There are some non-trivial decisions that have to be made before it can be implemented.And one more: do you have public bugs DB access? I mean to take a look on what is "Fixed D.bugs/1795".That refers to newsgroup posting digitalmars.D.bugs/1795
Mar 11 2005
Andrew Fedoniouk wrote:And one more: do you have public bugs DB access? I mean to take a look on what is "Fixed D.bugs/1795".Look at: http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/1795 Maybe Walter can make these references into proper links ? Also, the link in the announcements should be: http://www.digitalmars.com/d/changelog.html#new0117 This will make them more useful, in the future... --anders
Mar 12 2005
Thanks a lot, Anders, This url is exactly what I need. I've seen it before but couldn't find. Andrew. "Anders F Björklund" <afb algonet.se> wrote in message news:d0ua3d$1s85$1 digitaldaemon.com...Andrew Fedoniouk wrote:And one more: do you have public bugs DB access? I mean to take a look on what is "Fixed D.bugs/1795".Look at: http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/1795 Maybe Walter can make these references into proper links ? Also, the link in the announcements should be: http://www.digitalmars.com/d/changelog.html#new0117 This will make them more useful, in the future... --anders
Mar 12 2005
In article <d0tn63$18an$1 digitaldaemon.com>, Walter says...Cleaning out the attic of lots of minor bug fixes.Mango produced three or four of the following warning types, which appear to be bogus: "warning - function mango.io.FileConduit.FileConduit.copy no return at end of function" Moving along, Mango conjures up a thicket of "implicit conversion of type int to bit can cause loss of data". These are caused by a variation upon this kind of statement: Then, there's a few similar warnings where the sign bit is lost through a legitimate conversion. There's also a few narrowing conversions when interfacing with Win32 functions, and so on. The latter are occasionally related to enum specifications, which could be changed. All in all the warnings found one bug, caused me to cleanup the 'sign' of a few declarations (potentially better codegen), and pointed out that various methods in std.date return a 64-bit long instead of something much smaller (how many hours /are/ there in a day? :-) Definately worthwhile, IMO. I could understand if some complained about "not seeing the forest for the trees", but that's life with a type-system of this nature. I do wonder if there's any value in filtering the warnings somehow. For example, the "int to bit" conversion for returns is one of those "idioms" that Walter talks about; and Mango produces lots of 'em! But then we'd perhaps have to get into warning levels? Oh well. Thanks, Walter. I think this was absolutely worthwhile.
Mar 11 2005
"Kris" <Kris_member pathlink.com> wrote in message news:d0trn2$1c63$1 digitaldaemon.com...In article <d0tn63$18an$1 digitaldaemon.com>, Walter says...to beCleaning out the attic of lots of minor bug fixes.Mango produced three or four of the following warning types, which appearbogus: "warning - function mango.io.FileConduit.FileConduit.copy no returnatend of function"I'll try and fix that.Moving along, Mango conjures up a thicket of "implicit conversion of typeint tobit can cause loss of data". These are caused by a variation upon thiskind ofstatement:This D may need to allow to pass without the warning.Then, there's a few similar warnings where the sign bit is lost through a legitimate conversion. There's also a few narrowing conversions wheninterfacingwith Win32 functions, and so on. The latter are occasionally related toenumspecifications, which could be changed. All in all the warnings found one bug, caused me to cleanup the 'sign' ofa fewdeclarations (potentially better codegen), and pointed out that variousmethodsin std.date return a 64-bit long instead of something much smaller (howmanyhours /are/ there in a day? :-) Definately worthwhile, IMO. I could understand if some complained about"notseeing the forest for the trees", but that's life with a type-system ofthisnature. I do wonder if there's any value in filtering the warnings somehow. Forexample,the "int to bit" conversion for returns is one of those "idioms" thatWaltertalks about; and Mango produces lots of 'em! But then we'd perhaps have togetinto warning levels? Oh well. Thanks, Walter. I think this was absolutely worthwhile.You're welcome.
Mar 12 2005
"Kris" <Kris_member pathlink.com> wrote in message news:d0trn2$1c63$1 digitaldaemon.com...Mango produced three or four of the following warning types, which appearto bebogus: "warning - function mango.io.FileConduit.FileConduit.copy no returnatend of function"I tried to reproduce the problem with the following: class A { A copy(); } class B : A { B copy () { auto B fc = new B (); super.copy (); return this; } } but no dice. It works fine.
Mar 12 2005
In article <d0vsg8$le1$1 digitaldaemon.com>, Walter says..."Kris" <Kris_member pathlink.com> wrote in message news:d0trn2$1c63$1 digitaldaemon.com...Hmmmm. I figured it was just the implicit try/catch (via the 'auto') that was causing the problem. Indeed, temporarily removing the 'auto' causes the warning to be inhibited. Don't know what to tell you about this one. I was going to post other samples from Mango that produce the same error, but closer inspection revealed the warning was actually correct. Those examples are thread workers, with try/catch around the body which contains an embedded return ~ said workers don't have a return at the end, which they perhaps should ~ some more subtle bug-fixes to chalk-up for warnings?Mango produced three or four of the following warning types, which appearto bebogus: "warning - function mango.io.FileConduit.FileConduit.copy no returnatend of function"I tried to reproduce the problem with the following: class A { A copy(); } class B : A { B copy () { auto B fc = new B (); super.copy (); return this; } } but no dice. It works fine.
Mar 12 2005
Walter wrote:Cleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlAdded pragma(lib, "library name");Excellent. Making library distribution simple just got a whole lot simpler: 1) Store source code in "src/mylibrary/mylibrary.d" 2) Put libraries in "lib/mylibrary.lib" 3) compress all this to .zip 4) Users of the library decompress this archive to d:/path/to/dmd Under such a scheme, projects that wish to use the library do not require so much as a single compile switch. The trick is getting a convention into place. :) -- andy
Mar 11 2005
"Andy Friesen" <andy ikagames.com> wrote in message news:d0tvg3$1h4v$1 digitaldaemon.com...Walter wrote:Indeed! I always thought that there should be a command to link a library without having to use the command line. Now we can put the pragma(lib) command in our import modules. Then, just import and everything works. And the abstract class keyword does EXACTLY what I've been wanting to do for a long time! No more private ctors to make base classes un-instantiate-able! This is quite a juicy release.Cleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlAdded pragma(lib, "library name");Excellent. Making library distribution simple just got a whole lot simpler:
Mar 12 2005
"Jarrett Billingsley" <kb3ctd2 yahoo.com> wrote in message news:d0vasn$3mj$1 digitaldaemon.com...And the abstract class keyword does EXACTLY what I've been wanting to dofora long time! No more private ctors to make base classes un-instantiate-able!Abstract was supposed to do this from the beginning, I'd just neglected making it work right.This is quite a juicy release.I guess it was more than I thought <g>. There are still more cobwebbed problems I need to clean off my desk, and I really want to get them done so we can do 1.0.
Mar 12 2005
Walter wrote:Cleaning out the attic of lots of minor bug fixes. http://www.digitalmars.com/d/changelog.htmlThis new DMD release fails to build Phobos...gcc -o unittest unittest.o libphobos.a -lpthread -lm -g libphobos.a(gc.o)(.gnu.linkonce.tgc_init+0x47): In function `gc_init': : undefined reference to `_D3std2gc7gc_init6Thread11thread_initFZv' libphobos.a(gcx.o)(.gnu.linkonce.t_D3gcx2GC6mallocFkZPv+0x1a): In function `_D3gcx2GC6mallocFkZPv': : undefined reference to `_D3gcx2GC12mallocNoSync6Thread8nthreadsk' libphobos.a(gcx.o)(.gnu.linkonce.t_D3gcx2GC12mallocNoSyncFkZPv+0x72): In function `_D3gcx2GC12mallocNoSyncFkZPv': : undefined reference to `_D3gcx2GC12mallocNoSync6Thread8nthreadsk' libphobos.a(gcx.o)(.gnu.linkonce.t_D3gcx3Gcx11fullcollectFPvZk+0x15): In function `_D3gcx3Gcx11fullcollectFPvZk': : undefined reference to `_D3gcx2GC12mallocNoSync6Thread8pauseAllFZv' libphobos.a(gcx.o)(.gnu.linkonce.t_D3gcx3Gcx11fullcollectFPvZk+0xeb): In function `_D3gcx3Gcx11fullcollectFPvZk': : undefined reference to `_D3gcx2GC12mallocNoSync6Thread6getAllFZAC3std6thread6Thread' libphobos.a(gcx.o)(.gnu.linkonce.t_D3gcx3Gcx11fullcollectFPvZk+0x147): In function `_D3gcx3Gcx11fullcollectFPvZk': : undefined reference to `_D3gcx2GC12mallocNoSync6Thread6getESPFZPv' libphobos.a(gcx.o)(.gnu.linkonce.t_D3gcx3Gcx11fullcollectFPvZk+0x6b9): In function `_D3gcx3Gcx11fullcollectFPvZk': : undefined reference to `_D3gcx2GC12mallocNoSync6Thread9resumeAllFZv' collect2: ld returned 1 exit statusBoth without -release (for my debugging version) and with -unittest (for running the unit test) --anders
Mar 12 2005
You're right. I introduced a botch in the name mangling system. I'll try and get that fixed today.
Mar 12 2005
In article <d0vhko$a6j$2 digitaldaemon.com>, Walter says...You're right. I introduced a botch in the name mangling system. I'll try and get that fixed today.Could you also fix the erroneous warning noted in post "Mango and -w" ?
Mar 12 2005