summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2021-11-29 17:56:43 +0100
committerAndras Timar <andras.timar@collabora.com>2021-12-07 13:42:06 +0100
commit9a54a5d68e30f16d68ade0f80dc5728bb5f68329 (patch)
tree9c8104b3d9b3548f3f80b0e73e05afdf48b6818d
parentpopulate saveas dialog with the filename on offering save-as (diff)
downloadonline-9a54a5d68e30f16d68ade0f80dc5728bb5f68329.tar.gz
online-9a54a5d68e30f16d68ade0f80dc5728bb5f68329.zip
actually require C++17
When I did the previous "C++17" commit I removed C++11 and C++14 from the checked list, but I missed the fact that the code checked for C++17/14/11 and then did nothing with it. So actually do use the detected required C++ standard. Signed-off-by: Luboš Luňák <l.lunak@collabora.com> Change-Id: Ia82d14d11f81456abed7ee2609903afe5366f5e7
-rw-r--r--configure.ac20
-rw-r--r--test/TileCacheTests.cpp11
2 files changed, 18 insertions, 13 deletions
diff --git a/configure.ac b/configure.ac
index c89e1ab904..647ddffcad 100644
--- a/configure.ac
+++ b/configure.ac
@@ -811,8 +811,7 @@ AC_SUBST(VEREIGN_URL)
# Test for build environment
AS_IF([test "$ENABLE_GTKAPP" != true],
-[CXXFLAGS="$CXXFLAGS -std=c++11"
-CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wshadow"])
+[CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wshadow"])
CFLAGS="$CFLAGS -Wall -Wextra"
@@ -850,7 +849,7 @@ AC_DEFINE_UNQUOTED([LIBFUZZER],[$LIBFUZZER],[Define to 1 if this is a libfuzzer
AM_CONDITIONAL([ENABLE_LIBFUZZER], [test "$LIBFUZZER" = "1"])
# check for C++11 support
-HAVE_CXX11=
+HAVE_CXXSTD=
AC_MSG_CHECKING([whether $CXX supports C++17])
for flag in -std=c++17 -std=c++1z ; do
save_CXXFLAGS=$CXXFLAGS
@@ -863,22 +862,25 @@ for flag in -std=c++17 -std=c++1z ; do
void f(std::vector<int> & v, std::function<bool(int, int)> fn) {
std::sort(v.begin(), v.end(), fn);
}
- ]])],[CXXFLAGS_CXX11=$flag])
+ ]])],[CXXFLAGS_CXXSTD=$flag])
AC_LANG_POP([C++])
CXXFLAGS=$save_CXXFLAGS
- if test -n "$CXXFLAGS_CXX11"; then
- HAVE_CXX11=TRUE
+ if test -n "$CXXFLAGS_CXXSTD"; then
+ HAVE_CXXSTD=TRUE
break
fi
done
-if test "$HAVE_CXX11" = TRUE; then
- AC_MSG_RESULT([yes ($CXXFLAGS_CXX11)])
+if test "$HAVE_CXXSTD" = TRUE; then
+ AC_MSG_RESULT([yes ($CXXFLAGS_CXXSTD)])
else
AC_MSG_ERROR(no)
fi
+AS_IF([test "$ENABLE_GTKAPP" != true],
+[CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXXSTD"])
+
STD_FILESYSTEM=
-if test "$CXXFLAGS_CXX11" = "-std=c++17" -a "$ENABLE_ANDROIDAPP" != "true" ; then
+if test "$CXXFLAGS_CXXSTD" = "-std=c++17" -a "$ENABLE_ANDROIDAPP" != "true" ; then
save_CXXFLAGS=$CXXFLAGS
CXXFLAGS="$CXXFLAGS -Werror"
save_LIBS=$LIBS
diff --git a/test/TileCacheTests.cpp b/test/TileCacheTests.cpp
index 81de051095..28f1cc4bd6 100644
--- a/test/TileCacheTests.cpp
+++ b/test/TileCacheTests.cpp
@@ -27,6 +27,7 @@
#include <helpers.hpp>
#include <test.hpp>
#include <sstream>
+#include <random>
using namespace helpers;
@@ -1317,9 +1318,10 @@ void TileCacheTests::checkTiles(std::shared_ptr<http::WebSocketSession>& socket,
}
// random setclientpart
- std::srand(std::time(nullptr));
std::vector<int> vParts = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- std::random_shuffle(vParts.begin(), vParts.end());
+ std::mt19937 random;
+ random.seed(std::time(nullptr));
+ std::shuffle(vParts.begin(), vParts.end(), random);
int requests = 0;
for (int it : vParts)
{
@@ -1474,9 +1476,10 @@ void TileCacheTests::checkTiles(std::shared_ptr<COOLWebSocket>& socket, const st
}
// random setclientpart
- std::srand(std::time(nullptr));
std::vector<int> vParts = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- std::random_shuffle(vParts.begin(), vParts.end());
+ std::mt19937 random;
+ random.seed(std::time(nullptr));
+ std::shuffle(vParts.begin(), vParts.end(), random);
int requests = 0;
for (int it : vParts)
{