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

Mark Mitchell mark@codesourcery.com
Thu Feb 15 19:38:00 GMT 2001


Unfortunately, this patch:

  2001-02-15  Jeffrey Oldham  <oldham@codesourcery.com>

	  * include/bits/c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS):
	  Define so library is compliant.

didn't get enough testing.  Turning that on doesn't work because the
.tcc files that get included aren't legal C++.  Bummer.

Most of the problems are fixed with this patch.  There were missing
`ios_base::' references and missing `typename' keywords.

What I couldn't figure out how to fix, however, was:

      int_type __plen = static_cast<size_t>(__newlen - __oldlen); 
      char_type __pads[__plen];

and such in ostream.tcc.  This is invalid C++; it uses a
variable-sized array.  The options are: 

  1. Change the algorithm somehow.

  2. Dynamically allocate the memory.

  3. ???

Benjamin, what do you suggest?

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com



More information about the Libstdc++ mailing list