blob: 44d6951879c18a623b277d692c595ae2c1a32c3d [file] [log] [blame]
/*
REQUIRED_ARGS: -betterC
RUN_OUTPUT:
---
init
init
main
fini
fini
---
*/
import core.stdc.stdio;
pragma(crt_constructor)
pragma(crt_destructor)
void ctor_dtor_1()
{
__gshared bool initialized;
puts(initialized ? "fini" : "init");
initialized = true;
}
pragma(crt_constructor)
__gshared int var; // ignored for anything but functions
pragma(crt_constructor)
{
version (all) void init()
{
puts("init");
}
}
template fini()
{
pragma(crt_destructor)
void fini()
{
puts("fini");
}
}
alias instantiate = fini!();
extern(C) int main()
{
puts("main");
return 0;
}