0
|
1 module dmd.backend.RTLSYM;
|
|
2
|
114
|
3 import dmd.common;
|
0
|
4 import dmd.backend.Symbol;
|
|
5
|
|
6 enum RTLSYM
|
|
7 {
|
|
8 RTLSYM_THROW,
|
|
9 RTLSYM_MONITOR_HANDLER,
|
|
10 RTLSYM_MONITOR_PROLOG,
|
|
11 RTLSYM_MONITOR_EPILOG,
|
|
12 RTLSYM_DCOVER,
|
|
13 RTLSYM_DASSERT,
|
|
14 RTLSYM_DASSERT_MSG,
|
|
15 RTLSYM_DARRAY,
|
|
16 RTLSYM_DINVARIANT,
|
|
17 RTLSYM__DINVARIANT,
|
|
18 RTLSYM_MEMCPY,
|
|
19 RTLSYM_MEMSET8,
|
|
20 RTLSYM_MEMSET16,
|
|
21 RTLSYM_MEMSET32,
|
|
22 RTLSYM_MEMSET64,
|
|
23 RTLSYM_MEMSET128,
|
|
24 RTLSYM_MEMSET80,
|
|
25 RTLSYM_MEMSET160,
|
|
26 RTLSYM_MEMSETN,
|
|
27 RTLSYM_MODULO,
|
|
28 RTLSYM_MONITORENTER,
|
|
29 RTLSYM_MONITOREXIT,
|
|
30 RTLSYM_CRITICALENTER,
|
|
31 RTLSYM_CRITICALEXIT,
|
|
32 RTLSYM_SWITCH_STRING,
|
|
33 RTLSYM_SWITCH_USTRING,
|
|
34 RTLSYM_SWITCH_DSTRING,
|
|
35 RTLSYM_DSWITCHERR,
|
|
36 RTLSYM_DHIDDENFUNC,
|
|
37 RTLSYM_NEWCLASS,
|
|
38 RTLSYM_NEWARRAYT,
|
|
39 RTLSYM_NEWARRAYIT,
|
|
40 RTLSYM_NEWARRAYMT,
|
|
41 RTLSYM_NEWARRAYMIT,
|
|
42 RTLSYM_ARRAYLITERALT,
|
|
43 RTLSYM_ASSOCARRAYLITERALT,
|
|
44 RTLSYM_CALLFINALIZER,
|
|
45 RTLSYM_CALLINTERFACEFINALIZER,
|
|
46 RTLSYM_DELCLASS,
|
|
47 RTLSYM_DELINTERFACE,
|
|
48 RTLSYM_ALLOCMEMORY,
|
|
49 RTLSYM_DELARRAY,
|
|
50 RTLSYM_DELARRAYT,
|
|
51 RTLSYM_DELMEMORY,
|
|
52 RTLSYM_INTERFACE,
|
|
53 RTLSYM_DYNAMIC_CAST,
|
|
54 RTLSYM_INTERFACE_CAST,
|
|
55 RTLSYM_FATEXIT,
|
|
56 RTLSYM_ARRAYCATT,
|
|
57 RTLSYM_ARRAYCATNT,
|
|
58 RTLSYM_ARRAYAPPENDT,
|
|
59 RTLSYM_ARRAYAPPENDCT,
|
160
|
60 RTLSYM_ARRAYAPPENDCD,
|
|
61 RTLSYM_ARRAYAPPENDWD,
|
0
|
62 RTLSYM_ARRAYSETLENGTHT,
|
|
63 RTLSYM_ARRAYSETLENGTHIT,
|
160
|
64 RTLSYM_ARRAYCOPY,
|
|
65 RTLSYM_ARRAYASSIGN,
|
|
66 RTLSYM_ARRAYCTOR,
|
|
67 RTLSYM_ARRAYSETASSIGN,
|
|
68 RTLSYM_ARRAYSETCTOR,
|
|
69 RTLSYM_ARRAYCAST,
|
|
70 RTLSYM_ARRAYCAST_FROMBIT,
|
|
71 RTLSYM_ARRAYEQ,
|
|
72 RTLSYM_ARRAYEQ2,
|
|
73 RTLSYM_ARRAYEQBIT,
|
|
74 RTLSYM_ARRAYCMP,
|
|
75 RTLSYM_ARRAYCMP2,
|
|
76 RTLSYM_ARRAYCMPCHAR,
|
|
77 RTLSYM_ARRAYCMPBIT,
|
|
78 RTLSYM_OBJ_EQ,
|
|
79 RTLSYM_OBJ_CMP,
|
|
80 RTLSYM_EXCEPT_HANDLER2,
|
|
81 RTLSYM_EXCEPT_HANDLER3,
|
|
82 RTLSYM_CPP_HANDLER,
|
|
83 RTLSYM_D_LOCAL_UNWIND2,
|
|
84 RTLSYM_TLS_INDEX,
|
|
85 RTLSYM_TLS_ARRAY,
|
|
86 RTLSYM_EXCEPT_LIST,
|
|
87 RTLSYM_SETJMP3,
|
|
88 RTLSYM_LONGJMP,
|
|
89 RTLSYM_INTONLY,
|
|
90 RTLSYM_ALLOCA,
|
|
91 RTLSYM_CPP_LONGJMP,
|
|
92 RTLSYM_PTRCHK,
|
|
93 RTLSYM_CHKSTK,
|
|
94 RTLSYM_TRACE_PRO_N,
|
|
95 RTLSYM_TRACE_PRO_F,
|
|
96 RTLSYM_TRACE_EPI_N,
|
161
|
97 RTLSYM_TRACE_EPI_F,
|
160
|
98
|
161
|
99 RTLSYM_MAX
|
160
|
100 };
|
0
|
101
|
|
102 import dmd.EnumUtils;
|
|
103 mixin(BringToCurrentScope!(RTLSYM));
|
|
104
|
25
|
105 version (Windows) {
|
|
106 extern(C++) extern __gshared Symbol* rtlsym[RTLSYM.RTLSYM_MAX];
|
|
107 } else {
|
|
108 extern(C) extern __gshared Symbol* rtlsym[RTLSYM.RTLSYM_MAX];
|
|
109 }
|