Dev/annagrin/fix span size test gcc (#750)

* Added c++17 test configurations for clang5.0 and clang6.0

* fixed test for broken span.size() in gcc6.5
This commit is contained in:
Anna Gringauze 2018-11-27 17:28:57 -08:00 committed by GitHub
parent c02ddae4bc
commit b673375719
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -506,15 +506,16 @@ TEST_CASE("from_std_array_constructor")
CHECK((s.size() == narrow_cast<ptrdiff_t>(arr.size()) && s.data() == arr.data())); CHECK((s.size() == narrow_cast<ptrdiff_t>(arr.size()) && s.data() == arr.data()));
} }
// This test checks for the bug found in gcc 6.1, 6.2, 6.3, 7.1, 7.2, 7.3 - issue #590 // This test checks for the bug found in gcc 6.1, 6.2, 6.3, 6.4, 6.5 7.1, 7.2, 7.3 - issue #590
{ {
span<int> s1 = make_span(arr); span<int> s1 = make_span(arr);
static span<int> s2; static span<int> s2;
s2 = s1; s2 = s1;
#if __GNUC__ == 6 && __GNUC_MINOR__ == 4 && __GNUC_PATCHLEVEL__ == 0 && defined(__OPTIMIZE__) #if __GNUC__ == 6 && (__GNUC_MINOR__ == 4 || __GNUC_MINOR__ == 5) && __GNUC_PATCHLEVEL__ == 0 && \
// Known to be broken in gcc 6.4 with optimizations defined(__OPTIMIZE__)
// Known to be broken in gcc 6.4 and 6.5 with optimizations
// Issue in gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83116 // Issue in gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83116
CHECK(s1.size() == 4); CHECK(s1.size() == 4);
CHECK(s2.size() == 0); CHECK(s2.size() == 0);