[Patch] Fix libstdc++/7744

Gabriel Dos Reis gdr@integrable-solutions.net
Mon Mar 10 05:25:00 GMT 2003


Nathan Myers <ncm-nospam@cantrip.org> writes:

| On Mon, Mar 10, 2003 at 02:51:10AM +0100, Gabriel Dos Reis wrote:
| > Nathan Myers <ncm-nospam@cantrip.org> writes:
| > | > http://gcc.gnu.org/ml/libstdc++/2003-03/msg00031.html
| > | > 
| > | > In particular:
| > | > 
| > | > >> >Finally, mustn't these members' names be uglified, e.g. _M_no_block
| > | > >> >etc.?
| > | > >> >
| > | > >> The other members of __basic_file<char> aren't and I followed the
| > | > >> existing practice. Should we change all of them?
| > 
| > | It really depends on whether these names come in with a standard header 
| > | file.  If they do, then all the names have to be uglified.  My previous
| > | posting assumed that these classes were only visible if users explicitly
| > | included the file they appear in, but now it appears that they come in
| > | with <iostream>.
| > 
| > Given that <iostream> can include any other standard header, any
| > reserved name used by __basic_file<char> does not need to be uglified.
| 
| Please, let's not confuse matters any further.  Of course standard names
| don't have to be uglified.  At issue are two other concerns: 
| 
| 1. Overloading non-standard functions with standard names.  This creates
|   unnecessary confusion, both in maintainers and users.  If you give 
|   the functions their own unique names, then you have...

The issue in this specific context, as I understand it, is to use
standard name in __basic_file<> context, i.e. member of __basic_file<>.  
Explain how that is creating confusion.

| 2. Non-standard names brought in with standard headers, such (apparently) 
|   as the block() and no_block() members.  Those have to be uglified.

I think, nobody has been disputing that fact.

-- Gaby



More information about the Libstdc++ mailing list