[llvm] r230704 - [llvm-pdbdump] Add missing files.

Zachary Turner zturner at google.com
Thu Feb 26 15:51:50 PST 2015


Author: zturner
Date: Thu Feb 26 17:51:49 2015
New Revision: 230704

URL: http://llvm.org/viewvc/llvm-project?rev=230704&view=rev
Log:
[llvm-pdbdump] Add missing files.

Added:
    llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.cpp
    llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.h

Added: llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.cpp?rev=230704&view=auto
==============================================================================
--- llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.cpp (added)
+++ llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.cpp Thu Feb 26 17:51:49 2015
@@ -0,0 +1,80 @@
+//===- BuiltinDumper.cpp ---------------------------------------- *- C++ *-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "BuiltinDumper.h"
+#include "llvm-pdbdump.h"
+
+#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
+
+using namespace llvm;
+
+BuiltinDumper::BuiltinDumper() : PDBSymDumper(false) {}
+
+void BuiltinDumper::start(const PDBSymbolTypeBuiltin &Symbol,
+                          llvm::raw_ostream &OS) {
+  PDB_BuiltinType Type = Symbol.getBuiltinType();
+  switch (Type) {
+  case PDB_BuiltinType::Float:
+    OS << ((Symbol.getLength() == 4) ? "float" : "double");
+    break;
+  case PDB_BuiltinType::UInt:
+    OS << "unsigned";
+    if (Symbol.getLength() == 8)
+      OS << " __int64";
+    break;
+  case PDB_BuiltinType::Int:
+    OS << ((Symbol.getLength() == 4) ? "int" : "__int64");
+    break;
+  case PDB_BuiltinType::Char:
+    OS << "char";
+    break;
+  case PDB_BuiltinType::WCharT:
+    OS << "wchar_t";
+    break;
+  case PDB_BuiltinType::Void:
+    OS << "void";
+    break;
+  case PDB_BuiltinType::Long:
+    OS << "long";
+    break;
+  case PDB_BuiltinType::ULong:
+    OS << "unsigned long";
+    break;
+  case PDB_BuiltinType::Bool:
+    OS << "bool";
+    break;
+  case PDB_BuiltinType::Currency:
+    OS << "CURRENCY";
+    break;
+  case PDB_BuiltinType::Date:
+    OS << "DATE";
+    break;
+  case PDB_BuiltinType::Variant:
+    OS << "VARIANT";
+    break;
+  case PDB_BuiltinType::Complex:
+    OS << "complex";
+    break;
+  case PDB_BuiltinType::Bitfield:
+    OS << "bitfield";
+    break;
+  case PDB_BuiltinType::BSTR:
+    OS << "BSTR";
+    break;
+  case PDB_BuiltinType::HResult:
+    OS << "HRESULT";
+    break;
+  case PDB_BuiltinType::BCD:
+    OS << "HRESULT";
+    break;
+  default:
+    OS << "(unknown builtin type)";
+    break;
+  }
+}

Added: llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.h?rev=230704&view=auto
==============================================================================
--- llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.h (added)
+++ llvm/trunk/tools/llvm-pdbdump/BuiltinDumper.h Thu Feb 26 17:51:49 2015
@@ -0,0 +1,25 @@
+//===- BuiltinDumper.h ---------------------------------------- *- C++ --*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_TOOLS_LLVMPDBDUMP_BUILTINDUMPER_H
+#define LLVM_TOOLS_LLVMPDBDUMP_BUILTINDUMPER_H
+
+#include "llvm/DebugInfo/PDB/PDBSymDumper.h"
+
+namespace llvm {
+
+class BuiltinDumper : public PDBSymDumper {
+public:
+  BuiltinDumper();
+
+  void start(const PDBSymbolTypeBuiltin &Symbol, llvm::raw_ostream &OS);
+};
+}
+
+#endif





More information about the llvm-commits mailing list