diff --git a/test/testuninitvar.cpp b/test/testuninitvar.cpp index ad9dee0fcac..b48db6ef972 100644 --- a/test/testuninitvar.cpp +++ b/test/testuninitvar.cpp @@ -97,6 +97,7 @@ class TestUninitVar : public TestFixture { TEST_CASE(uninitvar_memberfunction); TEST_CASE(uninitvar_nonmember); // crash in ycmd test TEST_CASE(uninitvarDesignatedInitializers); + TEST_CASE(uninitvarMemberPointer); TEST_CASE(isVariableUsageDeref); // *p TEST_CASE(isVariableUsageDerefValueflow); // *p @@ -7825,6 +7826,16 @@ class TestUninitVar : public TestFixture { ASSERT_EQUALS("", errout_str()); } + void uninitvarMemberPointer() { + checkUninitVar("void f()\n" + "{\n" + " struct S {};\n" + " int S::* mp;\n" + " if (mp) {}\n" + "}\n"); + ASSERT_EQUALS("[test.cpp:5:7]: (error) Uninitialized variable: mp [legacyUninitvar]\n", errout_str()); + } + void isVariableUsageDeref() { // *p checkUninitVar("void f() {\n" diff --git a/test/testunusedvar.cpp b/test/testunusedvar.cpp index 50f67823b4e..43b5d2abe40 100644 --- a/test/testunusedvar.cpp +++ b/test/testunusedvar.cpp @@ -154,6 +154,7 @@ class TestUnusedVar : public TestFixture { TEST_CASE(localvar69); TEST_CASE(localvar70); TEST_CASE(localvar71); + TEST_CASE(localvar72); TEST_CASE(localvarloops); // loops TEST_CASE(localvaralias1); TEST_CASE(localvaralias2); // ticket #1637 @@ -4046,6 +4047,15 @@ class TestUnusedVar : public TestFixture { ASSERT_EQUALS("", errout_str()); } + void localvar72() { + functionVariableUsage("void f()\n" + "{\n" + " struct S {};\n" + " int S::* mp;\n" + "}\n"); + ASSERT_EQUALS("[test.cpp:4:12]: (style) Unused variable: mp [unusedVariable]\n", errout_str()); + } + void localvarloops() { // loops functionVariableUsage("void fun(int c) {\n"