]> gcc.gnu.org Git - gcc.git/commit
libstdc++: Do not use facets cached in ios for ATL128 build [PR103387]
authorJonathan Wakely <jwakely@redhat.com>
Tue, 28 Mar 2023 20:07:21 +0000 (21:07 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 28 Mar 2023 22:51:47 +0000 (23:51 +0100)
commitec12639c82e944d37200a744156e183ea19add00
tree8ca1941da3de41a51b369d93c9593b9094d35e6b
parentb3c5933ee726004e4e47291d422dfe7ac3345062
libstdc++: Do not use facets cached in ios for ATL128 build [PR103387]

For the powerpc64le build with two different long double
representations, we cannot use the ios_base::_M_num_put and
ios_base::_M_num_get pointers, because they might have been initialized
in a translation unit using the other long double type. With the changes
to add __try_use_facet to GCC 13 the cache isn't really needed now, we
can just access the right facet in the locale directly, without needing
RTTI checks.

libstdc++-v3/ChangeLog:

PR libstdc++/103387
* include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
std::use_facet instead of cached _M_num_get facet.
(istream::operator>>(short&)): Likewise.
(istream::operator>>(int&)): Likewise.
* include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
std::use_facet instead of cached _M_num_put facet.
libstdc++-v3/include/bits/istream.tcc
libstdc++-v3/include/bits/ostream.tcc
This page took 0.055773 seconds and 5 git commands to generate.