[libcxx] Use a type that is always an aggregate in variant's tests
authorLouis Dionne <ldionne@apple.com>
Mon, 26 Nov 2018 16:14:56 +0000 (16:14 +0000)
committerLouis Dionne <ldionne@apple.com>
Mon, 26 Nov 2018 16:14:56 +0000 (16:14 +0000)
commit20883fc20fa3d04c3f524c653f532fbd50e9f4ee
treea00685c3ef2ce91183ddcc710f3b258f3e0230f6
parent422c828dfce022a87fe28473743c0111f582a0ee
[libcxx] Use a type that is always an aggregate in variant's tests

Summary:
In PR39232, we noticed that some variant tests started failing in C++2a mode
with recent Clangs, because the rules for literal types changed in C++2a. As
a result, a temporary fix was checked in (enabling the test only in C++17).

This commit is what I believe should be the long term fix: I removed the
tests that checked constexpr default-constructibility with a weird type
from the tests for index() and valueless_by_exception(), and instead I
added tests for those using an obviously literal type in the test for the
default constructor.

Reviewers: EricWF, mclow.lists

Subscribers: christof, jkorous, dexonsmith, arphaman, libcxx-commits, rsmith

Differential Revision: https://reviews.llvm.org/D54767

llvm-svn: 347568
libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.status/index.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.status/valueless_by_exception.pass.cpp