* include/bits/indirect_array.h (indirect_array<>::operator=):
Make copy and assignment operator public. Implement. Format.
* include/bits/valarray_array.h (__valarray_copy): Add overloads
for copy between index arrays. Format.
From-SVN: r43483
2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_raw_storage_iter.h: Format. Correct derivation.
* testsuite/20_util/raw_storage_iterator.cc: Same.
* include/bits/stl_alloc.h (_S_chunk_alloc): Change malloc to
operator new.
(__mem_interface): New typedef for switching between malloc and new.
* testsuite/20_util/allocator_members.cc: New file.
* testsuite/20_util/comparisons.cc: New file.
* testsuite/20_util/pairs.cc: New file.
From-SVN: r43451
* configure.in (auxdir): Replace by ...
(toprel): ... new variable.
(toplevel_srcdir): Construct from $toprel.
* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Use $toprel
rather than .. to locate gcc source directory.
(GLIBCPP_CONFIGURE): Replace $auxdir with $srcdir/$toprel.
* aclocal.m4, configure: Rebuilt.
From-SVN: r43364
* src/globals.cc: Define globals _GLIBCPP_mutex_init (),
_GLIBCPP_mutex_address_init (), _GLIBCPP_once, _GLIBCPP_mutex
and _GLIBCPP_mutex_address.
* include/bits/stl_threads.h (_STL_mutex_lock): Use above to provide
once-only runtime initialization of _M_lock mutex when
__GTHREAD_MUTEX_INIT_FUNCTION is defined.
(__STL_MUTEX_INITIALIZER): Provide initializer for _STL_mutex_lock
for __GTHREAD_MUTEX_INIT_FUNCTION case.
From-SVN: r43360
* testsuite/26_numerics/slice_array_assignment.cc (main): New test.
* include/bits/slice_array.h (slice_array<>::operator=): Make
public and implement.
(slice_array<>::slice_array): Make copy-constructor public.
* include/bits/valarray_array.h (__valarray_copy): Add another
overload to copy between strided arrays.
From-SVN: r43352
libstdc++/2071
* porting.texi: Add documentation about libstdc++-v3-specific
macros that are currently included in os_defines.h files.
* config/basic_file_stdio.h (sys_getc): New method.
(sys_ungetc): New method.
* include/bits/basic_file.h: (sys_getc): New method signature.
(sys_ungetc): New method signature.
* include/bits/fstream.tcc (underflow): Add conditional code
paths which avoid using short seeks on streams (especially
useful when the stream might be interactive or a pipe). At
the moment, this alternate path only avoids seeking when the
``buffer size'' of underflow() is 1 since the C standard only
guarantees buffer space for one ungetc (this technique could
be extended since *-*-solaris* supports buffering for 4 calls
to ungetc and *-*-*bsd* supports buffering limited only by
memory resources). Also, _GLIBCPP_AVOID_FSEEK must be defined
in a port's os_defines.h file for this alternate path to even
be considered. As a bonus, the idiom of using getc/ungetc
requires no system calls whereas fseek maps to one or two
system call(s) on many platforms.
* config/os/bsd/freebsd/bits/os_defines.h (_GLIBCPP_AVOID_FSEEK):
Define it.
* config/os/solaris/solaris2.5/bits/os_defines.h
(_GLIBCPP_AVOID_FSEEK): Likewise.
* config/os/solaris/solaris2.6/bits/os_defines.h
(_GLIBCPP_AVOID_FSEEK): Likewise.
* config/os/solaris/solaris2.7/bits/os_defines.h
(_GLIBCPP_AVOID_FSEEK): Likewise.
From-SVN: r43278
2001-06-12 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/3142
* include/bits/std_sstream.h: Add allocator_type, as per DR 251.
libstdc++/3141
* include/bits/istream.tcc (getline, get): Fix as per DR 243.
libstdc++/3140
* include/bits/std_bitset.h (bitset::set): Fix as per DR 186.
libstdc++/3139
* include/bits/limits_generic.h: Fix as per DR 184.
From-SVN: r43276
2001-06-12 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/3142
* include/bits/std_sstream.h: Add allocator_type, as per DR 251.
libstdc++/3141
* include/bits/istream.tcc (getline, get): Fix as per DR 243.
libstdc++/3140
* include/bits/std_bitset.h (bitset::set): Fix as per DR 186.
libstdc++/3139
* include/bits/limits_generic.h: Fix as per DR 184.
From-SVN: r43273
2001-06-11 Phil Edwards <pme@sources.redhat.com>
* README: Update to reflect reality.
* acinclude.m4: Update descriptions, fix typos. Comment changes only.
* configure.in: Make certain target_alias is set and subst'd for 2.50.
* aclocal.m4: Regenerate.
* configure: Regenerate (with 2.13).
From-SVN: r43203
2001-06-08 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/2767
libstdc++/2989
libstdc++/2992
* include/std/*: Add copyright notice.
* include/c_std/bits/*: Use using statements instead of extern "C".
* include/c_std/bits/std_cmath.h: Don't overload double versions
of math functions with __buitin versions, use global version to
prevent ambiguities. Remove define hacks.
* include/c_std/bits/std_cwchar.h: Using declarations for "C"
functions that have changed signatures and std::
declarations. Remove define hacks.
* include/c_std/bits/std_cwchar.h: Same, plus remove ambiguous
__builtins in std::. Remove define hacks.
* testsuite/17_intro/headers_c.cc: Add tests.
* testsuite/17_intro/headers_c++.cc: Add test.
From-SVN: r43061
* libsupc++/eh_alloc.cc: Ensure that required macros are
defined before including gthr.h. Ensure that we get the
version of gthr.h for which we know how to provide a
configuration.
* libsupc++/eh_globals.cc: Likewise. And, bring the threading
code path into line with the current EH model. Use std, where
appropriate.
Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>
From-SVN: r42999
* config/threads-no.h: Remove file.
* config/threads-posix.h: Remove file.
* acconfig.h (_GLIBCPP_USE_THREADS): Remove.
(_GLIBCPP_SUPPORTS_WEAK): Add (required by namespace-clean gthr*.h).
(_GLIBCPP_HAVE_GTHR_DEFAULT): Likewise.
* config.h.in: Regenerate.
* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Completely rework to
setup and use gthr*.h files. In particular, make gthr.h files
namespace-clean in the staging area (they don't have to be for
libgcc.a).
* aclocal.m4: Regenerate.
* configure: Regenerate.
* src/Makefile.am (build_headers): Remove bits/c++threads.h
and add bits/gthr.h bits/gthr-single.h bits/gthr-default.h.
* src/Makefile.in: Regenerate.
* include/bits/c++config: Cleanup threading configuration macros.
In particular, define __STL_GTHREADS macro which controls...
* include/bits/stl_threads.h: ...a brand new gthr.h-based
configuration here.
* config/c_io_stdio.h: Include staged gthr.h instead of local
thread configuration file. Always use __gthread_mutex_t
instead of __mutext_type (or int).
* include/bits/std_fstream.h: Likewise.
* docs/html/17_intro/howto.html: Remove placeholder comment in
case this configuration patch didn't make it. Add advice that
section only applies if configured with --enable-threads.
* docs/html/23_containers/howto.html: Reword to make clear
that _PTHREADS is no longer required for any port to be
correctly using STL with threads. Add advice that section
only applies if configured with --enable-threads.
Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>
From-SVN: r42998
2001-06-04 Kenny Simpson <theonetruekenny@yahoo.com>
Phil Edwards <pme@sources.redhat.com>
PR libstdc++/3035 and PR libstdc++/3036
* include/bits/stl_pair.h: Fix pair ctor and make_pair according
to LWG DR 181 and 265.
Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>
From-SVN: r42865
* libsupc++/Makefile.am (install-glibcppinstallHEADERS,
uninstall-glibcppinstallHEADERS): Have explicit rules catering to
SUN make VPATH peculiarities.
* libsupc++/Makefile.in: Regenerate.
From-SVN: r42844
* src/Makefile.am (VPATH): Delimit with ":", not space.
* src/Makefile.in: Regenerate.
* configure.in (use of GLIBCPP_CHECK_GNU_MAKE): Don't fail if GNU
make isn't found.
* configure: Regenerate.
From-SVN: r42774