LLVM  13.0.0git
DWARFLocationExpression.cpp
Go to the documentation of this file.
1 //===- DWARFLocationExpression.cpp ----------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
12 
13 using namespace llvm;
14 
16  const DWARFLocationExpression &Loc) {
17  return OS << Loc.Range << ": "
18  << formatv("{0}", make_range(Loc.Expr.begin(), Loc.Expr.end()));
19 }
llvm
Definition: AllocatorList.h:23
llvm::make_range
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
Definition: iterator_range.h:53
llvm::DWARFLocationExpression
Represents a single DWARF expression, whose value is location-dependent.
Definition: DWARFLocationExpression.h:22
llvm::formatv
auto formatv(const char *Fmt, Ts &&... Vals) -> formatv_object< decltype(std::make_tuple(detail::build_format_adapter(std::forward< Ts >(Vals))...))>
Definition: FormatVariadic.h:250
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:50
llvm::operator<<
raw_ostream & operator<<(raw_ostream &OS, const APFixedPoint &FX)
Definition: APFixedPoint.h:230
FormatVariadic.h
llvm::DWARFLocationExpression::Expr
SmallVector< uint8_t, 4 > Expr
The expression itself.
Definition: DWARFLocationExpression.h:29
iterator_range.h
DWARFLocationExpression.h
llvm::DWARFLocationExpression::Range
Optional< DWARFAddressRange > Range
The address range in which this expression is valid.
Definition: DWARFLocationExpression.h:26