[libcxx-commits] [libcxx] r372546 - Revert "Extension: Mark the default constructor of chrono::duration as conditionally noexcept"; this breaks the gcc5 bot for C++11
Marshall Clow via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Sep 22 23:16:42 PDT 2019
Author: marshall
Date: Sun Sep 22 23:16:41 2019
New Revision: 372546
URL: http://llvm.org/viewvc/llvm-project?rev=372546&view=rev
Log:
Revert "Extension: Mark the default constructor of chrono::duration as conditionally noexcept"; this breaks the gcc5 bot for C++11
This reverts commit c8ca15c95c4c0d6d1356500d5fe49a319ea4ca01.
Removed:
libcxx/trunk/test/libcxx/utilities/time/date.time/duration.noexcept.pass.cpp
Modified:
libcxx/trunk/include/chrono
Modified: libcxx/trunk/include/chrono
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/chrono?rev=372546&r1=372545&r2=372546&view=diff
==============================================================================
--- libcxx/trunk/include/chrono (original)
+++ libcxx/trunk/include/chrono Sun Sep 22 23:16:41 2019
@@ -1063,7 +1063,7 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
#ifndef _LIBCPP_CXX03_LANG
- duration() noexcept(noexcept(_Rep())) = default;
+ duration() = default;
#else
duration() {}
#endif
Removed: libcxx/trunk/test/libcxx/utilities/time/date.time/duration.noexcept.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/utilities/time/date.time/duration.noexcept.pass.cpp?rev=372545&view=auto
==============================================================================
--- libcxx/trunk/test/libcxx/utilities/time/date.time/duration.noexcept.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/utilities/time/date.time/duration.noexcept.pass.cpp (removed)
@@ -1,47 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-// Libc++ adds noexcept to the default constructor to std::chrono::duration
-// when the underlying type is noexcept default constructible. This makes all
-// the standard durations noexcept default constructible.
-
-// typedef duration<long long, nano> nanoseconds;
-// typedef duration<long long, micro> microseconds;
-// typedef duration<long long, milli> milliseconds;
-// typedef duration<long long > seconds;
-// typedef duration< long, ratio< 60> > minutes;
-// typedef duration< long, ratio<3600> > hours;
-//
-// #if _LIBCPP_STD_VER > 17
-// typedef duration< int, ratio_multiply<ratio<24>, hours::period>> days;
-// typedef duration< int, ratio_multiply<ratio<7>, days::period>> weeks;
-// typedef duration< int, ratio_multiply<ratio<146097, 400>, days::period>> years;
-// typedef duration< int, ratio_divide<years::period, ratio<12>>> months;
-// #endif
-
-#include <chrono>
-
-#include "test_macros.h"
-
-int main(int, char**) {
-
- ASSERT_NOEXCEPT(std::chrono::nanoseconds());
- ASSERT_NOEXCEPT(std::chrono::microseconds());
- ASSERT_NOEXCEPT(std::chrono::milliseconds());
- ASSERT_NOEXCEPT(std::chrono::seconds());
- ASSERT_NOEXCEPT(std::chrono::minutes());
- ASSERT_NOEXCEPT(std::chrono::hours());
-
-#if TEST_STD_VER > 17
- ASSERT_NOEXCEPT(std::chrono::days());
- ASSERT_NOEXCEPT(std::chrono::weeks());
- ASSERT_NOEXCEPT(std::chrono::years());
- ASSERT_NOEXCEPT(std::chrono::months());
-#endif
-
- return 0;
-}
More information about the libcxx-commits
mailing list