view run/mini/nested6a.d @ 1630:d0efa3ae5522 default tip

run/mini/naked_asm5: New x86_64 ABI passes the arguments in reverse order.
author David Nadlinger <code@klickverbot.at>
date Sat, 23 Apr 2011 22:57:32 +0200
parents c6ef09dfba4d
children
line wrap: on
line source

module nested6a;
extern(C) int printf(char*, ...);

void main()
{
    int i = 42;

    printf("main() %d\n", i++);

    class C
    {
        int j;
        void func()
        {
            int k;
            printf("C.func() %d\n", i++);

            class C2
            {
                int l;
                void func2()
                {
                    printf("in C2.func2()\n");
                    printf("C2.func2() %d\n", i++);
                }
                int m;
            }

            {
                printf("new C2\n");
                auto c2 = new C2;
                printf("C2.func2()\n");
                c2.func2();
            }
        int n;
        }
    int o;
    }

    auto c = new C;
    c.func();
}