Enable log macros to work with no args (#4475)

This is enabled by the C++20 __VA_OPT__ feature.
Uses of "{}" format string were updated.
Some warning suppressions were required for older clang versions.
Also improve codegen of wpi::Logger::Log(), frc::ReportError(), and frc::MakeError();
these generate better and less redundant code if they use fmt::string_view for the
format string instead of templating on it.
This commit is contained in:
Tyler Veness
2022-10-19 10:49:27 -07:00
committed by GitHub
parent 878cc8defb
commit 1fc098e696
70 changed files with 373 additions and 338 deletions

View File

@@ -9,7 +9,7 @@ using namespace frc2;
bool CommandGroupBase::RequireUngrouped(const Command& command) {
if (command.IsGrouped()) {
throw FRC_MakeError(
frc::err::CommandIllegalUse, "{}",
frc::err::CommandIllegalUse,
"Commands cannot be added to more than one CommandGroup");
}
return true;
@@ -27,7 +27,7 @@ bool CommandGroupBase::RequireUngrouped(
}
if (!allUngrouped) {
throw FRC_MakeError(
frc::err::CommandIllegalUse, "{}",
frc::err::CommandIllegalUse,
"Commands cannot be added to more than one CommandGroup");
}
return allUngrouped;
@@ -41,7 +41,7 @@ bool CommandGroupBase::RequireUngrouped(
}
if (!allUngrouped) {
throw FRC_MakeError(
frc::err::CommandIllegalUse, "{}",
frc::err::CommandIllegalUse,
"Commands cannot be added to more than one CommandGroup");
}
return allUngrouped;

View File

@@ -119,7 +119,7 @@ void CommandScheduler::Schedule(Command* command) {
}
if (command->IsGrouped()) {
throw FRC_MakeError(frc::err::CommandIllegalUse, "{}",
throw FRC_MakeError(frc::err::CommandIllegalUse,
"A command that is part of a command group "
"cannot be independently scheduled");
return;

View File

@@ -65,7 +65,7 @@ void ParallelCommandGroup::AddCommands(
}
if (isRunning) {
throw FRC_MakeError(frc::err::CommandIllegalUse, "{}",
throw FRC_MakeError(frc::err::CommandIllegalUse,
"Commands cannot be added to a CommandGroup "
"while the group is running");
}
@@ -77,7 +77,7 @@ void ParallelCommandGroup::AddCommands(
m_runWhenDisabled &= command->RunsWhenDisabled();
m_commands.emplace_back(std::move(command), false);
} else {
throw FRC_MakeError(frc::err::CommandIllegalUse, "{}",
throw FRC_MakeError(frc::err::CommandIllegalUse,
"Multiple commands in a parallel group cannot "
"require the same subsystems");
}

View File

@@ -60,7 +60,7 @@ void ParallelDeadlineGroup::AddCommands(
}
if (!m_finished) {
throw FRC_MakeError(frc::err::CommandIllegalUse, "{}",
throw FRC_MakeError(frc::err::CommandIllegalUse,
"Commands cannot be added to a CommandGroup "
"while the group is running");
}
@@ -72,7 +72,7 @@ void ParallelDeadlineGroup::AddCommands(
m_runWhenDisabled &= command->RunsWhenDisabled();
m_commands.emplace_back(std::move(command), false);
} else {
throw FRC_MakeError(frc::err::CommandIllegalUse, "{}",
throw FRC_MakeError(frc::err::CommandIllegalUse,
"Multiple commands in a parallel group cannot "
"require the same subsystems");
}

View File

@@ -50,7 +50,7 @@ void ParallelRaceGroup::AddCommands(
}
if (isRunning) {
throw FRC_MakeError(frc::err::CommandIllegalUse, "{}",
throw FRC_MakeError(frc::err::CommandIllegalUse,
"Commands cannot be added to a CommandGroup "
"while the group is running");
}
@@ -62,7 +62,7 @@ void ParallelRaceGroup::AddCommands(
m_runWhenDisabled &= command->RunsWhenDisabled();
m_commands.emplace_back(std::move(command));
} else {
throw FRC_MakeError(frc::err::CommandIllegalUse, "{}",
throw FRC_MakeError(frc::err::CommandIllegalUse,
"Multiple commands in a parallel group cannot "
"require the same subsystems");
}

View File

@@ -60,7 +60,7 @@ void SequentialCommandGroup::AddCommands(
}
if (m_currentCommandIndex != invalid_index) {
throw FRC_MakeError(frc::err::CommandIllegalUse, "{}",
throw FRC_MakeError(frc::err::CommandIllegalUse,
"Commands cannot be added to a CommandGroup "
"while the group is running");
}