[llvm] r228542 - DebugInfoPDB: Make the symbol base case hold an IPDBSession ref.
David Blaikie
dblaikie at gmail.com
Sun Feb 8 15:26:59 PST 2015
On Sun, Feb 8, 2015 at 2:46 PM, Craig Topper <craig.topper at gmail.com> wrote:
> This commit is throwing about 8 warnings like this
>
> lib/DebugInfo/PDB/PDBSymbolThunk.cpp:19:17: warning: base class
> 'llvm::PDBSymbol' is uninitialized when used here to access
> 'llvm::PDBSymbol::Session' [-Wuninitialized]
>
> : PDBSymbol(Session, std::move(Symbol)) {}
>
>
> I suspect Session there should be PDBSession which is passed to the
> constructor whereas Session is a member of PDBSymbol.
>
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.
>
> On Sun, Feb 8, 2015 at 12:58 PM, Zachary Turner <zturner at google.com>
> wrote:
>
>> Author: zturner
>> Date: Sun Feb 8 14:58:09 2015
>> New Revision: 228542
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=228542&view=rev
>> Log:
>> DebugInfoPDB: Make the symbol base case hold an IPDBSession ref.
>>
>> Dumping a symbol often requires access to data that isn't inside
>> the symbol hierarchy, but which is only accessible through the
>> top-level session. This patch is a pure interface change to give
>> symbols a reference to the session.
>>
>> Modified:
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp
>> llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp
>> llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbol.h Sun Feb 8 14:58:09
>> 2015
>> @@ -36,11 +36,11 @@ class raw_ostream;
>> /// https://msdn.microsoft.com/en-us/library/370hs6k4.aspx
>> class PDBSymbol {
>> protected:
>> - PDBSymbol(std::unique_ptr<IPDBRawSymbol> Symbol);
>> + PDBSymbol(IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol>
>> Symbol);
>>
>> public:
>> static std::unique_ptr<PDBSymbol>
>> - create(std::unique_ptr<IPDBRawSymbol> Symbol);
>> + create(IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> virtual ~PDBSymbol();
>>
>> @@ -62,6 +62,7 @@ public:
>> std::unique_ptr<IPDBEnumSymbols> findInlineFramesByRVA(uint32_t RVA)
>> const;
>>
>> protected:
>> + IPDBSession &Session;
>> const std::unique_ptr<IPDBRawSymbol> RawSymbol;
>> };
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h Sun Feb
>> 8 14:58:09 2015
>> @@ -20,7 +20,8 @@ class raw_ostream;
>>
>> class PDBSymbolAnnotation : public PDBSymbol {
>> public:
>> - PDBSymbolAnnotation(std::unique_ptr<IPDBRawSymbol> AnnotationSymbol);
>> + PDBSymbolAnnotation(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h Sun Feb 8
>> 14:58:09 2015
>> @@ -20,7 +20,8 @@ class raw_ostream;
>>
>> class PDBSymbolBlock : public PDBSymbol {
>> public:
>> - PDBSymbolBlock(std::unique_ptr<IPDBRawSymbol> BlockSymbol);
>> + PDBSymbolBlock(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h Sun Feb 8
>> 14:58:09 2015
>> @@ -20,7 +20,8 @@ class raw_ostream;
>>
>> class PDBSymbolCompiland : public PDBSymbol {
>> public:
>> - PDBSymbolCompiland(std::unique_ptr<IPDBRawSymbol> CompilandSymbol);
>> + PDBSymbolCompiland(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> CompilandSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified:
>> llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolCompilandDetails : public PDBSymbol {
>> public:
>> - PDBSymbolCompilandDetails(std::unique_ptr<IPDBRawSymbol>
>> DetailsSymbol);
>> + PDBSymbolCompilandDetails(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolCompilandEnv : public PDBSymbol {
>> public:
>> - PDBSymbolCompilandEnv(std::unique_ptr<IPDBRawSymbol>
>> CompilandEnvSymbol);
>> + PDBSymbolCompilandEnv(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h Sun Feb 8
>> 14:58:09 2015
>> @@ -24,7 +24,8 @@ class raw_ostream;
>> /// https://msdn.microsoft.com/en-us/library/d88sf09h.aspx
>> class PDBSymbolCustom : public PDBSymbol {
>> public:
>> - PDBSymbolCustom(std::unique_ptr<IPDBRawSymbol> CustomSymbol);
>> + PDBSymbolCustom(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> CustomSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolData.h Sun Feb 8
>> 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolData : public PDBSymbol {
>> public:
>> - PDBSymbolData(std::unique_ptr<IPDBRawSymbol> DataSymbol);
>> + PDBSymbolData(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> DataSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolExe.h Sun Feb 8
>> 14:58:09 2015
>> @@ -23,7 +23,8 @@ class raw_ostream;
>>
>> class PDBSymbolExe : public PDBSymbol {
>> public:
>> - PDBSymbolExe(std::unique_ptr<IPDBRawSymbol> ExeSymbol);
>> + PDBSymbolExe(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> ExeSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h Sun Feb 8
>> 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolFunc : public PDBSymbol {
>> public:
>> - PDBSymbolFunc(std::unique_ptr<IPDBRawSymbol> FuncSymbol);
>> + PDBSymbolFunc(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> FuncSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolFuncDebugEnd : public PDBSymbol {
>> public:
>> - PDBSymbolFuncDebugEnd(std::unique_ptr<IPDBRawSymbol>
>> FuncDebugEndSymbol);
>> + PDBSymbolFuncDebugEnd(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> FuncDebugEndSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolFuncDebugStart : public PDBSymbol {
>> public:
>> - PDBSymbolFuncDebugStart(std::unique_ptr<IPDBRawSymbol>
>> FuncDebugStartSymbol);
>> + PDBSymbolFuncDebugStart(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> FuncDebugStartSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h Sun Feb 8
>> 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolLabel : public PDBSymbol {
>> public:
>> - PDBSymbolLabel(std::unique_ptr<IPDBRawSymbol> LabelSymbol);
>> + PDBSymbolLabel(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> LabelSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolPublicSymbol : public PDBSymbol {
>> public:
>> - PDBSymbolPublicSymbol(std::unique_ptr<IPDBRawSymbol> PublicSymbol);
>> + PDBSymbolPublicSymbol(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> PublicSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h Sun Feb 8
>> 14:58:09 2015
>> @@ -21,7 +21,8 @@ class raw_ostream;
>>
>> class PDBSymbolThunk : public PDBSymbol {
>> public:
>> - PDBSymbolThunk(std::unique_ptr<IPDBRawSymbol> ThunkSymbol);
>> + PDBSymbolThunk(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> ThunkSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h Sun Feb 8
>> 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeArray : public PDBSymbol {
>> public:
>> - PDBSymbolTypeArray(std::unique_ptr<IPDBRawSymbol> ArrayTypeSymbol);
>> + PDBSymbolTypeArray(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> ArrayTypeSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeBaseClass : public PDBSymbol {
>> public:
>> - PDBSymbolTypeBaseClass(std::unique_ptr<IPDBRawSymbol>
>> BaseClassTypeSymbol);
>> + PDBSymbolTypeBaseClass(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h Sun Feb
>> 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeBuiltin : public PDBSymbol {
>> public:
>> - PDBSymbolTypeBuiltin(std::unique_ptr<IPDBRawSymbol> BuiltinTypeSymbol);
>> + PDBSymbolTypeBuiltin(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h Sun Feb
>> 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeCustom : public PDBSymbol {
>> public:
>> - PDBSymbolTypeCustom(std::unique_ptr<IPDBRawSymbol> CustomTypeSymbol);
>> + PDBSymbolTypeCustom(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeDimension : public PDBSymbol {
>> public:
>> - PDBSymbolTypeDimension(std::unique_ptr<IPDBRawSymbol>
>> DimensionTypeSymbol);
>> + PDBSymbolTypeDimension(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h Sun Feb 8
>> 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeEnum : public PDBSymbol {
>> public:
>> - PDBSymbolTypeEnum(std::unique_ptr<IPDBRawSymbol> EnumTypeSymbol);
>> + PDBSymbolTypeEnum(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> EnumTypeSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h Sun Feb
>> 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeFriend : public PDBSymbol {
>> public:
>> - PDBSymbolTypeFriend(std::unique_ptr<IPDBRawSymbol> FriendTypeSymbol);
>> + PDBSymbolTypeFriend(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeFunctionArg : public PDBSymbol {
>> public:
>> - PDBSymbolTypeFunctionArg(std::unique_ptr<IPDBRawSymbol>
>> FuncArgTypeSymbol);
>> + PDBSymbolTypeFunctionArg(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeFunctionSig : public PDBSymbol {
>> public:
>> - PDBSymbolTypeFunctionSig(std::unique_ptr<IPDBRawSymbol>
>> FuncSigTypeSymbol);
>> + PDBSymbolTypeFunctionSig(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h Sun Feb
>> 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeManaged : public PDBSymbol {
>> public:
>> - PDBSymbolTypeManaged(std::unique_ptr<IPDBRawSymbol> ManagedTypeSymbol);
>> + PDBSymbolTypeManaged(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h Sun Feb
>> 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypePointer : public PDBSymbol {
>> public:
>> - PDBSymbolTypePointer(std::unique_ptr<IPDBRawSymbol> PointerTypeSymbol);
>> + PDBSymbolTypePointer(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h Sun Feb
>> 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeTypedef : public PDBSymbol {
>> public:
>> - PDBSymbolTypeTypedef(std::unique_ptr<IPDBRawSymbol> TypedefSymbol);
>> + PDBSymbolTypeTypedef(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h Sun Feb 8
>> 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeUDT : public PDBSymbol {
>> public:
>> - PDBSymbolTypeUDT(std::unique_ptr<IPDBRawSymbol> UDTSymbol);
>> + PDBSymbolTypeUDT(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> UDTSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h Sun Feb
>> 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeVTable : public PDBSymbol {
>> public:
>> - PDBSymbolTypeVTable(std::unique_ptr<IPDBRawSymbol> VtblSymbol);
>> + PDBSymbolTypeVTable(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> VtblSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolTypeVTableShape : public PDBSymbol {
>> public:
>> - PDBSymbolTypeVTableShape(std::unique_ptr<IPDBRawSymbol>
>> VtblShapeSymbol);
>> + PDBSymbolTypeVTableShape(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> VtblShapeSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h Sun Feb 8
>> 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolUnknown : public PDBSymbol {
>> public:
>> - PDBSymbolUnknown(std::unique_ptr<IPDBRawSymbol> UnknownSymbol);
>> + PDBSymbolUnknown(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> UnknownSymbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h
>> (original)
>> +++ llvm/trunk/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h Sun
>> Feb 8 14:58:09 2015
>> @@ -19,7 +19,8 @@ class raw_ostream;
>>
>> class PDBSymbolUsingNamespace : public PDBSymbol {
>> public:
>> - PDBSymbolUsingNamespace(std::unique_ptr<IPDBRawSymbol> UsingSymbol);
>> + PDBSymbolUsingNamespace(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol);
>>
>> void dump(llvm::raw_ostream &OS) const override;
>>
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbol.cpp Sun Feb 8 14:58:09 2015
>> @@ -48,17 +48,19 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbol::PDBSymbol(std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : RawSymbol(std::move(Symbol)) {}
>> +PDBSymbol::PDBSymbol(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : Session(PDBSession), RawSymbol(std::move(Symbol)) {}
>>
>> PDBSymbol::~PDBSymbol() {}
>>
>> #define FACTORY_SYMTAG_CASE(Tag, Type)
>> \
>> case PDB_SymType::Tag:
>> \
>> - return std::unique_ptr<PDBSymbol>(new Type(std::move(Symbol)));
>> + return std::unique_ptr<PDBSymbol>(new Type(PDBSession,
>> std::move(Symbol)));
>>
>> std::unique_ptr<PDBSymbol>
>> -PDBSymbol::create(std::unique_ptr<IPDBRawSymbol> Symbol) {
>> +PDBSymbol::create(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol) {
>> switch (Symbol->getSymTag()) {
>> FACTORY_SYMTAG_CASE(Exe, PDBSymbolExe)
>> FACTORY_SYMTAG_CASE(Compiland, PDBSymbolCompiland)
>> @@ -91,7 +93,8 @@ PDBSymbol::create(std::unique_ptr<IPDBRa
>> FACTORY_SYMTAG_CASE(ManagedType, PDBSymbolTypeManaged)
>> FACTORY_SYMTAG_CASE(Dimension, PDBSymbolTypeDimension)
>> default:
>> - return std::unique_ptr<PDBSymbol>(new
>> PDBSymbolUnknown(std::move(Symbol)));
>> + return std::unique_ptr<PDBSymbol>(
>> + new PDBSymbolUnknown(PDBSession, std::move(Symbol)));
>> }
>> }
>>
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolAnnotation::PDBSymbolAnnotation(std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolAnnotation::PDBSymbolAnnotation(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolAnnotation::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolBlock.cpp Sun Feb 8 14:58:09
>> 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolBlock::PDBSymbolBlock(std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolBlock::PDBSymbolBlock(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(Session, std::move(Symbol)) {}
>>
>> void PDBSymbolBlock::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -17,8 +17,9 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolCompiland::PDBSymbolCompiland(std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolCompiland::PDBSymbolCompiland(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolCompiland::dump(llvm::raw_ostream &OS) const {
>> }
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolCompilandDetails::PDBSymbolCompilandDetails(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(Session, std::move(Symbol)) {}
>>
>> void PDBSymbolCompilandDetails::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -16,8 +16,8 @@
>> using namespace llvm;
>>
>> PDBSymbolCompilandEnv::PDBSymbolCompilandEnv(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> std::string PDBSymbolCompilandEnv::getValue() const {
>> // call RawSymbol->getValue() and convert the result to an std::string.
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolCustom.cpp Sun Feb 8 14:58:09
>> 2015
>> @@ -15,8 +15,9 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolCustom::PDBSymbolCustom(std::unique_ptr<IPDBRawSymbol>
>> CustomSymbol)
>> - : PDBSymbol(std::move(CustomSymbol)) {}
>> +PDBSymbolCustom::PDBSymbolCustom(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> CustomSymbol)
>> + : PDBSymbol(PDBSession, std::move(CustomSymbol)) {}
>>
>> void PDBSymbolCustom::getDataBytes(llvm::SmallVector<uint8_t, 32>
>> &bytes) {
>> RawSymbol->getDataBytes(bytes);
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolData.cpp Sun Feb 8 14:58:09
>> 2015
>> @@ -7,11 +7,13 @@
>> //
>>
>> //===----------------------------------------------------------------------===//
>>
>> +#include <utility>
>> #include "llvm/DebugInfo/PDB/PDBSymbolData.h"
>>
>> using namespace llvm;
>>
>> -PDBSymbolData::PDBSymbolData(std::unique_ptr<IPDBRawSymbol> DataSymbol)
>> - : PDBSymbol(std::move(DataSymbol)) {}
>> +PDBSymbolData::PDBSymbolData(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> DataSymbol)
>> + : PDBSymbol(PDBSession, std::move(DataSymbol)) {}
>>
>> void PDBSymbolData::dump(llvm::raw_ostream &OS) const {}
>> \ No newline at end of file
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolExe.cpp Sun Feb 8 14:58:09 2015
>> @@ -17,8 +17,9 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolExe::PDBSymbolExe(std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolExe::PDBSymbolExe(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolExe::dump(llvm::raw_ostream &OS) const {
>> }
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFunc.cpp Sun Feb 8 14:58:09
>> 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolFunc::PDBSymbolFunc(std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolFunc::PDBSymbolFunc(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolFunc::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolFuncDebugEnd::PDBSymbolFuncDebugEnd(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(Session, std::move(Symbol)) {}
>>
>> void PDBSymbolFuncDebugEnd::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolFuncDebugStart::PDBSymbolFuncDebugStart(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(Session, std::move(Symbol)) {}
>>
>> void PDBSymbolFuncDebugStart::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolLabel.cpp Sun Feb 8 14:58:09
>> 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolLabel::PDBSymbolLabel(std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolLabel::PDBSymbolLabel(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(Session, std::move(Symbol)) {}
>>
>> void PDBSymbolLabel::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolPublicSymbol::PDBSymbolPublicSymbol(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(Session, std::move(Symbol)) {}
>>
>> void PDBSymbolPublicSymbol::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolThunk.cpp Sun Feb 8 14:58:09
>> 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolThunk::PDBSymbolThunk(std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolThunk::PDBSymbolThunk(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(Session, std::move(Symbol)) {}
>>
>> void PDBSymbolThunk::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolTypeArray::PDBSymbolTypeArray(std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolTypeArray::PDBSymbolTypeArray(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeArray::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolTypeBaseClass::PDBSymbolTypeBaseClass(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(Session, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeBaseClass::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolTypeBuiltin::PDBSymbolTypeBuiltin(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeBuiltin::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolTypeCustom::PDBSymbolTypeCustom(std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolTypeCustom::PDBSymbolTypeCustom(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeCustom::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -16,7 +16,7 @@
>> using namespace llvm;
>>
>> PDBSymbolTypeDimension::PDBSymbolTypeDimension(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeDimension::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolTypeEnum::PDBSymbolTypeEnum(std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolTypeEnum::PDBSymbolTypeEnum(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeEnum::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolTypeFriend::PDBSymbolTypeFriend(std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolTypeFriend::PDBSymbolTypeFriend(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeFriend::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolTypeFunctionArg::PDBSymbolTypeFunctionArg(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeFunctionArg::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolTypeFunctionSig::PDBSymbolTypeFunctionSig(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeFunctionSig::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolTypeManaged::PDBSymbolTypeManaged(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeManaged::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -16,7 +16,7 @@
>> using namespace llvm;
>>
>> PDBSymbolTypePointer::PDBSymbolTypePointer(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypePointer::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -16,7 +16,7 @@
>> using namespace llvm;
>>
>> PDBSymbolTypeTypedef::PDBSymbolTypeTypedef(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeTypedef::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp Sun Feb 8 14:58:09
>> 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolTypeUDT::PDBSymbolTypeUDT(std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolTypeUDT::PDBSymbolTypeUDT(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeUDT::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolTypeVTable::PDBSymbolTypeVTable(std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolTypeVTable::PDBSymbolTypeVTable(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol>
>> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeVTable::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolTypeVTableShape::PDBSymbolTypeVTableShape(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolTypeVTableShape::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp Sun Feb 8 14:58:09
>> 2015
>> @@ -14,7 +14,8 @@
>>
>> using namespace llvm;
>>
>> -PDBSymbolUnknown::PDBSymbolUnknown(std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> +PDBSymbolUnknown::PDBSymbolUnknown(IPDBSession &PDBSession,
>> + std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolUnknown::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp (original)
>> +++ llvm/trunk/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp Sun Feb 8
>> 14:58:09 2015
>> @@ -15,7 +15,7 @@
>> using namespace llvm;
>>
>> PDBSymbolUsingNamespace::PDBSymbolUsingNamespace(
>> - std::unique_ptr<IPDBRawSymbol> Symbol)
>> - : PDBSymbol(std::move(Symbol)) {}
>> + IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
>> + : PDBSymbol(PDBSession, std::move(Symbol)) {}
>>
>> void PDBSymbolUsingNamespace::dump(llvm::raw_ostream &OS) const {}
>>
>> Modified: llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp?rev=228542&r1=228541&r2=228542&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp (original)
>> +++ llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp Sun Feb 8 14:58:09
>> 2015
>> @@ -12,6 +12,9 @@
>>
>> #include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
>> #include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
>> +#include "llvm/DebugInfo/PDB/IPDBSession.h"
>> +#include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
>> +
>> #include "llvm/DebugInfo/PDB/PDBSymbol.h"
>> #include "llvm/DebugInfo/PDB/PDBSymbolAnnotation.h"
>> #include "llvm/DebugInfo/PDB/PDBSymbolBlock.h"
>> @@ -66,6 +69,21 @@ namespace {
>> return ReturnType();
>> \
>> }
>>
>> +class MockSession : public IPDBSession {
>> + uint64_t getLoadAddress() const override { return 0; }
>> + void setLoadAddress(uint64_t Address) override {}
>> + std::unique_ptr<PDBSymbolExe> getGlobalScope() const override {
>> + return nullptr;
>> + }
>> + std::unique_ptr<PDBSymbol> getSymbolById() const override { return
>> nullptr; }
>> + std::unique_ptr<IPDBSourceFile> getSourceFileById() const override {
>> + return nullptr;
>> + }
>> + std::unique_ptr<IPDBEnumDataStreams> getDebugStreams() const override {
>> + return nullptr;
>> + }
>> +};
>> +
>> class MockRawSymbol : public IPDBRawSymbol {
>> public:
>> MockRawSymbol(PDB_SymType SymType) : Type(SymType) {}
>> @@ -257,6 +275,8 @@ public:
>> std::unordered_map<PDB_SymType, std::unique_ptr<PDBSymbol>> SymbolMap;
>>
>> void SetUp() override {
>> + Session.reset(new MockSession());
>> +
>> InsertItemWithTag(PDB_SymType::None);
>> InsertItemWithTag(PDB_SymType::Exe);
>> InsertItemWithTag(PDB_SymType::Compiland);
>> @@ -291,14 +311,6 @@ public:
>> InsertItemWithTag(PDB_SymType::Max);
>> }
>>
>> -private:
>> - void InsertItemWithTag(PDB_SymType Tag) {
>> - auto RawSymbol = std::unique_ptr<IPDBRawSymbol>(new
>> MockRawSymbol(Tag));
>> - auto Symbol = PDBSymbol::create(std::move(RawSymbol));
>> - SymbolMap.insert(std::make_pair(Tag, std::move(Symbol)));
>> - }
>> -
>> -public:
>> template <class ExpectedType> void VerifyDyncast(PDB_SymType Tag) {
>> for (auto item = SymbolMap.begin(); item != SymbolMap.end(); ++item)
>> {
>> EXPECT_EQ(item->first == Tag,
>> llvm::isa<ExpectedType>(*item->second));
>> @@ -314,6 +326,15 @@ public:
>> EXPECT_EQ(should_match,
>> llvm::isa<PDBSymbolUnknown>(*item->second));
>> }
>> }
>> +
>> +private:
>> + std::unique_ptr<IPDBSession> Session;
>> +
>> + void InsertItemWithTag(PDB_SymType Tag) {
>> + auto RawSymbol = std::unique_ptr<IPDBRawSymbol>(new
>> MockRawSymbol(Tag));
>> + auto Symbol = PDBSymbol::create(*Session, std::move(RawSymbol));
>> + SymbolMap.insert(std::make_pair(Tag, std::move(Symbol)));
>> + }
>> };
>>
>> TEST_F(PDBApiTest, Dyncast) {
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
>
>
> --
> ~Craig
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150208/33c45299/attachment.html>
More information about the llvm-commits
mailing list