mirror of
https://github.com/intel/llvm.git
synced 2026-01-13 11:02:04 +08:00
Summary: We currently have a bunch of code that is supposed to handle invalid command options, but all this code is unreachable because invalid options are already handled in `Options::Parse`. The only way we can reach this code is when we declare but then not implement an option (which will be made impossible with D65386, which is also when we can completely remove the `default` cases). This patch replaces all this code with `llvm_unreachable` to make clear this is dead code that can't be reached. Reviewers: JDevlieghere Reviewed By: JDevlieghere Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D66522 llvm-svn: 369625
53 lines
1.5 KiB
C++
53 lines
1.5 KiB
C++
//===-- OptionGroupUUID.cpp -------------------------------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "lldb/Interpreter/OptionGroupUUID.h"
|
|
|
|
#include "lldb/Host/OptionParser.h"
|
|
|
|
using namespace lldb;
|
|
using namespace lldb_private;
|
|
|
|
OptionGroupUUID::OptionGroupUUID() : m_uuid() {}
|
|
|
|
OptionGroupUUID::~OptionGroupUUID() {}
|
|
|
|
static constexpr OptionDefinition g_option_table[] = {
|
|
{LLDB_OPT_SET_1, false, "uuid", 'u', OptionParser::eRequiredArgument,
|
|
nullptr, {}, 0, eArgTypeNone, "A module UUID value."},
|
|
};
|
|
|
|
llvm::ArrayRef<OptionDefinition> OptionGroupUUID::GetDefinitions() {
|
|
return llvm::makeArrayRef(g_option_table);
|
|
}
|
|
|
|
Status OptionGroupUUID::SetOptionValue(uint32_t option_idx,
|
|
llvm::StringRef option_arg,
|
|
ExecutionContext *execution_context) {
|
|
Status error;
|
|
const int short_option = g_option_table[option_idx].short_option;
|
|
|
|
switch (short_option) {
|
|
case 'u':
|
|
error = m_uuid.SetValueFromString(option_arg);
|
|
if (error.Success())
|
|
m_uuid.SetOptionWasSet();
|
|
break;
|
|
|
|
default:
|
|
llvm_unreachable("Unimplemented option");
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void OptionGroupUUID::OptionParsingStarting(
|
|
ExecutionContext *execution_context) {
|
|
m_uuid.Clear();
|
|
}
|