fb9182f02134cfa24c9fa629170758f9d19fc5d7
[reactos.git] / reactos / lib / sdk / crt / except / amd64 / cpp.s
1
2
3 #include <asm.inc>
4
5 .code64
6 .align 4
7
8 MACRO(START_VTABLE, shortname, cxxname)
9 EXTERN shortname&_rtti:PROC
10 EXTERN MSVCRT_&shortname&_vector_dtor:PROC
11 .double shortname&_rtti
12 PUBLIC MSVCRT_&shortname&_vtable
13 MSVCRT_&shortname&_vtable:
14 PUBLIC &cxxname
15 &cxxname:
16 .double MSVCRT_&shortname&_vector_dtor
17 ENDM
18
19 MACRO(DEFINE_EXCEPTION_VTABLE, shortname, cxxname)
20 START_VTABLE shortname, cxxname
21 EXTERN MSVCRT_what_exception:PROC
22 .double MSVCRT_what_exception
23 ENDM
24
25 START_VTABLE type_info, __dummyname_type_info
26 DEFINE_EXCEPTION_VTABLE exception, ??_7exception@@6B@
27 DEFINE_EXCEPTION_VTABLE bad_typeid, ??_7bad_typeid@@6B@
28 DEFINE_EXCEPTION_VTABLE bad_cast, ??_7bad_cast@@6B@
29 DEFINE_EXCEPTION_VTABLE __non_rtti_object, ??_7__non_rtti_object@@6B@
30
31
32 MACRO(DEFINE_ALIAS, alias, orig)
33 EXTERN &orig:ABS
34 ALIAS <&alias> = <&orig>
35 ENDM
36
37 DEFINE_ALIAS ??3@YAXPEAX@Z, MSVCRT_operator_delete
38 DEFINE_ALIAS ??_U@YAPEAX_K@Z, MSVCRT_operator_new
39 DEFINE_ALIAS ??_V@YAXPEAX@Z, MSVCRT_operator_delete
40 DEFINE_ALIAS ??2@YAPEAX_K@Z, MSVCRT_operator_new
41 DEFINE_ALIAS ?_query_new_handler@@YAP6AHI@ZXZ, MSVCRT__query_new_handler
42 DEFINE_ALIAS ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z, MSVCRT__set_new_handler
43 DEFINE_ALIAS ?set_new_handler@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_new_handler
44 DEFINE_ALIAS ?_query_new_mode@@YAHXZ, MSVCRT__query_new_mode
45 DEFINE_ALIAS ?_set_new_mode@@YAHH@Z, MSVCRT__set_new_mode
46 DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z, MSVCRT__set_se_translator
47 DEFINE_ALIAS ?set_terminate@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_terminate
48 DEFINE_ALIAS ?set_unexpected@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_unexpected
49 DEFINE_ALIAS ?terminate@@YAXXZ, MSVCRT_terminate
50 DEFINE_ALIAS ?unexpected@@YAXXZ, MSVCRT_unexpected
51
52 END
53