view dmd/backend/RTLSYM.d @ 114:e28b18c23469

added a module dmd.common for commonly used stuff it currently holds code for consistency checking of predefined versions also added a VisualD project file
author Trass3r
date Wed, 01 Sep 2010 18:21:58 +0200
parents 3f834bed4f13
children 60bb0fe4563e
line wrap: on
line source

module dmd.backend.RTLSYM;

import dmd.common;
import dmd.backend.Symbol;

enum RTLSYM
{
    RTLSYM_THROW,
	RTLSYM_MONITOR_HANDLER,
	RTLSYM_MONITOR_PROLOG,
	RTLSYM_MONITOR_EPILOG,
	RTLSYM_DCOVER,
	RTLSYM_DASSERT,
	RTLSYM_DASSERT_MSG,
	RTLSYM_DARRAY,
	RTLSYM_DINVARIANT,
	RTLSYM__DINVARIANT,
	RTLSYM_MEMCPY,
	RTLSYM_MEMSET8,
	RTLSYM_MEMSET16,
	RTLSYM_MEMSET32,
	RTLSYM_MEMSET64,
	RTLSYM_MEMSET128,
	RTLSYM_MEMSET80,
	RTLSYM_MEMSET160,
	RTLSYM_MEMSETN,
	RTLSYM_MODULO,
	RTLSYM_MONITORENTER,
	RTLSYM_MONITOREXIT,
	RTLSYM_CRITICALENTER,
	RTLSYM_CRITICALEXIT,
	RTLSYM_SWITCH_STRING,
	RTLSYM_SWITCH_USTRING,
	RTLSYM_SWITCH_DSTRING,
	RTLSYM_DSWITCHERR,
	RTLSYM_DHIDDENFUNC,
	RTLSYM_NEWCLASS,
	RTLSYM_NEWARRAYT,
	RTLSYM_NEWARRAYIT,
	RTLSYM_NEWARRAYMT,
	RTLSYM_NEWARRAYMIT,
	RTLSYM_ARRAYLITERALT,
	RTLSYM_ASSOCARRAYLITERALT,
	RTLSYM_CALLFINALIZER,
	RTLSYM_CALLINTERFACEFINALIZER,
	RTLSYM_DELCLASS,
	RTLSYM_DELINTERFACE,
	RTLSYM_ALLOCMEMORY,
	RTLSYM_DELARRAY,
	RTLSYM_DELARRAYT,
	RTLSYM_DELMEMORY,
	RTLSYM_INTERFACE,
	RTLSYM_DYNAMIC_CAST,
	RTLSYM_INTERFACE_CAST,
	RTLSYM_FATEXIT,
	RTLSYM_ARRAYCATT,
	RTLSYM_ARRAYCATNT,
	RTLSYM_ARRAYAPPENDT,
	RTLSYM_ARRAYAPPENDCT,
	RTLSYM_ARRAYSETLENGTHT,
	RTLSYM_ARRAYSETLENGTHIT,
	RTLSYM_ARRAYCOPY, 
	RTLSYM_ARRAYASSIGN, 
	RTLSYM_ARRAYCTOR, 
	RTLSYM_ARRAYSETASSIGN, 
	RTLSYM_ARRAYSETCTOR, 
	RTLSYM_ARRAYCAST, 
	RTLSYM_ARRAYCAST_FROMBIT, 
	RTLSYM_ARRAYEQ, 
	RTLSYM_ARRAYEQ2, 
	RTLSYM_ARRAYEQBIT, 
	RTLSYM_ARRAYCMP, 
	RTLSYM_ARRAYCMP2, 
	RTLSYM_ARRAYCMPCHAR, 
	RTLSYM_ARRAYCMPBIT, 
	RTLSYM_OBJ_EQ, 
	RTLSYM_OBJ_CMP, 
	RTLSYM_EXCEPT_HANDLER2, 
	RTLSYM_EXCEPT_HANDLER3,  
	RTLSYM_CPP_HANDLER, 
	RTLSYM_D_LOCAL_UNWIND2,  
	RTLSYM_TLS_INDEX, 
	RTLSYM_TLS_ARRAY,    
	RTLSYM_EXCEPT_LIST, 
	RTLSYM_SETJMP3, 
	RTLSYM_LONGJMP, 
	RTLSYM_INTONLY, 
	RTLSYM_ALLOCA, 
	RTLSYM_CPP_LONGJMP, 
	RTLSYM_PTRCHK, 
	RTLSYM_CHKSTK, 
	RTLSYM_TRACE_PRO_N, 
	RTLSYM_TRACE_PRO_F, 
	RTLSYM_TRACE_EPI_N, 
	RTLSYM_TRACE_EPI_F,
    RTLSYM_MAX
}

import dmd.EnumUtils;
mixin(BringToCurrentScope!(RTLSYM));

version (Windows) {
	extern(C++) extern __gshared Symbol* rtlsym[RTLSYM.RTLSYM_MAX];
} else {
	extern(C) extern __gshared Symbol* rtlsym[RTLSYM.RTLSYM_MAX];
}