dmd v2.065 compatibility

Chris wendlec at tcd.ie
Fri Mar 14 03:43:30 PDT 2014


[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 there were undefined references 
(see below). I recompiled the library with dmd v2.065 and 
everything worked fine. Yet I wonder, is this behavior normal, 
i.e. dub says its alright but not really?

[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 things with variable here (needed for what comes after 
"Label"

Label:
// Finish everything

I know that scope would be better and this is the only goto I 
have left. In order for the code to compile I had to move (as a 
quick fix)

auto variable = getVariableValue();

to before the if (condition) statement. Is this by design? If 
yes, why? Enlighten me, cos it shouldn't really matter, should it?

[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__T8AppenderTAyaZ8AppenderZ10replaceFmtFNaNfAxaS3std5regex19__T8CapturesTAyaTmZ8CapturesS3std5array17__T8AppenderTAyaZ8AppenderbZv245__T4findS2283std5regex102__T10replaceFmtTAxaTS3std5regex19__T8CapturesTAyaTmZ8CapturesTS3std5array17__T8AppenderTAyaZ8AppenderZ10replaceFmtFNaNfAxaS3std5regex19__T8CapturesTAyaTmZ8CapturesS3std5array17__T8AppenderTAyaZ8AppenderbZv9__lambda7TAxaZ4findMFNaNfAxaZAxa':
/usr/include/dmd/phobos/std/regex.d:(.text._D3std5regex102__T10replaceFmtTAxaTS3std5regex19__T8CapturesTAyaTmZ8CapturesTS3std5array17__T8AppenderTAyaZ8AppenderZ10replaceFmtFNaNfAxaS3std5regex19__T8CapturesTAyaTmZ8CapturesS3std5array17__T8AppenderTAyaZ8AppenderbZv245__T4findS2283std5regex102__T10replaceFmtTAxaTS3std5regex19__T8CapturesTAyaTmZ8CapturesTS3std5array17__T8AppenderTAyaZ8AppenderZ10replaceFmtFNaNfAxaS3std5regex19__T8CapturesTAyaTmZ8CapturesS3std5array17__T8AppenderTAyaZ8AppenderbZv9__lambda7TAxaZ4findMFNaNfAxaZAxa+0x53): 
undefined reference to `_D3std5ascii6_ctypeyG128h'
/usr/include/dmd/phobos/std/regex.d:(.text._D3std5regex102__T10replaceFmtTAxaTS3std5regex19__T8CapturesTAyaTmZ8CapturesTS3std5array17__T8AppenderTAyaZ8AppenderZ10replaceFmtFNaNfAxaS3std5regex19__T8CapturesTAyaTmZ8CapturesS3std5array17__T8AppenderTAyaZ8AppenderbZv245__T4findS2283std5regex102__T10replaceFmtTAxaTS3std5regex19__T8CapturesTAyaTmZ8CapturesTS3std5array17__T8AppenderTAyaZ8AppenderZ10replaceFmtFNaNfAxaS3std5regex19__T8CapturesTAyaTmZ8CapturesS3std5array17__T8AppenderTAyaZ8AppenderbZv9__lambda7TAxaZ4findMFNaNfAxaZAxa+0x113): 
undefined reference to `_D3std5ascii6_ctypeyG128h'


More information about the Digitalmars-d-learn mailing list