From 7111270d5f0880cc769fb7a9b7836ec54985d703 Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Thu, 15 Sep 2022 19:56:45 +0200 Subject: [PATCH] Add support for std::copy_n/merge/stable_sort (#4467) * Add support for std::copy_n/merge/stable_sort * Format --- cfg/std.cfg | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ test/cfg/std.cpp | 22 ++++++++++++++++++ 2 files changed, 81 insertions(+) diff --git a/cfg/std.cfg b/cfg/std.cfg index a7387dfb3..354a769b2 100644 --- a/cfg/std.cfg +++ b/cfg/std.cfg @@ -7487,6 +7487,24 @@ initializer list (7) string& replace (const_iterator i1, const_iterator i2, init + + + + false + + + + + + + + 0: + + + + + + @@ -7505,6 +7523,47 @@ initializer list (7) string& replace (const_iterator i1, const_iterator i2, init + + + + + + false + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/cfg/std.cpp b/test/cfg/std.cpp index 40758c1ea..bf5b9799b 100644 --- a/test/cfg/std.cpp +++ b/test/cfg/std.cpp @@ -35,6 +35,7 @@ #include #include #include +#include int zerodiv_ldexp() { @@ -2975,6 +2976,27 @@ void uninitvar_qsort(void) (void)std::qsort(base,n,size, (int (*)(const void*,const void*))strcmp); // cppcheck-suppress cstyleCast } +void uninitvar_stable_sort(std::vector& v) +{ + std::vector::iterator end; + // cppcheck-suppress uninitvar + std::stable_sort(v.begin(), end); +} + +void uninitvar_merge(const std::vector& a, const std::vector& b) +{ + std::vector::iterator dst; + // cppcheck-suppress uninitvar + std::merge(a.begin(), a.end(), b.begin(), b.end(), dst); +} + +void uninitvar_copy_n(const std::vector& v) +{ + std::vector::iterator dst; + // cppcheck-suppress [uninitvar, invalidFunctionArg] + std::copy_n(v.begin(), -1, dst); +} + void uninitvar_putc(void) { int c;