V3 PATCH: Insert `typename' and `ios_base::' where required

Benjamin Kosnik bkoz@redhat.com
Fri Feb 16 12:50:00 GMT 2001

> I submitted a flurry patches yesterday that addressed several of these
> issues (including the typename and ios_base stuff).

thanks for doing this: I'm reviewing them right now.

> I've been instantiating all of the _CharT related stuff using uint16_t
> as the character type, using class of my own design for the _stateT
> type, and custom specializations for char_traits and codecvt stuff.

...then you must know this is an issue that's pretty near and dear to
me. Can you elaborate here? Did you see the __enc_traits stuff? It's
specifically designed to work with this encoding, plus others, using
the approach you are using. I'm assuming you're working on unicode
string... I would love to know your approach. If you post details,
just start another thread with a new subject...


> We do -- but when we do template instantiation we forget that
> __extension__ was specified.  So, in a template instantiation this
> doesn't work.  Fixing that is doable, but non-trivial.

Regardless of the system_header pragma issues, it would be nice if
this worked and we could do stack-based allocations for small
arrays. It would be cool to just use the __extension__ have have it
work properly for template instantiations.

I've reverted this patch temporarily until the other issues are resolved.


More information about the Libstdc++ mailing list