Itanium C++ ABI

E284626

The Itanium C++ ABI is a widely adopted application binary interface specification that standardizes C++ object layout, name mangling, and calling conventions across many non-Windows platforms and compilers.

All labels observed (10)

How this entity was disambiguated

Statements (55)

Predicate Object
instanceOf C++ ABI
application binary interface specification
alsoKnownAs Itanium C++ ABI
surface form: GCC C++ ABI

Itanium C++ ABI
surface form: Itanium ABI for C++
appliesTo C++ language
ELF-based systems
Itanium architecture
multiple non-Windows platforms
defines C++ exception object layout
C++ runtime support interfaces
layout of exception handling tables
layout of virtual base tables
layout of virtual tables
mangling for RTTI symbols
mangling for function overloading
mangling for namespaces
mangling for operator overloading
mangling for templates
mangling scheme for C++ identifiers
personality routines for exception handling
rules for construction and destruction order of subobjects
rules for inline function emission and COMDATs
rules for multiple inheritance layout
rules for pointer-to-member representation
rules for thunks used for adjusting this pointers
rules for virtual inheritance layout
unwind semantics for C++ exceptions
documentedIn Itanium C++ ABI self-linksurface differs
surface form: Itanium C++ ABI specification
fullName Itanium C++ ABI self-linksurface differs
surface form: Itanium C++ Application Binary Interface
goal binary compatibility between different C++ compilers
stable ABI for C++ libraries
support cross-compiler linking of C++ code
influenced Itanium C++ ABI self-linksurface differs
surface form: Clang C++ ABI on non-Windows targets

Itanium C++ ABI self-linksurface differs
surface form: GCC C++ ABI on x86
maintainedBy C++ toolchain and platform vendors community
notUsedBy MSVC
surface form: Microsoft Visual C++

Microsoft C++ ABI
surface form: Windows C++ ABI
scope binary interface, not source-level semantics
standardizes C++ RTTI representation
C++ calling conventions
Itanium C++ ABI self-linksurface differs
surface form: C++ exception handling ABI

C++ global constructors and destructors mechanisms
C++ name mangling
C++ object layout
construction vtable layout
guard variables for local statics
operator new and delete signatures
typeinfo object layout
virtual table layout
usedBy Clang
surface form: Clang C++ compiler

GNU Compiler Collection
surface form: GCC C++ compiler

Intel C++ Compiler
surface form: ICC C++ compiler

C++ standard library
surface form: libc++

C++ standard library
surface form: libstdc++

many Unix-like operating systems

How these facts were elicited

Referenced by (13)

Full triples — surface form annotated when it differs from this entity's canonical label.

Clang supportsABI Itanium C++ ABI
Itanium C++ ABI fullName Itanium C++ ABI self-linksurface differs
this entity surface form: Itanium C++ Application Binary Interface
Itanium C++ ABI alsoKnownAs Itanium C++ ABI
this entity surface form: Itanium ABI for C++
Itanium C++ ABI alsoKnownAs Itanium C++ ABI
this entity surface form: GCC C++ ABI
Itanium C++ ABI standardizes Itanium C++ ABI self-linksurface differs
this entity surface form: C++ exception handling ABI
Itanium C++ ABI influenced Itanium C++ ABI self-linksurface differs
this entity surface form: GCC C++ ABI on x86
Itanium C++ ABI influenced Itanium C++ ABI self-linksurface differs
this entity surface form: Clang C++ ABI on non-Windows targets
Itanium C++ ABI documentedIn Itanium C++ ABI self-linksurface differs
this entity surface form: Itanium C++ ABI specification
Microsoft C++ ABI relatedTo Itanium C++ ABI
Microsoft C++ ABI differsFrom Itanium C++ ABI
Microsoft C++ ABI differsFrom Itanium C++ ABI
this entity surface form: Clang C++ ABI on non-Windows platforms
libc++abi supports Itanium C++ ABI
this entity surface form: C++ ABI
libc++abi compatibleWith Itanium C++ ABI