View | Details | Return to bug 70692
Collapse All | Expand All

(-)a/libstdc++-v3/include/ext/string_conversions.h (-3 / +18 lines)
Lines 47-52 namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) Link Here
47
{
47
{
48
_GLIBCXX_BEGIN_NAMESPACE_VERSION
48
_GLIBCXX_BEGIN_NAMESPACE_VERSION
49
49
50
  template<typename _Tp>
51
    struct __stoa_range_chk
52
    {
53
      static constexpr bool _S_out_of_range(_Tp) { return false; }
54
    };
55
56
  template<>
57
    struct __stoa_range_chk<int>
58
    {
59
      template<typename _Tp>
60
	static bool _S_out_of_range(_Tp __val)
61
	{
62
	  return __val < __numeric_traits<int>::__min
63
	    || __val > __numeric_traits<int>::__max;
64
	}
65
    };
66
50
  // Helper for all the sto* functions.
67
  // Helper for all the sto* functions.
51
  template<typename _TRet, typename _Ret = _TRet, typename _CharT,
68
  template<typename _TRet, typename _Ret = _TRet, typename _CharT,
52
	   typename... _Base>
69
	   typename... _Base>
Lines 70-78 _GLIBCXX_BEGIN_NAMESPACE_VERSION Link Here
70
      if (__endptr == __str)
87
      if (__endptr == __str)
71
	std::__throw_invalid_argument(__name);
88
	std::__throw_invalid_argument(__name);
72
      else if (errno == ERANGE
89
      else if (errno == ERANGE
73
	       || (std::__are_same<_Ret, int>::__value
90
	  || __stoa_range_chk<_Ret>::_S_out_of_range(__tmp))
74
		   && (__tmp < __numeric_traits<int>::__min
75
		       || __tmp > __numeric_traits<int>::__max)))
76
	std::__throw_out_of_range(__name);
91
	std::__throw_out_of_range(__name);
77
      else
92
      else
78
	__ret = __tmp;
93
	__ret = __tmp;
(-)a/libstdc++-v3/include/std/functional (+3 lines)
Lines 1712-1717 _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type) Link Here
1712
  template<typename _Signature, typename _Functor>
1712
  template<typename _Signature, typename _Functor>
1713
    class _Function_handler;
1713
    class _Function_handler;
1714
1714
1715
#pragma GCC diagnostic push
1716
#pragma GCC diagnostic warning "-Wsystem-headers"
1715
  template<typename _Res, typename _Functor, typename... _ArgTypes>
1717
  template<typename _Res, typename _Functor, typename... _ArgTypes>
1716
    class _Function_handler<_Res(_ArgTypes...), _Functor>
1718
    class _Function_handler<_Res(_ArgTypes...), _Functor>
1717
    : public _Function_base::_Base_manager<_Functor>
1719
    : public _Function_base::_Base_manager<_Functor>
Lines 1726-1731 _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type) Link Here
1726
	    std::forward<_ArgTypes>(__args)...);
1728
	    std::forward<_ArgTypes>(__args)...);
1727
      }
1729
      }
1728
    };
1730
    };
1731
#pragma GCC diagnostic pop
1729
1732
1730
  template<typename _Functor, typename... _ArgTypes>
1733
  template<typename _Functor, typename... _ArgTypes>
1731
    class _Function_handler<void(_ArgTypes...), _Functor>
1734
    class _Function_handler<void(_ArgTypes...), _Functor>

Return to bug 70692