Thank you. Pushed as r200725 Le 4 févr. 2014 à 00:14, Greg Clayton <[email protected]> a écrit :
> Looks good! > > On Feb 3, 2014, at 2:45 PM, Jean-Daniel Dupas <[email protected]> wrote: > >> Fix usage of enable_shared_from_this by avoiding creation of naked pointer. >> >> http://llvm-reviews.chandlerc.com/D2491 >> >> CHANGE SINCE LAST DIFF >> http://llvm-reviews.chandlerc.com/D2491?vs=6821&id=6835#toc >> >> Files: >> include/lldb/Symbol/FuncUnwinders.h >> include/lldb/Symbol/UnwindTable.h >> include/lldb/Target/UnwindAssembly.h >> include/lldb/lldb-forward.h >> source/Symbol/FuncUnwinders.cpp >> source/Target/UnwindAssembly.cpp >> >> Index: include/lldb/Symbol/FuncUnwinders.h >> =================================================================== >> --- include/lldb/Symbol/FuncUnwinders.h >> +++ include/lldb/Symbol/FuncUnwinders.h >> @@ -31,7 +31,7 @@ >> // instructions are finished for migrating breakpoints past the >> // stack frame setup instructions when we don't have line table >> information. >> >> - FuncUnwinders (lldb_private::UnwindTable& unwind_table, >> lldb_private::UnwindAssembly *assembly_profiler, AddressRange range); >> + FuncUnwinders (lldb_private::UnwindTable& unwind_table, const >> lldb::UnwindAssemblySP& assembly_profiler, AddressRange range); >> >> ~FuncUnwinders (); >> >> @@ -77,7 +77,7 @@ >> >> private: >> UnwindTable& m_unwind_table; >> - UnwindAssembly *m_assembly_profiler; >> + lldb::UnwindAssemblySP m_assembly_profiler; >> AddressRange m_range; >> >> Mutex m_mutex; >> Index: include/lldb/Symbol/UnwindTable.h >> =================================================================== >> --- include/lldb/Symbol/UnwindTable.h >> +++ include/lldb/Symbol/UnwindTable.h >> @@ -57,7 +57,7 @@ >> >> bool m_initialized; // delay some initialization until >> ObjectFile is set up >> >> - UnwindAssembly* m_assembly_profiler; >> + lldb::UnwindAssemblySP m_assembly_profiler; >> >> DWARFCallFrameInfo* m_eh_frame; >> >> Index: include/lldb/Target/UnwindAssembly.h >> =================================================================== >> --- include/lldb/Target/UnwindAssembly.h >> +++ include/lldb/Target/UnwindAssembly.h >> @@ -17,10 +17,11 @@ >> namespace lldb_private { >> >> class UnwindAssembly : >> + public std::enable_shared_from_this<UnwindAssembly>, >> public PluginInterface >> { >> public: >> - static UnwindAssembly* >> + static lldb::UnwindAssemblySP >> FindPlugin (const ArchSpec &arch); >> >> virtual >> Index: include/lldb/lldb-forward.h >> =================================================================== >> --- include/lldb/lldb-forward.h >> +++ include/lldb/lldb-forward.h >> @@ -384,6 +384,7 @@ >> #ifndef LLDB_DISABLE_PYTHON >> typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren> >> ScriptedSyntheticChildrenSP; >> #endif >> + typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP; >> typedef std::shared_ptr<lldb_private::UnwindPlan> UnwindPlanSP; >> typedef lldb_private::SharingPtr<lldb_private::ValueObject> ValueObjectSP; >> typedef std::shared_ptr<lldb_private::Value> ValueSP; >> Index: source/Symbol/FuncUnwinders.cpp >> =================================================================== >> --- source/Symbol/FuncUnwinders.cpp >> +++ source/Symbol/FuncUnwinders.cpp >> @@ -28,7 +28,7 @@ >> FuncUnwinders::FuncUnwinders >> ( >> UnwindTable& unwind_table, >> - UnwindAssembly *assembly_profiler, >> + const lldb::UnwindAssemblySP& assembly_profiler, >> AddressRange range >> ) : >> m_unwind_table(unwind_table), >> Index: source/Target/UnwindAssembly.cpp >> =================================================================== >> --- source/Target/UnwindAssembly.cpp >> +++ source/Target/UnwindAssembly.cpp >> @@ -15,18 +15,18 @@ >> using namespace lldb; >> using namespace lldb_private; >> >> -UnwindAssembly* >> +UnwindAssemblySP >> UnwindAssembly::FindPlugin (const ArchSpec &arch) >> { >> UnwindAssemblyCreateInstance create_callback; >> >> for (uint32_t idx = 0; >> (create_callback = >> PluginManager::GetUnwindAssemblyCreateCallbackAtIndex(idx)) != NULL; >> ++idx) >> { >> - std::unique_ptr<UnwindAssembly> assembly_profiler_ap >> (create_callback (arch)); >> + UnwindAssemblySP assembly_profiler_ap (create_callback (arch)); >> if (assembly_profiler_ap.get ()) >> - return assembly_profiler_ap.release (); >> + return assembly_profiler_ap; >> } >> return NULL; >> } >> <D2491.3.patch>_______________________________________________ >> lldb-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits > -- Jean-Daniel _______________________________________________ lldb-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
