PDBExtras.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. #ifndef LLVM_DEBUGINFO_PDB_PDBEXTRAS_H
  10. #define LLVM_DEBUGINFO_PDB_PDBEXTRAS_H
  11. #include "PDBTypes.h"
  12. #include "llvm/Support/raw_ostream.h"
  13. #include <unordered_map>
  14. namespace llvm {
  15. typedef std::unordered_map<PDB_SymType, int> TagStats;
  16. raw_ostream &operator<<(raw_ostream &OS, const PDB_VariantType &Value);
  17. raw_ostream &operator<<(raw_ostream &OS, const PDB_CallingConv &Conv);
  18. raw_ostream &operator<<(raw_ostream &OS, const PDB_DataKind &Data);
  19. raw_ostream &operator<<(raw_ostream &OS, const PDB_RegisterId &Reg);
  20. raw_ostream &operator<<(raw_ostream &OS, const PDB_LocType &Loc);
  21. raw_ostream &operator<<(raw_ostream &OS, const PDB_ThunkOrdinal &Thunk);
  22. raw_ostream &operator<<(raw_ostream &OS, const PDB_Checksum &Checksum);
  23. raw_ostream &operator<<(raw_ostream &OS, const PDB_Lang &Lang);
  24. raw_ostream &operator<<(raw_ostream &OS, const PDB_SymType &Tag);
  25. raw_ostream &operator<<(raw_ostream &OS, const PDB_MemberAccess &Access);
  26. raw_ostream &operator<<(raw_ostream &OS, const PDB_UdtType &Type);
  27. raw_ostream &operator<<(raw_ostream &OS, const PDB_UniqueId &Id);
  28. raw_ostream &operator<<(raw_ostream &OS, const Variant &Value);
  29. raw_ostream &operator<<(raw_ostream &OS, const VersionInfo &Version);
  30. raw_ostream &operator<<(raw_ostream &OS, const TagStats &Stats);
  31. }
  32. #endif