xref: /reactos/sdk/lib/crt/except/amd64/cpp.s (revision 3bd9ddca)
1
2
3#include <asm.inc>
4
5.code64
6.align 4
7
8MACRO(START_VTABLE, shortname, cxxname)
9EXTERN shortname&_rtti:PROC
10EXTERN &shortname&_vector_dtor:PROC
11    .quad shortname&_rtti
12PUBLIC &shortname&_vtable
13&shortname&_vtable:
14PUBLIC &cxxname
15&cxxname:
16    .quad &shortname&_vector_dtor
17ENDM
18
19MACRO(DEFINE_EXCEPTION_VTABLE, shortname, cxxname)
20    START_VTABLE shortname, cxxname
21    EXTERN exception_what:ABS
22    .quad exception_what
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, operator_delete
38DEFINE_ALIAS ??_U@YAPEAX_K@Z, operator_new
39DEFINE_ALIAS ??_U@YAPEAX_KHPEBDH@Z, operator_new_dbg
40DEFINE_ALIAS ??_V@YAXPEAX@Z, operator_delete
41DEFINE_ALIAS ??2@YAPEAX_K@Z, operator_new
42DEFINE_ALIAS ??2@YAPEAX_KHPEBDH@Z, operator_new_dbg
43DEFINE_ALIAS ?_query_new_handler@@YAP6AHI@ZXZ, _query_new_handler
44DEFINE_ALIAS ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z, _set_new_handler
45DEFINE_ALIAS ?set_new_handler@@YAP6AXXZP6AXXZ@Z, set_new_handler
46DEFINE_ALIAS ?_query_new_mode@@YAHXZ, _query_new_mode
47DEFINE_ALIAS ?_set_new_mode@@YAHH@Z, _set_new_mode
48DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z, _set_se_translator
49DEFINE_ALIAS ?set_terminate@@YAP6AXXZP6AXXZ@Z, set_terminate
50DEFINE_ALIAS ?set_unexpected@@YAP6AXXZP6AXXZ@Z, set_unexpected
51DEFINE_ALIAS ?terminate@@YAXXZ, terminate
52DEFINE_ALIAS ?unexpected@@YAXXZ, unexpected
53DEFINE_ALIAS ?what@exception@@UEBAPEBDXZ, exception_what
54DEFINE_ALIAS ??0exception@@QEAA@AEBQEBDH@Z, exception_ctor_noalloc
55DEFINE_ALIAS ??0exception@@QEAA@AEBV0@@Z, exception_copy_ctor
56DEFINE_ALIAS ??0exception@@QEAA@XZ, exception_default_ctor
57DEFINE_ALIAS ??1exception@@UEAA@XZ, exception_dtor
58DEFINE_ALIAS ??4exception@@QEAAAEAV0@AEBV0@@Z, exception_opequals
59DEFINE_ALIAS ??1type_info@@UEAA@XZ, type_info_dtor
60DEFINE_ALIAS ??0__non_rtti_object@@QEAA@AEBV0@@Z, __non_rtti_object_copy_ctor
61DEFINE_ALIAS ??0__non_rtti_object@@QEAA@PEBD@Z, __non_rtti_object_ctor
62DEFINE_ALIAS ??0bad_cast@@AAE@PBQBD@Z, bad_cast_ctor
63DEFINE_ALIAS ??0bad_cast@@AEAA@PEBQEBD@Z, bad_cast_ctor
64DEFINE_ALIAS ??0bad_cast@@QAE@ABQBD@Z, bad_cast_ctor
65DEFINE_ALIAS ??0bad_cast@@QEAA@AEBQEBD@Z, bad_cast_ctor
66DEFINE_ALIAS ??0bad_cast@@QEAA@AEBV0@@Z, bad_cast_copy_ctor
67DEFINE_ALIAS ??0bad_cast@@QEAA@PEBD@Z, bad_cast_ctor_charptr
68DEFINE_ALIAS ??0bad_typeid@@QEAA@AEBV0@@Z, bad_typeid_copy_ctor
69DEFINE_ALIAS ??0bad_typeid@@QEAA@PEBD@Z, bad_typeid_ctor
70DEFINE_ALIAS ??0exception@@QEAA@AEBQEBD@Z, exception_ctor
71DEFINE_ALIAS ??1__non_rtti_object@@UEAA@XZ, __non_rtti_object_dtor
72DEFINE_ALIAS ??1bad_cast@@UEAA@XZ, bad_cast_dtor
73DEFINE_ALIAS ??1bad_typeid@@UEAA@XZ, bad_typeid_dtor
74DEFINE_ALIAS ??4bad_cast@@QEAAAEAV0@AEBV0@@Z, bad_cast_opequals
75DEFINE_ALIAS ??4bad_typeid@@QEAAAEAV0@AEBV0@@Z, bad_typeid_opequals
76DEFINE_ALIAS ??8type_info@@QEBAHAEBV0@@Z, type_info_opequals_equals
77DEFINE_ALIAS ??9type_info@@QEBAHAEBV0@@Z, type_info_opnot_equals
78DEFINE_ALIAS ??_Fbad_cast@@QEAAXXZ, bad_cast_default_ctor
79DEFINE_ALIAS ??_Fbad_typeid@@QEAAXXZ, bad_typeid_default_ctor
80DEFINE_ALIAS ?_query_new_handler@@YAP6AH_K@ZXZ, _query_new_handler
81DEFINE_ALIAS ?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z, _set_new_handler
82DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z, _set_se_translator
83DEFINE_ALIAS ?before@type_info@@QEBAHAEBV1@@Z, type_info_before
84DEFINE_ALIAS ?name@type_info@@QEBAPEBDXZ, type_info_name
85DEFINE_ALIAS ?raw_name@type_info@@QEBAPEBDXZ, type_info_raw_name
86DEFINE_ALIAS ??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z, __non_rtti_object_opequals
87
88END
89
90