[Issue 5930] New: cas doesn't work when used in code compiled with -D

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu May 5 12:07:50 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=5930

           Summary: cas doesn't work when used in code compiled with -D
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: druntime
        AssignedTo: nobody at puremagic.com
        ReportedBy: jsancio at gmail.com


--- Comment #0 from Jose Garcia <jsancio at gmail.com> 2011-05-05 12:03:54 PDT ---
$ cat cas_test.d
import core.atomic;
import std.exception;
import std.stdio;

unittest
{
   shared bool init = false;
writefln("init = %s", init);
   enforce(cas(&init, false, true));
writefln("init = %s", init);
}

void main() {}

$ dmd -unittest cas_test.d && ./cas_test
init = false
init = true
$ dmd -unittest -D cas_test.d && ./cas_test
init = false
object.Exception at cas_test.d(9): Enforcement failed
----------------
./cas_test(_D3std9exception7bailOutFAyaixAaZv+0x5b) [0x80a0dcb]
./cas_test(_D3std9exception45__T7enforceTbVAyaa10_6361735f746573742e64Vi9Z7enforceFbLAxaZb+0x2b)
[0x80985ff]
./cas_test(_D8cas_test11__unittest1FZv+0x39) [0x80954dd]
./cas_test(_D8cas_test9__modtestFZv+0x8) [0x80987bc]
./cas_test(_D4core7runtime18runModuleUnitTestsUZb16__foreachbody247MFKPS6object10ModuleInfoZi+0x24)
[0x80a3e1c]
./cas_test(_D6object10ModuleInfo7opApplyFMDFKPS6object10ModuleInfoZiZi+0x46)
[0x809a872]
./cas_test(runModuleUnitTests+0x87) [0x80a3d37]
./cas_test(_D2rt6dmain24mainUiPPaZi6runAllMFZv+0x20) [0x809b718]
./cas_test(_D2rt6dmain24mainUiPPaZi7tryExecMFMDFZvZv+0x20) [0x809b678]
./cas_test(main+0x94) [0x809b624]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x126e37]
./cas_test() [0x80953f1]

-------------------------
Does this have to do with core/atomic.d having version(D_Doc) bool
cas(...)(...) {return false; }  ?


The work around is not to use object files compiled with the -D flag!

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list