This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[V3 PATCH] Fix for defect report libstdc++/1893
- To: bumgard at roguewave dot com, libstdc++ at gcc dot gnu dot org,gcc-patches at gcc dot gnu dot org
- Subject: [V3 PATCH] Fix for defect report libstdc++/1893
- From: bumgard at roguewave dot com
- Date: 15 Feb 2001 00:17:11 -0000
I'm not sure why this works under a normal build (where default inlining
is allowed), but when you use -fno-default-inline the error in the code
is uncovered. The iostate references must be qualified because they
are separated from their definition in the base class by another template
class.
2001-02-13 Greg Bumgardner <bumgard@roguewave.com>
* libstdc++-v3/include/bits/istream.tcc: Qualified iostate with
ios_base:: as fix for libstc++/1893
Index: gcc/libstdc++-v3/include/bits/istream.tcc
diff -c gcc/libstdc++-v3/include/bits/istream.tcc:1.1.1.1 gcc/libstdc++-v3/include/bits/istream.tcc:1.1.1.1.12.1
*** gcc/libstdc++-v3/include/bits/istream.tcc:1.1.1.1 Tue Feb 13 00:20:16 2001
--- gcc/libstdc++-v3/include/bits/istream.tcc Tue Feb 13 10:42:39 2001
***************
*** 151,157 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 151,157 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 175,181 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 175,181 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 199,205 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 199,205 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 223,229 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 223,229 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 247,253 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 247,253 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 271,277 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 271,277 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 295,301 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 295,301 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 320,326 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 320,326 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 344,350 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 344,350 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 369,375 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 369,375 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 393,399 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 393,399 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 417,423 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 417,423 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
***************
*** 441,447 ****
if (__cerb)
{
try {
! iostate __err = iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
--- 441,447 ----
if (__cerb)
{
try {
! ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}