On Sunday, 12 May 2013 at 15:27:04 UTC, Iain Buclaw wrote:
Benjamin Thaut, yes I know. but here is an example, if I add a class to
the code like that:
module main;
extern (C) void* _Dmodule_ref = null;
extern (C) void printf(const char*, ...);
extern (C) void puts(const char*);
extern (C) void exit(int);
class A {
int a = 100;
int b = 200;
};
extern (C) void main() {
scope(exit) {
puts("Exiting!");
exit(0);
}
A a; printf("%d %d\n", a.a, a.b);
}
This code won't work. classes are reference types and need to be
initialised with 'new'. This requires TypeInfo_Class information to
do... You could possible use 'scope A a = new A'. But again your going
into the bounds of needing rtti for the initialiser var to assign it on the
stack.
Structs would be your friend here...
I have used the option -fno-emit-moduleinfo and got rid of _Dmodule_ref