================ @@ -33,15 +35,12 @@ MakeArgv(const llvm::ArrayRef<std::string> &strs) { return argv; } -static uint32_t SetLaunchFlag(uint32_t flags, const llvm::json::Object *obj, - llvm::StringRef key, lldb::LaunchFlags mask) { - if (const auto opt_value = GetBoolean(obj, key)) { - if (*opt_value) - flags |= mask; - else - flags &= ~mask; - } - +static uint32_t SetLaunchFlag(uint32_t flags, bool opt, + lldb::LaunchFlags mask) { + if (opt) + flags |= mask; + else + flags &= ~mask; return flags; } ---------------- JDevlieghere wrote:
This functionally isn't the same anymore. We had this discussion in the past: a flag not being set is *not* the equivalent to it being set to off. I think the protocol class needs to store a `std::optional<bool>`. https://github.com/llvm/llvm-project/pull/133624 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits