libstdc++/1894: typename keyword missing on sentry decls in istream.tcc and ostream.tcc

bumgard@roguewave.com bumgard@roguewave.com
Tue Feb 6 16:16:00 GMT 2001


>Number:         1894
>Category:       libstdc++
>Synopsis:       typename keyword missing on sentry decls in istream.tcc and ostream.tcc
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 06 16:16:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Greg Bumgardner
>Release:        2.97
>Organization:
>Environment:
N/A
>Description:
Both bits/istream.tcc and bits/ostream.tcc contain operator
implementations that declare a basic_istream<>::sentry or
basic_ostream<>::sentry objects without using the typename 
keyword to indicate that sentry is a type.
>How-To-Repeat:
Instantiate either basic_istream<> or basic_ostream<> 
classes making sure that the implementation contained in
the .tcc files is parsed by the compiler.
>Fix:
Add the typename keword each occurrence of the following
declaration in namespace-scope operators of bits/istream.tcc :

  __istream_type::sentry __cerb(....

to:

  typename __istream_type::sentry __cerb(...

Similarly, make modify the following declarations in
bits/ostream.tcc:

  __ostream_type::sentry __cerb(...

to:

  typename __ostream_type::sentry __cerb(...
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the Gcc-bugs mailing list