Ticket #174 (new defect)

Opened 9 months ago

The content of tango/util/Convert.d irritates DSSS

Reported by: Mauer Assigned to: Gregor
Priority: major Milestone:
Component: Rebuild Version:
Keywords: Cc:

Description

I tried to build a program which uses tango.util.Convert, but the library libDG-tango-util.a was not linked, even though there is the version (build) directive to link it in at the buttom of the tango/util/Convert.di created by DSSS.

I moved the version (build) statements to the top of the file, and now it works.

There must be some text in the file which is not parsed correctly by rebuild.


I did now move this version (build) statement around in the file, and noticed the problem is here:

...
debug( UnitTest ):
...
version (build) {
    debug {
        version (GNU) {
            pragma(link, "DG-tango-util");
        } else version (DigitalMars) {
            pragma(link, "DD-tango-util");
        } else {
            pragma(link, "DO-tango-util");
        }
    } else {
        version (GNU) {
            pragma(link, "DG-tango-util");
        } else version (DigitalMars) {
            pragma(link, "DD-tango-util");
        } else {
            pragma(link, "DO-tango-util");
        }
    }
}

The debug statement somewhere in the file affects the version(build) statement at the bottom of the file.