Mercurial > projects > ddmd
annotate dmd/backend/TYM.d @ 146:af7e5ebef6ad
redundant extern(C)
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Tue, 14 Sep 2010 23:34:50 +0100 |
parents | 3f834bed4f13 |
children |
rev | line source |
---|---|
0 | 1 module dmd.backend.TYM; |
2 | |
3 enum TYM | |
4 { | |
5 TYbool = 0, | |
6 TYchar = 1, | |
7 TYschar = 2, // signed char | |
8 TYuchar = 3, // unsigned char | |
9 TYshort = 4, | |
10 TYwchar_t = 5, | |
11 TYushort = 6, // unsigned short | |
12 TYenum = 7, // enumeration value | |
13 TYint = 8, | |
14 TYuint = 9, // unsigned | |
15 TYlong = 0xA, | |
16 TYulong = 0xB, // unsigned long | |
17 TYdchar = 0xC, // 32 bit Unicode char | |
18 TYllong = 0xD, // 64 bit long | |
19 TYullong = 0xE, // 64 bit unsigned long | |
20 TYfloat = 0xF, // 32 bit real | |
21 TYdouble = 0x10, // 64 bit real | |
22 | |
23 // long double is mapped to either of the following at runtime: | |
24 TYdouble_alias = 0x11, // 64 bit real (but distinct for overload purposes) | |
25 TYldouble = 0x12, // 80 bit real | |
26 | |
27 // Add imaginary and complex types for D and C99 | |
28 TYifloat = 0x13, | |
29 TYidouble = 0x14, | |
30 TYildouble = 0x15, | |
31 TYcfloat = 0x16, | |
32 TYcdouble = 0x17, | |
33 TYcldouble = 0x18, | |
34 | |
35 ///#if TX86 | |
36 TYjhandle = 0x19, // Jupiter handle type, equals TYnptr except | |
37 // that the debug type is different so the | |
38 // debugger can distinguish them | |
39 TYnptr = 0x1A, // data segment relative pointer | |
40 TYsptr = 0x1B, // stack segment relative pointer | |
41 TYcptr = 0x1C, // code segment relative pointer | |
42 TYf16ptr = 0x1D, // special OS/2 far16 pointer | |
43 TYfptr = 0x1E, // far pointer (has segment and offset) | |
44 TYhptr = 0x1F, // huge pointer (has segment and offset) | |
45 TYvptr = 0x20, // __handle pointer (has segment and offset) | |
46 TYref = 0x21, // reference to another type | |
47 TYvoid = 0x22, | |
48 TYstruct = 0x23, // watch tyaggregate() | |
49 TYarray = 0x24, // watch tyaggregate() | |
50 TYnfunc = 0x25, // near C func | |
51 TYffunc = 0x26, // far C func | |
52 TYnpfunc = 0x27, // near Cpp func | |
53 TYfpfunc = 0x28, // far Cpp func | |
54 TYnsfunc = 0x29, // near stdcall func | |
55 TYfsfunc = 0x2A, // far stdcall func | |
56 TYifunc = 0x2B, // interrupt func | |
57 TYmemptr = 0x2C, // pointer to member | |
58 TYident = 0x2D, // type-argument | |
59 TYtemplate = 0x2E, // unexpanded class template | |
60 TYvtshape = 0x2F, // virtual function table | |
61 TYptr = 0x30, // generic pointer type | |
62 TYf16func = 0x31, // _far16 _pascal function | |
63 TYnsysfunc = 0x32, // near __syscall func | |
64 TYfsysfunc = 0x33, // far __syscall func | |
65 TYmfunc = 0x34, // NT C++ member func | |
66 TYjfunc = 0x35, // LINKd D function | |
67 TYhfunc = 0x36, // C function with hidden parameter | |
68 TYnref = 0x37, // near reference | |
69 TYfref = 0x38, // far reference | |
70 TYMAX = 0x39, | |
71 | |
72 ///#if MARS | |
73 TYaarray = TYnptr, | |
74 TYdelegate = TYllong, | |
75 TYdarray = TYullong, | |
76 ///#endif | |
77 } | |
78 | |
25 | 79 version (Windows) { |
80 extern (C++) extern { | |
81 __gshared int TYptrdiff, TYsize, TYsize_t; | |
82 } | |
83 } else { | |
84 extern (C) extern { | |
85 __gshared int TYptrdiff, TYsize, TYsize_t; | |
86 } | |
0 | 87 } |
88 | |
89 import dmd.EnumUtils; | |
14
2cc604139636
Implemented Linux support for ddmd. Some parts are a bit hacky to just "get it working", that said, druntime and phobos compile, and unittests pass.
Robert Clipsham <robert@octarineparrot.com>
parents:
0
diff
changeset
|
90 mixin(BringToCurrentScope!(TYM)); |