From 57d01e696f51a8761f0feb35e82f93f37f341b0f Mon Sep 17 00:00:00 2001 From: Paolo Carlini <pcarlini@suse.de> Date: Wed, 22 Oct 2003 15:44:19 +0000 Subject: [PATCH] re PR libstdc++/12657 (Resolution of DR 292 (WP) still unimplemented) 2003-10-22 Paolo Carlini <pcarlini@suse.de> PR libstdc++/12657 * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)): Implement resolution of DR 292 (WP). * docs/html/ext/howto.html: Add entry for DR 292. From-SVN: r72803 --- libstdc++-v3/ChangeLog | 7 +++++++ libstdc++-v3/docs/html/ext/howto.html | 6 ++++++ libstdc++-v3/include/bits/basic_ios.tcc | 5 +++++ 3 files changed, 18 insertions(+) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3ac3f04ce385..7ee8180efe55 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2003-10-22 Paolo Carlini <pcarlini@suse.de> + + PR libstdc++/12657 + * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)): + Implement resolution of DR 292 (WP). + * docs/html/ext/howto.html: Add entry for DR 292. + 2003-10-21 Benjamin Kosnik <bkoz@redhat.com> * include/ext/mt_allocator.h: Change include to gthr.h. diff --git a/libstdc++-v3/docs/html/ext/howto.html b/libstdc++-v3/docs/html/ext/howto.html index 1c190a66613e..f9e7cb6e4d46 100644 --- a/libstdc++-v3/docs/html/ext/howto.html +++ b/libstdc++-v3/docs/html/ext/howto.html @@ -640,6 +640,12 @@ <dd>Similar to 118. </dd> + <dt><a href="lwg-defects.html#292">292</a>: + <em>Effects of a.copyfmt (a)</em> + </dt> + <dd>If <code>(this == &rhs)</code> do nothing. + </dd> + <!-- <dt><a href="lwg-defects.html#"></a>: <em></em> diff --git a/libstdc++-v3/include/bits/basic_ios.tcc b/libstdc++-v3/include/bits/basic_ios.tcc index 9df5f4880e34..541453afb319 100644 --- a/libstdc++-v3/include/bits/basic_ios.tcc +++ b/libstdc++-v3/include/bits/basic_ios.tcc @@ -60,6 +60,11 @@ namespace std basic_ios<_CharT, _Traits>& basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) { + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 292. effects of a.copyfmt (a) + if (this == &__rhs) + return *this; + // Per 27.1.1, do not call imbue, yet must trash all caches // associated with imbue() -- GitLab