diff options
Diffstat (limited to 'libcxx/test/std/utilities/time/time.hms/hhmmss.fail.cpp')
-rw-r--r-- | libcxx/test/std/utilities/time/time.hms/hhmmss.fail.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/libcxx/test/std/utilities/time/time.hms/hhmmss.fail.cpp b/libcxx/test/std/utilities/time/time.hms/hhmmss.fail.cpp new file mode 100644 index 00000000000..8849831d915 --- /dev/null +++ b/libcxx/test/std/utilities/time/time.hms/hhmmss.fail.cpp @@ -0,0 +1,29 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17 +// <chrono> + +// template <class Duration> class hh_mm_ss; +// If Duration is not an instance of duration, the program is ill-formed. + +#include <chrono> +#include <string> +#include <cassert> +#include "test_macros.h" + +struct A {}; + +int main(int, char**) +{ + std::chrono::hh_mm_ss<void> h0; // expected-error-re@chrono:* {{static_assert failed {{.*}} "template parameter of hh_mm_ss must be a std::chrono::duration"}} + std::chrono::hh_mm_ss<int> h1; // expected-error-re@chrono:* {{static_assert failed {{.*}} "template parameter of hh_mm_ss must be a std::chrono::duration"}} + std::chrono::hh_mm_ss<std::string> h2; // expected-error-re@chrono:* {{static_assert failed {{.*}} "template parameter of hh_mm_ss must be a std::chrono::duration"}} + std::chrono::hh_mm_ss<A> h3; // expected-error-re@chrono:* {{static_assert failed {{.*}} "template parameter of hh_mm_ss must be a std::chrono::duration"}} + + return 0; +} |