================
@@ -403,6 +403,22 @@ void GDBRemoteCommunicationClient::GetRemoteQSupported() {
x.split(compressions, ',');
if (!compressions.empty())
MaybeEnableCompression(compressions);
+ } else if (x.consume_front("SupportedWatchpointTypes=")) {
+ llvm::SmallVector<llvm::StringRef, 4> watchpoint_types;
+ x.split(watchpoint_types, ',');
+ m_watchpoint_types =
+ WatchpointHardwareFeature::eWatchpointHardwareFeatureUnknown;
+ for (auto wp_type : watchpoint_types) {
+ if (wp_type == "x86_64")
+ m_watchpoint_types |=
+ WatchpointHardwareFeature::eWatchpointHardwareX86;
+ if (wp_type == "aarch64-mask")
+ m_watchpoint_types |=
+ WatchpointHardwareFeature::eWatchpointHardwareArmMASK;
+ if (wp_type == "aarch64-bas")
+ m_watchpoint_types |=
+ WatchpointHardwareFeature::eWatchpointHardwareArmBAS;
+ }
----------------
DavidSpickett wrote:
Please put this string -> enum code next to the enum if possible. Perhaps
`eWatchpointHardwareFeatureUnknown` could be the fallback value, assuming that
that is 0.
Then you can loop over the strings here doing:
m_watchpoint_types |= stringToType(..);
And we'll have one place to update/reference in future.
https://github.com/llvm/llvm-project/pull/80376
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits