Mercurial > projects > ldc
view tests/mini/classinfo3.d @ 988:2667e3a145be
- Fixed LLVM style CL args for D2.
- Moved main() into its own file gen/main.cpp
- Fixed basic cross compilation
- removed the option for setting OS
- added support for llc's mattr, mcpu and mtriple switches
- added basic ABI abstraction for return value rewrites, it's not perfect and will probably be completely rewritten once I get to handling parameter rewrites as well.
- x86-64 extern(C) abi for cfloat returns now match (llvm-)gcc.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Thu, 26 Feb 2009 14:11:49 +0100 |
parents | 8f0b24bc55f0 |
children |
line wrap: on
line source
module classinfo3; class C { int i; float f; long l; int j; } void main() { auto c = C.classinfo; if (c.offTi !is null) { assert(c.offTi.length == 4); size_t base = 2*size_t.sizeof; assert(c.offTi[0].offset == base); assert(c.offTi[0].ti == typeid(int)); assert(c.offTi[1].offset == base+4); assert(c.offTi[1].ti == typeid(float)); assert(c.offTi[2].offset == base+8); assert(c.offTi[2].ti == typeid(long)); assert(c.offTi[3].offset == base+16); assert(c.offTi[3].ti == typeid(int)); } }