[libstdc++] Rotate ChangeLog, update docs/comments, remove deprecated bits

Phil Edwards phil@jaj.com
Sun Jan 12 02:56:00 GMT 2003


I've regenerated the doxygen input file, and added an example of how to
use the hidden rdbuf() function to the doxygenated comments.  I've done
the yearly ChangeLog rotation for v3 also.

The "make good on deprecated threat" patch posted/tested here

    http://gcc.gnu.org/ml/libstdc++/2002-12/msg00345.html

has now finally been applied.

The total patch (modulo ChangeLog) is below for reference.


2003-01-11  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/tables.html:  Finished now.
	* docs/doxygen/user.cfg.in:  Update to latest version of Doxygen.
	* include/bits/basic_ios.h (basic_ios::rdbuf):  Add example to
	comments.

	* include/bits/deque.tcc, include/bits/stl_alloc.h,
	include/bits/stl_deque.h, include/bits/stl_list.h,
	include/bits/stl_vector.h:  Remove _GLIBCPP_DEPRECATED bits scheduled
	for 3.4 removal.


Index: docs/doxygen/tables.html
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/doxygen/tables.html,v
retrieving revision 1.3
diff -u -3 -p -r1.3 tables.html
--- docs/doxygen/tables.html	16 Jun 2002 11:29:50 -0000	1.3
+++ docs/doxygen/tables.html	12 Jan 2003 02:51:00 -0000
@@ -31,10 +31,6 @@
    are also noted or incorporated.
 </p>
 
-<p class="smallertext">This will probably be incomplete for a while because
-filling out the tables is mind-frothingly boring.  Also, the HTML table
-rendering is ugly.  (Update:  mozilla 0.9.9 looks MUCH better.)</p>
-
 <hr />
 
 <a name="65"><p>
Index: docs/doxygen/user.cfg.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/doxygen/user.cfg.in,v
retrieving revision 1.21
diff -u -3 -p -r1.21 user.cfg.in
--- docs/doxygen/user.cfg.in	21 Nov 2002 07:15:56 -0000	1.21
+++ docs/doxygen/user.cfg.in	12 Jan 2003 02:51:00 -0000
@@ -1,4 +1,4 @@
-# Doxyfile 1.2.18
+# Doxyfile 1.3-rc2
 
 # This file describes the settings to be used by the documentation system
 # doxygen (www.doxygen.org) for a project
@@ -43,12 +43,11 @@ OUTPUT_DIRECTORY       = @outdir@
 # documentation generated by doxygen is written. Doxygen will use this 
 # information to generate all constant output in the proper language. 
 # The default language is English, other supported languages are: 
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
-# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese,
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, 
+# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en 
+# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese, 
 # Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian.
 
-
 OUTPUT_LANGUAGE        = English
 
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
@@ -68,8 +67,8 @@ EXTRACT_PRIVATE        = YES
 
 EXTRACT_STATIC         = YES
 
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
 # If set to NO only classes defined in header files are included.
 
 EXTRACT_LOCAL_CLASSES  = NO
@@ -89,13 +88,20 @@ HIDE_UNDOC_MEMBERS     = YES
 
 HIDE_UNDOC_CLASSES     = YES
 
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
 # documentation.
 
 HIDE_FRIEND_COMPOUNDS  = NO
 
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
 # include brief member descriptions after the members that are listed in 
 # the file and class documentation (similar to JavaDoc). 
@@ -104,7 +110,7 @@ HIDE_FRIEND_COMPOUNDS  = NO
 BRIEF_MEMBER_DESC      = YES
 
 # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
+# the brief description of a member or function before the detailed description.
 # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
 # brief descriptions will be completely suppressed.
 
@@ -116,9 +122,9 @@ REPEAT_BRIEF           = YES
 
 ALWAYS_DETAILED_SEC    = YES
 
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
-# members of a class in the documentation of that class as if those members were
-# ordinary class members. Constructors, destructors and assignment operators of
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
+# members of a class in the documentation of that class as if those members were 
+# ordinary class members. Constructors, destructors and assignment operators of 
 # the base classes will not be shown.
 
 INLINE_INHERITED_MEMB  = NO
@@ -144,12 +150,6 @@ STRIP_FROM_PATH        = 
 
 INTERNAL_DOCS          = NO
 
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
 # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
 # file names in lower case letters. If set to YES upper case letters are also 
 # allowed. This is useful if you have classes or files whose names only differ 
@@ -190,17 +190,17 @@ SHOW_INCLUDE_FILES     = YES
 
 JAVADOC_AUTOBRIEF      = NO
 
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
 # description. Set this tag to YES if you prefer the old behaviour instead.
 
 MULTILINE_CPP_IS_BRIEF = YES
 
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
 # will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
+# If set to NO, the detailed description appears after the member 
 # documentation.
 
 DETAILS_AT_TOP         = NO
@@ -253,8 +253,8 @@ GENERATE_TESTLIST      = NO
 
 GENERATE_BUGLIST       = YES
 
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
 # \deprecated commands in the documentation.
 
 GENERATE_DEPRECATEDLIST= YES
@@ -267,7 +267,7 @@ GENERATE_DEPRECATEDLIST= YES
 # You can put \n's in the value part of an alias to insert newlines.
 
 ALIASES                = "doctodo=@todo\nDoc me!  See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more." \
-"isiosfwd=One of the @link s27_2_iosfwd I/O forward declarations @endlink"
+                         "isiosfwd=One of the @link s27_2_iosfwd I/O forward declarations @endlink"
 
 # The ENABLED_SECTIONS tag can be used to enable conditional 
 # documentation sections, marked by \if sectionname ... \endif.
@@ -291,9 +291,9 @@ MAX_INITIALIZER_LINES  = 0
 
 OPTIMIZE_OUTPUT_FOR_C  = NO
 
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
-# only. Doxygen will then generate output that is more tailored for Java.
-# For instance namespaces will be presented as packages, qualified scopes
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
+# only. Doxygen will then generate output that is more tailored for Java. 
+# For instance namespaces will be presented as packages, qualified scopes 
 # will look different, etc.
 
 OPTIMIZE_OUTPUT_JAVA   = NO
@@ -325,6 +325,13 @@ WARNINGS               = NO
 
 WARN_IF_UNDOCUMENTED   = NO
 
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = NO
+
 # The WARN_FORMAT tag determines the format of the warning messages that 
 # doxygen can produce. The string should contain the $file, $line, and $text 
 # tags, which will be replaced by the file and line number from which the 
@@ -375,9 +382,10 @@ RECURSIVE              = YES
 # excluded from the INPUT source files. This way you can easily exclude a 
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
 
-EXCLUDE                = Makefile CVS
+EXCLUDE                = Makefile \
+                         CVS
 
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
 # that are symbolic links (a Unix filesystem feature) are excluded from the input.
 
 EXCLUDE_SYMLINKS       = NO
@@ -387,8 +395,8 @@ EXCLUDE_SYMLINKS       = NO
 # certain files from those directories.
 
 EXCLUDE_PATTERNS       = CVS \
-                         stamp-*  \
-			 Makefile
+                         stamp-* \
+                         Makefile
 
 # The EXAMPLE_PATH tag can be used to specify one or more files or 
 # directories that contain example code fragments that are included (see 
@@ -445,6 +453,12 @@ SOURCE_BROWSER         = YES
 
 INLINE_SOURCES         = NO
 
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
 # If the REFERENCED_BY_RELATION tag is set to YES (the default) 
 # then for each documented function all documented 
 # functions referencing it will be listed.
@@ -533,19 +547,19 @@ HTML_ALIGN_MEMBERS     = YES
 
 GENERATE_HTMLHELP      = NO
 
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
 # written to the html output dir.
 
-CHM_FILE               =
+CHM_FILE               = 
 
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non empty doxygen will try to run
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non empty doxygen will try to run 
 # the html help compiler on the generated index.hhp.
 
-HHC_LOCATION           =
+HHC_LOCATION           = 
 
 # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
 # controls if a separate .chi index file is generated (YES) or that 
@@ -606,13 +620,13 @@ GENERATE_LATEX         = NO
 
 LATEX_OUTPUT           = latex
 
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to
-# be invoked. If left blank `latex' will be used as the default command name.
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
 
 LATEX_CMD_NAME         = latex
 
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
 # default command name.
 
 MAKEINDEX_CMD_NAME     = makeindex
@@ -723,10 +737,10 @@ MAN_OUTPUT             = man
 
 MAN_EXTENSION          = .3
 
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
 # would be unable to find the correct page. The default is NO.
 
 MAN_LINKS              = NO
@@ -743,31 +757,64 @@ MAN_LINKS              = NO
 
 GENERATE_XML           = NO
 
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
 # syntax of the XML files.
 
-XML_SCHEMA             =
+XML_SCHEMA             = 
 
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
 # syntax of the XML files.
 
-XML_DTD                =
+XML_DTD                = 
 
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
 # and incomplete at the moment.
 
 GENERATE_AUTOGEN_DEF   = NO
 
 #---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
 # Configuration options related to the preprocessor   
 #---------------------------------------------------------------------------
 
@@ -860,8 +907,8 @@ GENERATE_TAGFILE       = 
 
 ALLEXTERNALS           = YES
 
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
 # be listed.
 
 EXTERNAL_GROUPS        = YES
@@ -883,8 +930,8 @@ PERL_PATH              = /usr/bin/perl
 
 CLASS_DIAGRAMS         = YES
 
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
 # or is not a class.
 
 HIDE_UNDOC_RELATIONS   = YES
@@ -934,7 +981,7 @@ INCLUDED_BY_GRAPH      = YES
 
 GRAPHICAL_HIERARCHY    = YES
 
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
 # generated by dot. Possible values are png, jpg, or gif
 # If left blank png will be used.
 
@@ -1022,6 +1069,3 @@ BIN_ABSPATH            = /usr/local/bin/
 # the documentation for these projects as well.
 
 EXT_DOC_PATHS          = 
-
-### End of file.
-
Index: include/bits/basic_ios.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/bits/basic_ios.h,v
retrieving revision 1.14
diff -u -3 -p -r1.14 basic_ios.h
--- include/bits/basic_ios.h	21 Nov 2002 07:06:40 -0000	1.14
+++ include/bits/basic_ios.h	12 Jan 2003 02:51:00 -0000
@@ -302,7 +302,14 @@ namespace std 
        *  in derived classes by overrides of the zero-argument @c rdbuf(),
        *  which is non-virtual for hysterical raisins.  As a result, you
        *  must use explicit qualifications to access this function via any
-       *  derived class.
+       *  derived class.  For example:
+       *
+       *  @code
+       *  std::fstream     foo;         // or some other derived type
+       *  std::streambuf*  p = .....;
+       *
+       *  foo.ios::rdbuf(p);            // ios == basic_ios<char>
+       *  @endcode
       */
       basic_streambuf<_CharT, _Traits>* 
       rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
Index: include/bits/deque.tcc
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/bits/deque.tcc,v
retrieving revision 1.4
diff -u -3 -p -r1.4 deque.tcc
--- include/bits/deque.tcc	16 Dec 2002 18:22:58 -0000	1.4
+++ include/bits/deque.tcc	12 Jan 2003 02:51:00 -0000
@@ -328,29 +328,6 @@ namespace std
         }
     }
     
-  #ifdef _GLIBCPP_DEPRECATED
-  // Called only if _M_finish._M_cur == _M_finish._M_last - 1.
-  template <typename _Tp, typename _Alloc>
-    void
-    deque<_Tp,_Alloc>::
-    _M_push_back_aux()
-    {
-      _M_reserve_map_at_back();
-      *(_M_finish._M_node + 1) = _M_allocate_node();
-      try
-        {
-          _Construct(_M_finish._M_cur);
-          _M_finish._M_set_node(_M_finish._M_node + 1);
-          _M_finish._M_cur = _M_finish._M_first;
-        }
-      catch(...)
-        {
-          _M_deallocate_node(*(_M_finish._M_node + 1));
-          __throw_exception_again;
-        }
-    }
-  #endif
-    
   // Called only if _M_start._M_cur == _M_start._M_first.
   template <typename _Tp, typename _Alloc>
     void
@@ -374,30 +351,6 @@ namespace std
         }
     } 
     
-  #ifdef _GLIBCPP_DEPRECATED
-  // Called only if _M_start._M_cur == _M_start._M_first.
-  template <typename _Tp, typename _Alloc>
-    void
-    deque<_Tp,_Alloc>::
-    _M_push_front_aux()
-    {
-      _M_reserve_map_at_front();
-      *(_M_start._M_node - 1) = _M_allocate_node();
-      try
-        {
-          _M_start._M_set_node(_M_start._M_node - 1);
-          _M_start._M_cur = _M_start._M_last - 1;
-          _Construct(_M_start._M_cur);
-        }
-      catch(...)
-        {
-          ++_M_start;
-          _M_deallocate_node(*(_M_start._M_node - 1));
-          __throw_exception_again;
-        }
-    } 
-  #endif
-    
   // Called only if _M_finish._M_cur == _M_finish._M_first.
   template <typename _Tp, typename _Alloc>
     void deque<_Tp,_Alloc>::
@@ -507,44 +460,6 @@ namespace std
       *__pos = __x_copy;
       return __pos;
     }
-    
-  #ifdef _GLIBCPP_DEPRECATED
-  // Nothing seems to actually use this.  According to the pattern followed by
-  // the rest of the SGI code, it would be called by the deprecated insert(pos)
-  // function, but that has been replaced.  We'll take our time removing this
-  // anyhow; mark for 3.4.  -pme
-  template <typename _Tp, typename _Alloc>
-    typename deque<_Tp,_Alloc>::iterator 
-    deque<_Tp,_Alloc>::
-    _M_insert_aux(iterator __pos)
-    {
-      difference_type __index = __pos - _M_start;
-      if (static_cast<size_type>(__index) < size() / 2)
-      {
-        push_front(front());
-        iterator __front1 = _M_start;
-        ++__front1;
-        iterator __front2 = __front1;
-        ++__front2;
-        __pos = _M_start + __index;
-        iterator __pos1 = __pos;
-        ++__pos1;
-        copy(__front2, __pos1, __front1);
-      }
-      else
-      {
-        push_back(back());
-        iterator __back1 = _M_finish;
-        --__back1;
-        iterator __back2 = __back1;
-        --__back2;
-        __pos = _M_start + __index;
-        copy_backward(__pos, __back2, __back1);
-      }
-      *__pos = value_type();
-      return __pos;
-    }
-  #endif
     
   template <typename _Tp, typename _Alloc>
     void
Index: include/bits/stl_alloc.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/bits/stl_alloc.h,v
retrieving revision 1.26
diff -u -3 -p -r1.26 stl_alloc.h
--- include/bits/stl_alloc.h	16 Nov 2002 17:16:28 -0000	1.26
+++ include/bits/stl_alloc.h	12 Jan 2003 02:51:01 -0000
@@ -74,10 +74,6 @@
  *  into a "standard" one.
  *  @endif
  *
- *  @note The @c reallocate member functions have been deprecated for 3.2
- *        and will be removed in 3.4.  You must define @c _GLIBCPP_DEPRECATED
- *        to make this visible in 3.2; see c++config.h.
- *
  *  The canonical description of these classes is in docs/html/ext/howto.html
  *  or online at http://gcc.gnu.org/onlinedocs/libstdc++/ext/howto.html#3
 */
@@ -129,9 +125,6 @@ namespace std
     {
     private:
       static void* _S_oom_malloc(size_t);
-#ifdef _GLIBCPP_DEPRECATED
-      static void* _S_oom_realloc(void*, size_t);
-#endif
       static void (* __malloc_alloc_oom_handler)();
 
     public:
@@ -148,17 +141,6 @@ namespace std
       deallocate(void* __p, size_t /* __n */)
       { free(__p); }
 
-#ifdef _GLIBCPP_DEPRECATED
-      static void*
-      reallocate(void* __p, size_t /* old_sz */, size_t __new_sz)
-      {
-        void* __result = realloc(__p, __new_sz);
-        if (__builtin_expect(__result == 0, 0))
-          __result = _S_oom_realloc(__p, __new_sz);
-        return __result;
-      }
-#endif
-
       static void (* __set_malloc_handler(void (*__f)()))()
       {
         void (* __old)() = __malloc_alloc_oom_handler;
@@ -191,28 +173,6 @@ namespace std
         }
     }
 
-#ifdef _GLIBCPP_DEPRECATED
-  template<int __inst>
-    void*
-    __malloc_alloc_template<__inst>::
-    _S_oom_realloc(void* __p, size_t __n)
-    {
-      void (* __my_malloc_handler)();
-      void* __result;
-
-      for (;;)
-        {
-          __my_malloc_handler = __malloc_alloc_oom_handler;
-          if (__builtin_expect(__my_malloc_handler == 0, 0))
-            __throw_bad_alloc();
-          (*__my_malloc_handler)();
-          __result = realloc(__p, __n);
-          if (__result)
-            return __result;
-        }
-    }
-#endif
-
   // Should not be referenced within the library anymore.
   typedef __new_alloc                 __mem_interface;
 
@@ -292,20 +252,6 @@ namespace std
         assert(*(size_t*)__real_p == __n);
         _Alloc::deallocate(__real_p, __n + (int) _S_extra);
       }
-
-#ifdef _GLIBCPP_DEPRECATED
-      static void*
-      reallocate(void* __p, size_t __old_sz, size_t __new_sz)
-      {
-        char* __real_p = (char*)__p - (int) _S_extra;
-        assert(*(size_t*)__real_p == __old_sz);
-        char* __result = (char*) _Alloc::reallocate(__real_p, 
-						    __old_sz + (int) _S_extra,
-						    __new_sz + (int) _S_extra);
-        *(size_t*)__result = __new_sz;
-        return __result + (int) _S_extra;
-      }
-#endif
     };
 
 
@@ -455,11 +401,6 @@ namespace std
 	    *__my_free_list = __q;
 	  }
       }
-
-#ifdef _GLIBCPP_DEPRECATED
-      static void*
-      reallocate(void* __p, size_t __old_sz, size_t __new_sz);
-#endif
     };
 
   template<bool __threads, int __inst> _Atomic_word
@@ -590,27 +531,6 @@ namespace std
       return __result;
     }
 
-
-#ifdef _GLIBCPP_DEPRECATED
-  template<bool threads, int inst>
-    void*
-    __default_alloc_template<threads, inst>::
-    reallocate(void* __p, size_t __old_sz, size_t __new_sz)
-    {
-      void* __result;
-      size_t __copy_sz;
-
-      if (__old_sz > (size_t) _MAX_BYTES && __new_sz > (size_t) _MAX_BYTES)
-        return(realloc(__p, __new_sz));
-      if (_S_round_up(__old_sz) == _S_round_up(__new_sz))
-        return(__p);
-      __result = allocate(__new_sz);
-      __copy_sz = __new_sz > __old_sz? __old_sz : __new_sz;
-      memcpy(__result, __p, __copy_sz);
-      deallocate(__p, __old_sz);
-      return __result;
-    }
-#endif
 
   template<bool __threads, int __inst>
     _STL_mutex_lock
Index: include/bits/stl_deque.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/bits/stl_deque.h,v
retrieving revision 1.33
diff -u -3 -p -r1.33 stl_deque.h
--- include/bits/stl_deque.h	27 Dec 2002 23:03:02 -0000	1.33
+++ include/bits/stl_deque.h	12 Jan 2003 02:51:01 -0000
@@ -1025,31 +1025,6 @@ namespace std
         _M_push_front_aux(__x);
     }
   
-  #ifdef _GLIBCPP_DEPRECATED
-    /**
-     *  @brief  Add data to the front of the %deque.
-     *
-     *  This is a typical stack operation.  The function creates a
-     *  default-constructed element at the front of the %deque.  Due to the
-     *  nature of a %deque this operation can be done in constant time.  You
-     *  should consider using push_front(value_type()) instead.
-     *
-     *  @note This was deprecated in 3.2 and will be removed in 3.4.  You must
-     *        define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
-     *        c++config.h.
-    */
-    void
-    push_front()
-    {
-      if (_M_start._M_cur != _M_start._M_first) {
-        _Construct(_M_start._M_cur - 1);
-        --_M_start._M_cur;
-      }
-      else
-        _M_push_front_aux();
-    }
-  #endif
-  
     /**
      *  @brief  Add data to the end of the %deque.
      *  @param  x  Data to be added.
@@ -1069,31 +1044,6 @@ namespace std
         _M_push_back_aux(__x);
     }
   
-  #ifdef _GLIBCPP_DEPRECATED
-    /**
-     *  @brief  Add data to the end of the %deque.
-     *
-     *  This is a typical stack operation.  The function creates a
-     *  default-constructed element at the end of the %deque.  Due to the nature
-     *  of a %deque this operation can be done in constant time.  You should
-     *  consider using push_back(value_type()) instead.
-     *
-     *  @note This was deprecated in 3.2 and will be removed in 3.4.  You must
-     *        define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
-     *        c++config.h.
-    */
-    void
-    push_back()
-    {
-      if (_M_finish._M_cur != _M_finish._M_last - 1) {
-        _Construct(_M_finish._M_cur);
-        ++_M_finish._M_cur;
-      }
-      else
-        _M_push_back_aux();
-    }
-  #endif
-  
     /**
      *  @brief  Removes first element.
      *
@@ -1144,25 +1094,6 @@ namespace std
     iterator
     insert(iterator position, const value_type& __x);
   
-  #ifdef _GLIBCPP_DEPRECATED
-    /**
-     *  @brief  Inserts an element into the %deque.
-     *  @param  position  An iterator into the %deque.
-     *  @return  An iterator that points to the inserted element.
-     *
-     *  This function will insert a default-constructed element before the
-     *  specified location.  You should consider using
-     *  insert(position,value_type()) instead.
-     *
-     *  @note This was deprecated in 3.2 and will be removed in 3.4.  You must
-     *        define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
-     *        c++config.h.
-    */
-    iterator
-    insert(iterator __position)
-    { return insert(__position, value_type()); }
-  #endif
-  
     /**
      *  @brief  Inserts a number of copies of given data into the %deque.
      *  @param  position  An iterator into the %deque.
@@ -1392,10 +1323,6 @@ namespace std
     */
     void _M_push_back_aux(const value_type&);
     void _M_push_front_aux(const value_type&);
-  #ifdef _GLIBCPP_DEPRECATED
-    void _M_push_back_aux();
-    void _M_push_front_aux();
-  #endif
     void _M_pop_back_aux();
     void _M_pop_front_aux();
     //@}
@@ -1458,11 +1385,6 @@ namespace std
       _M_insert_aux(iterator __pos, 
                     _ForwardIterator __first, _ForwardIterator __last,
                     size_type __n);
-  
-  #ifdef _GLIBCPP_DEPRECATED
-    // unused, see comment in implementation
-    iterator _M_insert_aux(iterator __pos);
-  #endif
   
     //@{
     /**
Index: include/bits/stl_list.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/bits/stl_list.h,v
retrieving revision 1.22
diff -u -3 -p -r1.22 stl_list.h
--- include/bits/stl_list.h	23 Dec 2002 17:36:24 -0000	1.22
+++ include/bits/stl_list.h	12 Jan 2003 02:51:01 -0000
@@ -702,23 +702,6 @@ namespace std
     void
     push_front(const value_type& __x) { this->insert(begin(), __x); }
   
-  #ifdef _GLIBCPP_DEPRECATED
-    /**
-     *  @brief  Add data to the front of the %list.
-     *
-     *  This is a typical stack operation.  The function creates a
-     *  default-constructed element at the front of the %list.  Due to the
-     *  nature of a %list this operation can be done in constant time.  You
-     *  should consider using push_front(value_type()) instead.
-     *
-     *  @note This was deprecated in 3.2 and will be removed in 3.4.  You must
-     *        define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
-     *        c++config.h.
-    */
-    void
-    push_front() { this->insert(begin(), value_type()); }
-  #endif
-  
     /**
      *  @brief  Removes first element.
      *
@@ -745,23 +728,6 @@ namespace std
     void
     push_back(const value_type& __x) { this->insert(end(), __x); }
   
-  #ifdef _GLIBCPP_DEPRECATED
-    /**
-     *  @brief  Add data to the end of the %list.
-     *
-     *  This is a typical stack operation.  The function creates a
-     *  default-constructed element at the end of the %list.  Due to the nature
-     *  of a %list this operation can be done in constant time.  You should
-     *  consider using push_back(value_type()) instead.
-     *
-     *  @note This was deprecated in 3.2 and will be removed in 3.4.  You must
-     *        define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
-     *        c++config.h.
-    */
-    void
-    push_back() { this->insert(end(), value_type()); }
-  #endif
-  
     /**
      *  @brief  Removes last element.
      *
@@ -793,26 +759,6 @@ namespace std
     */
     iterator
     insert(iterator __position, const value_type& __x);
-  
-  #ifdef _GLIBCPP_DEPRECATED
-    /**
-     *  @brief  Inserts an element into the %list.
-     *  @param  position  An iterator into the %list.
-     *  @return  An iterator that points to the inserted element.
-     *
-     *  This function will insert a default-constructed element before the
-     *  specified location.  You should consider using
-     *  insert(position,value_type()) instead.
-     *  Due to the nature of a %list this operation can be done in constant
-     *  time, and does not invalidate iterators and references.
-     *
-     *  @note This was deprecated in 3.2 and will be removed in 3.4.  You must
-     *        define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see
-     *        c++config.h.
-    */
-    iterator
-    insert(iterator __position) { return insert(__position, value_type()); }
-  #endif
   
     /**
      *  @brief  Inserts a number of copies of given data into the %list.
Index: include/bits/stl_vector.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/bits/stl_vector.h,v
retrieving revision 1.32
diff -u -3 -p -r1.32 stl_vector.h
--- include/bits/stl_vector.h	23 Dec 2002 17:36:24 -0000	1.32
+++ include/bits/stl_vector.h	12 Jan 2003 02:51:01 -0000
@@ -631,28 +631,7 @@ namespace std
        */
       iterator
       insert(iterator __position, const value_type& __x);
-  
-#ifdef _GLIBCPP_DEPRECATED
-      /**
-       *  @brief  Inserts an element into the %vector.
-       *  @param  position  An iterator into the %vector.
-       *  @return  An iterator that points to the inserted element.
-       *
-       *  This function will insert a default-constructed element
-       *  before the specified location.  You should consider using
-       *  insert(position,value_type()) instead.  Note that this kind
-       *  of operation could be expensive for a vector and if it is
-       *  frequently used the user should consider using std::list.
-       *
-       *  @note This was deprecated in 3.2 and will be removed in 3.4.
-       *  You must define @c _GLIBCPP_DEPRECATED to make this visible
-       *  in 3.2; see c++config.h.
-       */
-      iterator
-      insert(iterator __position)
-      { return insert(__position, value_type()); }
-#endif
-      
+
       /**
        *  @brief  Inserts a number of copies of given data into the %vector.
        *  @param  position  An iterator into the %vector.
@@ -913,11 +892,6 @@ namespace std
       // Called by insert(p,x)
       void
       _M_insert_aux(iterator __position, const value_type& __x);
-      
-#ifdef _GLIBCPP_DEPRECATED
-      // Unused now (same situation as in deque)
-      void _M_insert_aux(iterator __position);
-#endif
     };
   
   



More information about the Gcc-patches mailing list