C++ ABI Summary (original) (raw)

#

Issue

Class

Status

Source

Opened

Closed

A

Object Layout

A-1

Vptr location

data

closed

SGI

990520

990624

A-2

Virtual base classes

data

closed

SGI

990520

990624

A-3

Multiple inheritance

data

closed

SGI

990520

990701

A-4

Empty base classes

data

closed

SGI

990520

990624

A-5

Empty parameters

data

closed

SGI

990520

001117

A-6

RTTI (type_info) .o representation

data call ps

closed

SGI

990520

991028

A-7

Vptr sharing with primary base class

data

closed

HP

990603

990729

A-8

(Virtual) base class alignment

data

closed

HP

990603

990624

A-9

Sorting fields as allowed by [class.mem]/12

data

closed

HP

990603

990624

A-10

Class parameters in registers

call

closed

HP

990603

990701

A-11

Pointers to member functions

data

closed

Cygnus

990603

990812

A-12

Merging secondary vtables

data

closed

Sun

990610

990805

A-13

Parameter struct field promotion

call

closed

SGI

990603

990701

A-14

Pointers to data members

data

closed

SGI

990729

990805

A-15

Empty bit-fields

data

closed

CodeSourcery

991214

000106

A-16

Nearly empty virtual bases

data

closed

SGI

991228

000106

A-17

Primary indirect virtual base allocation

data

closed

SGI

991228

000113

A-18

Virtual base alignment

data

closed

SGI

991228

000113

A-19

Primary indirect virtual base choice

data

closed

All

000106

000120

A-20

Operator new array cookies

data

closed

All

000113

000120

A-21

Placement new array cookies

data

closed

All

000113

000217

A-22

RTTI for reference types

data

closed

CodeSourcery

000119

000203

A-23

RTTI class descriptors

data

closed

CodeSourcery

000124

000302

A-24

RTTI for incomplete types

data

closed

CodeSourcery

000126

000330

A-25

Excess-width bitfields

data

closed

IBM

000204

000217

A-26

NULL pointers to member functions

data

closed

CodeSourcery

000221

000302

A-27

NULL pointers to data members

data

closed

CodeSourcery

000222

000302

A-28

RTTI equality testing

data

closed

CodeSourcery

000406

000504

A-29

RTTI pointer-to-member

data

closed

CodeSourcery

000407

000504

A-30

RTTI portability

data

closed

HUB

001012

001109

A-31

Overlaying tail padding

data

closed

CodeSourcery

001019

001109

B

Virtual Function Handling

B-1

Adjustment of "this" pointer (e.g. thunks)

data call

closed

SGI

990520

991202

B-2

Covariant return types

call

closed

SGI

990520

990722

B-3

Allowed caching of vtable contents

call

closed

HP

990603

990805

B-4

Function descriptors in vtable

data

closed

HP

990603

990805

B-5

Where are vtables emitted?

data

closed

HP

990603

991118

B-6

Virtual function table layout

data

closed

SGI

990520

991028

B-7

Objects and Vtables in shared memory

data

closed

HP

990624

990805

B-8

dynamic_cast

data

closed

SGI

990628

991014

B-9

Primary base vtable embedding

data

closed

Cygnus

000217

000302

B-10

Pure virtual runtime

call

closed

CodeSourcery

000629

000706

C

Object Construction/Destruction

C-1

Interaction with .init/.fini

lif ps

closed

SGI

990520

991202

C-2

Order of ctors/dtors w.r.t. link

lif ps

closed

HP

990603

000817

C-3

Order of ctors/dtors w.r.t. DSOs

ps

closed

HP

990603

000504

C-4

Construction vtables

call

closed

Cygnus

990603

000504

C-5

Calling virtual destructors

call

closed

Sun

990603

991104

C-6

Extra parameters to ctors/dtors

call

closed

Cygnus

990603

991104

C-7

Passing value parameters by reference

call

closed

All

990625

990805

C-8

Returning classes with non-trival copy constructors

call

closed

All

990625

990722

C-9

Passing parameters with ctors/dtors

call

closed

All

991028

991104

C-10

Synthesized copy assignments

call

closed

All

991028

991028

C-11

Array constructors/destructors

call

closed

Cygnus

000130

000309

C-12

Constructor return values

call

closed

Cygnus

000130

000309

C-13

Allocating constructors

call

closed

HP

000309

000803

C-14

Local-scope dynamic constructors

data

closed

all

000309

000511

C-15

Alternate array allocators

call

closed

CodeSourcery

000628

000720

C-16

Copy constructor runtime

call

closed

CodeSourcery

000628

000720

C-17

Uncatch exception runtime

call

table

all

000706

000720

C-18

Result buffers

call

closed

SGI

000724

000817

C-19

NULL ctor/dtor API parameters

call

closed

CodeSourcery

000806

000831

D

Exception Handling

D-0

Exception handling framework

lib ps

closed

SGI

990520

991216

D-1

Language-specific data area format

lib ps

open

SGI

990520

D-2

Unwind personality routines

lib ps

closed

SGI

990520

000106

D-3

Unwind process clarification

lib ps

closed

SGI

990520

000106

D-4

Unwind routines nested?

lib ps

closed

SGI

990520

991209

D-5

Interaction with other languages (e.g. Java)

lib ps

closed

HP

990603

991007

D-6

Allow resumption in other languages?

lib ps

closed

HP

990603

991007

D-7

Interaction with signals or asynch events

lib ps

closed

HP

990603

991209

D-8

Interaction with threads packages

lib ps

closed

SGI

990603

000106

D-9

longjmp interaction

lib ps

closed

HP

990908

000113

D-10

psABI proposal

lib ps

closed

all

991216

000120

D-11

pthreads interface

lib ps

closed

all

991216

000203

D-12

Table location

lib ps

closed

all

991216

000504

D-13

_Unwind_ForcedUnwind

lib ps

closed

all

991216

000120

D-14

__cxa_begin/end_catch

lib

closed

all

991216

001109

D-15

Terminate handler and threads

lib

closed

all

991216

000106

D-16

Exception specifications

lib

closed

all

991216

000113

D-17

bad_cast, bad_typeid runtime

call

closed

CodeSourcery

000629

000706

D-18

__cxa_throw_type_info

lib

closed

all

001012

001109

E

Template Instantiation Model

E-1

When does instantiation occur?

tools

closed

SGI

990520

000511

E-2

Export template model

tools

tabled

SGI

990520

E-3

Template repository

tools

closed

HP

990603

000511

F

Name Mangling

F-1

Mangling convention

call

closed

SGI

990520

000330

F-2

Mangled name size

call g

closed

SGI

990520

000511

F-3

Consistency checks

call g

tabled

SGI

990520

F-4

Empty throw specs

call g

tabled

HP

990930

F-5

ILP32 vs. LP64

call

closed

HP

000210

000824

F-6

Demangling

lib

closed

Cygnus

000210

000504

F-7

Mangling statics

call

closed

HP

000223

000504

F-8

Identifiers with unicode letters

call

closed

HU-Berlin

000323

000413

F-9

Strings with unicode letters

call

closed

HU-Berlin

000323

000413

F-10

Mangling function return types

call

closed

all

000330

000413

F-11

Hash for local strings

call

closed

all

000330

000504

G

Miscellaneous

G-1

Basic command line options

tools

closed

HP

990603

000824

G-2

Detection of 1-def rule violations

call

closed

Sun

990603

000504

G-3

Inlined routine linkage

call

closed

Sun

990603

991202

G-4

Dynamic init of local static objects and multithreading

call

closed

SCO

990607

001109

G-5

Varargs routine interface

call

closed

HU-B

990810

991014

G-6

bool parameters

call

closed

all

991104

991202

H

Runtime Library Interface

H-1

Runtime library DSO name

tools

closed

SGI

990616

000817

H-2

Runtime library API

lif

tabled

SGI

990616