[Lldb-commits] [PATCH] D40821: Fix const-correctness in RegisterContext methods, NFC

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 4 18:02:17 PST 2017


It almost looks to me like this should be using aggregation instead of
inheritance. That would add a 3rd option (mark it mutable). That said,
nothing wrong with using this approach either
On Mon, Dec 4, 2017 at 5:43 PM Vedant Kumar via Phabricator via
lldb-commits <lldb-commits at lists.llvm.org> wrote:

> vsk created this revision.
> Herald added a subscriber: javed.absar.
>
> A few methods in RegisterContext classes accept const objects which are
> cast to a non-const thread_state_t. Instead of dropping const-ness, it
> might be simpler and more ergonomic to just not mark the objects const.
>
> This fixes a slew of warnings.
>
> One alternative is to drop const-ness in a C++-friendly way, e.g:
>
>   const_cast<thread_state_t>(static_cast<thread_state_t>(&X))
>
> This would still leave us in a situation where some RegisterContext
> methods accept const objects and others don't, and it doesn't seem
> feasible to apply const everywhere here, because of non-const methods
> like SetRegisterDataFrom_LC_THREAD.
>
>
> https://reviews.llvm.org/D40821
>
> Files:
>   source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
>   source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm.cpp
>   source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm.h
>   source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm64.cpp
>   source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm64.h
>   source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_i386.cpp
>   source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_i386.h
>   source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_x86_64.cpp
>   source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_x86_64.h
>   source/Plugins/Process/Utility/RegisterContextDarwin_arm.h
>   source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h
>   source/Plugins/Process/Utility/RegisterContextDarwin_i386.h
>   source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.h
>   source/Plugins/Process/Utility/RegisterContextMach_arm.cpp
>   source/Plugins/Process/Utility/RegisterContextMach_arm.h
>   source/Plugins/Process/Utility/RegisterContextMach_i386.cpp
>   source/Plugins/Process/Utility/RegisterContextMach_i386.h
>   source/Plugins/Process/Utility/RegisterContextMach_x86_64.cpp
>   source/Plugins/Process/Utility/RegisterContextMach_x86_64.h
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20171205/f8d6e88c/attachment.html>


More information about the lldb-commits mailing list