view tools/binding/llvmsample2.d @ 1463:a5526b7a5ae6

D2: Applied function type from D1 frontend that got removed in D2, it's critical for member function type to be correct. Fixed a bunch of type discrepancies in druntime object.di vs. genobj.d . Disabled (#if 0) some potentally very large type dumps for -vv . Updated classinfo and typeinfo generation for D2, almost complete now. Added finer grained checks for vtbl type mismatching, aids debugging.
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Wed, 03 Jun 2009 02:28:48 +0200
parents 1ba61de8796b
children
line wrap: on
line source

// simple test of recursive types.
module llvmsample2;

import llvm.llvm;

void main()
{
    auto th = new TypeHandle();
    auto s = StructType.Get([ PointerType.Get(th.resolve) ], false);
    th.refine(s);
    s.dump();
    th.dispose();

    auto t = getTypeOf(s.ll);
    t.dump();

    assert(s is t);
}