1 /** 2 * Compiler runtime function symbols 3 * 4 * Compiler implementation of the 5 * $(LINK2 https://www.dlang.org, D programming language). 6 * 7 * Copyright: Copyright (C) 1994-1998 by Symantec 8 * Copyright (C) 2000-2023 by The D Language Foundation, All Rights Reserved 9 * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) 10 * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 11 * Source: https://github.com/dlang/dmd/blob/master/src/dmd/backend/_rtlsym.d 12 * Documentation: https://dlang.org/phobos/dmd_backend_rtlsym.html 13 */ 14 15 module dmd.backend.rtlsym; 16 17 import dmd.backend.cc : Symbol; 18 19 enum RTLSYM 20 { 21 THROWC, 22 THROWDWARF, 23 MONITOR_HANDLER, 24 MONITOR_PROLOG, 25 MONITOR_EPILOG, 26 DCOVER2, 27 DASSERT, 28 DASSERTP, 29 DASSERT_MSG, 30 DUNITTEST, 31 DUNITTESTP, 32 DUNITTEST_MSG, 33 DARRAYP, 34 DARRAY_SLICEP, 35 DARRAY_INDEXP, 36 DINVARIANT, 37 MEMCPY, 38 MEMSET8, 39 MEMSET16, 40 MEMSET32, 41 MEMSET64, 42 MEMSET128, 43 MEMSET128ii, 44 MEMSET80, 45 MEMSET160, 46 MEMSETFLOAT, 47 MEMSETDOUBLE, 48 MEMSETSIMD, 49 MEMSETN, 50 NEWCLASS, 51 NEWTHROW, 52 NEWARRAYT, 53 NEWARRAYIT, 54 NEWITEMT, 55 NEWITEMIT, 56 NEWARRAYMTX, 57 NEWARRAYMITX, 58 ARRAYLITERALTX, 59 ASSOCARRAYLITERALTX, 60 CALLFINALIZER, 61 CALLINTERFACEFINALIZER, 62 ALLOCMEMORY, 63 DYNAMIC_CAST, 64 INTERFACE_CAST, 65 ARRAYCATT, 66 ARRAYCATNTX, 67 ARRAYAPPENDT, 68 ARRAYAPPENDCTX, 69 ARRAYAPPENDCD, 70 ARRAYAPPENDWD, 71 ARRAYSETLENGTHT, 72 ARRAYSETLENGTHIT, 73 ARRAYCOPY, 74 ARRAYASSIGN, 75 ARRAYASSIGN_R, 76 ARRAYASSIGN_L, 77 ARRAYSETASSIGN, 78 ARRAYEQ2, 79 80 EXCEPT_HANDLER3, 81 CPP_HANDLER, 82 D_HANDLER, 83 D_LOCAL_UNWIND2, 84 LOCAL_UNWIND2, 85 UNWIND_RESUME, 86 PERSONALITY, 87 BEGIN_CATCH, 88 CXA_BEGIN_CATCH, 89 CXA_END_CATCH, 90 91 TLS_INDEX, 92 TLS_ARRAY, 93 AHSHIFT, 94 95 HDIFFN, 96 HDIFFF, 97 INTONLY, 98 99 EXCEPT_LIST, 100 SETJMP3, 101 LONGJMP, 102 ALLOCA, 103 CPP_LONGJMP, 104 PTRCHK, 105 CHKSTK, 106 TRACE_PRO_N, 107 TRACE_PRO_F, 108 TRACE_EPI_N, 109 TRACE_EPI_F, 110 111 TRACENEWCLASS, 112 TRACENEWARRAYT, 113 TRACENEWARRAYIT, 114 TRACENEWARRAYMTX, 115 TRACENEWARRAYMITX, 116 TRACENEWITEMT, 117 TRACENEWITEMIT, 118 TRACECALLFINALIZER, 119 TRACECALLINTERFACEFINALIZER, 120 TRACEARRAYLITERALTX, 121 TRACEASSOCARRAYLITERALTX, 122 TRACEARRAYCATT, 123 TRACEARRAYCATNTX, 124 TRACEARRAYAPPENDT, 125 TRACEARRAYAPPENDCTX, 126 TRACEARRAYAPPENDCD, 127 TRACEARRAYAPPENDWD, 128 TRACEARRAYSETLENGTHT, 129 TRACEARRAYSETLENGTHIT, 130 TRACEALLOCMEMORY, 131 132 C_ASSERT, 133 C__ASSERT, 134 C__ASSERT_FAIL, 135 C__ASSERT_RTN, 136 137 CXA_ATEXIT 138 } 139 140 extern (C++): 141 142 nothrow: 143 @safe: 144 145 Symbol *getRtlsym(RTLSYM i); 146 Symbol *getRtlsymPersonality();