Re: GDC2 compilation warnings

2010-11-26 Thread bearophile
bearophile: Don: It's just a bug that it doesn't at present. I don't believe this. I think it's more probably not desired. Seeing the spring cleaning that the good Andrei is doing in Bugzilla, and how he has assigned bug 259, I have to say that you are right, as usual :-) Sorry,

Re: GDC2 compilation warnings

2010-11-24 Thread Don
bearophile wrote: - Signed unsigned comparison warning: unless D invents some other very good solution, this warning is a ugly but necessary patch over one hole of the C language that D too has. This is bug 259, one of the first issues ever reported in bugzilla. Can you please stop reporting

Re: GDC2 compilation warnings

2010-11-24 Thread bearophile
Don: This is bug 259, one of the first issues ever reported in bugzilla. Can you please stop reporting obvious issues as if you were the first person who ever noticed them? In this very newsgroup I have learnt that sometimes saying obvious things is useful. It's just a bug that it

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Iain Buclaw
== Quote from bearophile (bearophileh...@lycos.com)'s article -- I have done some tests on the 32 bit gdc D2, compiled today on Ubuntu. Some comments: The compilation and the compiler works! This is great considering that it's a card castle about 2 lighyears high that uses no

Re: GDC2 compilation warnings

2010-11-24 Thread Leandro Lucarella
Iain Buclaw, el 24 de noviembre a las 01:29 me escribiste: == Quote from bearophile (bearophileh...@lycos.com)'s article While compiling GDC2 today I have seen hundreds of warnings, usually one of 5 types: I'm rather thankful that you didn't try compiling a month or two ago then. :~)

Re: GDC2 compilation warnings

2010-11-24 Thread Leandro Lucarella
Leandro Lucarella, el 24 de noviembre a las 10:46 me escribiste: Iain Buclaw, el 24 de noviembre a las 01:29 me escribiste: == Quote from bearophile (bearophileh...@lycos.com)'s article While compiling GDC2 today I have seen hundreds of warnings, usually one of 5 types: I'm rather

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Smurfette
bearophile Wrote: ../../gcc/d/d-gcc-real.h: In member function ‘const real_value real_t::rv() const’: ../../gcc/d/d-gcc-real.h:54: warning: dereferencing type-punned pointer will break strict-aliasing rules If you have a great idea to fix this warning, please send a patch.

Re: GDC2 compilation warnings

2010-11-24 Thread bearophile
Leandro Lucarella: These are important issues. This can heavily break the code when compiling with optimizations (-O2, -O3, -Os). Basically, you can't access an object with a type using a pointer to an incompatible type I agree. (except through an union). I am not sure the C standard says

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread bearophile
If you compare GDC1 and GDC2, you'll see the same thing. The problem is likely because Phobos2 is heavily templated in comparison to Phobos1, so you're pulling in a lot more functions than you bargain for. That little path tracer uses mostly the C std lib (or just it). And DMD2 produces a

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Graham Fawcett
On Wed, 24 Nov 2010 12:45:52 -0500, bearophile wrote: If you compare GDC1 and GDC2, you'll see the same thing. The problem is likely because Phobos2 is heavily templated in comparison to Phobos1, so you're pulling in a lot more functions than you bargain for. That little path tracer uses

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Iain Buclaw
== Quote from bearophile (bearophileh...@lycos.com)'s article If you compare GDC1 and GDC2, you'll see the same thing. The problem is likely because Phobos2 is heavily templated in comparison to Phobos1, so you're pulling in a lot more functions than you bargain for. That little path tracer

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Iain Buclaw
== Quote from Graham Fawcett (fawc...@uwindsor.ca)'s article $ find /usr/include/d/dmd/ | xargs grep RAND_MAX.*= /usr/include/d/dmd/druntime/import/core/stdc/stdlib.di:enum RAND_MAX = 32767; /usr/include/d/dmd/druntime/import/core/stdc/stdlib.d:enum RAND_MAX = 32767; Why the ugly

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Graham Fawcett
On Wed, 24 Nov 2010 18:49:23 +, Iain Buclaw wrote: == Quote from Graham Fawcett (fawc...@uwindsor.ca)'s article $ find /usr/include/d/dmd/ | xargs grep RAND_MAX.*= /usr/include/d/dmd/druntime/import/core/stdc/stdlib.di:enum RAND_MAX = 32767;

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Leandro Lucarella
Smurfette, el 24 de noviembre a las 11:30 me escribiste: bearophile Wrote: ../../gcc/d/d-gcc-real.h: In member function ?const real_value real_t::rv() const?: ../../gcc/d/d-gcc-real.h:54: warning: dereferencing type-punned pointer will break strict-aliasing rules If

Re: GDC2 compilation warnings

2010-11-24 Thread Leandro Lucarella
bearophile, el 24 de noviembre a las 12:37 me escribiste: Leandro Lucarella: These are important issues. This can heavily break the code when compiling with optimizations (-O2, -O3, -Os). Basically, you can't access an object with a type using a pointer to an incompatible type I agree.

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Andrei Alexandrescu
On 11/24/10 12:56 PM, Graham Fawcett wrote: On Wed, 24 Nov 2010 18:49:23 +, Iain Buclaw wrote: == Quote from Graham Fawcett (fawc...@uwindsor.ca)'s article $ find /usr/include/d/dmd/ | xargs grep RAND_MAX.*= /usr/include/d/dmd/druntime/import/core/stdc/stdlib.di:enum RAND_MAX = 32767;

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Iain Buclaw
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s article On 11/24/10 12:56 PM, Graham Fawcett wrote: On Wed, 24 Nov 2010 18:49:23 +, Iain Buclaw wrote: == Quote from Graham Fawcett (fawc...@uwindsor.ca)'s article $ find /usr/include/d/dmd/ | xargs grep RAND_MAX.*=

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread bearophile
Graham Fawcett: $ find /usr/include/d/dmd/ | xargs grep RAND_MAX.*= /usr/include/d/dmd/druntime/import/core/stdc/stdlib.di:enum RAND_MAX = 32767; /usr/include/d/dmd/druntime/import/core/stdc/stdlib.d:enum RAND_MAX = 32767; Sorry for not looking at it by myself. I have filed it:

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Graham Fawcett
On Wed, 24 Nov 2010 14:45:02 -0500, bearophile wrote: Graham Fawcett: $ find /usr/include/d/dmd/ | xargs grep RAND_MAX.*= /usr/include/d/dmd/druntime/import/core/stdc/stdlib.di:enum RAND_MAX = 32767; /usr/include/d/dmd/druntime/import/core/stdc/stdlib.d:enum RAND_MAX = 32767;

Re: GDC2 [Re: GDC2 compilation warnings]

2010-11-24 Thread Leandro Lucarella
Andrei Alexandrescu, el 24 de noviembre a las 13:09 me escribiste: On 11/24/10 12:56 PM, Graham Fawcett wrote: On Wed, 24 Nov 2010 18:49:23 +, Iain Buclaw wrote: == Quote from Graham Fawcett (fawc...@uwindsor.ca)'s article $ find /usr/include/d/dmd/ | xargs grep RAND_MAX.*=

GDC2 compilation warnings

2010-11-23 Thread bearophile
While compiling GDC2 today I have seen hundreds of warnings, usually one of 5 types: ../../gcc/d/d-gcc-real.h: In member function ‘const real_value real_t::rv() const’: ../../gcc/d/d-gcc-real.h:54: warning: dereferencing type-punned pointer will break strict-aliasing rules In file included

Re: GDC2 compilation warnings

2010-11-23 Thread Adam D. Ruppe
- Printing functions wrong argument number warning: this is something D needs to add, for writef, writefln, printf, sprintf, etc (even if it can't work in all situations). Can you make it work in some situations without breaking the others? If you have a compile time string passed in, it

Re: GDC2 compilation warnings

2010-11-23 Thread bearophile
Adam D. Ruppe: Can you make it work in some situations without breaking the others? If you have a compile time string passed in, it could check the argument count, but not all strings are compile time. I use runtime concatenated strings to format() like functions where additional data is

GDC2 [Re: GDC2 compilation warnings]

2010-11-23 Thread bearophile
Iain Buclaw: I'm rather thankful that you didn't try compiling a month or two ago then. :~) I've cut down the amount of warnings emitted by a *lot*, and I can't even begin to stress that fact. Thank you for your work, then :-) ../../gcc/d/d-gcc-real.h: In member function ‘const