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;