From bf0ed17a163d33bb900fc623f0b3dfb4ce332208 Mon Sep 17 00:00:00 2001 From: Ettl Martin Date: Fri, 27 Apr 2012 02:05:45 +0200 Subject: [PATCH] added testcase for ticket #3602 --- test/testunusedvar.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/testunusedvar.cpp b/test/testunusedvar.cpp index 1daca7a4d..87ffd5ab8 100644 --- a/test/testunusedvar.cpp +++ b/test/testunusedvar.cpp @@ -89,6 +89,7 @@ private: TEST_CASE(localvar41); // ticket #3481 TEST_CASE(localvar42); // ticket #3603 TEST_CASE(localvar43); // ticket #3742 + TEST_CASE(localvar44); // ticket #3602 TEST_CASE(localvaralias1); TEST_CASE(localvaralias2); // ticket #1637 TEST_CASE(localvaralias3); // ticket #1639 @@ -1450,6 +1451,33 @@ private: ASSERT_EQUALS("", errout.str()); } + void localvar44() { // ticket #3602 (false positive) + functionVariableUsage("void bar()\n" + "{ \n" + " int * piArray = NULL;\n" + " unsigned int uiArrayLength = 2048;\n" + " unsigned int uiIndex;\n" + " // Allocate memory\n" + " try\n" + " {\n" + " piArray = new int[uiArrayLength];\n" + " }\n" + " catch (...)\n" + " {\n" + " SOME_MACRO\n" + " delete [] piArray;\n" + " return;\n" + " }\n" + " for (uiIndex = 0; uiIndex < uiArrayLength; uiIndex++)\n" + " {\n" + " piArray[uiIndex] = -1234;\n" + " }\n" + " delete [] piArray;\n" + " piArray = NULL;\n" + "}\n"); + ASSERT_EQUALS("", errout.str()); + } + void localvaralias1() { functionVariableUsage("void foo()\n" "{\n"