]> gcc.gnu.org Git - gcc.git/commit
libstdc++: Do not use facets cached in ios for ALT128 build [PR103387]
authorJonathan Wakely <jwakely@redhat.com>
Tue, 28 Mar 2023 20:07:21 +0000 (21:07 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 20 Apr 2023 11:27:01 +0000 (12:27 +0100)
commit24cf9f4c6f45f7d8b37757cdb34576ee5d2d40e1
treefd1fca42b51fd2ec5d815afdd200b351453b15bb
parentdf4275e7565f1de853cb3de9d5b6580a6ebd6534
libstdc++: Do not use facets cached in ios for ALT128 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.

(cherry picked from commit ec12639c82e944d37200a744156e183ea19add00)
libstdc++-v3/include/bits/istream.tcc
libstdc++-v3/include/bits/ostream.tcc
This page took 0.054779 seconds and 5 git commands to generate.