Files
ldc/gen
kai 4ea7e8dbf8 Add pragma to install function as global C runtime ctor or dtor.
DMD has the obscure functionality to install functions starting with
_STI_ as global ctors and funtions starting with _STD_ as global
dtors. IMHO a pragma is a better way to specify the behaviour.

This commit adds pragma(LDC_global_crt_ctor) and
pragma(LDC_global_crt_dtor). If the pragma is specified on a function
or static method then an entry is made in the corresponding list. E.g.
in monitor_.d:

    extern (C) {
        #pragma(LDC_global_crt_ctor)
        void _STI_monitor_staticctor()
        {
            // ...
        }
    }

This works on Linux without problems. On Windows with MS C Runtime
ctors work always but dtors are invoked only if linked against the
static C runtime. Dtors on Windows require at least LLVM 3.2.
2012-12-22 21:18:37 +01:00
..
2012-12-16 17:19:15 +01:00
2012-12-20 01:21:10 +01:00
2012-12-16 17:19:15 +01:00
2012-12-16 17:19:15 +01:00
2012-12-16 17:19:15 +01:00
2012-12-20 01:00:55 +01:00
2012-12-20 01:00:55 +01:00
2012-12-16 17:19:15 +01:00
2012-12-21 22:45:09 +01:00