|
CppInterOp
C++ Language Interoperability Layer
|
Namespaces | |
| namespace | detail |
Classes | |
| class | SynthesizingCodeRAII |
Typedefs | |
| using | Interpreter = CppInternal::Interpreter |
| using | Value = clang::Value |
Functions | |
| bool | detectCudaInstallPath (const std::vector< const char * > &args, std::string &CudaPath) |
| Detect the CUDA installation path using clang::Driver. | |
| bool | detectNVPTXArch (std::string &Arch) |
| Detect GPU architecture via the CUDA Driver API, tweaked from clang's nvptx-arch tool (NVPTXArch.cpp) | |
| std::unique_ptr< clang::Interpreter > | createClangInterpreter (std::vector< const char * > &args, int stdin_fd=-1, int stdout_fd=-1, int stderr_fd=-1) |
| void | maybeMangleDeclName (const clang::GlobalDecl &GD, std::string &mangledName) |
| llvm::orc::LLJIT * | getExecutionEngine (clang::Interpreter &I) |
| llvm::Expected< llvm::JITTargetAddress > | getSymbolAddress (clang::Interpreter &I, llvm::StringRef IRName) |
| llvm::Expected< llvm::JITTargetAddress > | getSymbolAddress (clang::Interpreter &I, clang::GlobalDecl GD) |
| llvm::Expected< llvm::JITTargetAddress > | getSymbolAddressFromLinkerName (clang::Interpreter &I, llvm::StringRef LinkerName) |
| llvm::Error | Undo (clang::Interpreter &I, unsigned N=1) |
| void | codeComplete (std::vector< std::string > &Results, clang::Interpreter &I, const char *code, unsigned complete_line=1U, unsigned complete_column=1U) |
| template<typename T > | |
| T | convertTo (clang::Value V) |
| Cpp::Box | MakeValueBox (const Value &V, void *qt) noexcept |
| Wrap a compat::Value into a refcount-shared K_PtrOrObj Cpp::Box. | |
| void | InstantiateClassTemplateSpecialization (Interpreter &interp, clang::ClassTemplateSpecializationDecl *CTSD) |
| using compat::Interpreter = typedef CppInternal::Interpreter |
Definition at line 688 of file Compatibility.h.
| using compat::Value = typedef clang::Value |
Definition at line 707 of file Compatibility.h.
|
inline |
Definition at line 655 of file Compatibility.h.
Referenced by Cpp::CodeComplete().
|
inline |
Definition at line 716 of file Compatibility.h.
|
inline |
Definition at line 445 of file Compatibility.h.
References detectCudaInstallPath(), and detectNVPTXArch().
|
inline |
Detect the CUDA installation path using clang::Driver.
| args | user-provided interpreter arguments (may contain –cuda-path). | |
| [out] | CudaPath | the detected CUDA installation path. |
Definition at line 263 of file Compatibility.h.
Referenced by createClangInterpreter().
|
inline |
Detect GPU architecture via the CUDA Driver API, tweaked from clang's nvptx-arch tool (NVPTXArch.cpp)
| [out] | Arch | Set to "sm_XX" on success, or clang's default fallback. |
Definition at line 334 of file Compatibility.h.
Referenced by createClangInterpreter().
|
inline |
Definition at line 603 of file Compatibility.h.
Referenced by CppInternal::Interpreter::getDynamicLibraryManager(), CppInternal::Interpreter::getExecutionEngine(), getSymbolAddressFromLinkerName(), and Cpp::InsertOrReplaceJitSymbol().
|
inline |
Definition at line 630 of file Compatibility.h.
References getSymbolAddress(), and maybeMangleDeclName().
|
inline |
Definition at line 621 of file Compatibility.h.
Referenced by Cpp::GetFunctionAddress(), CppInternal::Interpreter::getSymbolAddress(), getSymbolAddress(), CppInternal::Interpreter::getSymbolAddress(), Cpp::GetVariableOffset(), and Cpp::InsertOrReplaceJitSymbol().
|
inline |
Definition at line 637 of file Compatibility.h.
References getExecutionEngine().
Referenced by CppInternal::Interpreter::getSymbolAddressFromLinkerName().
|
inline |
Definition at line 757 of file Compatibility.h.
References CppInternal::Interpreter::getSema().
Referenced by Cpp::GetNumBases().
Wrap a compat::Value into a refcount-shared K_PtrOrObj Cpp::Box.
qt is the opaque QualType (clang::QualType::getAsOpaquePtr()).
Definition at line 752 of file Compatibility.h.
References Cpp::Box::AdoptObject(), and compat::detail::ValueRefCount::Ops.
Referenced by Cpp::Evaluate().
|
inline |
Definition at line 572 of file Compatibility.h.
Referenced by Cpp::CreateInterpreter(), getSymbolAddress(), and Cpp::GetVariableOffset().
|
inline |
Definition at line 651 of file Compatibility.h.
Referenced by CppInternal::Interpreter::Undo().