# HG changeset patch # User thomask # Date 1123338750 0 # Node ID e375e824c620b9414a02be5b97aab7c89a00efdb # Parent 93eb1400acc58cbb7ea5d24691a2a8c0de9bebb6 Assertion failure: '!v->csym' on line 387 in file 'glue.c' Sean Kelly 2005-08-01 news:dclojd$6ak$1@digitaldaemon.com diff -r 93eb1400acc5 -r e375e824c620 run/b/bug_glue_387_A.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/b/bug_glue_387_A.d Sat Aug 06 14:32:30 2005 +0000 @@ -0,0 +1,54 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Sean Kelly +// @date@ 2005-08-01 +// @uri@ news:dclojd$6ak$1@digitaldaemon.com +// @desc@ Assertion failure: '!v->csym' on line 387 in file 'glue.c' + +module dstress.run.b.bug_glue_387_A; + +enum msync{ + acq, + rel, +} + +template atomicStore(T, msync ms){ + void atomicStore(T val){ + volatile asm{ + mov EAX, val; + } + } +} + +struct Atomic(T){ + template store(msync ms){ + void store(){ + atomicStore!(T, ms)(m_val); + } + } + + T m_val; +} + +template testStore(T, msync ms){ + void testStore(){ + T base; + Atomic!(T) atom; + assert(atom.m_val == base); + atom.store!(ms)(); + } +} + +template testType(T){ + void testType(){ + testStore!(T, msync.acq)(); + testStore!(T, msync.rel)(); + } +} + +int main(){ + testType!(int)(); + return 0; +} \ No newline at end of file diff -r 93eb1400acc5 -r e375e824c620 run/b/bug_glue_387_B.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/b/bug_glue_387_B.d Sat Aug 06 14:32:30 2005 +0000 @@ -0,0 +1,54 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Sean Kelly +// @date@ 2005-08-01 +// @uri@ news:dclojd$6ak$1@digitaldaemon.com +// @desc@ Assertion failure: '!v->csym' on line 387 in file 'glue.c' + +module dstress.run.b.bug_glue_387_B; + +enum msync{ + acq, + rel, +} + +template atomicStore(T, msync ms){ + void atomicStore(T val){ + asm{ + mov EAX, val; + } + } +} + +struct Atomic(T){ + template store(msync ms){ + void store(){ + atomicStore!(T, ms)(m_val); + } + } + + T m_val; +} + +template testStore(T, msync ms){ + void testStore(){ + T base; + Atomic!(T) atom; + assert(atom.m_val == base); + atom.store!(ms)(); + } +} + +template testType(T){ + void testType(){ + testStore!(T, msync.acq)(); + testStore!(T, msync.rel)(); + } +} + +int main(){ + testType!(int)(); + return 0; +} \ No newline at end of file diff -r 93eb1400acc5 -r e375e824c620 run/b/bug_glue_387_C.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/b/bug_glue_387_C.d Sat Aug 06 14:32:30 2005 +0000 @@ -0,0 +1,53 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Sean Kelly +// @date@ 2005-08-01 +// @uri@ news:dclojd$6ak$1@digitaldaemon.com +// @desc@ Assertion failure: '!v->csym' on line 387 in file 'glue.c' + +module dstress.run.b.bug_glue_387_C; + +enum msync{ + acq, + rel, +} + +template atomicStore(T, msync ms){ + void atomicStore(T val){ + volatile asm{ + mov EAX, val; + } + } +} + +struct Atomic(T){ + template store(msync ms){ + void store(){ + atomicStore!(T, ms)(m_val); + } + } + + T m_val; +} + +template testStore(T, msync ms){ + void testStore(){ + T base; + Atomic!(T) atom; + assert(atom.m_val == base); + atom.store!(ms)(); + } +} + +template testType(T){ + void testType(){ + testStore!(T, msync.acq)(); + } +} + +int main(){ + testType!(int)(); + return 0; +} \ No newline at end of file diff -r 93eb1400acc5 -r e375e824c620 run/b/bug_glue_387_D.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/b/bug_glue_387_D.d Sat Aug 06 14:32:30 2005 +0000 @@ -0,0 +1,53 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Sean Kelly +// @date@ 2005-08-01 +// @uri@ news:dclojd$6ak$1@digitaldaemon.com +// @desc@ Assertion failure: '!v->csym' on line 387 in file 'glue.c' + +module dstress.run.b.bug_glue_387_C; + +enum msync{ + acq, + rel, +} + +template atomicStore(T, msync ms){ + void atomicStore(T val){ + volatile asm{ + mov EAX, val; + } + } +} + +struct Atomic(T){ + template store(msync ms){ + void store(){ + atomicStore!(T, ms)(m_val); + } + } + + T m_val; +} + +template testStore(T, msync ms){ + void testStore(){ + T base; + Atomic!(T) atom; + assert(atom.m_val == base); + atom.store!(ms)(); + } +} + +template testType(T){ + void testType(){ + testStore!(T, msync.rel)(); + } +} + +int main(){ + testType!(int)(); + return 0; +} \ No newline at end of file