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 GCC C++ ABI
linked to: Itanium C++ ABI

Itanium ABI for C++
linked to: Itanium C++ ABI
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 specification
linked to: Itanium C++ ABI
fullName Itanium C++ Application Binary Interface
linked to: Itanium C++ ABI
goal binary compatibility between different C++ compilers
stable ABI for C++ libraries
support cross-compiler linking of C++ code
influenced Clang C++ ABI on non-Windows targets
linked to: Itanium C++ ABI

GCC C++ ABI on x86
linked to: Itanium C++ ABI
maintainedBy C++ toolchain and platform vendors community
notUsedBy Microsoft Visual C++
linked to: MSVC

Windows C++ ABI
linked to: Microsoft C++ ABI
scope binary interface, not source-level semantics
standardizes C++ RTTI representation
C++ calling conventions
C++ exception handling ABI
linked to: Itanium C++ 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 C++ compiler
linked to: Clang

GCC C++ compiler
ICC C++ compiler
linked to: Intel C++ Compiler

libc++
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++ Application Binary Interface
linked to: Itanium C++ ABI
Itanium C++ ABI alsoKnownAs Itanium ABI for C++
linked to: Itanium C++ ABI
Itanium C++ ABI alsoKnownAs GCC C++ ABI
linked to: Itanium C++ ABI
Itanium C++ ABI standardizes C++ exception handling ABI
linked to: Itanium C++ ABI
Itanium C++ ABI influenced GCC C++ ABI on x86
linked to: Itanium C++ ABI
Itanium C++ ABI influenced Clang C++ ABI on non-Windows targets
linked to: Itanium C++ ABI
Itanium C++ ABI documentedIn Itanium C++ ABI specification
linked to: Itanium C++ ABI
Microsoft C++ ABI relatedTo Itanium C++ ABI
Microsoft C++ ABI differsFrom Itanium C++ ABI
Microsoft C++ ABI differsFrom Clang C++ ABI on non-Windows platforms
linked to: Itanium C++ ABI
libc++abi supports C++ ABI
linked to: Itanium C++ ABI
libc++abi compatibleWith Itanium C++ ABI