From dd241501f3e995365d2b43a0a35541995321b053 Mon Sep 17 00:00:00 2001 From: orbitcowboy Date: Thu, 22 Jan 2015 06:37:09 +0100 Subject: [PATCH] Added test case for #6341. --- test/testuninitvar.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/testuninitvar.cpp b/test/testuninitvar.cpp index c9aecdb0a..67834f925 100644 --- a/test/testuninitvar.cpp +++ b/test/testuninitvar.cpp @@ -1671,6 +1671,28 @@ private: ASSERT_EQUALS("[test.c:3]: (error) Uninitialized variable: ret\n", errout.str()); } + // Ticket #6341- False negative + { + checkUninitVarB("wchar_t f() { int i; return btowc(i); }"); + ASSERT_EQUALS("[test.cpp:1]: (error) Uninitialized variable: i\n", errout.str()); + + checkUninitVarB("wchar_t f(int i) { return btowc(i); }"); + ASSERT_EQUALS("", errout.str()); + + // Avoid a potential false positive (#6341) + checkUninitVarB( + "void setvalue(int &x) {\n" + " x = 0;\n" + " return 123;\n" + "}\n" + "int f() {\n" + " int x;\n" + " return setvalue(x);\n" + "}\n"); + ASSERT_EQUALS("", errout.str()); + + } + // Ticket #2146 - False negative checkUninitVar("int f(int x) {\n" " int y;\n"