diff options
3 files changed, 90 insertions, 0 deletions
diff --git a/libcxx/test/std/containers/container.adaptors/priority.queue/types.fail.cpp b/libcxx/test/std/containers/container.adaptors/priority.queue/types.fail.cpp new file mode 100644 index 00000000000..0d3025e1739 --- /dev/null +++ b/libcxx/test/std/containers/container.adaptors/priority.queue/types.fail.cpp @@ -0,0 +1,35 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <queue> + +// template <class T, class Container = vector<T>, +// class Compare = less<typename Container::value_type>> +// class priority_queue +// { +// public: +// typedef Container container_type; +// typedef typename container_type::value_type value_type; +// typedef typename container_type::reference reference; +// typedef typename container_type::const_reference const_reference; +// typedef typename container_type::size_type size_type; +// +// protected: +// container_type c; +// Compare comp; + +#include <queue> +#include <cassert> +#include <type_traits> + +int main() +{ +// LWG#2566 says that the first template param must match the second one's value type + std::priority_queue<double, std::deque<int>> t; +} diff --git a/libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.fail.cpp b/libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.fail.cpp new file mode 100644 index 00000000000..2b8341fff00 --- /dev/null +++ b/libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.fail.cpp @@ -0,0 +1,20 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <queue> + +#include <queue> +#include <cassert> +#include <type_traits> + +int main() +{ +// LWG#2566 says that the first template param must match the second one's value type + std::queue<double, std::deque<int>> t; +} diff --git a/libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.fail.cpp b/libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.fail.cpp new file mode 100644 index 00000000000..ee4c5441e7c --- /dev/null +++ b/libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.fail.cpp @@ -0,0 +1,35 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <queue> + +// template <class T, class Container = vector<T>, +// class Compare = less<typename Container::value_type>> +// class priority_queue +// { +// public: +// typedef Container container_type; +// typedef typename container_type::value_type value_type; +// typedef typename container_type::reference reference; +// typedef typename container_type::const_reference const_reference; +// typedef typename container_type::size_type size_type; +// +// protected: +// container_type c; +// Compare comp; + +#include <stack> +#include <cassert> +#include <type_traits> + +int main() +{ +// LWG#2566 says that the first template param must match the second one's value type + std::stack<double, std::deque<int>> t; +} |