Skip to content

Commit b970606

Browse files
rikardfalkeborndanmar
authored andcommitted
Trac ticket cppcheck-opensource#7798 was fixed in 3f1e2b4 (More conservative fallback for function overload matching). Add a test to avoid regressions.
1 parent b466415 commit b970606

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

test/testbool.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ class TestBool : public TestFixture {
6060
TEST_CASE(checkComparisonOfFuncReturningBool4);
6161
TEST_CASE(checkComparisonOfFuncReturningBool5);
6262
TEST_CASE(checkComparisonOfFuncReturningBool6);
63+
TEST_CASE(checkComparisonOfFuncReturningBool7); // #7798 overloaded functions
6364
TEST_CASE(checkComparisonOfBoolWithBool);
6465

6566
// Converting pointer addition result to bool
@@ -726,6 +727,19 @@ class TestBool : public TestFixture {
726727
ASSERT_EQUALS("", errout.str());
727728
}
728729

730+
// Integration test
731+
void checkComparisonOfFuncReturningBool7() { // #7798
732+
check("bool eval(double *) { return false; }\n"
733+
"double eval(char *) { return 1.0; }\n"
734+
"int main(int argc, char *argv[])\n"
735+
"{\n"
736+
" if ( eval(argv[1]) > eval(argv[2]) )\n"
737+
" return 1;\n"
738+
" return 0;\n"
739+
"}");
740+
ASSERT_EQUALS("", errout.str());
741+
}
742+
729743
void checkComparisonOfBoolWithBool() {
730744
const char code[] = "void f(){\n"
731745
" int temp = 4;\n"

0 commit comments

Comments
 (0)