This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] libstdc++/65499 make duration literals visible in std::chrono namespace
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Fri, 27 Mar 2015 12:45:19 +0000
- Subject: [patch] libstdc++/65499 make duration literals visible in std::chrono namespace
- Authentication-results: sourceware.org; auth=none
This is a tiny tweak to add a missing piece of C++14 support, the
duration literals should be usable via "using namespace std::chrono".
It doesn't affect anything in C++03 or C++11 mode so safe for trunk
now.
Tested x86_64-linux, committed to trunk.
commit 907f5e128d855d339829abbd1d314f382e3ae6fc
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Mar 26 20:12:36 2015 +0000
PR libstdc++/65499
* include/std/chrono: Add using-directive for literals to std::chrono.
* testsuite/20_util/duration/literals/65499.cc: New.
diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono
index e5baa56..50a2bbf 100644
--- a/libstdc++-v3/include/std/chrono
+++ b/libstdc++-v3/include/std/chrono
@@ -866,6 +866,15 @@ _GLIBCXX_END_NAMESPACE_VERSION
} // inline namespace chrono_literals
} // inline namespace literals
+ namespace chrono
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ using namespace literals::chrono_literals;
+
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace chrono
+
#endif // __cplusplus > 201103L
// @} group chrono
diff --git a/libstdc++-v3/testsuite/20_util/duration/literals/65499.cc b/libstdc++-v3/testsuite/20_util/duration/literals/65499.cc
new file mode 100644
index 0000000..62c4f5a
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/duration/literals/65499.cc
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++14" }
+// { dg-do compile }
+
+// PR libstdc++/65499
+
+#include <chrono>
+
+using namespace std::chrono;
+minutes min = 36min;