]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add noexcept to std::integral_constant members
authorJonathan Wakely <jwakely@redhat.com>
Wed, 8 Aug 2018 15:41:05 +0000 (16:41 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 8 Aug 2018 15:41:05 +0000 (16:41 +0100)
Backport from mainline
2017-12-01  Jonathan Wakely  <jwakely@redhat.com>

* include/std/type_traits (integral_constant): Make member functions
noexcept (LWG 2346).
* include/std/utility (integer_sequence): Likewise.

From-SVN: r263424

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/type_traits
libstdc++-v3/include/std/utility

index 4db1d7afa19729920c4a2580cf6ca14bbbb75504..7c217e0c037c4b1ae9100ec88e8ba8bc6eceec4f 100644 (file)
@@ -1,5 +1,12 @@
 2018-08-08  Jonathan Wakely  <jwakely@redhat.com>
 
+       Backport from mainline
+       2017-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/type_traits (integral_constant): Make member functions
+       noexcept (LWG 2346).
+       * include/std/utility (integer_sequence): Likewise.
+
        Backport from mainline
        2018-06-18  Jonathan Wakely  <jwakely@redhat.com>
 
index 15deb90b2ef1d59af1d85fa702cef1e0712c3d01..21bef15ed4af5bc06f2d8f5c3329c89da755c967 100644 (file)
@@ -71,12 +71,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       static constexpr _Tp                  value = __v;
       typedef _Tp                           value_type;
       typedef integral_constant<_Tp, __v>   type;
-      constexpr operator value_type() const { return value; }
+      constexpr operator value_type() const noexcept { return value; }
 #if __cplusplus > 201103L
 
 #define __cpp_lib_integral_constant_callable 201304
 
-      constexpr value_type operator()() const { return value; }
+      constexpr value_type operator()() const noexcept { return value; }
 #endif
     };
   
index 480bd5d18eaf898e107453469646f2e0cbd1e753..e72a10407a7a145506c1d4ad986cd5f9531cd6e9 100644 (file)
@@ -296,7 +296,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     struct integer_sequence
     {
       typedef _Tp value_type;
-      static constexpr size_t size() { return sizeof...(_Idx); }
+      static constexpr size_t size() noexcept { return sizeof...(_Idx); }
     };
 
   template<typename _Tp, _Tp _Num,