CppInterOp
C++ Language Interoperability Layer
Loading...
Searching...
No Matches
Namespaces | Macros | Functions | Variables
Tracing.cpp File Reference
#include "Tracing.h"
#include "CppInterOp/CppInterOp.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstdint>
#include <system_error>
#include "CppInterOp/CppInterOpAPI.inc"
Include dependency graph for Tracing.cpp:

Go to the source code of this file.

Namespaces

namespace  CppInternal
 
namespace  CppInternal::DispatchRaw
 
namespace  CppInterOp
 
namespace  CppInterOp::Tracing
 

Macros

#define CPPINTEROP_API_FUNC(DN, CN, Ret, DA, CA, RT)
 
#define CPPINTEROP_API_OUT(CN, OutMask)   {#CN, OutMask},
 

Functions

void CppInterOp::Tracing::InitTracing ()
 Activate tracing.
 
static void CppInterOp::Tracing::WriteVersionComment (llvm::raw_ostream &OS, const std::string &Version)
 Helper: emit version info as comment lines.
 
static std::string CppInterOp::Tracing::GetCppInterOpLibPath ()
 dladdr-based path to libclangCppInterOp, used as the dispatch-mode fallback.
 
static void CppInterOp::Tracing::WriteBuildContext (llvm::raw_ostream &OS)
 Stream Cpp::GetBuildInfo() into the prologue as // comments.
 
static void CppInterOp::Tracing::WriteReproducerPrologue (llvm::raw_ostream &OS, llvm::StringRef Title, const std::string &Version, llvm::StringRef Footnote)
 Emit a prologue compilable in two modes selected by -D: default <CppInterOp/CppInterOp.h>, static-link -DCPPINTEROP_USE_DISPATCH <CppInterOp/Dispatch.h>, dlopen-based The dispatch path reads CPPINTEROP_LIBRARY_PATH and falls back to the dladdr-captured libclangCppInterOp path (when available).
 

Variables

void(* CppInternal::DispatchRaw::CppInterOpTraceJitCallInvokeImpl )(const Cpp::JitCall *, void *, void **, std::size_t, void *) = nullptr
 
void(* CppInternal::DispatchRaw::CppInterOpTraceJitCallInvokeDestructorImpl )(const Cpp::JitCall *, void *, unsigned long, int) = nullptr
 
void(* CppInternal::DispatchRaw::CppInterOpTraceJitCallInvokeReturnImpl )(const Cpp::JitCall *, void *) = nullptr
 
TraceInfoCppInterOp::Tracing::TheTraceInfo = nullptr
 Process-global tracer pointer.
 

Macro Definition Documentation

◆ CPPINTEROP_API_FUNC

#define CPPINTEROP_API_FUNC (   DN,
  CN,
  Ret,
  DA,
  CA,
  RT 
)

◆ CPPINTEROP_API_OUT

#define CPPINTEROP_API_OUT (   CN,
  OutMask 
)    {#CN, OutMask},