g++ >=4.9 required

4.8 doesn't parse R"" literals
This commit is contained in:
Michael Davidsaver
2019-12-23 18:31:23 -08:00
parent bbe5fa26a2
commit 8eae991006
3 changed files with 9 additions and 15 deletions
+5 -11
View File
@@ -73,17 +73,6 @@ jobs:
- env: BASE=7.0 EXTRA="CMD_CXXFLAGS=-std=c++11"
compiler: clang
# Trusty: compiler versions very close to RHEL 7
- env: BASE=7.0
dist: trusty
- env: BASE=7.0 EXTRA="CMD_CXXFLAGS=-std=c++11"
dist: trusty
- env: BASE=3.15 EXTRA="CMD_CXXFLAGS=-std=c++11"
dist: trusty
# Cross-compilations to Windows using MinGW and WINE
- env: BASE=7.0 WINE=32 TEST=NO STATIC=YES
@@ -94,6 +83,11 @@ jobs:
# Other gcc versions (added as an extra package)
- env: BASE=7.0
dist: trusty
compiler: gcc-4.9
addons: { apt: { packages: ["g++-4.9"], sources: ["ubuntu-toolchain-r-test"] } }
- env: BASE=7.0
compiler: gcc-6
addons: { apt: { packages: ["g++-6"], sources: ["ubuntu-toolchain-r-test"] } }
+2 -2
View File
@@ -20,7 +20,7 @@ testCase::testCase(bool result)
testCase::testCase(testCase&& o) noexcept
:result(o.result)
#if !GCC_VERSION || GCC_VERSION>=VERSION_INT(4,9,0,0)
#if !GCC_VERSION || GCC_VERSION>=VERSION_INT(4,10,0,0)
,msg(std::move(o.msg))
#else
// gcc 4.8 (at least) doesn't provide a move ctor yet
@@ -35,7 +35,7 @@ testCase& testCase::operator=(testCase&& o) noexcept
if(this!=&o) {
result = o.result;
o.result = Nothing;
#if !GCC_VERSION || GCC_VERSION>=VERSION_INT(4,9,0,0)
#if !GCC_VERSION || GCC_VERSION>=VERSION_INT(4,10,0,0)
msg = std::move(o.msg);
#else
msg.seekp(0);
+2 -2
View File
@@ -150,8 +150,8 @@ constexpr size_t cmax(size_t A, size_t B) {
return A>B ? A : B;
}
// gcc 4.8 has aligned_storage but not aligned_union
#if GCC_VERSION && GCC_VERSION<VERSION_INT(4,9,0,0)
// gcc 4.9 has aligned_storage but not aligned_union
#if GCC_VERSION && GCC_VERSION<VERSION_INT(4,10,0,0)
template<typename... Types>
struct max_sizeof {