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

@@ -18,7 +18,7 @@ I2C::I2C(Port port, int deviceAddress)
int32_t status = 0;
if (port == I2C::Port::kOnboard) {
FRC_ReportError(warn::Warning, "{}",
FRC_ReportError(warn::Warning,
"Onboard I2C port is subject to system lockups. See Known "
"Issues page for "
"details");
@@ -74,7 +74,7 @@ bool I2C::Read(int registerAddress, int count, uint8_t* buffer) {
throw FRC_MakeError(err::ParameterOutOfRange, "count {}", count);
}
if (!buffer) {
throw FRC_MakeError(err::NullParameter, "{}", "buffer");
throw FRC_MakeError(err::NullParameter, "buffer");
}
uint8_t regAddr = registerAddress;
return Transaction(&regAddr, sizeof(regAddr), buffer, count);
@@ -85,7 +85,7 @@ bool I2C::ReadOnly(int count, uint8_t* buffer) {
throw FRC_MakeError(err::ParameterOutOfRange, "count {}", count);
}
if (!buffer) {
throw FRC_MakeError(err::NullParameter, "{}", "buffer");
throw FRC_MakeError(err::NullParameter, "buffer");
}
return HAL_ReadI2C(m_port, m_deviceAddress, buffer, count) < 0;
}