[llvm] r179373 - Replace uses of the deprecated std::auto_ptr with OwningPtr.

Benjamin Kramer benny.kra at gmail.com
Fri Apr 12 05:16:19 PDT 2013


On 12.04.2013, at 13:12, Alexander Potapenko <glider at google.com> wrote:

> Hi Andy,
> 
> This broke a number of our team's buildbots, see the error reports below:
> 
> 
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:285:10:
> error: calling a private constructor of class
> 'llvm::OwningPtr<llvm::PBQPRAProblem>'
>  return p;
>         ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:320:32:
> warning: C++98 requires an accessible copy constructor for class
> 'llvm::OwningPtr<llvm::PBQPRAProblem>' when binding a reference to a
> temporary; was private [-Wbind-to-temporary-copy]
>  OwningPtr<PBQPRAProblem> p = PBQPBuilder::build(mf, lis, loopInfo, vregs);
>                               ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:320:32:
> error: calling a private constructor of class
> 'llvm::OwningPtr<llvm::PBQPRAProblem>'
>  OwningPtr<PBQPRAProblem> p = PBQPBuilder::build(mf, lis, loopInfo, vregs);
>                               ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:394:10:
> error: calling a private constructor of class
> 'llvm::OwningPtr<llvm::PBQPRAProblem>'
>  return p;
>         ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:588:9:
> warning: C++98 requires an accessible copy constructor for class
> 'llvm::OwningPtr<llvm::PBQPRAProblem>' when binding a reference to a
> temporary; was private [-Wbind-to-temporary-copy]
>        builder->build(mf, lis, loopInfo, vregsToAlloc);
>        ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:588:9:
> error: calling a private constructor of class
> 'llvm::OwningPtr<llvm::PBQPRAProblem>'
>        builder->build(mf, lis, loopInfo, vregsToAlloc);
>        ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:626:27:
> warning: C++98 requires an accessible copy constructor for class
> 'llvm::OwningPtr<llvm::PBQPBuilder>' when binding a reference to a
> temporary; was private [-Wbind-to-temporary-copy]
>  return new RegAllocPBQP(OwningPtr<PBQPBuilder>(builder.take()), customPassID);
>                          ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:626:27:
> error: calling a private constructor of class
> 'llvm::OwningPtr<llvm::PBQPBuilder>'
>  return new RegAllocPBQP(OwningPtr<PBQPBuilder>(builder.take()), customPassID);
>                          ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:632:14:
> warning: C++98 requires an accessible copy constructor for class
> 'llvm::OwningPtr<llvm::PBQPBuilder>' when binding a reference to a
> temporary; was private [-Wbind-to-temporary-copy]
>             OwningPtr<PBQPBuilder>(new PBQPBuilderWithCoalescing()));
>             ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:632:14:
> error: calling a private constructor of class
> 'llvm::OwningPtr<llvm::PBQPBuilder>'
>             OwningPtr<PBQPBuilder>(new PBQPBuilderWithCoalescing()));
>             ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:635:12:
> warning: C++98 requires an accessible copy constructor for class
> 'llvm::OwningPtr<llvm::PBQPBuilder>' when binding a reference to a
> temporary; was private [-Wbind-to-temporary-copy]
>           OwningPtr<PBQPBuilder>(new PBQPBuilder()));
>           ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/lib/CodeGen/RegAllocPBQP.cpp:635:12:
> error: calling a private constructor of class
> 'llvm::OwningPtr<llvm::PBQPBuilder>'
>           OwningPtr<PBQPBuilder>(new PBQPBuilder()));
>           ^
> /Users/buildbot/src/llvm-buildbot/slave/mac10.8/build/llvm/include/llvm/ADT/OwningPtr.h:29:3:
> note: implicitly declared private here
>  OwningPtr(OwningPtr const &) LLVM_DELETED_FUNCTION;
>  ^
> 5 warnings and 7 errors generated.

I reverted the parts that didn't compile with a C++98 compiler in r179374.

- Ben

> On Fri, Apr 12, 2013 at 2:56 PM, Andy Gibbs <andyg1001 at hotmail.co.uk> wrote:
>> Author: andyg
>> Date: Fri Apr 12 05:56:28 2013
>> New Revision: 179373
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=179373&view=rev
>> Log:
>> Replace uses of the deprecated std::auto_ptr with OwningPtr.
>> 
>> Modified:
>>    llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h
>>    llvm/trunk/lib/CodeGen/RegAllocBasic.cpp
>>    llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp
>>    llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp
>>    llvm/trunk/tools/bugpoint/BugDriver.cpp
>>    llvm/trunk/tools/llc/llc.cpp
>>    llvm/trunk/tools/llvm-as/llvm-as.cpp
>>    llvm/trunk/tools/llvm-dis/llvm-dis.cpp
>>    llvm/trunk/tools/llvm-extract/llvm-extract.cpp
>>    llvm/trunk/tools/llvm-link/llvm-link.cpp
>>    llvm/trunk/tools/llvm-ranlib/llvm-ranlib.cpp
>>    llvm/trunk/tools/opt/opt.cpp
>> 
>> Modified: llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h (original)
>> +++ llvm/trunk/include/llvm/CodeGen/RegAllocPBQP.h Fri Apr 12 05:56:28 2013
>> @@ -17,6 +17,7 @@
>> #define LLVM_CODEGEN_REGALLOCPBQP_H
>> 
>> #include "llvm/ADT/DenseMap.h"
>> +#include "llvm/ADT/OwningPtr.h"
>> #include "llvm/CodeGen/MachineFunctionPass.h"
>> #include "llvm/CodeGen/PBQP/Graph.h"
>> #include "llvm/CodeGen/PBQP/Solution.h"
>> @@ -123,11 +124,10 @@ namespace llvm {
>> 
>>     /// Build a PBQP instance to represent the register allocation problem for
>>     /// the given MachineFunction.
>> -    virtual std::auto_ptr<PBQPRAProblem> build(
>> -                                              MachineFunction *mf,
>> -                                              const LiveIntervals *lis,
>> -                                              const MachineLoopInfo *loopInfo,
>> -                                              const RegSet &vregs);
>> +    virtual OwningPtr<PBQPRAProblem> build(MachineFunction *mf,
>> +                                           const LiveIntervals *lis,
>> +                                           const MachineLoopInfo *loopInfo,
>> +                                           const RegSet &vregs);
>>   private:
>> 
>>     void addSpillCosts(PBQP::Vector &costVec, PBQP::PBQPNum spillCost);
>> @@ -144,11 +144,10 @@ namespace llvm {
>> 
>>     /// Build a PBQP instance to represent the register allocation problem for
>>     /// the given MachineFunction.
>> -    virtual std::auto_ptr<PBQPRAProblem> build(
>> -                                              MachineFunction *mf,
>> -                                              const LiveIntervals *lis,
>> -                                              const MachineLoopInfo *loopInfo,
>> -                                              const RegSet &vregs);
>> +    virtual OwningPtr<PBQPRAProblem> build(MachineFunction *mf,
>> +                                           const LiveIntervals *lis,
>> +                                           const MachineLoopInfo *loopInfo,
>> +                                           const RegSet &vregs);
>> 
>>   private:
>> 
>> @@ -161,7 +160,7 @@ namespace llvm {
>>                             PBQP::PBQPNum benefit);
>>   };
>> 
>> -  FunctionPass* createPBQPRegisterAllocator(std::auto_ptr<PBQPBuilder> builder,
>> +  FunctionPass* createPBQPRegisterAllocator(OwningPtr<PBQPBuilder> builder,
>>                                             char *customPassID=0);
>> }
>> 
>> 
>> Modified: llvm/trunk/lib/CodeGen/RegAllocBasic.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegAllocBasic.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/RegAllocBasic.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/RegAllocBasic.cpp Fri Apr 12 05:56:28 2013
>> @@ -63,7 +63,7 @@ class RABasic : public MachineFunctionPa
>>   MachineFunction *MF;
>> 
>>   // state
>> -  std::auto_ptr<Spiller> SpillerInstance;
>> +  OwningPtr<Spiller> SpillerInstance;
>>   std::priority_queue<LiveInterval*, std::vector<LiveInterval*>,
>>                       CompSpillWeight> Queue;
>> 
>> 
>> Modified: llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp Fri Apr 12 05:56:28 2013
>> @@ -78,7 +78,7 @@ class RAGreedy : public MachineFunctionP
>>   LiveDebugVariables *DebugVars;
>> 
>>   // state
>> -  std::auto_ptr<Spiller> SpillerInstance;
>> +  OwningPtr<Spiller> SpillerInstance;
>>   std::priority_queue<std::pair<unsigned, unsigned> > Queue;
>>   unsigned NextCascade;
>> 
>> @@ -166,8 +166,8 @@ class RAGreedy : public MachineFunctionP
>>   };
>> 
>>   // splitting state.
>> -  std::auto_ptr<SplitAnalysis> SA;
>> -  std::auto_ptr<SplitEditor> SE;
>> +  OwningPtr<SplitAnalysis> SA;
>> +  OwningPtr<SplitEditor> SE;
>> 
>>   /// Cached per-block interference maps
>>   InterferenceCache IntfCache;
>> 
>> Modified: llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/RegAllocPBQP.cpp Fri Apr 12 05:56:28 2013
>> @@ -89,8 +89,8 @@ public:
>>   static char ID;
>> 
>>   /// Construct a PBQP register allocator.
>> -  RegAllocPBQP(std::auto_ptr<PBQPBuilder> b, char *cPassID=0)
>> -      : MachineFunctionPass(ID), builder(b), customPassID(cPassID) {
>> +  RegAllocPBQP(OwningPtr<PBQPBuilder> b, char *cPassID=0)
>> +      : MachineFunctionPass(ID), builder(b.take()), customPassID(cPassID) {
>>     initializeSlotIndexesPass(*PassRegistry::getPassRegistry());
>>     initializeLiveIntervalsPass(*PassRegistry::getPassRegistry());
>>     initializeCalculateSpillWeightsPass(*PassRegistry::getPassRegistry());
>> @@ -121,7 +121,7 @@ private:
>>   typedef std::set<unsigned> RegSet;
>> 
>> 
>> -  std::auto_ptr<PBQPBuilder> builder;
>> +  OwningPtr<PBQPBuilder> builder;
>> 
>>   char *customPassID;
>> 
>> @@ -132,7 +132,7 @@ private:
>>   const MachineLoopInfo *loopInfo;
>>   MachineRegisterInfo *mri;
>> 
>> -  std::auto_ptr<Spiller> spiller;
>> +  OwningPtr<Spiller> spiller;
>>   LiveIntervals *lis;
>>   LiveStacks *lss;
>>   VirtRegMap *vrm;
>> @@ -186,16 +186,16 @@ unsigned PBQPRAProblem::getPRegForOption
>>   return allowedSet[option - 1];
>> }
>> 
>> -std::auto_ptr<PBQPRAProblem> PBQPBuilder::build(MachineFunction *mf,
>> -                                                const LiveIntervals *lis,
>> -                                                const MachineLoopInfo *loopInfo,
>> -                                                const RegSet &vregs) {
>> +OwningPtr<PBQPRAProblem> PBQPBuilder::build(MachineFunction *mf,
>> +                                            const LiveIntervals *lis,
>> +                                            const MachineLoopInfo *loopInfo,
>> +                                            const RegSet &vregs) {
>> 
>>   LiveIntervals *LIS = const_cast<LiveIntervals*>(lis);
>>   MachineRegisterInfo *mri = &mf->getRegInfo();
>>   const TargetRegisterInfo *tri = mf->getTarget().getRegisterInfo();
>> 
>> -  std::auto_ptr<PBQPRAProblem> p(new PBQPRAProblem());
>> +  OwningPtr<PBQPRAProblem> p(new PBQPRAProblem());
>>   PBQP::Graph &g = p->getGraph();
>>   RegSet pregs;
>> 
>> @@ -311,13 +311,13 @@ void PBQPBuilder::addInterferenceCosts(
>>   }
>> }
>> 
>> -std::auto_ptr<PBQPRAProblem> PBQPBuilderWithCoalescing::build(
>> +OwningPtr<PBQPRAProblem> PBQPBuilderWithCoalescing::build(
>>                                                 MachineFunction *mf,
>>                                                 const LiveIntervals *lis,
>>                                                 const MachineLoopInfo *loopInfo,
>>                                                 const RegSet &vregs) {
>> 
>> -  std::auto_ptr<PBQPRAProblem> p = PBQPBuilder::build(mf, lis, loopInfo, vregs);
>> +  OwningPtr<PBQPRAProblem> p = PBQPBuilder::build(mf, lis, loopInfo, vregs);
>>   PBQP::Graph &g = p->getGraph();
>> 
>>   const TargetMachine &tm = mf->getTarget();
>> @@ -584,7 +584,7 @@ bool RegAllocPBQP::runOnMachineFunction(
>>     while (!pbqpAllocComplete) {
>>       DEBUG(dbgs() << "  PBQP Regalloc round " << round << ":\n");
>> 
>> -      std::auto_ptr<PBQPRAProblem> problem =
>> +      OwningPtr<PBQPRAProblem> problem =
>>         builder->build(mf, lis, loopInfo, vregsToAlloc);
>> 
>> #ifndef NDEBUG
>> @@ -621,18 +621,18 @@ bool RegAllocPBQP::runOnMachineFunction(
>> }
>> 
>> FunctionPass* llvm::createPBQPRegisterAllocator(
>> -                                           std::auto_ptr<PBQPBuilder> builder,
>> +                                           OwningPtr<PBQPBuilder> builder,
>>                                            char *customPassID) {
>> -  return new RegAllocPBQP(builder, customPassID);
>> +  return new RegAllocPBQP(OwningPtr<PBQPBuilder>(builder.take()), customPassID);
>> }
>> 
>> FunctionPass* llvm::createDefaultPBQPRegisterAllocator() {
>>   if (pbqpCoalescing) {
>>     return createPBQPRegisterAllocator(
>> -             std::auto_ptr<PBQPBuilder>(new PBQPBuilderWithCoalescing()));
>> +             OwningPtr<PBQPBuilder>(new PBQPBuilderWithCoalescing()));
>>   } // else
>>   return createPBQPRegisterAllocator(
>> -           std::auto_ptr<PBQPBuilder>(new PBQPBuilder()));
>> +           OwningPtr<PBQPBuilder>(new PBQPBuilder()));
>> }
>> 
>> #undef DEBUG_TYPE
>> 
>> Modified: llvm/trunk/tools/bugpoint/BugDriver.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/BugDriver.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/bugpoint/BugDriver.cpp (original)
>> +++ llvm/trunk/tools/bugpoint/BugDriver.cpp Fri Apr 12 05:56:28 2013
>> @@ -122,7 +122,7 @@ bool BugDriver::addSources(const std::ve
>>   outs() << "Read input file      : '" << Filenames[0] << "'\n";
>> 
>>   for (unsigned i = 1, e = Filenames.size(); i != e; ++i) {
>> -    std::auto_ptr<Module> M(ParseInputFile(Filenames[i], Context));
>> +    OwningPtr<Module> M(ParseInputFile(Filenames[i], Context));
>>     if (M.get() == 0) return true;
>> 
>>     outs() << "Linking in input file: '" << Filenames[i] << "'\n";
>> 
>> Modified: llvm/trunk/tools/llc/llc.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/llc.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llc/llc.cpp (original)
>> +++ llvm/trunk/tools/llc/llc.cpp Fri Apr 12 05:56:28 2013
>> @@ -200,7 +200,7 @@ int main(int argc, char **argv) {
>> static int compileModule(char **argv, LLVMContext &Context) {
>>   // Load the module to be compiled...
>>   SMDiagnostic Err;
>> -  std::auto_ptr<Module> M;
>> +  OwningPtr<Module> M;
>>   Module *mod = 0;
>>   Triple TheTriple;
>> 
>> @@ -281,7 +281,7 @@ static int compileModule(char **argv, LL
>>   Options.UseInitArray = UseInitArray;
>>   Options.SSPBufferSize = SSPBufferSize;
>> 
>> -  std::auto_ptr<TargetMachine>
>> +  OwningPtr<TargetMachine>
>>     target(TheTarget->createTargetMachine(TheTriple.getTriple(),
>>                                           MCPU, FeaturesStr, Options,
>>                                           RelocModel, CMModel, OLvl));
>> 
>> Modified: llvm/trunk/tools/llvm-as/llvm-as.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-as/llvm-as.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llvm-as/llvm-as.cpp (original)
>> +++ llvm/trunk/tools/llvm-as/llvm-as.cpp Fri Apr 12 05:56:28 2013
>> @@ -94,7 +94,7 @@ int main(int argc, char **argv) {
>> 
>>   // Parse the file now...
>>   SMDiagnostic Err;
>> -  std::auto_ptr<Module> M(ParseAssemblyFile(InputFilename, Err, Context));
>> +  OwningPtr<Module> M(ParseAssemblyFile(InputFilename, Err, Context));
>>   if (M.get() == 0) {
>>     Err.print(argv[0], errs());
>>     return 1;
>> 
>> Modified: llvm/trunk/tools/llvm-dis/llvm-dis.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-dis/llvm-dis.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llvm-dis/llvm-dis.cpp (original)
>> +++ llvm/trunk/tools/llvm-dis/llvm-dis.cpp Fri Apr 12 05:56:28 2013
>> @@ -123,7 +123,7 @@ int main(int argc, char **argv) {
>>   cl::ParseCommandLineOptions(argc, argv, "llvm .bc -> .ll disassembler\n");
>> 
>>   std::string ErrorMessage;
>> -  std::auto_ptr<Module> M;
>> +  OwningPtr<Module> M;
>> 
>>   // Use the bitcode streaming interface
>>   DataStreamer *streamer = getDataFileStreamer(InputFilename, &ErrorMessage);
>> 
>> Modified: llvm/trunk/tools/llvm-extract/llvm-extract.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-extract/llvm-extract.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llvm-extract/llvm-extract.cpp (original)
>> +++ llvm/trunk/tools/llvm-extract/llvm-extract.cpp Fri Apr 12 05:56:28 2013
>> @@ -100,7 +100,7 @@ int main(int argc, char **argv) {
>> 
>>   // Use lazy loading, since we only care about selected global values.
>>   SMDiagnostic Err;
>> -  std::auto_ptr<Module> M;
>> +  OwningPtr<Module> M;
>>   M.reset(getLazyIRFileModule(InputFilename, Err, Context));
>> 
>>   if (M.get() == 0) {
>> 
>> Modified: llvm/trunk/tools/llvm-link/llvm-link.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-link/llvm-link.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llvm-link/llvm-link.cpp (original)
>> +++ llvm/trunk/tools/llvm-link/llvm-link.cpp Fri Apr 12 05:56:28 2013
>> @@ -53,13 +53,13 @@ DumpAsm("d", cl::desc("Print assembly as
>> // LoadFile - Read the specified bitcode file in and return it.  This routine
>> // searches the link path for the specified file to try to find it...
>> //
>> -static inline std::auto_ptr<Module> LoadFile(const char *argv0,
>> -                                             const std::string &FN,
>> -                                             LLVMContext& Context) {
>> +static inline OwningPtr<Module> LoadFile(const char *argv0,
>> +                                         const std::string &FN,
>> +                                         LLVMContext& Context) {
>>   sys::Path Filename;
>>   if (!Filename.set(FN)) {
>>     errs() << "Invalid file name: '" << FN << "'\n";
>> -    return std::auto_ptr<Module>();
>> +    return OwningPtr<Module>();
>>   }
>> 
>>   SMDiagnostic Err;
>> @@ -68,10 +68,10 @@ static inline std::auto_ptr<Module> Load
>> 
>>   const std::string &FNStr = Filename.str();
>>   Result = ParseIRFile(FNStr, Err, Context);
>> -  if (Result) return std::auto_ptr<Module>(Result);   // Load successful!
>> +  if (Result) return OwningPtr<Module>(Result);   // Load successful!
>> 
>>   Err.print(argv0, errs());
>> -  return std::auto_ptr<Module>();
>> +  return OwningPtr<Module>();
>> }
>> 
>> int main(int argc, char **argv) {
>> @@ -86,8 +86,8 @@ int main(int argc, char **argv) {
>>   unsigned BaseArg = 0;
>>   std::string ErrorMessage;
>> 
>> -  std::auto_ptr<Module> Composite(LoadFile(argv[0],
>> -                                           InputFilenames[BaseArg], Context));
>> +  OwningPtr<Module> Composite(LoadFile(argv[0],
>> +                                       InputFilenames[BaseArg], Context));
>>   if (Composite.get() == 0) {
>>     errs() << argv[0] << ": error loading file '"
>>            << InputFilenames[BaseArg] << "'\n";
>> @@ -95,8 +95,7 @@ int main(int argc, char **argv) {
>>   }
>> 
>>   for (unsigned i = BaseArg+1; i < InputFilenames.size(); ++i) {
>> -    std::auto_ptr<Module> M(LoadFile(argv[0],
>> -                                     InputFilenames[i], Context));
>> +    OwningPtr<Module> M(LoadFile(argv[0], InputFilenames[i], Context));
>>     if (M.get() == 0) {
>>       errs() << argv[0] << ": error loading file '" <<InputFilenames[i]<< "'\n";
>>       return 1;
>> 
>> Modified: llvm/trunk/tools/llvm-ranlib/llvm-ranlib.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-ranlib/llvm-ranlib.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llvm-ranlib/llvm-ranlib.cpp (original)
>> +++ llvm/trunk/tools/llvm-ranlib/llvm-ranlib.cpp Fri Apr 12 05:56:28 2013
>> @@ -78,7 +78,7 @@ int main(int argc, char **argv) {
>>   }
>> 
>>   std::string err_msg;
>> -  std::auto_ptr<Archive>
>> +  OwningPtr<Archive>
>>     AutoArchive(Archive::OpenAndLoad(ArchivePath, Context, &err_msg));
>>   Archive* TheArchive = AutoArchive.get();
>>   if (!TheArchive) {
>> 
>> Modified: llvm/trunk/tools/opt/opt.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/opt.cpp?rev=179373&r1=179372&r2=179373&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/opt/opt.cpp (original)
>> +++ llvm/trunk/tools/opt/opt.cpp Fri Apr 12 05:56:28 2013
>> @@ -589,7 +589,7 @@ int main(int argc, char **argv) {
>>   SMDiagnostic Err;
>> 
>>   // Load the input module...
>> -  std::auto_ptr<Module> M;
>> +  OwningPtr<Module> M;
>>   M.reset(ParseIRFile(InputFilename, Err, Context));
>> 
>>   if (M.get() == 0) {
>> @@ -656,7 +656,7 @@ int main(int argc, char **argv) {
>>   TargetMachine *Machine = 0;
>>   if (ModuleTriple.getArch())
>>     Machine = GetTargetMachine(Triple(ModuleTriple));
>> -  std::auto_ptr<TargetMachine> TM(Machine);
>> +  OwningPtr<TargetMachine> TM(Machine);
>> 
>>   // Add internal analysis passes from the target machine.
>>   if (TM.get())
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> 
> 
> -- 
> Alexander Potapenko
> Software Engineer
> Google Moscow
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list