aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CIR/CodeGen/CIRGenModule.cpp
diff options
context:
space:
mode:
authorAndy Kaylor <akaylor@nvidia.com>2025-06-02 17:13:19 -0700
committerGitHub <noreply@github.com>2025-06-02 17:13:19 -0700
commit19dcec979cd5b19bc522d78eb0e32e49ec0fdc64 (patch)
treec5d56c62c87b826b4544d84ad85bf2800280f2bc /clang/lib/CIR/CodeGen/CIRGenModule.cpp
parentcc68367bb9871e70cafddd6b6da6d4dc57d945f0 (diff)
downloadllvm-19dcec979cd5b19bc522d78eb0e32e49ec0fdc64.zip
llvm-19dcec979cd5b19bc522d78eb0e32e49ec0fdc64.tar.gz
llvm-19dcec979cd5b19bc522d78eb0e32e49ec0fdc64.tar.bz2
[CIR] Support inline C++ member function definitions (#142484)
This change upstreams the code to support emitting inline C++ function definitions, including the ASTConsumer handler for inline definitions and the code to load the 'this' pointer. This necessitates introducing the Itanium CXXABI class. No other CXXABI subclasses are supported at this time. The Itanium CXXABI is used for AppleARM64, which will require its own handler for a few special cases (such as array cookies) later.
Diffstat (limited to 'clang/lib/CIR/CodeGen/CIRGenModule.cpp')
-rw-r--r--clang/lib/CIR/CodeGen/CIRGenModule.cpp8
1 files changed, 0 insertions, 8 deletions
diff --git a/clang/lib/CIR/CodeGen/CIRGenModule.cpp b/clang/lib/CIR/CodeGen/CIRGenModule.cpp
index 9da7fcc..0ec5dce 100644
--- a/clang/lib/CIR/CodeGen/CIRGenModule.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenModule.cpp
@@ -55,14 +55,6 @@ static CIRGenCXXABI *createCXXABI(CIRGenModule &cgm) {
llvm_unreachable("invalid C++ ABI kind");
}
-namespace clang::CIRGen {
-// TODO(cir): Implement target-specific CIRGenCXXABIs
-CIRGenCXXABI *CreateCIRGenItaniumCXXABI(CIRGenModule &cgm) {
- assert(!cir::MissingFeatures::targetSpecificCXXABI());
- return new CIRGenCXXABI(cgm);
-}
-} // namespace clang::CIRGen
-
CIRGenModule::CIRGenModule(mlir::MLIRContext &mlirContext,
clang::ASTContext &astContext,
const clang::CodeGenOptions &cgo,