mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-04-30 07:21:30 +02:00
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.
This commit is contained in:
31
tests/mini/nested16.d
Normal file
31
tests/mini/nested16.d
Normal file
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user