This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/25649] [4.2 regression] Bogus "uninitialized" warning
- From: "reichelt at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Jan 2006 14:50:56 -0000
- Subject: [Bug c++/25649] [4.2 regression] Bogus "uninitialized" warning
- References: <bug-25649-2736@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from reichelt at gcc dot gnu dot org 2006-01-04 14:50 -------
Confirmed.
I get the warning with 4.2.0 20060104.
The preprocessed file triggers the warning also with the 4.1 branch.
It looks like Paolo's patch
2006-01-02 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24645
* include/std/std_istream.h (basic_istream<>::_M_extract): New.
(operator>>(bool&), operator>>(short&), operator>>(unsigned short&),
operator>>(int&), operator>>(unsigned int&), operator>>(long&),
operator>>(unsigned long&), operator>>(long long&), operator>>
(unsigned long long&), operator>>(float&), operator>>(double&),
operator>>(long double&), operator>>(void*&)): Use it.
* include/bits/istream.tcc (basic_istream<>::_M_extract): Define.
* include/std/std_ostream.h (basic_ostream<>::_M_insert): New.
(operator<<(long), operator<<(unsigned long), operator<<(bool),
operator<<(short), operator<<(unsigned short), operator<<(int),
operator<<(unsigned int), operator<<(long long), operator<<
(unsigned long long), operator<<(double), operator<<(float),
operator<<(long double), operator<<(const void*): Use it.
* include/bits/ostream.tcc (basic_ostream<>::_M_insert): Define.
* src/istream-inst.cc: Add _M_insert instantiations.
* src/ostream-inst.cc: Add _M_extract instantiations.
* config/abi/pre/gnu.ver: Export the new symbols @GLIBCXX_3.4.7;
detail existing @GLIBCXX_3.4 exports of basic_ostream, num_put,
money_put, etc., symbols to avoid exporting _M_insert symbols
@GLIBCXX_3.4.
introduced the regression.
We probably stumble over an old "uninitialized" warning issue here.
However, the place where it pops up now poses quite a problem.
--
reichelt at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |reichelt at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-01-04 14:50:55
date| |
Summary|[g++, regression?] Bogus |[4.2 regression] Bogus
|"uninitialized" warning |"uninitialized" warning
Target Milestone|--- |4.2.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25649