From 7a7f34fb11d9dae3661457434b99c5dcd5dbdf3a Mon Sep 17 00:00:00 2001 From: Dmitry-Me Date: Fri, 13 Oct 2017 18:17:33 +0300 Subject: [PATCH] Improve test coverage for %zx, %zu used with printf --- test/testio.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/testio.cpp b/test/testio.cpp index 2a3a4df09..2e9c2d0f5 100644 --- a/test/testio.cpp +++ b/test/testio.cpp @@ -1796,6 +1796,12 @@ private: "}"); ASSERT_EQUALS("", errout.str()); + check("void foo(int i, long double ld) {\n" + " printf(\"%zx %zu\", i, ld);\n" + "}"); + ASSERT_EQUALS("[test.cpp:2]: (warning) %zx in format string (no. 1) requires 'size_t' but the argument type is 'signed int'.\n" + "[test.cpp:2]: (warning) %zu in format string (no. 2) requires 'size_t' but the argument type is 'long double'.\n", errout.str()); + // False negative test check("void foo(unsigned int i) {\n" " printf(\"%h\", i);\n"