LLVM  4.0.0
DWARFDebugFrame.h
Go to the documentation of this file.
1 //===-- DWARFDebugFrame.h - Parsing of .debug_frame -------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLVM_LIB_DEBUGINFO_DWARFDEBUGFRAME_H
11 #define LLVM_LIB_DEBUGINFO_DWARFDEBUGFRAME_H
12 
15 #include <memory>
16 #include <vector>
17 
18 namespace llvm {
19 
20 class FrameEntry;
21 
22 /// \brief A parsed .debug_frame or .eh_frame section
23 ///
25  // True if this is parsing an eh_frame section.
26  bool IsEH;
27 public:
28  DWARFDebugFrame(bool IsEH);
30 
31  /// \brief Dump the section data into the given stream.
32  void dump(raw_ostream &OS) const;
33 
34  /// \brief Parse the section from raw data.
35  /// data is assumed to be pointing to the beginning of the section.
36  void parse(DataExtractor Data);
37 
38 private:
39  std::vector<std::unique_ptr<FrameEntry>> Entries;
40 };
41 
42 
43 } // namespace llvm
44 
45 #endif
A parsed .debug_frame or .eh_frame section.
void parse(DataExtractor Data)
Parse the section from raw data.
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:44
void dump(raw_ostream &OS) const
Dump the section data into the given stream.