mirror of
https://github.com/xomboverlord/xomb-bare-bones.git
synced 2026-01-12 02:43:14 +01:00
Since GDC is for all reasonable purposes dead in development, LDC is the current way to go. In this build, LDC is used to compile any D language code. You will not need a naked-compile of GDC to compile anymore. We will no longer maintain GDC as a first priority. Please check the wiki first for build instructions, check the README for a link. Signed-off-by: The XOmB Overlord <overlord@xomb.org>
71 lines
1.2 KiB
D
71 lines
1.2 KiB
D
// Written in the D programming language
|
|
|
|
module std.moduleinit;
|
|
|
|
//debug = 1;
|
|
|
|
//private
|
|
//{
|
|
// import object;
|
|
//}
|
|
/*
|
|
enum
|
|
{
|
|
MIctorstart = 1, // we've started constructing it
|
|
MIctordone = 2, // finished construction
|
|
MIstandalone = 4, // module ctor does not depend on other module
|
|
// ctors being done first
|
|
MIhasictor = 8, // has ictor member
|
|
}
|
|
*/
|
|
// Start of the module linked list
|
|
|
|
struct ModuleReference
|
|
{
|
|
ModuleReference* next;
|
|
ModuleInfo mod;
|
|
}
|
|
|
|
extern(C) ModuleReference* _Dmodule_ref;
|
|
|
|
//ModuleInfo[] _moduleinfo_dtors;
|
|
uint _moduleinfo_dtors_i;
|
|
|
|
// Register termination function pointers
|
|
//extern (C) int _fatexit(void *);
|
|
|
|
/*************************************
|
|
* Initialize the modules.
|
|
*/
|
|
|
|
extern (C) void _moduleCtor()
|
|
{
|
|
}
|
|
|
|
/**********************************
|
|
* Destruct the modules.
|
|
*/
|
|
|
|
// Starting the name with "_STD" means under linux a pointer to the
|
|
// function gets put in the .dtors segment.
|
|
|
|
extern (C) void _moduleDtor()
|
|
{
|
|
}
|
|
|
|
/**********************************
|
|
* Run unit tests.
|
|
*/
|
|
|
|
extern (C) void _moduleUnitTests()
|
|
{
|
|
}
|
|
|
|
/**********************************
|
|
* Run unit tests.
|
|
*/
|
|
|
|
extern (C) void _moduleIndependentCtors()
|
|
{
|
|
}
|