clang 19.0.0git
Functions
SourceManager.cpp File Reference
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManagerInternals.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Capacity.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <optional>
#include <tuple>
#include <utility>
#include <vector>

Go to the source code of this file.

Functions

template<typename LocType >
static bool isInvalid (LocType Loc, bool *Invalid)
 
template<class T >
static constexpr T likelyhasbetween (T x, unsigned char m, unsigned char n)
 
static bool MoveUpTranslationUnitIncludeHierarchy (std::pair< FileID, unsigned > &Loc, const SourceManager &SM)
 Given a decomposed source location, move it up the include/expansion stack to the parent source location within the same translation unit.
 

Function Documentation

◆ isInvalid()

template<typename LocType >
static bool isInvalid ( LocType  Loc,
bool Invalid 
)
static

◆ likelyhasbetween()

template<class T >
static constexpr T likelyhasbetween ( x,
unsigned char  m,
unsigned char  n 
)
inlinestaticconstexpr

Definition at line 1200 of file SourceManager.cpp.

Referenced by clang::SrcMgr::LineOffsetMapping::get().

◆ MoveUpTranslationUnitIncludeHierarchy()

static bool MoveUpTranslationUnitIncludeHierarchy ( std::pair< FileID, unsigned > &  Loc,
const SourceManager SM 
)
static

Given a decomposed source location, move it up the include/expansion stack to the parent source location within the same translation unit.

If this is possible, return the decomposed version of the parent in Loc and return false. If Loc is a top-level entry, return true and don't modify it.

Definition at line 1942 of file SourceManager.cpp.

References SM.

Referenced by clang::SourceManager::isInTheSameTranslationUnit().