Fix GCC 7 test failures.
authorEric Fiselier <eric@efcs.ca>
Tue, 9 May 2017 00:00:00 +0000 (00:00 +0000)
committerEric Fiselier <eric@efcs.ca>
Tue, 9 May 2017 00:00:00 +0000 (00:00 +0000)
commit50d61da2e4536215c45a92a5a9db05cdf8af395f
treeeb2891e8f78d79c9c35ac5fb823a348d6f3c3d58
parent3369f8cc4ad20e2091629b78fbea7bc98f2079b0
Fix GCC 7 test failures.

This patch fixes the test failures and unexpected passes that occur
when testing against GCC 7. Specifically:

* don't mark __gcd as always inline because it's a recursive function. GCC diagnoses this.
* don't XFAIL the aligned allocation tests. GCC 7 supports them but not the -faligned-allocation option.
* Work around gcc.gnu.org/PR78489 in variants constructors.

llvm-svn: 302488
14 files changed:
libcxx/include/experimental/numeric
libcxx/include/numeric
libcxx/include/variant
libcxx/test/std/experimental/utilities/meta/meta.type.synop/meta.unary.prop.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp
libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp