<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 8, 2015 at 2:46 PM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">This commit is throwing about 8 warnings like this<br><br>







<p><span>lib/DebugInfo/PDB/PDBSymbolThunk.cpp:19:17: </span><span>warning: </span><span>base class 'llvm::PDBSymbol' is uninitialized when used here to access 'llvm::PDBSymbol::Session' [-Wuninitialized]</span></p>
<p><span>    : PDBSymbol(Session, std::move(Symbol)) {}</span></p><p><span><br></span></p><p><span>I suspect Session there should be PDBSession which is passed to the constructor whereas Session is a member of PDBSymbol.</span></p></div></blockquote><div>Yep, fixed in that way in r228554. Though Zach - it might be nice to generate these using a .def file, similar to/something like what I was suggesting in the code review.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Sun, Feb 8, 2015 at 12:58 PM, Zachary Turner <span dir="ltr"><<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Author: zturner<br>
Date: Sun Feb  8 14:58:09 2015<br>
New Revision: 228542<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=228542&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=228542&view=rev</a><br>
Log:<br>
DebugInfoPDB: Make the symbol base case hold an IPDBSession ref.<br>
<br>
Dumping a symbol often requires access to data that isn't inside<br>
the symbol hierarchy, but which is only accessible through the<br>
top-level session.  This patch is a pure interface change to give<br>
symbols a reference to the session.<br>
<br>
Modified:<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h<br>
    llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp<br>
    llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp<br>
    llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h Sun Feb  8 14:58:09 2015<br>
@@ -36,11 +36,11 @@ class raw_ostream;<br>
 /// <a href="https://msdn.microsoft.com/en-us/library/370hs6k4.aspx" target="_blank">https://msdn.microsoft.com/en-us/library/370hs6k4.aspx</a><br>
 class PDBSymbol {<br>
 protected:<br>
-  PDBSymbol(std::unique_ptr<IPDBRawSymbol> Symbol);<br>
+  PDBSymbol(IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
 public:<br>
   static std::unique_ptr<PDBSymbol><br>
-  create(std::unique_ptr<IPDBRawSymbol> Symbol);<br>
+  create(IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   virtual ~PDBSymbol();<br>
<br>
@@ -62,6 +62,7 @@ public:<br>
   std::unique_ptr<IPDBEnumSymbols> findInlineFramesByRVA(uint32_t RVA) const;<br>
<br>
 protected:<br>
+  IPDBSession &Session;<br>
   const std::unique_ptr<IPDBRawSymbol> RawSymbol;<br>
 };<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h Sun Feb  8 14:58:09 2015<br>
@@ -20,7 +20,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolAnnotation : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolAnnotation(std::unique_ptr<IPDBRawSymbol> AnnotationSymbol);<br>
+  PDBSymbolAnnotation(IPDBSession &PDBSession,<br>
+                      std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h Sun Feb  8 14:58:09 2015<br>
@@ -20,7 +20,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolBlock : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolBlock(std::unique_ptr<IPDBRawSymbol> BlockSymbol);<br>
+  PDBSymbolBlock(IPDBSession &PDBSession,<br>
+                 std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h Sun Feb  8 14:58:09 2015<br>
@@ -20,7 +20,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolCompiland : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolCompiland(std::unique_ptr<IPDBRawSymbol> CompilandSymbol);<br>
+  PDBSymbolCompiland(IPDBSession &PDBSession,<br>
+                     std::unique_ptr<IPDBRawSymbol> CompilandSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolCompilandDetails : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolCompilandDetails(std::unique_ptr<IPDBRawSymbol> DetailsSymbol);<br>
+  PDBSymbolCompilandDetails(IPDBSession &PDBSession,<br>
+                            std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolCompilandEnv : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolCompilandEnv(std::unique_ptr<IPDBRawSymbol> CompilandEnvSymbol);<br>
+  PDBSymbolCompilandEnv(IPDBSession &PDBSession,<br>
+                        std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h Sun Feb  8 14:58:09 2015<br>
@@ -24,7 +24,8 @@ class raw_ostream;<br>
 /// <a href="https://msdn.microsoft.com/en-us/library/d88sf09h.aspx" target="_blank">https://msdn.microsoft.com/en-us/library/d88sf09h.aspx</a><br>
 class PDBSymbolCustom : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolCustom(std::unique_ptr<IPDBRawSymbol> CustomSymbol);<br>
+  PDBSymbolCustom(IPDBSession &PDBSession,<br>
+                  std::unique_ptr<IPDBRawSymbol> CustomSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolData : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolData(std::unique_ptr<IPDBRawSymbol> DataSymbol);<br>
+  PDBSymbolData(IPDBSession &PDBSession,<br>
+                std::unique_ptr<IPDBRawSymbol> DataSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h Sun Feb  8 14:58:09 2015<br>
@@ -23,7 +23,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolExe : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolExe(std::unique_ptr<IPDBRawSymbol> ExeSymbol);<br>
+  PDBSymbolExe(IPDBSession &PDBSession,<br>
+               std::unique_ptr<IPDBRawSymbol> ExeSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolFunc : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolFunc(std::unique_ptr<IPDBRawSymbol> FuncSymbol);<br>
+  PDBSymbolFunc(IPDBSession &PDBSession,<br>
+                std::unique_ptr<IPDBRawSymbol> FuncSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolFuncDebugEnd : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolFuncDebugEnd(std::unique_ptr<IPDBRawSymbol> FuncDebugEndSymbol);<br>
+  PDBSymbolFuncDebugEnd(IPDBSession &PDBSession,<br>
+                        std::unique_ptr<IPDBRawSymbol> FuncDebugEndSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolFuncDebugStart : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolFuncDebugStart(std::unique_ptr<IPDBRawSymbol> FuncDebugStartSymbol);<br>
+  PDBSymbolFuncDebugStart(IPDBSession &PDBSession,<br>
+                          std::unique_ptr<IPDBRawSymbol> FuncDebugStartSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolLabel : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolLabel(std::unique_ptr<IPDBRawSymbol> LabelSymbol);<br>
+  PDBSymbolLabel(IPDBSession &PDBSession,<br>
+                 std::unique_ptr<IPDBRawSymbol> LabelSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolPublicSymbol : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolPublicSymbol(std::unique_ptr<IPDBRawSymbol> PublicSymbol);<br>
+  PDBSymbolPublicSymbol(IPDBSession &PDBSession,<br>
+                        std::unique_ptr<IPDBRawSymbol> PublicSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h Sun Feb  8 14:58:09 2015<br>
@@ -21,7 +21,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolThunk : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolThunk(std::unique_ptr<IPDBRawSymbol> ThunkSymbol);<br>
+  PDBSymbolThunk(IPDBSession &PDBSession,<br>
+                 std::unique_ptr<IPDBRawSymbol> ThunkSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeArray : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeArray(std::unique_ptr<IPDBRawSymbol> ArrayTypeSymbol);<br>
+  PDBSymbolTypeArray(IPDBSession &PDBSession,<br>
+                     std::unique_ptr<IPDBRawSymbol> ArrayTypeSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeBaseClass : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeBaseClass(std::unique_ptr<IPDBRawSymbol> BaseClassTypeSymbol);<br>
+  PDBSymbolTypeBaseClass(IPDBSession &PDBSession,<br>
+                         std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeBuiltin : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeBuiltin(std::unique_ptr<IPDBRawSymbol> BuiltinTypeSymbol);<br>
+  PDBSymbolTypeBuiltin(IPDBSession &PDBSession,<br>
+                       std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeCustom : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeCustom(std::unique_ptr<IPDBRawSymbol> CustomTypeSymbol);<br>
+  PDBSymbolTypeCustom(IPDBSession &PDBSession,<br>
+                      std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeDimension : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeDimension(std::unique_ptr<IPDBRawSymbol> DimensionTypeSymbol);<br>
+  PDBSymbolTypeDimension(IPDBSession &PDBSession,<br>
+                         std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeEnum : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeEnum(std::unique_ptr<IPDBRawSymbol> EnumTypeSymbol);<br>
+  PDBSymbolTypeEnum(IPDBSession &PDBSession,<br>
+                    std::unique_ptr<IPDBRawSymbol> EnumTypeSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeFriend : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeFriend(std::unique_ptr<IPDBRawSymbol> FriendTypeSymbol);<br>
+  PDBSymbolTypeFriend(IPDBSession &PDBSession,<br>
+                      std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeFunctionArg : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeFunctionArg(std::unique_ptr<IPDBRawSymbol> FuncArgTypeSymbol);<br>
+  PDBSymbolTypeFunctionArg(IPDBSession &PDBSession,<br>
+                           std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeFunctionSig : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeFunctionSig(std::unique_ptr<IPDBRawSymbol> FuncSigTypeSymbol);<br>
+  PDBSymbolTypeFunctionSig(IPDBSession &PDBSession,<br>
+                           std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeManaged : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeManaged(std::unique_ptr<IPDBRawSymbol> ManagedTypeSymbol);<br>
+  PDBSymbolTypeManaged(IPDBSession &PDBSession,<br>
+                       std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypePointer : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypePointer(std::unique_ptr<IPDBRawSymbol> PointerTypeSymbol);<br>
+  PDBSymbolTypePointer(IPDBSession &PDBSession,<br>
+                       std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeTypedef : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeTypedef(std::unique_ptr<IPDBRawSymbol> TypedefSymbol);<br>
+  PDBSymbolTypeTypedef(IPDBSession &PDBSession,<br>
+                       std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeUDT : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeUDT(std::unique_ptr<IPDBRawSymbol> UDTSymbol);<br>
+  PDBSymbolTypeUDT(IPDBSession &PDBSession,<br>
+                   std::unique_ptr<IPDBRawSymbol> UDTSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeVTable : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeVTable(std::unique_ptr<IPDBRawSymbol> VtblSymbol);<br>
+  PDBSymbolTypeVTable(IPDBSession &PDBSession,<br>
+                      std::unique_ptr<IPDBRawSymbol> VtblSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolTypeVTableShape : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolTypeVTableShape(std::unique_ptr<IPDBRawSymbol> VtblShapeSymbol);<br>
+  PDBSymbolTypeVTableShape(IPDBSession &PDBSession,<br>
+                           std::unique_ptr<IPDBRawSymbol> VtblShapeSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolUnknown : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolUnknown(std::unique_ptr<IPDBRawSymbol> UnknownSymbol);<br>
+  PDBSymbolUnknown(IPDBSession &PDBSession,<br>
+                   std::unique_ptr<IPDBRawSymbol> UnknownSymbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h (original)<br>
+++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h Sun Feb  8 14:58:09 2015<br>
@@ -19,7 +19,8 @@ class raw_ostream;<br>
<br>
 class PDBSymbolUsingNamespace : public PDBSymbol {<br>
 public:<br>
-  PDBSymbolUsingNamespace(std::unique_ptr<IPDBRawSymbol> UsingSymbol);<br>
+  PDBSymbolUsingNamespace(IPDBSession &PDBSession,<br>
+                          std::unique_ptr<IPDBRawSymbol> Symbol);<br>
<br>
   void dump(llvm::raw_ostream &OS) const override;<br>
<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp Sun Feb  8 14:58:09 2015<br>
@@ -48,17 +48,19 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbol::PDBSymbol(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : RawSymbol(std::move(Symbol)) {}<br>
+PDBSymbol::PDBSymbol(IPDBSession &PDBSession,<br>
+                     std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : Session(PDBSession), RawSymbol(std::move(Symbol)) {}<br>
<br>
 PDBSymbol::~PDBSymbol() {}<br>
<br>
 #define FACTORY_SYMTAG_CASE(Tag, Type)                                         \<br>
   case PDB_SymType::Tag:                                                       \<br>
-    return std::unique_ptr<PDBSymbol>(new Type(std::move(Symbol)));<br>
+    return std::unique_ptr<PDBSymbol>(new Type(PDBSession, std::move(Symbol)));<br>
<br>
 std::unique_ptr<PDBSymbol><br>
-PDBSymbol::create(std::unique_ptr<IPDBRawSymbol> Symbol) {<br>
+PDBSymbol::create(IPDBSession &PDBSession,<br>
+                  std::unique_ptr<IPDBRawSymbol> Symbol) {<br>
   switch (Symbol->getSymTag()) {<br>
     FACTORY_SYMTAG_CASE(Exe, PDBSymbolExe)<br>
     FACTORY_SYMTAG_CASE(Compiland, PDBSymbolCompiland)<br>
@@ -91,7 +93,8 @@ PDBSymbol::create(std::unique_ptr<IPDBRa<br>
     FACTORY_SYMTAG_CASE(ManagedType, PDBSymbolTypeManaged)<br>
     FACTORY_SYMTAG_CASE(Dimension, PDBSymbolTypeDimension)<br>
   default:<br>
-    return std::unique_ptr<PDBSymbol>(new PDBSymbolUnknown(std::move(Symbol)));<br>
+    return std::unique_ptr<PDBSymbol>(<br>
+        new PDBSymbolUnknown(PDBSession, std::move(Symbol)));<br>
   }<br>
 }<br>
<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolAnnotation::PDBSymbolAnnotation(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolAnnotation::PDBSymbolAnnotation(IPDBSession &PDBSession,<br>
+                                         std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolAnnotation::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolBlock::PDBSymbolBlock(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolBlock::PDBSymbolBlock(IPDBSession &PDBSession,<br>
+                               std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(Session, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolBlock::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp Sun Feb  8 14:58:09 2015<br>
@@ -17,8 +17,9 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolCompiland::PDBSymbolCompiland(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolCompiland::PDBSymbolCompiland(IPDBSession &PDBSession,<br>
+                                       std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolCompiland::dump(llvm::raw_ostream &OS) const {<br>
 }<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolCompilandDetails::PDBSymbolCompilandDetails(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(Session, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolCompilandDetails::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp Sun Feb  8 14:58:09 2015<br>
@@ -16,8 +16,8 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolCompilandEnv::PDBSymbolCompilandEnv(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 std::string PDBSymbolCompilandEnv::getValue() const {<br>
   // call RawSymbol->getValue() and convert the result to an std::string.<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,8 +15,9 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolCustom::PDBSymbolCustom(std::unique_ptr<IPDBRawSymbol> CustomSymbol)<br>
-    : PDBSymbol(std::move(CustomSymbol)) {}<br>
+PDBSymbolCustom::PDBSymbolCustom(IPDBSession &PDBSession,<br>
+                                 std::unique_ptr<IPDBRawSymbol> CustomSymbol)<br>
+    : PDBSymbol(PDBSession, std::move(CustomSymbol)) {}<br>
<br>
 void PDBSymbolCustom::getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes) {<br>
   RawSymbol->getDataBytes(bytes);<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp Sun Feb  8 14:58:09 2015<br>
@@ -7,11 +7,13 @@<br>
 //<br>
 //===----------------------------------------------------------------------===//<br>
<br>
+#include <utility><br>
 #include "llvm/DebugInfo/PDB/PDBSymbolData.h"<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolData::PDBSymbolData(std::unique_ptr<IPDBRawSymbol> DataSymbol)<br>
-    : PDBSymbol(std::move(DataSymbol)) {}<br>
+PDBSymbolData::PDBSymbolData(IPDBSession &PDBSession,<br>
+                             std::unique_ptr<IPDBRawSymbol> DataSymbol)<br>
+    : PDBSymbol(PDBSession, std::move(DataSymbol)) {}<br>
<br>
 void PDBSymbolData::dump(llvm::raw_ostream &OS) const {}<br>
\ No newline at end of file<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp Sun Feb  8 14:58:09 2015<br>
@@ -17,8 +17,9 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolExe::PDBSymbolExe(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolExe::PDBSymbolExe(IPDBSession &PDBSession,<br>
+                           std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolExe::dump(llvm::raw_ostream &OS) const {<br>
 }<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolFunc::PDBSymbolFunc(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolFunc::PDBSymbolFunc(IPDBSession &PDBSession,<br>
+                             std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolFunc::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolFuncDebugEnd::PDBSymbolFuncDebugEnd(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(Session, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolFuncDebugEnd::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolFuncDebugStart::PDBSymbolFuncDebugStart(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(Session, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolFuncDebugStart::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolLabel::PDBSymbolLabel(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolLabel::PDBSymbolLabel(IPDBSession &PDBSession,<br>
+                               std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(Session, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolLabel::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolPublicSymbol::PDBSymbolPublicSymbol(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(Session, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolPublicSymbol::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolThunk::PDBSymbolThunk(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolThunk::PDBSymbolThunk(IPDBSession &PDBSession,<br>
+                               std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(Session, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolThunk::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolTypeArray::PDBSymbolTypeArray(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolTypeArray::PDBSymbolTypeArray(IPDBSession &PDBSession,<br>
+                                       std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeArray::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolTypeBaseClass::PDBSymbolTypeBaseClass(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(Session, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeBaseClass::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolTypeBuiltin::PDBSymbolTypeBuiltin(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeBuiltin::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolTypeCustom::PDBSymbolTypeCustom(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolTypeCustom::PDBSymbolTypeCustom(IPDBSession &PDBSession,<br>
+                                         std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeCustom::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp Sun Feb  8 14:58:09 2015<br>
@@ -16,7 +16,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolTypeDimension::PDBSymbolTypeDimension(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeDimension::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolTypeEnum::PDBSymbolTypeEnum(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolTypeEnum::PDBSymbolTypeEnum(IPDBSession &PDBSession,<br>
+                                     std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeEnum::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolTypeFriend::PDBSymbolTypeFriend(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolTypeFriend::PDBSymbolTypeFriend(IPDBSession &PDBSession,<br>
+                                         std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeFriend::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolTypeFunctionArg::PDBSymbolTypeFunctionArg(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeFunctionArg::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolTypeFunctionSig::PDBSymbolTypeFunctionSig(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeFunctionSig::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolTypeManaged::PDBSymbolTypeManaged(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeManaged::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp Sun Feb  8 14:58:09 2015<br>
@@ -16,7 +16,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolTypePointer::PDBSymbolTypePointer(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypePointer::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp Sun Feb  8 14:58:09 2015<br>
@@ -16,7 +16,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolTypeTypedef::PDBSymbolTypeTypedef(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeTypedef::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolTypeUDT::PDBSymbolTypeUDT(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolTypeUDT::PDBSymbolTypeUDT(IPDBSession &PDBSession,<br>
+                                   std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeUDT::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolTypeVTable::PDBSymbolTypeVTable(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolTypeVTable::PDBSymbolTypeVTable(IPDBSession &PDBSession,<br>
+                                         std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeVTable::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolTypeVTableShape::PDBSymbolTypeVTableShape(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolTypeVTableShape::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp Sun Feb  8 14:58:09 2015<br>
@@ -14,7 +14,8 @@<br>
<br>
 using namespace llvm;<br>
<br>
-PDBSymbolUnknown::PDBSymbolUnknown(std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+PDBSymbolUnknown::PDBSymbolUnknown(IPDBSession &PDBSession,<br>
+                                   std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolUnknown::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp Sun Feb  8 14:58:09 2015<br>
@@ -15,7 +15,7 @@<br>
 using namespace llvm;<br>
<br>
 PDBSymbolUsingNamespace::PDBSymbolUsingNamespace(<br>
-    std::unique_ptr<IPDBRawSymbol> Symbol)<br>
-    : PDBSymbol(std::move(Symbol)) {}<br>
+    IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)<br>
+    : PDBSymbol(PDBSession, std::move(Symbol)) {}<br>
<br>
 void PDBSymbolUsingNamespace::dump(llvm::raw_ostream &OS) const {}<br>
<br>
Modified: llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp?rev=228542&r1=228541&r2=228542&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp?rev=228542&r1=228541&r2=228542&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp (original)<br>
+++ llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp Sun Feb  8 14:58:09 2015<br>
@@ -12,6 +12,9 @@<br>
<br>
 #include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"<br>
 #include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"<br>
+#include "llvm/DebugInfo/PDB/IPDBSession.h"<br>
+#include "llvm/DebugInfo/PDB/IPDBSourceFile.h"<br>
+<br>
 #include "llvm/DebugInfo/PDB/PDBSymbol.h"<br>
 #include "llvm/DebugInfo/PDB/PDBSymbolAnnotation.h"<br>
 #include "llvm/DebugInfo/PDB/PDBSymbolBlock.h"<br>
@@ -66,6 +69,21 @@ namespace {<br>
     return ReturnType();                                                       \<br>
   }<br>
<br>
+class MockSession : public IPDBSession {<br>
+  uint64_t getLoadAddress() const override { return 0; }<br>
+  void setLoadAddress(uint64_t Address) override {}<br>
+  std::unique_ptr<PDBSymbolExe> getGlobalScope() const override {<br>
+    return nullptr;<br>
+  }<br>
+  std::unique_ptr<PDBSymbol> getSymbolById() const override { return nullptr; }<br>
+  std::unique_ptr<IPDBSourceFile> getSourceFileById() const override {<br>
+    return nullptr;<br>
+  }<br>
+  std::unique_ptr<IPDBEnumDataStreams> getDebugStreams() const override {<br>
+    return nullptr;<br>
+  }<br>
+};<br>
+<br>
 class MockRawSymbol : public IPDBRawSymbol {<br>
 public:<br>
   MockRawSymbol(PDB_SymType SymType) : Type(SymType) {}<br>
@@ -257,6 +275,8 @@ public:<br>
   std::unordered_map<PDB_SymType, std::unique_ptr<PDBSymbol>> SymbolMap;<br>
<br>
   void SetUp() override {<br>
+    Session.reset(new MockSession());<br>
+<br>
     InsertItemWithTag(PDB_SymType::None);<br>
     InsertItemWithTag(PDB_SymType::Exe);<br>
     InsertItemWithTag(PDB_SymType::Compiland);<br>
@@ -291,14 +311,6 @@ public:<br>
     InsertItemWithTag(PDB_SymType::Max);<br>
   }<br>
<br>
-private:<br>
-  void InsertItemWithTag(PDB_SymType Tag) {<br>
-    auto RawSymbol = std::unique_ptr<IPDBRawSymbol>(new MockRawSymbol(Tag));<br>
-    auto Symbol = PDBSymbol::create(std::move(RawSymbol));<br>
-    SymbolMap.insert(std::make_pair(Tag, std::move(Symbol)));<br>
-  }<br>
-<br>
-public:<br>
   template <class ExpectedType> void VerifyDyncast(PDB_SymType Tag) {<br>
     for (auto item = SymbolMap.begin(); item != SymbolMap.end(); ++item) {<br>
       EXPECT_EQ(item->first == Tag, llvm::isa<ExpectedType>(*item->second));<br>
@@ -314,6 +326,15 @@ public:<br>
       EXPECT_EQ(should_match, llvm::isa<PDBSymbolUnknown>(*item->second));<br>
     }<br>
   }<br>
+<br>
+private:<br>
+  std::unique_ptr<IPDBSession> Session;<br>
+<br>
+  void InsertItemWithTag(PDB_SymType Tag) {<br>
+    auto RawSymbol = std::unique_ptr<IPDBRawSymbol>(new MockRawSymbol(Tag));<br>
+    auto Symbol = PDBSymbol::create(*Session, std::move(RawSymbol));<br>
+    SymbolMap.insert(std::make_pair(Tag, std::move(Symbol)));<br>
+  }<br>
 };<br>
<br>
 TEST_F(PDBApiTest, Dyncast) {<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class=""><font color="#888888">-- <br><div>~Craig</div>
</font></span></div>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div></div>