a5ead9508b4ee58fc896579b150db2fe663472f6
[reactos.git] / sdk / lib / 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:ABS
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 DEFINE_ALIAS ?what@exception@@UEBAPEBDXZ, MSVCRT_what_exception
52 DEFINE_ALIAS ??0exception@@QEAA@AEBQEBDH@Z, MSVCRT_exception_ctor_noalloc
53 DEFINE_ALIAS ??0exception@@QEAA@AEBV0@@Z, MSVCRT_exception_copy_ctor
54 DEFINE_ALIAS ??0exception@@QEAA@XZ, MSVCRT_exception_default_ctor
55 DEFINE_ALIAS ??1exception@@UEAA@XZ, MSVCRT_exception_dtor
56 DEFINE_ALIAS ??4exception@@QEAAAEAV0@AEBV0@@Z, MSVCRT_exception_opequals
57 DEFINE_ALIAS ??1type_info@@UEAA@XZ, MSVCRT_type_info_dtor
58 DEFINE_ALIAS ??0__non_rtti_object@@QEAA@AEBV0@@Z, MSVCRT___non_rtti_object_copy_ctor
59 DEFINE_ALIAS ??0__non_rtti_object@@QEAA@PEBD@Z, MSVCRT___non_rtti_object_ctor
60 DEFINE_ALIAS ??0bad_cast@@AEAA@PEBQEBD@Z, MSVCRT_bad_cast_ctor
61 DEFINE_ALIAS ??0bad_cast@@QEAA@AEBQEBD@Z, MSVCRT_bad_cast_ctor
62 DEFINE_ALIAS ??0bad_cast@@QEAA@AEBV0@@Z, MSVCRT_bad_cast_copy_ctor
63 DEFINE_ALIAS ??0bad_cast@@QEAA@PEBD@Z, MSVCRT_bad_cast_ctor_charptr
64 DEFINE_ALIAS ??0bad_typeid@@QEAA@AEBV0@@Z, MSVCRT_bad_typeid_copy_ctor
65 DEFINE_ALIAS ??0bad_typeid@@QEAA@PEBD@Z, MSVCRT_bad_typeid_ctor
66 DEFINE_ALIAS ??0exception@@QEAA@AEBQEBD@Z, MSVCRT_exception_ctor
67 DEFINE_ALIAS ??1__non_rtti_object@@UEAA@XZ, MSVCRT___non_rtti_object_dtor
68 DEFINE_ALIAS ??1bad_cast@@UEAA@XZ, MSVCRT_bad_cast_dtor
69 DEFINE_ALIAS ??1bad_typeid@@UEAA@XZ, MSVCRT_bad_typeid_dtor
70 DEFINE_ALIAS ??4bad_cast@@QEAAAEAV0@AEBV0@@Z, MSVCRT_bad_cast_opequals
71 DEFINE_ALIAS ??4bad_typeid@@QEAAAEAV0@AEBV0@@Z, MSVCRT_bad_typeid_opequals
72 DEFINE_ALIAS ??8type_info@@QEBAHAEBV0@@Z, MSVCRT_type_info_opequals_equals
73 DEFINE_ALIAS ??9type_info@@QEBAHAEBV0@@Z, MSVCRT_type_info_opnot_equals
74 DEFINE_ALIAS ??_Fbad_cast@@QEAAXXZ, MSVCRT_bad_cast_default_ctor
75 DEFINE_ALIAS ??_Fbad_typeid@@QEAAXXZ, MSVCRT_bad_typeid_default_ctor
76 DEFINE_ALIAS ?_query_new_handler@@YAP6AH_K@ZXZ, MSVCRT__query_new_handler
77 DEFINE_ALIAS ?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z, MSVCRT__set_new_handler
78 DEFINE_ALIAS ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z, MSVCRT__set_se_translator
79 DEFINE_ALIAS ?before@type_info@@QEBAHAEBV1@@Z, MSVCRT_type_info_before
80 DEFINE_ALIAS ?name@type_info@@QEBAPEBDXZ, MSVCRT_type_info_name
81 DEFINE_ALIAS ?raw_name@type_info@@QEBAPEBDXZ, MSVCRT_type_info_raw_name
82 DEFINE_ALIAS ??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z, MSVCRT___non_rtti_object_opequals
83
84 END
85