clang 22.0.0git
clang::CodeGen::ApplyDebugLocation Class Reference

A scoped helper to set the current debug location to the specified location or preferred location of the specified Expr. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGDebugInfo.h"

Public Member Functions

 ApplyDebugLocation (CodeGenFunction &CGF, SourceLocation TemporaryLocation)
 Set the location to the (valid) TemporaryLocation.
 ApplyDebugLocation (CodeGenFunction &CGF, const Expr *E)
 ApplyDebugLocation (CodeGenFunction &CGF, llvm::DebugLoc Loc)
 ApplyDebugLocation (ApplyDebugLocation &&Other)
ApplyDebugLocationoperator= (ApplyDebugLocation &&Other)
 ~ApplyDebugLocation ()

Static Public Member Functions

static ApplyDebugLocation CreateArtificial (CodeGenFunction &CGF)
 Apply TemporaryLocation if it is valid.
static ApplyDebugLocation CreateDefaultArtificial (CodeGenFunction &CGF, SourceLocation TemporaryLocation)
 Apply TemporaryLocation if it is valid.
static ApplyDebugLocation CreateEmpty (CodeGenFunction &CGF)
 Set the IRBuilder to not attach debug locations.

Detailed Description

A scoped helper to set the current debug location to the specified location or preferred location of the specified Expr.

Definition at line 910 of file CGDebugInfo.h.

Constructor & Destructor Documentation

◆ ApplyDebugLocation() [1/4]

ApplyDebugLocation::ApplyDebugLocation ( CodeGenFunction & CGF,
SourceLocation TemporaryLocation )

Set the location to the (valid) TemporaryLocation.

Definition at line 218 of file CGDebugInfo.cpp.

◆ ApplyDebugLocation() [2/4]

ApplyDebugLocation::ApplyDebugLocation ( CodeGenFunction & CGF,
const Expr * E )

Definition at line 261 of file CGDebugInfo.cpp.

References clang::Expr::getExprLoc().

◆ ApplyDebugLocation() [3/4]

ApplyDebugLocation::ApplyDebugLocation ( CodeGenFunction & CGF,
llvm::DebugLoc Loc )

Definition at line 266 of file CGDebugInfo.cpp.

References clang::if().

◆ ApplyDebugLocation() [4/4]

clang::CodeGen::ApplyDebugLocation::ApplyDebugLocation ( ApplyDebugLocation && Other)
inline

Definition at line 924 of file CGDebugInfo.h.

References clang::Other.

◆ ~ApplyDebugLocation()

ApplyDebugLocation::~ApplyDebugLocation ( )

Definition at line 284 of file CGDebugInfo.cpp.

Member Function Documentation

◆ CreateArtificial()

ApplyDebugLocation clang::CodeGen::ApplyDebugLocation::CreateArtificial ( CodeGenFunction & CGF)
inlinestatic

Apply TemporaryLocation if it is valid.

Otherwise switch to an artificial debug location that has a valid scope, but no line information.

Artificial locations are useful when emitting compiler-generated helper functions that have no source location associated with them. The DWARF specification allows the compiler to use the special line number 0 to indicate code that can not be attributed to any source location. Note that passing an empty SourceLocation to CGDebugInfo::setLocation() will result in the last valid location being reused.

Definition at line 950 of file CGDebugInfo.h.

Referenced by callSpecialFunction(), clang::CodeGen::CGOpenMPRuntime::checkAndEmitSharedLastprivateConditional(), clang::CodeGen::CodeGenFunction::createAtExitStub(), clang::CodeGen::CodeGenFunction::createTLSAtExitStub(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CGOpenMPRuntime::emitThreadPrivateVarDefinition(), clang::CodeGen::CodeGenFunction::generateBuiltinOSLogHelperFunction(), generateByrefCopyHelper(), generateByrefDisposeHelper(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalCleanUpFunc(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalVarDeclInitFunc(), clang::CodeGen::CodeGenFunction::generateDestroyHelper(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), clang::CodeGen::CodeGenFunction::generateThunk(), clang::CodeGen::CodeGenFunction::incrementProfileCounter(), and clang::CodeGen::CodeGenFunction::StartThunk().

◆ CreateDefaultArtificial()

◆ CreateEmpty()

◆ operator=()

ApplyDebugLocation & clang::CodeGen::ApplyDebugLocation::operator= ( ApplyDebugLocation && Other)
inline

Definition at line 929 of file CGDebugInfo.h.

References clang::Other.


The documentation for this class was generated from the following files: