+2004-11-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ * docs/doxygen/doxygroups.cc: Add std::tr1 namespace.
+ * docs/doxygen/run_doxygen: Renames for std::tr1.
+ * docs/doxygen/user.cfg.in: Add cxxabi.h.
+ * include/bits/*.tcc: Add file markup.
+ * include/bits/allocator.h: Add link to allocator.html.
+ * include/bits/atomicity.h: Add file markup.
+ * include/bits/concurrence.h: Same.
+ * include/bits/functexcept.h: Same.
+ * include/ext*: Adjust file markup, remove GCC3 bits.
+ * include/std/*: Adjust file markup, remove bits about renamed files.
+ * libsupc++/cxxabi.h: Add file markup.
+ * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust line numbers.
+
2004-11-22 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (isspace, isprint, isupper,
/** @namespace std
* @brief Everything defined by the ISO C++ Standard is within namespace std.
*/
+/** @namespace std::tr1
+ * @brief Everything defined by the TR1 is within namespace std::tr1.
+*/
/** @namespace __gnu_cxx
* @brief This namespace serves two purposes.
*
# Why didn't I do this at the start? Were rabid weasels eating my brain?
# Who the fsck would "man std_vector" when the class isn't named that?
+for f in std_tr1_*; do
+ newname=`echo $f | sed 's/^std_tr1_/std::tr1::/'`
+ mv $f $newname
+done
for f in std_*; do
newname=`echo $f | sed 's/^std_/std::/'`
mv $f $newname
@srcdir@/libsupc++/exception \
@srcdir@/libsupc++/new \
@srcdir@/libsupc++/typeinfo \
+ @srcdir@/libsupc++/cxxabi.h \
include/algorithm \
include/bitset \
include/deque \
COLS_IN_ALPHA_INDEX = 2
IGNORE_PREFIX = std \
__gnu_cxx \
- __gnu_debug
+ __gnu_debug \
+ std::tr1
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
template<typename _Tp>
class allocator;
+ /// allocator<void> specialization.
template<>
class allocator<void>
{
{ typedef allocator<_Tp1> other; };
};
- /// @brief The "standard" allocator, as per [20.4].
+ /**
+ * @brief The "standard" allocator, as per [20.4].
+ *
+ * Further details:
+ * http://gcc.gnu.org/onlinedocs/libstdc++/20_util/allocator.html
+ */
template<typename _Tp>
class allocator: public ___glibcxx_base_allocator<_Tp>
{
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file atomicity.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _GLIBCXX_ATOMICITY_H
#define _GLIBCXX_ATOMICITY_H 1
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file basic_ios.tcc
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _BASIC_IOS_TCC
#define _BASIC_IOS_TCC 1
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file basic_string.tcc
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 21 Strings library
//
-// This file is included by <string>. It is not meant to be included
-// separately.
-
// Written by Jason Merrill based upon the specification by Takanori Adachi
// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers to ISO-14882.
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file concurrence.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CONCURRENCE_H
#define _CONCURRENCE_H 1
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file fstream.tcc
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 27.8 File-based streams
//
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file functexcept.h
+ * This header provides support for -fno-exceptions.
+ */
+
//
// ISO C++ 14882: 19.1 Exception classes
//
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file istream.tcc
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 27.6.1 Input streams
//
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-// Warning: this file is not meant for user inclusion. Use <locale>.
+/** @file locale_facets.tcc
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
#ifndef _LOCALE_FACETS_TCC
#define _LOCALE_FACETS_TCC 1
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ostream.tcc
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 27.6.2 Output streams
//
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file sstream.tcc
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 27.7 String-based streams
//
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file streambuf.tcc
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 27.5 Stream buffers
//
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file valarray_array.tcc
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
#ifndef _VALARRAY_ARRAY_TCC
/** @file ext/algorithm
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _EXT_ALGORITHM
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ext/array_allocator.h
+ * This file is a GNU extension to the Standard C++ Library.
+ */
+
#ifndef _ARRAY_ALLOCATOR_H
#define _ARRAY_ALLOCATOR_H 1
/** @file ext/bitmap_allocator.h
* This file is a GNU extension to the Standard C++ Library.
- * You should only include this header if you are using GCC 3 or later.
*/
#ifndef _BITMAP_ALLOCATOR_H
/** @file ext/functional
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _EXT_FUNCTIONAL
/** @file ext/hash_fun.h
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _HASH_FUN_H
/** @file ext/hash_map
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _HASH_MAP
/** @file ext/hash_set
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _HASH_SET
/** @file ext/hashtable.h
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _HASHTABLE_H
/** @file ext/iterator
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _EXT_ITERATOR
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ext/malloc_allocator.h
+ * This file is a GNU extension to the Standard C++ Library.
+ */
+
#ifndef _MALLOC_ALLOCATOR_H
#define _MALLOC_ALLOCATOR_H 1
namespace __gnu_cxx
{
/**
- * @brief An allocator that uses malloc
+ * @brief An allocator that uses malloc.
*
* This is precisely the allocator defined in the C++ Standard.
* - all allocation calls malloc
/** @file ext/memory
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _EXT_MEMORY
/** @file ext/mt_allocator.h
* This file is a GNU extension to the Standard C++ Library.
- * You should only include this header if you are using GCC 3 or later.
*/
#ifndef _MT_ALLOCATOR_H
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ext/new_allocator.h
+ * This file is a GNU extension to the Standard C++ Library.
+ */
+
#ifndef _NEW_ALLOCATOR_H
#define _NEW_ALLOCATOR_H 1
/** @file ext/numeric
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _EXT_NUMERIC
// POD character, std::char_traits specialization -*- C++ -*-
-// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ext/pod_char_traits.h
+ * This file is a GNU extension to the Standard C++ Library.
+ */
+
// Gabriel Dos Reis <gdr@integrable-solutions.net>
// Benjamin Kosnik <bkoz@redhat.com>
namespace __gnu_cxx
{
+ /// @brief A POD class that serves as a character abstraction class.
template<typename V, typename I, typename S = mbstate_t>
struct character
{
namespace std
{
- // Provide std::char_traits specialization.
+ /// char_traits<__gnu_cxx::character> specialization.
template<typename V, typename I, typename S>
struct char_traits<__gnu_cxx::character<V, I, S> >
{
/** @file ext/pool_allocator.h
* This file is a GNU extension to the Standard C++ Library.
- * You should only include this header if you are using GCC 3 or later.
*/
+
#ifndef _POOL_ALLOCATOR_H
#define _POOL_ALLOCATOR_H 1
};
- /// @brief Class __pool_alloc.
+ /// @brief class __pool_alloc.
template<typename _Tp>
class __pool_alloc : private __pool_alloc_base
{
/** @file ext/rb_tree
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _RB_TREE
/** @file ext/rope
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _ROPE
/** @file ext/slist
* This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset). You should only
- * include this header if you are using GCC 3 or later.
+ * containing extensions from the HP/SGI STL subset).
*/
#ifndef _SLIST
*/
/** @file
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_ALGORITHM
*/
/** @file bitset
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_BITSET
//
/** @file complex
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_COMPLEX
*/
/** @file deque
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_DEQUE
//
/** @file fstream
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_FSTREAM
*/
/** @file
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_FUNCTIONAL
//
/** @file iomanip
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_IOMANIP
//
/** @file ios
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_IOS
//
/** @file iosfwd
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_IOSFWD
//
/** @file iostream
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_IOSTREAM
//
/** @file istream
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_ISTREAM
*/
/** @file iterator
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_ITERATOR
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file limits
+ * This is a Standard C++ Library header.
+ */
+
// Note: this is not a conforming implementation.
// Written by Gabriel Dos Reis <gdr@codesourcery.com>
// 18.2.1
//
-/** @file limits
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
- */
-
#ifndef _GLIBCXX_NUMERIC_LIMITS
#define _GLIBCXX_NUMERIC_LIMITS 1
// Now there follow 15 explicit specializations. Yes, 15. Make sure
// you get the count right.
+
+ /// numeric_limits<bool> specialization.
template<>
struct numeric_limits<bool>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<char> specialization.
template<>
struct numeric_limits<char>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<signed char> specialization.
template<>
struct numeric_limits<signed char>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<unsigned char> specialization.
template<>
struct numeric_limits<unsigned char>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<wchar_t> specialization.
template<>
struct numeric_limits<wchar_t>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<short> specialization.
template<>
struct numeric_limits<short>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<unsigned short> specialization.
template<>
struct numeric_limits<unsigned short>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<int> specialization.
template<>
struct numeric_limits<int>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<unsigned int> specialization.
template<>
struct numeric_limits<unsigned int>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<long> specialization.
template<>
struct numeric_limits<long>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<unsigned long> specialization.
template<>
struct numeric_limits<unsigned long>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<long long> specialization.
template<>
struct numeric_limits<long long>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<unsigned long long> specialization.
template<>
struct numeric_limits<unsigned long long>
{
static const float_round_style round_style = round_toward_zero;
};
+ /// numeric_limits<float> specialization.
template<>
struct numeric_limits<float>
{
#undef __glibcxx_float_traps
#undef __glibcxx_float_tinyness_before
+ /// numeric_limits<double> specialization.
template<>
struct numeric_limits<double>
{
#undef __glibcxx_double_traps
#undef __glibcxx_double_tinyness_before
+ /// numeric_limits<long double> specialization.
template<>
struct numeric_limits<long double>
{
*/
/** @file list
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_LIST
//
/** @file locale
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_LOCALE
*/
/** @file map
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_MAP
*/
/** @file
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_MEMORY
*/
/** @file
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_NUMERIC
//
/** @file ostream
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_OSTREAM
*/
/** @file queue
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_QUEUE
*/
/** @file set
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_SET
//
/** @file sstream
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_SSTREAM
*/
/** @file stack
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_STACK
//
/** @file stdexcept
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_STDEXCEPT
//
/** @file streambuf
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBXX_STREAMBUF
//
/** @file string
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_STRING
*/
/** @file utility
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_UTILITY
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
/** @file valarray
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_VALARRAY
*/
/** @file vector
- * This is a Standard C++ Library header. You should @c #include this header
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * This is a Standard C++ Library header.
*/
#ifndef _GLIBCXX_VECTOR
is includable from both C and C++. Though the C++ specific parts are not
available in C, naturally enough. */
+/** @file cxxabi.h
+ * The header provides an interface to the C++ ABI.
+ */
+
#ifndef _CXXABI_H
#define _CXXABI_H 1
test01();
return 0;
}
-// { dg-error "candidates" "" { target *-*-* } 224 }
-// { dg-error "std::auto_ptr" "" { target *-*-* } 354 }
+// { dg-error "candidates" "" { target *-*-* } 223 }
+// { dg-error "std::auto_ptr" "" { target *-*-* } 353 }