Fix Wold-style-cast error (#2125)

* Add Wold-style-cast to cmake flags
* Fix old style cast in catch_stats.hpp
* Fix old style cast in catch_stats.cpp
This commit is contained in:
Roman Proskuryakov 2020-12-28 16:00:19 +03:00 committed by GitHub
parent 045feff834
commit 0acb371b92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 9 additions and 8 deletions

View File

@ -63,6 +63,7 @@ function(add_warnings_to_targets targets)
"-Wdeprecated-register" "-Wdeprecated-register"
"-Wsuggest-override" "-Wsuggest-override"
"-Wshadow" "-Wshadow"
"-Wold-style-cast"
) )
foreach(warning ${CHECKED_WARNING_FLAGS}) foreach(warning ${CHECKED_WARNING_FLAGS})
add_cxx_flag_if_supported_to_targets(${warning} "${targets}") add_cxx_flag_if_supported_to_targets(${warning} "${targets}")

View File

@ -182,7 +182,7 @@ namespace Catch {
double k0 = -n * nd; double k0 = -n * nd;
double k1 = sb2 - n * sg2 + nd; double k1 = sb2 - n * sg2 + nd;
double det = k1 * k1 - 4 * sg2 * k0; double det = k1 * k1 - 4 * sg2 * k0;
return (int)(-2. * k0 / (k1 + std::sqrt(det))); return static_cast<int>(-2. * k0 / (k1 + std::sqrt(det)));
}; };
auto var_out = [n, sb2, sg2](double c) { auto var_out = [n, sb2, sg2](double c) {

View File

@ -102,7 +102,7 @@ namespace Catch {
double accel = sum_cubes / (6 * std::pow(sum_squares, 1.5)); double accel = sum_cubes / (6 * std::pow(sum_squares, 1.5));
int n = static_cast<int>(resample.size()); int n = static_cast<int>(resample.size());
double prob_n = std::count_if(resample.begin(), resample.end(), [point](double x) { return x < point; }) / (double)n; double prob_n = std::count_if(resample.begin(), resample.end(), [point](double x) { return x < point; }) / static_cast<double>(n);
// degenerate case with uniform samples // degenerate case with uniform samples
if (prob_n == 0) return { point, point, point, confidence_level }; if (prob_n == 0) return { point, point, point, confidence_level };

View File

@ -1342,7 +1342,7 @@ String.tests.cpp:<line number>: passed: s.data() == ss.data() for: "hello world!
String.tests.cpp:<line number>: passed: s.substr(s.size() + 1, 123).empty() for: true String.tests.cpp:<line number>: passed: s.substr(s.size() + 1, 123).empty() for: true
String.tests.cpp:<line number>: passed: std::strcmp(ss.c_str(), "world!") == 0 for: 0 == 0 String.tests.cpp:<line number>: passed: std::strcmp(ss.c_str(), "world!") == 0 for: 0 == 0
String.tests.cpp:<line number>: passed: s.substr(1'000'000, 1).empty() for: true String.tests.cpp:<line number>: passed: s.substr(1'000'000, 1).empty() for: true
String.tests.cpp:<line number>: passed: (char*)buffer1 != (char*)buffer2 for: "Hello" != "Hello" String.tests.cpp:<line number>: passed: reinterpret_cast<char*>(buffer1) != reinterpret_cast<char*>(buffer2) for: "Hello" != "Hello"
String.tests.cpp:<line number>: passed: left == right for: Hello == Hello String.tests.cpp:<line number>: passed: left == right for: Hello == Hello
String.tests.cpp:<line number>: passed: left != left.substr(0, 3) for: Hello != Hel String.tests.cpp:<line number>: passed: left != left.substr(0, 3) for: Hello != Hel
String.tests.cpp:<line number>: passed: sr == "a standard string" for: a standard string == "a standard string" String.tests.cpp:<line number>: passed: sr == "a standard string" for: a standard string == "a standard string"

View File

@ -9968,7 +9968,7 @@ String.tests.cpp:<line number>
............................................................................... ...............................................................................
String.tests.cpp:<line number>: PASSED: String.tests.cpp:<line number>: PASSED:
CHECK( (char*)buffer1 != (char*)buffer2 ) CHECK( reinterpret_cast<char*>(buffer1) != reinterpret_cast<char*>(buffer2) )
with expansion: with expansion:
"Hello" != "Hello" "Hello" != "Hello"

View File

@ -2598,7 +2598,7 @@ ok {test-number} - std::strcmp(ss.c_str(), "world!") == 0 for: 0 == 0
# StringRef # StringRef
ok {test-number} - s.substr(1'000'000, 1).empty() for: true ok {test-number} - s.substr(1'000'000, 1).empty() for: true
# StringRef # StringRef
ok {test-number} - (char*)buffer1 != (char*)buffer2 for: "Hello" != "Hello" ok {test-number} - reinterpret_cast<char*>(buffer1) != reinterpret_cast<char*>(buffer2) for: "Hello" != "Hello"
# StringRef # StringRef
ok {test-number} - left == right for: Hello == Hello ok {test-number} - left == right for: Hello == Hello
# StringRef # StringRef

View File

@ -12133,7 +12133,7 @@ Message from section two
<Section name="Comparisons are deep" filename="tests/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="Comparisons are deep" filename="tests/<exe-name>/IntrospectiveTests/String.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/String.tests.cpp" >
<Original> <Original>
(char*)buffer1 != (char*)buffer2 reinterpret_cast&lt;char*>(buffer1) != reinterpret_cast&lt;char*>(buffer2)
</Original> </Original>
<Expanded> <Expanded>
"Hello" != "Hello" "Hello" != "Hello"

View File

@ -79,7 +79,7 @@ TEST_CASE( "StringRef", "[Strings][StringRef]" ) {
SECTION( "Comparisons are deep" ) { SECTION( "Comparisons are deep" ) {
char buffer1[] = "Hello"; char buffer1[] = "Hello";
char buffer2[] = "Hello"; char buffer2[] = "Hello";
CHECK((char*)buffer1 != (char*)buffer2); CHECK(reinterpret_cast<char*>(buffer1) != reinterpret_cast<char*>(buffer2));
StringRef left(buffer1), right(buffer2); StringRef left(buffer1), right(buffer2);
REQUIRE( left == right ); REQUIRE( left == right );

View File

@ -41,7 +41,7 @@ TEST_CASE( "XmlEncode", "[XML]" ) {
// Thanks to Peter Bindels (dascandy) for some of the tests // Thanks to Peter Bindels (dascandy) for some of the tests
TEST_CASE("XmlEncode: UTF-8", "[XML][UTF-8][approvals]") { TEST_CASE("XmlEncode: UTF-8", "[XML][UTF-8][approvals]") {
#define ESC(lit) (char*)(lit) #define ESC(lit) reinterpret_cast<const char*>(lit)
SECTION("Valid utf-8 strings") { SECTION("Valid utf-8 strings") {
CHECK(encode(ESC(u8"Here be 👾")) == ESC(u8"Here be 👾")); CHECK(encode(ESC(u8"Here be 👾")) == ESC(u8"Here be 👾"));
CHECK(encode(ESC(u8"šš")) == ESC(u8"šš")); CHECK(encode(ESC(u8"šš")) == ESC(u8"šš"));