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@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@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits >
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits