Redo build matrix on .travis for C++14 and up

* Use Xenial as the base distribution
* Remove C++11 builds
* Add a lot more C++14 builds
* Add some C++17 builds
* Include newer versions of Clang and GCC
This commit is contained in:
Martin Hořeňovský 2019-10-29 23:38:21 +01:00
parent 7c48ea6016
commit 2c6ace04a7
No known key found for this signature in database
GPG key ID: DE48307B8B0D381A
5 changed files with 103 additions and 199 deletions

View file

@ -10,11 +10,12 @@
#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
class out_buff : public std::stringbuf {
std::FILE* m_stream;
public:
out_buff(std::FILE* stream) :m_stream(stream) {}
~out_buff() { pubsync(); }
out_buff(std::FILE* stream):m_stream(stream) {}
~out_buff();
int sync() {
int ret = 0;
for (unsigned char c : str()) {
@ -29,6 +30,12 @@ public:
}
};
out_buff::~out_buff() { pubsync(); }
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wexit-time-destructors" // static variables in cout/cerr/clog
#endif
namespace Catch {
std::ostream& cout() {
static std::ostream ret(new out_buff(stdout));