[PATCH] Add llvm-pdbdump to tools

Kaylor, Andrew andrew.kaylor at intel.com
Thu Jan 29 12:36:11 PST 2015

I happened to update between r227459 and r227479 and tried to build with VS2012.

It turns out that just a couple of more changes fixed the build errors.  I haven't tried to use the tool, but at least it builds for me.

Here's what I did, in case anyone using VS2012 is interested in trying the pdbdump tool:

Index: DIASymbol.h
--- DIASymbol.h	(revision 227485)
+++ DIASymbol.h	(working copy)
@@ -250,7 +250,17 @@
   DIAResult<BOOL> isVolatileType();
-  template <class T, class U = T>
+  template <class T>
+  DIAResult<T>
+  InternalGetDIAValue(HRESULT (__stdcall IDiaSymbol::*Method)(T *)) {
+    T Value;
+    if (S_OK == (Symbol->*Method)(&Value))
+      return DIAResult<T>(T(Value));
+    else
+      return DIAResult<T>();
+  }
+  template <class T, class U>
   InternalGetDIAValue(HRESULT (__stdcall IDiaSymbol::*Method)(T *)) {
     T Value;
Index: COMExtras.h
--- COMExtras.h	(revision 227485)
+++ COMExtras.h	(working copy)
@@ -82,7 +82,7 @@
 /// used by ComEnumerator to support iterating in this fashion via range-based
 /// for loops and other common C++ paradigms.
 template <class EnumeratorType, std::size_t ArgIndex> class com_iterator {
-  using FunctionTraits = function_traits<decltype(&EnumeratorType::Next)>;
+  typedef function_traits<decltype(&EnumeratorType::Next)> FunctionTraits;
   typedef typename function_arg<FunctionTraits, ArgIndex>::type FuncArgType;
   // FuncArgType is now something like ISomeCOMInterface **.  Remove both
   // pointers, so we can make a CComPtr<T> out of it.

-----Original Message-----
From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Aaron Ballman
Sent: Thursday, January 29, 2015 10:49 AM
To: reviews+D7153+public+9262fa62f49512f5 at reviews.llvm.org
Cc: llvm-commits
Subject: Re: [PATCH] Add llvm-pdbdump to tools

On Thu, Jan 29, 2015 at 1:10 PM, Asiri Rathnayake <asiri.rathnayake at arm.com> wrote:
> Hi Aaron,
> That brought down the errors from about 190 to 160. I should've given 
> you the full log. I've attached it here: F364869: errors.log 
> <http://reviews.llvm.org/F364869>
> We're pushing on the VS2013 build but we'd need a week or so for that. Really appreciate you taking time to address these failures.

Zachary has resolved this by disabling the build of llvm-pdbdump for VS 2012 in r227479. Since this tool isn't required as part of the toolchain, and is in experimental stages, this should get you unstuck for now. When we drop support for VS 2012, this will be moot; and if we don't drop support for it, it can be fixed offline instead of breaking people.


> Thanks.
> - Asiri
>   rL LLVM
> http://reviews.llvm.org/D7153
>   http://reviews.llvm.org/settings/panel/emailpreferences/
llvm-commits mailing list
llvm-commits at cs.uiuc.edu

More information about the llvm-commits mailing list