Mercurial > projects > ldc
diff tests/mini/nested16.d @ 486:a34078905d01
Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Reimplemented support for nested functions/class using a new approach.
Added error on taking address of intrinsic.
Fixed problems with the ->syntaxCopy of TypeFunction delegate exp.
Removed DtoDType and replaced all uses with ->toBasetype() instead.
Removed unused inplace stuff.
Fixed a bunch of issues in the runtime unittests, not complete yet.
Added mini tests.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sun, 10 Aug 2008 08:37:38 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/mini/nested16.d Sun Aug 10 08:37:38 2008 +0200 @@ -0,0 +1,31 @@ +module mini.nested16; + +void main() +{ + int idx = 123; + int func(int* idp) + { + void foo() + { + void bar(int* idp) + { + auto c = new class + { + void mem() + { + scope(exit) ++*idp; + } + }; + auto dg = () { + c.mem(); + }; + dg(); + } + bar(idp); + ++*idp; + } + foo(); + return ++*idp; + } + assert(func(&idx) == 126); +}