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 ⓘ