LCOV - code coverage report
Current view: top level - include/llvm/DebugInfo/PDB - PDBExtras.h (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 30 30 100.0 %
Date: 2018-10-20 13:21:21 Functions: 11 11 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //===- PDBExtras.h - helper functions and classes for PDBs ------*- 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_DEBUGINFO_PDB_PDBEXTRAS_H
      11             : #define LLVM_DEBUGINFO_PDB_PDBEXTRAS_H
      12             : 
      13             : #include "llvm/DebugInfo/CodeView/CodeView.h"
      14             : #include "llvm/DebugInfo/PDB/PDBTypes.h"
      15             : #include "llvm/Support/raw_ostream.h"
      16             : 
      17             : #include <unordered_map>
      18             : 
      19             : namespace llvm {
      20             : 
      21             : class raw_ostream;
      22             : 
      23             : namespace pdb {
      24             : 
      25             : using TagStats = std::unordered_map<PDB_SymType, int>;
      26             : 
      27             : raw_ostream &operator<<(raw_ostream &OS, const PDB_VariantType &Value);
      28             : raw_ostream &operator<<(raw_ostream &OS, const PDB_CallingConv &Conv);
      29             : raw_ostream &operator<<(raw_ostream &OS, const PDB_BuiltinType &Type);
      30             : raw_ostream &operator<<(raw_ostream &OS, const PDB_DataKind &Data);
      31             : raw_ostream &operator<<(raw_ostream &OS, const codeview::RegisterId &Reg);
      32             : raw_ostream &operator<<(raw_ostream &OS, const PDB_LocType &Loc);
      33             : raw_ostream &operator<<(raw_ostream &OS, const codeview::ThunkOrdinal &Thunk);
      34             : raw_ostream &operator<<(raw_ostream &OS, const PDB_Checksum &Checksum);
      35             : raw_ostream &operator<<(raw_ostream &OS, const PDB_Lang &Lang);
      36             : raw_ostream &operator<<(raw_ostream &OS, const PDB_SymType &Tag);
      37             : raw_ostream &operator<<(raw_ostream &OS, const PDB_MemberAccess &Access);
      38             : raw_ostream &operator<<(raw_ostream &OS, const PDB_UdtType &Type);
      39             : raw_ostream &operator<<(raw_ostream &OS, const PDB_Machine &Machine);
      40             : raw_ostream &operator<<(raw_ostream &OS,
      41             :                         const PDB_SourceCompression &Compression);
      42             : 
      43             : raw_ostream &operator<<(raw_ostream &OS, const Variant &Value);
      44             : raw_ostream &operator<<(raw_ostream &OS, const VersionInfo &Version);
      45             : raw_ostream &operator<<(raw_ostream &OS, const TagStats &Stats);
      46             : 
      47             : 
      48             : template <typename T>
      49        2466 : void dumpSymbolField(raw_ostream &OS, StringRef Name, T Value, int Indent) {
      50        2466 :   OS << "\n";
      51        2466 :   OS.indent(Indent);
      52        2466 :   OS << Name << ": " << Value;
      53        2466 : }
      54          95 : 
      55          95 : 
      56          95 : } // end namespace pdb
      57          95 : 
      58          95 : } // end namespace llvm
      59        1615 : 
      60        1615 : #endif // LLVM_DEBUGINFO_PDB_PDBEXTRAS_H

Generated by: LCOV version 1.13