Mercurial > projects > dstress
changeset 614:e375e824c620
Assertion failure: '!v->csym' on line 387 in file 'glue.c'
Sean Kelly <sean@f4.ca>
2005-08-01
news:dclojd$6ak$1@digitaldaemon.com
author | thomask |
---|---|
date | Sat, 06 Aug 2005 14:32:30 +0000 |
parents | 93eb1400acc5 |
children | 015847a6fe3d |
files | run/b/bug_glue_387_A.d run/b/bug_glue_387_B.d run/b/bug_glue_387_C.d run/b/bug_glue_387_D.d |
diffstat | 4 files changed, 214 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /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 <sean@f4.ca> +// @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
--- /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 <sean@f4.ca> +// @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
--- /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 <sean@f4.ca> +// @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
--- /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 <sean@f4.ca> +// @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