diff --git a/cfg/qt.cfg b/cfg/qt.cfg index e0291510a..b1af63e99 100644 --- a/cfg/qt.cfg +++ b/cfg/qt.cfg @@ -68,6 +68,16 @@ true + + + false + + + + + + + diff --git a/test/testio.cpp b/test/testio.cpp index 6d24f7d7e..50806066e 100644 --- a/test/testio.cpp +++ b/test/testio.cpp @@ -32,6 +32,7 @@ private: void run() { LOAD_LIB_2(settings.library, "std.cfg"); LOAD_LIB_2(settings.library, "windows.cfg"); + LOAD_LIB_2(settings.library, "qt.cfg"); TEST_CASE(coutCerrMisusage); @@ -57,6 +58,8 @@ private: TEST_CASE(testMicrosoftSecurePrintfArgument); TEST_CASE(testMicrosoftSecureScanfArgument); + TEST_CASE(testQStringFormatArguments); + TEST_CASE(testTernary); // ticket #6182 TEST_CASE(testUnsignedConst); // ticket #6132 @@ -2819,6 +2822,14 @@ private: ASSERT_EQUALS("", errout.str()); } + void testQStringFormatArguments() { + check("void foo(float f) {\n" + " QString string;\n" + " string.sprintf(\"%d\", f);\n" + "}", false, false, Settings::Win32A); + ASSERT_EQUALS("[test.cpp:3]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'float'.\n", errout.str()); + } + void testTernary() { // ticket #6182 check("void test(const std::string &val) {\n" " printf(\"%s\n\", val.empty() ? \"I like to eat bananas\" : val.c_str());\n"