Re: dmd v2.065 compatibility

2014-03-20 Thread Sönke Ludwig
Am 14.03.2014 11:43, schrieb Chris: [1] Yesterday I tried to build a project with dub. dub had downloaded and installed dmd v2.065. The project and accompanying library had been built with dmd v2.064. dub said that the project was up to date and didn't need compiling. However, I got a long long e

Re: dmd v2.065 compatibility

2014-03-14 Thread Chris
On Friday, 14 March 2014 at 14:11:45 UTC, Mike Parker wrote: On 3/14/2014 7:43 PM, Chris wrote: [1] Yesterday I tried to build a project with dub. dub had downloaded and installed dmd v2.065. The project and accompanying library had been I'm curious what you mean by this. I don't see any way

Re: dmd v2.065 compatibility

2014-03-14 Thread Mike Parker
On 3/14/2014 7:43 PM, Chris wrote: [3] Last but not least, could [2] have triggered the error I got in [1]? [Part of error message] source/lib//libdlts.a(regex_770_e66.o): In function `_D3std5regex102__T10replaceFmtTAxaTS3std5regex19__T8CapturesTAyaTmZ8CapturesTS3std5array17__T8AppenderTAyaZ8A

Re: dmd v2.065 compatibility

2014-03-14 Thread Mike Parker
On 3/14/2014 7:43 PM, Chris wrote: [1] Yesterday I tried to build a project with dub. dub had downloaded and installed dmd v2.065. The project and accompanying library had been I'm curious what you mean by this. I don't see any way to get DMD through dub. built with dmd v2.064. dub said tha

Re: dmd v2.065 compatibility

2014-03-14 Thread Dicebot
On Friday, 14 March 2014 at 11:41:49 UTC, Chris wrote: Interesting, though, that I got away with it until v2.065. DMD still has quite a lot of "accepts-invalid" bugs.

Re: dmd v2.065 compatibility

2014-03-14 Thread Chris
On Friday, 14 March 2014 at 11:14:15 UTC, bearophile wrote: Chris: Thanks for the answer. Any particular reason why the variable declaration should not be skipped? Security? Code generation? In D all variables get initialized at the definition point (unless you add a "= void"). A goto skips

Re: dmd v2.065 compatibility

2014-03-14 Thread bearophile
In D all variables get initialized at the definition point (unless you add a "= void"). A goto skips this initialization, and this breaks certain safety generates D relies on. Look for @safe functions: void main() @safe { int* p = void; } test.d(2,10): Error: variable test.main.p void in

Re: dmd v2.065 compatibility

2014-03-14 Thread bearophile
Chris: Thanks for the answer. Any particular reason why the variable declaration should not be skipped? Security? Code generation? In D all variables get initialized at the definition point (unless you add a "= void"). A goto skips this initialization, and this breaks certain safety generate

Re: dmd v2.065 compatibility

2014-03-14 Thread Chris
On Friday, 14 March 2014 at 10:49:57 UTC, bearophile wrote: Chris: [2] Another issue I encountered was when I recompiled the library, dmd 2.065 gave me an error that a goto statement skipped a variable. The case is as follows: if (condition) { goto Label; } auto variable = getVariableValu

Re: dmd v2.065 compatibility

2014-03-14 Thread bearophile
Chris: [2] Another issue I encountered was when I recompiled the library, dmd 2.065 gave me an error that a goto statement skipped a variable. The case is as follows: if (condition) { goto Label; } auto variable = getVariableValue(); // Only needed, if "condition" above not true // do th

dmd v2.065 compatibility

2014-03-14 Thread Chris
[1] Yesterday I tried to build a project with dub. dub had downloaded and installed dmd v2.065. The project and accompanying library had been built with dmd v2.064. dub said that the project was up to date and didn't need compiling. However, I got a long long error message informing me that th