Mercurial > projects > dstress
changeset 729:8af8ab0c2242
-O and -inline bugs
author | thomask |
---|---|
date | Sat, 05 Nov 2005 08:38:35 +0000 |
parents | a938b1b6d583 |
children | f8975afad797 |
files | nocompile/b/bug_e2ir_299_C.d norun/m/main_05_B.d run/c/catch_05_H.d run/f/for_04_B.d run/f/for_05_B.d run/f/foreach_28_B.d run/f/foreach_29_B.d run/m/mixin_14_E.d run/m/mixin_14_F.d run/m/mixin_14_G.d run/m/mixin_14_H.d run/m/mixin_14_I.d run/m/mixin_14_J.d run/m/mixin_14_K.d run/m/mixin_14_L.d run/r/return_06_B.d |
diffstat | 16 files changed, 455 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/b/bug_e2ir_299_C.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ h3r3tic <foo@bar.baz> +// @date@ 2004-12-24 +// @uri@ news:cqi3v3$r2o$1@digitaldaemon.com +// @url@ nntp://digitalmars.com/digitalmars.D.bugs/2601 + +// function literals cannot call nested functions + +// __DSTRESS_DFLAGS__ -inline +// __DSTRESS_ELINE__ 20 + +module dstress.nocompile.b.bug_e2ir_299_C; + +int main(){ + void foo() {} + void function() bar = function void() { + foo(); + }; + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/norun/m/main_05_B.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// __DSTRESS_ELINE__ 10 +// __DSTRESS_DFLAGS__ -inline + +module dstress.norun.m.main_05_B; + +int main(){ +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/c/catch_05_H.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,40 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Nick <Nick_member@pathlink.com> +// @date@ 2005-06-21 +// @uri@ news:d99id2$fgj$1@digitaldaemon.com +// @desc@ foreach and throw/catch code generation + +// __DSTRESS_DFLAGS__ -O + +module dstress.run.c.catch_05_H; + +void dummy(...){ +} + +int bb[char[]]; + +int main(){ + + foreach(char[] s, int i; bb){ + dummy(); + } + + bb["a"] = 1; + + foreach(int b; bb){ + try{ + throw new Error("foo"); + }catch(Error e){ + assert(e); + return 0; + }catch{ + assert(0); + } + assert(0); + } + + assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/f/for_04_B.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,20 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Stewart Gordon <smjg_1998@yahoo.com> +// @date@ 2005-04-18 +// @uri@ news:d4026v$nc0$5@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -inline + +module dstress.run.f.for_04_B; + +int main() { + int i; + for (i = 0; i < 10; i++){ + debug i=22; + } + assert(i==10); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/f/for_05_B.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,20 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Stewart Gordon <smjg_1998@yahoo.com> +// @date@ 2005-04-18 +// @uri@ news:d4026v$nc0$5@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -inline + +module dstress.run.f.for_05_B; + +int main() { + int i; + for (i = 0; i < 10; i++){ + version(dummy) i=22; + } + assert(i==10); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/f/foreach_28_B.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,18 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Stewart Gordon <smjg_1998@yahoo.com> +// @date@ 2005-04-18 +// @uri@ news:d4026v$nc0$5@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -inline + +module dstress.run.f.foreach_28_B; + +int main(char[][] args) { + foreach(char[] p; args){ + version(dummy) int i; + } + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/f/foreach_29_B.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,18 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Stewart Gordon <smjg_1998@yahoo.com> +// @date@ 2005-04-18 +// @uri@ news:d4026v$nc0$5@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -inline + +module dstress.run.foreach_29_B; + +int main(char[][] args) { + foreach(char[] p; args){ + debug(dummy) int i; + } + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_14_E.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,35 @@ +// $HeadULR$ +// $Date$ +// $Author$ + +// @author@ ElfQT <dethjunk@yahoo.com> +// @date@ 2005-09-03 +// @uri@ news:dfd6f0$oit$1@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -inline + +module dstress.run.m.mixin_14_E; + +int main(){ + char[] arg = "AAA"; + mixin Template!(); + + assert(Class.foo(arg) == "AAA"); + assert(test() == "XXX"); + + return 0; +} + +template Template(){ + char[] arg = "XXX"; + + char[] test(){ + return Class.foo(arg); + } +} + +class Class{ + static char[] foo(char[] s){ + return s; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_14_F.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,35 @@ +// $HeadULR$ +// $Date$ +// $Author$ + +// @author@ ElfQT <dethjunk@yahoo.com> +// @date@ 2005-09-03 +// @uri@ news:dfd6f0$oit$1@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -inline + +module dstress.run.m.mixin_14_F; + +int main(){ + int arg = 1; + mixin Template!(); + + assert(Class.foo(arg) == 1); + assert(test() == 2); + + return 0; +} + +template Template(){ + int arg = 2; + + int test(){ + return Class.foo(arg); + } +} + +class Class{ + static int foo(int i){ + return i; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_14_G.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,36 @@ +// $HeadULR$ +// $Date$ +// $Author$ + +// @author@ ElfQT <dethjunk@yahoo.com> +// @date@ 2005-09-03 +// @uri@ news:dfd6f0$oit$1@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -inline + +module dstress.run.m.mixin_14_G; + +int main(){ + mixin Template!(); + char[] arg = "AAA"; + + + assert(Class.foo(arg) == "AAA"); + assert(test() == "XXX"); + + return 0; +} + +template Template(){ + char[] arg = "XXX"; + + char[] test(){ + return Class.foo(arg); + } +} + +class Class{ + static char[] foo(char[] s){ + return s; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_14_H.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,35 @@ +// $HeadULR$ +// $Date$ +// $Author$ + +// @author@ ElfQT <dethjunk@yahoo.com> +// @date@ 2005-09-03 +// @uri@ news:dfd6f0$oit$1@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -inline + +module dstress.run.m.mixin_14_H; + +int main(){ + mixin Template!(); + int arg = 1; + + assert(Class.foo(arg) == 1); + assert(test() == 2); + + return 0; +} + +template Template(){ + int arg = 2; + + int test(){ + return Class.foo(arg); + } +} + +class Class{ + static int foo(int i){ + return i; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_14_I.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,35 @@ +// $HeadULR$ +// $Date$ +// $Author$ + +// @author@ ElfQT <dethjunk@yahoo.com> +// @date@ 2005-09-03 +// @uri@ news:dfd6f0$oit$1@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -g + +module dstress.run.m.mixin_14_I; + +int main(){ + char[] arg = "AAA"; + mixin Template!(); + + assert(Class.foo(arg) == "AAA"); + assert(test() == "XXX"); + + return 0; +} + +template Template(){ + char[] arg = "XXX"; + + char[] test(){ + return Class.foo(arg); + } +} + +class Class{ + static char[] foo(char[] s){ + return s; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_14_J.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,35 @@ +// $HeadULR$ +// $Date$ +// $Author$ + +// @author@ ElfQT <dethjunk@yahoo.com> +// @date@ 2005-09-03 +// @uri@ news:dfd6f0$oit$1@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -g + +module dstress.run.m.mixin_14_J; + +int main(){ + int arg = 1; + mixin Template!(); + + assert(Class.foo(arg) == 1); + assert(test() == 2); + + return 0; +} + +template Template(){ + int arg = 2; + + int test(){ + return Class.foo(arg); + } +} + +class Class{ + static int foo(int i){ + return i; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_14_K.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,36 @@ +// $HeadULR$ +// $Date$ +// $Author$ + +// @author@ ElfQT <dethjunk@yahoo.com> +// @date@ 2005-09-03 +// @uri@ news:dfd6f0$oit$1@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -g + +module dstress.run.m.mixin_14_K; + +int main(){ + mixin Template!(); + char[] arg = "AAA"; + + + assert(Class.foo(arg) == "AAA"); + assert(test() == "XXX"); + + return 0; +} + +template Template(){ + char[] arg = "XXX"; + + char[] test(){ + return Class.foo(arg); + } +} + +class Class{ + static char[] foo(char[] s){ + return s; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_14_L.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,35 @@ +// $HeadULR$ +// $Date$ +// $Author$ + +// @author@ ElfQT <dethjunk@yahoo.com> +// @date@ 2005-09-03 +// @uri@ news:dfd6f0$oit$1@digitaldaemon.com + +// __DSTRESS_DFLAGS__ -g + +module dstress.run.m.mixin_14_L; + +int main(){ + mixin Template!(); + int arg = 1; + + assert(Class.foo(arg) == 1); + assert(test() == 2); + + return 0; +} + +template Template(){ + int arg = 2; + + int test(){ + return Class.foo(arg); + } +} + +class Class{ + static int foo(int i){ + return i; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/r/return_06_B.d Sat Nov 05 08:38:35 2005 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// __DSTRESS__ -inline + +module dstress.run.r.return_06_B; + +int test(int i){ + if(i==0){ + return 2; + } +} + +int main(){ + assert(test(0)==2); + try{ + test(1); + }catch{ + return 0; + } + assert(0); +}