xref: /reactos/sdk/lib/crt/except/amd64/cpp.s (revision c2c66aff)
1
2
3#include <asm.inc>
4
5.code64
6.align 4
7
8MACRO(START_VTABLE, shortname, cxxname)
9EXTERN shortname&_rtti:PROC
10EXTERN MSVCRT_&shortname&_vector_dtor:PROC
11    .double shortname&_rtti
12PUBLIC MSVCRT_&shortname&_vtable
13MSVCRT_&shortname&_vtable:
14PUBLIC &cxxname
15&cxxname:
16    .double MSVCRT_&shortname&_vector_dtor
17ENDM
18
19MACRO(DEFINE_EXCEPTION_VTABLE, shortname, cxxname)
20    START_VTABLE shortname, cxxname
21    EXTERN MSVCRT_what_exception:ABS
22    .double MSVCRT_what_exception
23ENDM
24
25START_VTABLE type_info, __dummyname_type_info
26DEFINE_EXCEPTION_VTABLE exception, ??_7exception@@6B@
27DEFINE_EXCEPTION_VTABLE bad_typeid, ??_7bad_typeid@@6B@
28DEFINE_EXCEPTION_VTABLE bad_cast, ??_7bad_cast@@6B@
29DEFINE_EXCEPTION_VTABLE __non_rtti_object, ??_7__non_rtti_object@@6B@
30
31
32MACRO(DEFINE_ALIAS, alias, orig)
33EXTERN &orig:ABS
34ALIAS <&alias> = <&orig>
35ENDM
36
37DEFINE_ALIAS ??3@YAXPEAX@Z, MSVCRT_operator_delete
38DEFINE_ALIAS ??_U@YAPEAX_K@Z, MSVCRT_operator_new
39DEFINE_ALIAS ??_V@YAXPEAX@Z, MSVCRT_operator_delete
40DEFINE_ALIAS ??2@YAPEAX_K@Z, MSVCRT_operator_new
41DEFINE_ALIAS ?_query_new_handler@@YAP6AHI@ZXZ, MSVCRT__query_new_handler
42DEFINE_ALIAS ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z, MSVCRT__set_new_handler
43DEFINE_ALIAS ?set_new_handler@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_new_handler
44DEFINE_ALIAS ?_query_new_mode@@YAHXZ, MSVCRT__query_new_mode
45DEFINE_ALIAS ?_set_new_mode@@YAHH@Z, MSVCRT__set_new_mode
46DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z, MSVCRT__set_se_translator
47DEFINE_ALIAS ?set_terminate@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_terminate
48DEFINE_ALIAS ?set_unexpected@@YAP6AXXZP6AXXZ@Z, MSVCRT_set_unexpected
49DEFINE_ALIAS ?terminate@@YAXXZ, MSVCRT_terminate
50DEFINE_ALIAS ?unexpected@@YAXXZ, MSVCRT_unexpected
51DEFINE_ALIAS ?what@exception@@UEBAPEBDXZ, MSVCRT_what_exception
52DEFINE_ALIAS ??0exception@@QEAA@AEBQEBDH@Z, MSVCRT_exception_ctor_noalloc
53DEFINE_ALIAS ??0exception@@QEAA@AEBV0@@Z, MSVCRT_exception_copy_ctor
54DEFINE_ALIAS ??0exception@@QEAA@XZ, MSVCRT_exception_default_ctor
55DEFINE_ALIAS ??1exception@@UEAA@XZ, MSVCRT_exception_dtor
56DEFINE_ALIAS ??4exception@@QEAAAEAV0@AEBV0@@Z, MSVCRT_exception_opequals
57DEFINE_ALIAS ??1type_info@@UEAA@XZ, MSVCRT_type_info_dtor
58DEFINE_ALIAS ??0__non_rtti_object@@QEAA@AEBV0@@Z, MSVCRT___non_rtti_object_copy_ctor
59DEFINE_ALIAS ??0__non_rtti_object@@QEAA@PEBD@Z, MSVCRT___non_rtti_object_ctor
60DEFINE_ALIAS ??0bad_cast@@AEAA@PEBQEBD@Z, MSVCRT_bad_cast_ctor
61DEFINE_ALIAS ??0bad_cast@@QEAA@AEBQEBD@Z, MSVCRT_bad_cast_ctor
62DEFINE_ALIAS ??0bad_cast@@QEAA@AEBV0@@Z, MSVCRT_bad_cast_copy_ctor
63DEFINE_ALIAS ??0bad_cast@@QEAA@PEBD@Z, MSVCRT_bad_cast_ctor_charptr
64DEFINE_ALIAS ??0bad_typeid@@QEAA@AEBV0@@Z, MSVCRT_bad_typeid_copy_ctor
65DEFINE_ALIAS ??0bad_typeid@@QEAA@PEBD@Z, MSVCRT_bad_typeid_ctor
66DEFINE_ALIAS ??0exception@@QEAA@AEBQEBD@Z, MSVCRT_exception_ctor
67DEFINE_ALIAS ??1__non_rtti_object@@UEAA@XZ, MSVCRT___non_rtti_object_dtor
68DEFINE_ALIAS ??1bad_cast@@UEAA@XZ, MSVCRT_bad_cast_dtor
69DEFINE_ALIAS ??1bad_typeid@@UEAA@XZ, MSVCRT_bad_typeid_dtor
70DEFINE_ALIAS ??4bad_cast@@QEAAAEAV0@AEBV0@@Z, MSVCRT_bad_cast_opequals
71DEFINE_ALIAS ??4bad_typeid@@QEAAAEAV0@AEBV0@@Z, MSVCRT_bad_typeid_opequals
72DEFINE_ALIAS ??8type_info@@QEBAHAEBV0@@Z, MSVCRT_type_info_opequals_equals
73DEFINE_ALIAS ??9type_info@@QEBAHAEBV0@@Z, MSVCRT_type_info_opnot_equals
74DEFINE_ALIAS ??_Fbad_cast@@QEAAXXZ, MSVCRT_bad_cast_default_ctor
75DEFINE_ALIAS ??_Fbad_typeid@@QEAAXXZ, MSVCRT_bad_typeid_default_ctor
76DEFINE_ALIAS ?_query_new_handler@@YAP6AH_K@ZXZ, MSVCRT__query_new_handler
77DEFINE_ALIAS ?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z, MSVCRT__set_new_handler
78DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z, MSVCRT__set_se_translator
79DEFINE_ALIAS ?before@type_info@@QEBAHAEBV1@@Z, MSVCRT_type_info_before
80DEFINE_ALIAS ?name@type_info@@QEBAPEBDXZ, MSVCRT_type_info_name
81DEFINE_ALIAS ?raw_name@type_info@@QEBAPEBDXZ, MSVCRT_type_info_raw_name
82DEFINE_ALIAS ??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z, MSVCRT___non_rtti_object_opequals
83
84END
85
86