[llvm] r228542 - DebugInfoPDB: Make the symbol base case hold an IPDBSession ref.
Craig Topper
craig.topper at gmail.com
Sun Feb 8 14:46:27 PST 2015
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.
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150208/c54f8fc1/attachment.html>
More information about the llvm-commits
mailing list