view tests/mini/norun_debug11.d @ 1275:bedf0bfb8fdb

Implement first D-specific optimization pass: -simplify-drtcalls. It uses the machinery of the standard -simplify-libcalls pass, but optimizes calls to the D runtime instead of calls to C libraries. At the moment, these optimizations are implemented by this pass: - Avoid the runtime call for `arr.length = newlen` if it can determine that the new length isn't longer than the old one. - Ditto for `cast(T[]) arr` if it will clearly always succeed. (e.g. if the length of the original array is zero, or if the old element size is a multiple of the new element size)
author Frits van Bommel <fvbommel wxs.nl>
date Tue, 28 Apr 2009 21:58:06 +0200
parents 24ea9bf5f8b7
children bac742d3a72d
line wrap: on
line source

module mini.norun_debug11;

class C
{
}

class D : C
{
    int i = 42;
}

class E : D
{
    float fp = 3.14f;
}

class F : E
{
    F f;
}

void main()
{
    auto c = new C;
    auto d = new D;
    auto e = new E;
    auto f = new F;

    auto ci = c.classinfo;

    int* fail;
    *fail = 0;
}