forked from itanium-cxx-abi/cxx-abi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
issues-C++.html
80 lines (58 loc) · 1.46 KB
/
issues-C++.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<HTML>
<HEAD>
<title>SGI C++ ABI Issues</title>
<hr>
<font size=6><i><b>
<p>
SGI C++ ABI Issues
</b></i></font>
<font size=-1>
<p>
<i>Last modified 18 May 1999</i>
</center>
</HEAD>
<BODY TEXT="#000000" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<p>
<hr>
Items marked with an asterisk (*) may have base ABI implications.
Most issues are potentially generic-level issues.
<h4> <a href=issues-C++-layout.html> Object Layout </a> </h4>
<ul>
<li> Virtual function table
<li> Virtual base classes
<li> Multiple inheritance
<li> Empty base classes
<li> Empty parameters
<li> * RTTI (<code>type_info</code>) object file representation
</ul>
<h4> <a href=issues-C++-layout.html#vfunc> Virtual Function Handling </a> </h4>
<ul>
<li> Adjustment of "this" pointer
<li> Covariant return types
</ul>
<h4> Global Object Construction/Destruction </h4>
<ul>
<li> * Interaction with .init/.fini
</ul>
<h4> Exception Handling </h4>
<ul>
<li> * Unwind descriptors: language-specific descriptor format
<li> * Unwind descriptors: personality routines
<li> * Clarify unwind process: prefer API basis
<li> * Why do unwind routines need to operate as nested procedures?
</ul>
<h4> Template Instantiation Model </h4>
<ul>
<li> When does instantiation occur?
<li> Separate compilation
</ul>
<h4> Name Mangling </h4>
<ul>
<li> Mangling convention
<li> * Issue: how to make names manageable size
<li> * Method to distinguish template instantiation and specialization
</ul>
<p>
<hr>
</BODY>
</HTML>