Files
ldc/dmd2
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-20 01:00:55 +01:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 04:15:44 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-04-05 15:30:00 +04:00
2012-09-07 03:51:31 +02:00
2012-04-22 12:10:47 +04:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-04-05 11:12:22 +04:00
2012-12-16 17:19:14 +01:00
2012-12-16 17:19:14 +01:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-11-18 13:37:55 +01:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-04-05 15:30:00 +04:00
2012-04-05 15:30:00 +04:00
2012-04-05 15:30:00 +04:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 04:15:44 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-12-17 00:08:06 +01:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:32 +02:00
2012-12-16 18:08:19 +01:00
2012-12-20 01:00:55 +01:00
2012-09-07 04:15:44 +02:00
2012-09-07 04:15:44 +02:00
2012-09-07 04:15:44 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-04-05 15:30:00 +04:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00
2012-09-07 03:51:31 +02:00

		The D Programming Language
		Compiler Front End Source
		Copyright (c) 1999-2009, by Digital Mars
		http://www.digitalmars.com
		All Rights Reserved


This is the source code to the front end Digital Mars D compiler.
It covers the lexical analysis, parsing, and semantic analysis
of the D Programming Language defined in the documents at
http://www.digitalmars.com/d/

These sources are free, they are redistributable and modifiable
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version (attached as gpl.txt),
or the Artistic License (attached as artistic.txt).

The optimizer and code generator sources are 
covered under a separate license, backendlicense.txt.

It does not apply to anything else distributed by Digital Mars,
including D compiler executables.

-Walter Bright