view tests/mini/bug308_double_finally.d @ 1518:26d061e61b02

Initialize LLVM target and asmprinter for the native and extra targets. Uses some CMake hackery to get the native LLVM target name, since it only provides a conveniance function for initializing the native target and not the native asmprinter.
author Christian Kamm <kamm incasoftware de>
date Fri, 26 Jun 2009 21:02:23 +0200
parents f9285cf14c0d
children
line wrap: on
line source

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

long foo(ref int p) {
    try { return 0; }
    finally {
        p++;
        throw new Object;
    }
}

void main() {
    int p = 0;
    try {
        foo(p);
        assert(0);
    } catch {
    }
    printf("Number of types scope(exit) was executed : %d\n", p);
    assert(p == 1);
}