[Lldb-commits] [lldb] r222186 - Fix override/virtual warnings.

Eric Christopher echristo at gmail.com
Mon Nov 17 15:14:55 PST 2014


It's fine as virtual, but you're overriding a method and not marking it as
override. You don't need to write both down (you could, but it's a nop) as
override only works on virtual functions.

-eric

On Mon Nov 17 2014 at 3:07:27 PM <jingham at apple.com> wrote:

> I'm sure I'm missing something obvious, but I don't understand what this
> warning you are fixing is supposed to be telling you about.  The
> inheritance hierarchy is:
>
> PlatformDarwin<--PlatformPOSIX<--Platform
>
> Platform.h defines:
>
>         virtual Error
>         ResolveExecutable (const FileSpec &exe_file,
>                            const ArchSpec &arch,
>                            lldb::ModuleSP &module_sp,
>                            const FileSpecList *module_search_paths_ptr);
>
>
> Then PlatformPosix.h doesn't override ResolveExecutable, and finally,
> PlatformDarwin has:
>
>     virtual lldb_private::Error
>     ResolveExecutable (const lldb_private::FileSpec &exe_file,
>                        const lldb_private::ArchSpec &arch,
>                        lldb::ModuleSP &module_sp,
>                        const lldb_private::FileSpecList
> *module_search_paths_ptr);
>
>
> Why is it wrong for PlatformDarwin to define this method as virtual?
>
> Jim
>
>
>
> > On Nov 17, 2014, at 2:55 PM, Eric Christopher <echristo at gmail.com>
> wrote:
> >
> > Author: echristo
> > Date: Mon Nov 17 16:55:13 2014
> > New Revision: 222186
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=222186&view=rev
> > Log:
> > Fix override/virtual warnings.
> >
> > Modified:
> >    lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.h
> >
> > Modified: lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.h
> > URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/
> Plugins/Platform/MacOSX/PlatformDarwin.h?rev=222186&
> r1=222185&r2=222186&view=diff
> > ============================================================
> ==================
> > --- lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.h
> (original)
> > +++ lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.h Mon Nov
> 17 16:55:13 2014
> > @@ -27,57 +27,58 @@ public:
> >     //------------------------------------------------------------
> >     // lldb_private::Platform functions
> >     //------------------------------------------------------------
> > -    virtual lldb_private::Error
> > +    lldb_private::Error
> >     ResolveExecutable (const lldb_private::ModuleSpec &module_spec,
> >                        lldb::ModuleSP &module_sp,
> >                        const lldb_private::FileSpecList
> *module_search_paths_ptr) override;
> >
> > -    virtual lldb_private::Error
> > +    lldb_private::Error
> >     ResolveSymbolFile (lldb_private::Target &target,
> >                        const lldb_private::ModuleSpec &sym_spec,
> > -                       lldb_private::FileSpec &sym_file);
> > +                       lldb_private::FileSpec &sym_file) override;
> >
> >     lldb_private::FileSpecList
> >     LocateExecutableScriptingResources (lldb_private::Target *target,
> >                                         lldb_private::Module &module,
> > -                                        lldb_private::Stream*
> feedback_stream);
> > +                                        lldb_private::Stream*
> feedback_stream) override;
> >
> > -    virtual lldb_private::Error
> > +    lldb_private::Error
> >     GetSharedModule (const lldb_private::ModuleSpec &module_spec,
> >                      lldb::ModuleSP &module_sp,
> >                      const lldb_private::FileSpecList
> *module_search_paths_ptr,
> >                      lldb::ModuleSP *old_module_sp_ptr,
> > -                     bool *did_create_ptr);
> > +                     bool *did_create_ptr) override;
> >
> > -    virtual size_t
> > +    size_t
> >     GetSoftwareBreakpointTrapOpcode (lldb_private::Target &target,
> > -                                     lldb_private::BreakpointSite
> *bp_site);
> > +                                     lldb_private::BreakpointSite
> *bp_site) override;
> >
> > -    virtual bool
> > +    bool
> >     GetProcessInfo (lldb::pid_t pid,
> > -                    lldb_private::ProcessInstanceInfo &proc_info);
> > +                    lldb_private::ProcessInstanceInfo &proc_info)
> override;
> >
> > -    virtual lldb::BreakpointSP
> > -    SetThreadCreationBreakpoint (lldb_private::Target &target);
> > +    lldb::BreakpointSP
> > +    SetThreadCreationBreakpoint (lldb_private::Target &target) override;
> >
> > -    virtual uint32_t
> > +    uint32_t
> >     FindProcesses (const lldb_private::ProcessInstanceInfoMatch
> &match_info,
> > -                   lldb_private::ProcessInstanceInfoList
> &process_infos);
> > -
> > -    virtual bool
> > -    ModuleIsExcludedForNonModuleSpecificSearches (lldb_private::Target
> &target, const lldb::ModuleSP &module_sp);
> > -
> > +                   lldb_private::ProcessInstanceInfoList
> &process_infos) override;
> > +
> > +    bool
> > +    ModuleIsExcludedForNonModuleSpecificSearches(lldb_private::Target
> &target,
> > +                                              const lldb::ModuleSP
> &module_sp) override;
> > +
> >     bool
> >     ARMGetSupportedArchitectureAtIndex (uint32_t idx,
> lldb_private::ArchSpec &arch);
> >
> >     bool
> >     x86GetSupportedArchitectureAtIndex (uint32_t idx,
> lldb_private::ArchSpec &arch);
> >
> > -    virtual int32_t
> > -    GetResumeCountForLaunchInfo (lldb_private::ProcessLaunchInfo
> &launch_info);
> > +    int32_t
> > +    GetResumeCountForLaunchInfo (lldb_private::ProcessLaunchInfo
> &launch_info) override;
> >
> > -    virtual void
> > -    CalculateTrapHandlerSymbolNames ();
> > +    void
> > +    CalculateTrapHandlerSymbolNames () override;
> >
> > protected:
> >
> >
> >
> > _______________________________________________
> > lldb-commits mailing list
> > lldb-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20141117/f7d31cc0/attachment.html>


More information about the lldb-commits mailing list