Fix more functions in Args to use StringRef.
This patch also marks the const char* versions as =delete to prevent
their use. This has the potential to cause build breakages on some
platforms which I can't compile. I have tested on Windows, Linux,
and OSX. Best practices for fixing broken callsites are outlined in
Args.h in a comment above the deleted function declarations.
Eventually we can remove these =delete declarations, but for now they
are important to make sure that all implicit conversions from
const char * are manually audited to make sure that they do not invoke a
conversion from nullptr.
llvm-svn: 281919
diff --git a/lldb/source/Commands/CommandObjectBreakpoint.cpp b/lldb/source/Commands/CommandObjectBreakpoint.cpp
index 682e26b..bab8ecb 100644
--- a/lldb/source/Commands/CommandObjectBreakpoint.cpp
+++ b/lldb/source/Commands/CommandObjectBreakpoint.cpp
@@ -172,7 +172,7 @@
case 'h': {
bool success;
- m_catch_bp = Args::StringToBoolean(option_arg, true, &success);
+ m_catch_bp = Args::StringToBoolean(option_strref, true, &success);
if (!success)
error.SetErrorStringWithFormat(
"Invalid boolean value for on-catch option: '%s'", option_arg);
@@ -192,7 +192,7 @@
case 'K': {
bool success;
bool value;
- value = Args::StringToBoolean(option_arg, true, &success);
+ value = Args::StringToBoolean(option_strref, true, &success);
if (value)
m_skip_prologue = eLazyBoolYes;
else
@@ -223,7 +223,7 @@
case 'm': {
bool success;
bool value;
- value = Args::StringToBoolean(option_arg, true, &success);
+ value = Args::StringToBoolean(option_strref, true, &success);
if (value)
m_move_to_nearest_code = eLazyBoolYes;
else
@@ -265,8 +265,8 @@
break;
case 'O':
- m_exception_extra_args.AppendArgument("-O");
- m_exception_extra_args.AppendArgument(option_arg);
+ m_exception_extra_args.AppendArgument(llvm::StringRef("-O"));
+ m_exception_extra_args.AppendArgument(option_strref);
break;
case 'p':
@@ -304,7 +304,7 @@
case 'w': {
bool success;
- m_throw_bp = Args::StringToBoolean(option_arg, true, &success);
+ m_throw_bp = Args::StringToBoolean(option_strref, true, &success);
if (!success)
error.SetErrorStringWithFormat(
"Invalid boolean value for on-throw option: '%s'", option_arg);
@@ -861,7 +861,8 @@
break;
case 'o': {
bool value, success;
- value = Args::StringToBoolean(option_arg, false, &success);
+ value = Args::StringToBoolean(
+ llvm::StringRef::withNullAsEmpty(option_arg), false, &success);
if (success) {
m_one_shot_passed = true;
m_one_shot = value;