From: Jonathan Wakely <jwakely@redhat.com>
To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org
Subject: [committed] libstdc++: Fix some warnings in headers
Date: Thu, 29 Oct 2020 22:52:04 +0000 [thread overview]
Message-ID: <20201029225204.GA2466113@redhat.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 554 bytes --]
These are usually suppressed in system headers, but should be fixed
anyway.
libstdc++-v3/ChangeLog:
* include/bits/parse_numbers.h (_Select_int_base): Avoid
narrowing conversion in constant expression.
* include/experimental/buffer (buffer_copy): Avoid narrowing
conversion.
* include/experimental/internet (hash<>::operator()): Do not
use deprecated 'argument_type' member.
* include/std/variant (variant::emplace): Use cast instead
of implicit conversion from size_t to narrower unsigned type.
Tested powerpc64le-linux. Committed to trunk.
[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 3863 bytes --]
commit d7aa21a3c78874743a42ffc1af3493ecb665496f
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Oct 29 22:47:22 2020
libstdc++: Fix some warnings in headers
These are usually suppressed in system headers, but should be fixed
anyway.
libstdc++-v3/ChangeLog:
* include/bits/parse_numbers.h (_Select_int_base): Avoid
narrowing conversion in constant expression.
* include/experimental/buffer (buffer_copy): Avoid narrowing
conversion.
* include/experimental/internet (hash<>::operator()): Do not
use deprecated 'argument_type' member.
* include/std/variant (variant::emplace): Use cast instead
of implicit conversion from size_t to narrower unsigned type.
diff --git a/libstdc++-v3/include/bits/parse_numbers.h b/libstdc++-v3/include/bits/parse_numbers.h
index 5e80907af09..923a56c5a9f 100644
--- a/libstdc++-v3/include/bits/parse_numbers.h
+++ b/libstdc++-v3/include/bits/parse_numbers.h
@@ -266,7 +266,7 @@ namespace __select_int
template<unsigned long long _Val, typename _IntType, typename... _Ints>
struct _Select_int_base<_Val, _IntType, _Ints...>
: conditional_t<(_Val <= __gnu_cxx::__int_traits<_IntType>::__max),
- integral_constant<_IntType, _Val>,
+ integral_constant<_IntType, (_IntType)_Val>,
_Select_int_base<_Val, _Ints...>>
{ };
diff --git a/libstdc++-v3/include/experimental/buffer b/libstdc++-v3/include/experimental/buffer
index 8ccdb28cc5b..08d3a365e8d 100644
--- a/libstdc++-v3/include/experimental/buffer
+++ b/libstdc++-v3/include/experimental/buffer
@@ -315,7 +315,7 @@ inline namespace v1
inline size_t
buffer_copy(const _MutableBufferSequence& __dest,
const _ConstBufferSequence& __source) noexcept
- { return net::buffer_copy(__dest, __source, size_t{-1}); }
+ { return net::buffer_copy(__dest, __source, size_t(-1)); }
// buffer arithmetic:
diff --git a/libstdc++-v3/include/experimental/internet b/libstdc++-v3/include/experimental/internet
index f1153b8ff6a..1143ef41a5a 100644
--- a/libstdc++-v3/include/experimental/internet
+++ b/libstdc++-v3/include/experimental/internet
@@ -2393,7 +2393,7 @@ namespace ip
: __hash_base<size_t, experimental::net::v1::ip::address>
{
size_t
- operator()(const argument_type& __a) const
+ operator()(const experimental::net::v1::ip::address& __a) const
{
if (__a.is_v4())
return _Hash_impl::hash(__a.to_v4());
@@ -2407,7 +2407,7 @@ namespace ip
: __hash_base<size_t, experimental::net::v1::ip::address_v4>
{
size_t
- operator()(const argument_type& __a) const
+ operator()(const experimental::net::v1::ip::address_v4& __a) const
{ return _Hash_impl::hash(__a.to_bytes()); }
};
@@ -2415,7 +2415,7 @@ namespace ip
: __hash_base<size_t, experimental::net::v1::ip::address_v6>
{
size_t
- operator()(const argument_type& __a) const
+ operator()(const experimental::net::v1::ip::address_v6& __a) const
{ return _Hash_impl::hash(__a.to_bytes()); }
};
diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant
index 17f8bcd638b..4455ff4f073 100644
--- a/libstdc++-v3/include/std/variant
+++ b/libstdc++-v3/include/std/variant
@@ -1512,7 +1512,8 @@ namespace __variant
}
__catch (...)
{
- this->_M_index = variant_npos;
+ using __index_type = decltype(this->_M_index);
+ this->_M_index = static_cast<__index_type>(variant_npos);
__throw_exception_again;
}
}
@@ -1559,7 +1560,8 @@ namespace __variant
}
__catch (...)
{
- this->_M_index = variant_npos;
+ using __index_type = decltype(this->_M_index);
+ this->_M_index = static_cast<__index_type>(variant_npos);
__throw_exception_again;
}
}
next reply other threads:[~2020-10-29 22:52 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-29 22:52 Jonathan Wakely [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-10-29 11:44 Jonathan Wakely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201029225204.GA2466113@redhat.com \
--to=jwakely@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=libstdc++@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).