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
This entity first appeared as the object of triple T2629673 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: Itanium C++ ABI Context triple: [Clang, supportsABI, Itanium C++ ABI]
-
A.
o32 ABI
o32 ABI is a widely used 32-bit application binary interface for MIPS architectures that defines calling conventions, data types, and binary formats for compiled programs.
-
B.
Intel C++ Compiler
Intel C++ Compiler is a high-performance C and C++ optimizing compiler from Intel, designed to generate highly optimized code for Intel architectures and parallel computing workloads.
-
C.
IA-32
IA-32 is Intel’s 32-bit x86 architecture used as the basis for many generations of desktop, mobile, and embedded processors.
-
D.
Itanium
Itanium is a 64-bit server processor architecture developed by Intel (with early collaboration from HP) that was designed for high-end enterprise and technical computing but ultimately saw limited adoption and was discontinued.
-
E.
LLVM
LLVM is a modular, reusable compiler and toolchain infrastructure project widely used for building language frontends, optimizers, and backends for diverse hardware architectures.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: Itanium C++ ABI Target entity description: 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.
-
A.
o32 ABI
o32 ABI is a widely used 32-bit application binary interface for MIPS architectures that defines calling conventions, data types, and binary formats for compiled programs.
-
B.
Intel C++ Compiler
Intel C++ Compiler is a high-performance C and C++ optimizing compiler from Intel, designed to generate highly optimized code for Intel architectures and parallel computing workloads.
-
C.
IA-32
IA-32 is Intel’s 32-bit x86 architecture used as the basis for many generations of desktop, mobile, and embedded processors.
-
D.
Itanium
Itanium is a 64-bit server processor architecture developed by Intel (with early collaboration from HP) that was designed for high-end enterprise and technical computing but ultimately saw limited adoption and was discontinued.
-
E.
LLVM
LLVM is a modular, reusable compiler and toolchain infrastructure project widely used for building language frontends, optimizers, and backends for diverse hardware architectures.
- F. None of above. chosen
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
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: Itanium C++ ABI Description of subject: 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.
Referenced by (13)
Full triples — surface form annotated when it differs from this entity's canonical label.