//===--- lib/CodeGen/DebugLocStream.h - DWARF debug_loc stream --*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_LIB_CODEGEN_ASMPRINTER_DEBUGLOCSTREAM_H #define LLVM_LIB_CODEGEN_ASMPRINTER_DEBUGLOCSTREAM_H #include "ByteStreamer.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/SmallVector.h" namespace llvm { class AsmPrinter; class DbgVariable; class DwarfCompileUnit; class MCSymbol; /// Byte stream of .debug_loc entries. /// /// Stores a unified stream of .debug_loc entries. There's \a List for each /// variable/inlined-at pair, and an \a Entry for each \a DebugLocEntry. /// /// FIXME: Do we need all these temp symbols? /// FIXME: Why not output directly to the output stream? class DebugLocStream { … }; /// Builder for DebugLocStream lists. class DebugLocStream::ListBuilder { … }; /// Builder for DebugLocStream entries. class DebugLocStream::EntryBuilder { … }; } // namespace llvm #endif