diff --git a/cfg/std.cfg b/cfg/std.cfg index 96dce98b7..ff400b69a 100644 --- a/cfg/std.cfg +++ b/cfg/std.cfg @@ -7373,9 +7373,10 @@ initializer list (7) string& replace (const_iterator i1, const_iterator i2, init - + + + false - @@ -8588,6 +8589,18 @@ initializer list (7) string& replace (const_iterator i1, const_iterator i2, init + + false + + + + + + + + false + + malloc calloc diff --git a/test/cfg/std.cpp b/test/cfg/std.cpp index c7210bd0d..89bdcbb82 100644 --- a/test/cfg/std.cpp +++ b/test/cfg/std.cpp @@ -4722,4 +4722,21 @@ void smartPtr_get() p.get(); //cppcheck-suppress nullPointer *p = 1; +} + +void smartPtr_reset() +{ + std::unique_ptr p(new int()); + p.reset(nullptr); + //cppcheck-suppress nullPointer + *p = 1; +} + +void smartPtr_release() +{ + std::unique_ptr p{ new int() }; + //cppcheck-suppress ignoredReturnValue + p.release(); + //cppcheck-suppress nullPointer + *p = 1; } \ No newline at end of file diff --git a/test/testfunctions.cpp b/test/testfunctions.cpp index d64755181..2df7ae22c 100644 --- a/test/testfunctions.cpp +++ b/test/testfunctions.cpp @@ -2002,10 +2002,8 @@ private: " p->h(i);\n" " p.reset(nullptr);\n" "}\n", "test.cpp", &s); - TODO_ASSERT_EQUALS("[test.cpp:5]: (information) --check-library: There is no matching configuration for function T::h()\n", - "[test.cpp:5]: (information) --check-library: There is no matching configuration for function T::h()\n" - "[test.cpp:6]: (information) --check-library: There is no matching configuration for function std::shared_ptr::reset()\n", - errout.str()); + ASSERT_EQUALS("[test.cpp:5]: (information) --check-library: There is no matching configuration for function T::h()\n", + errout.str()); } void checkUseStandardLibrary1() {