From: Gabriel Dos Reis Date: Tue, 16 Jul 2002 00:19:18 +0000 (+0000) Subject: Makefile.am (bits_headers): Remove slice.h X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5068f5468592fea84a6a9e758bee4f40c4ee58b9;p=platform%2Fupstream%2Fgcc.git Makefile.am (bits_headers): Remove slice.h * include/Makefile.am (bits_headers): Remove slice.h * include/Makefile.in: Regenerate. * include/bits/slice.h (slice): move to include/bits/slice_array.h * include/bits/slice.h Remove. * include/std/std_valarray.h: Don't #include bits/slice.h anymore. * include/bits/slice_array.h: Comply to official coding styles. * testsuite/26_numerics/slice.cc: New test. :w :q From-SVN: r55470 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 81c0cb8..7f6f583 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2002-07-16 Gabriel Dos Reis + + * include/Makefile.am (bits_headers): Remove slice.h + * include/Makefile.in: Regenerate. + * include/bits/slice.h (slice): move to include/bits/slice_array.h + * include/bits/slice.h Remove. + * include/std/std_valarray.h: Don't #include bits/slice.h anymore. + * include/bits/slice_array.h: Comply to official coding styles. + * testsuite/26_numerics/slice.cc: New test. + 2002-07-15 Rainer Orth * config/os/solaris/solaris2.5/ctype_base.h (ctype_base): Fix diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am index c24fb5e..db81fc7 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am @@ -62,7 +62,6 @@ bits_headers = \ ${bits_srcdir}/pthread_allocimpl.h \ ${bits_srcdir}/stream_iterator.h \ ${bits_srcdir}/streambuf_iterator.h \ - ${bits_srcdir}/slice.h \ ${bits_srcdir}/slice_array.h \ ${bits_srcdir}/sstream.tcc \ ${bits_srcdir}/stl_algo.h \ diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 91e52da..b91493d 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -139,308 +139,59 @@ glibcpp_builddir = @glibcpp_builddir@ bits_srcdir = ${glibcpp_srcdir}/include/bits bits_builddir = ./bits -bits_headers = \ - ${bits_srcdir}/basic_ios.h \ - ${bits_srcdir}/basic_ios.tcc \ - ${bits_srcdir}/basic_string.h \ - ${bits_srcdir}/basic_string.tcc \ - ${bits_srcdir}/boost_concept_check.h \ - ${bits_srcdir}/char_traits.h \ - ${bits_srcdir}/codecvt.h \ - ${bits_srcdir}/concept_check.h \ - ${bits_srcdir}/cpp_type_traits.h \ - ${bits_srcdir}/deque.tcc \ - ${bits_srcdir}/fpos.h \ - ${bits_srcdir}/fstream.tcc \ - ${bits_srcdir}/functexcept.h \ - ${bits_srcdir}/generic_shadow.h \ - ${bits_srcdir}/gslice.h \ - ${bits_srcdir}/gslice_array.h \ - ${bits_srcdir}/indirect_array.h \ - ${bits_srcdir}/ios_base.h \ - ${bits_srcdir}/istream.tcc \ - ${bits_srcdir}/list.tcc \ - ${bits_srcdir}/locale_facets.h \ - ${bits_srcdir}/locale_facets.tcc \ - ${bits_srcdir}/localefwd.h \ - ${bits_srcdir}/mask_array.h \ - ${bits_srcdir}/ostream.tcc \ - ${bits_srcdir}/pthread_allocimpl.h \ - ${bits_srcdir}/stream_iterator.h \ - ${bits_srcdir}/streambuf_iterator.h \ - ${bits_srcdir}/slice.h \ - ${bits_srcdir}/slice_array.h \ - ${bits_srcdir}/sstream.tcc \ - ${bits_srcdir}/stl_algo.h \ - ${bits_srcdir}/stl_algobase.h \ - ${bits_srcdir}/stl_alloc.h \ - ${bits_srcdir}/stl_bvector.h \ - ${bits_srcdir}/stl_construct.h \ - ${bits_srcdir}/stl_deque.h \ - ${bits_srcdir}/stl_function.h \ - ${bits_srcdir}/stl_heap.h \ - ${bits_srcdir}/stl_iterator.h \ - ${bits_srcdir}/stl_iterator_base_funcs.h \ - ${bits_srcdir}/stl_iterator_base_types.h \ - ${bits_srcdir}/stl_list.h \ - ${bits_srcdir}/stl_map.h \ - ${bits_srcdir}/stl_multimap.h \ - ${bits_srcdir}/stl_multiset.h \ - ${bits_srcdir}/stl_numeric.h \ - ${bits_srcdir}/stl_pair.h \ - ${bits_srcdir}/stl_pthread_alloc.h \ - ${bits_srcdir}/stl_queue.h \ - ${bits_srcdir}/stl_raw_storage_iter.h \ - ${bits_srcdir}/stl_relops.h \ - ${bits_srcdir}/stl_set.h \ - ${bits_srcdir}/stl_stack.h \ - ${bits_srcdir}/stl_tempbuf.h \ - ${bits_srcdir}/stl_threads.h \ - ${bits_srcdir}/stl_tree.h \ - ${bits_srcdir}/stl_uninitialized.h \ - ${bits_srcdir}/stl_vector.h \ - ${bits_srcdir}/streambuf.tcc \ - ${bits_srcdir}/stringfwd.h \ - ${bits_srcdir}/type_traits.h \ - ${bits_srcdir}/valarray_array.h \ - ${bits_srcdir}/valarray_array.tcc \ - ${bits_srcdir}/valarray_meta.h \ - ${bits_srcdir}/vector.tcc +bits_headers = ${bits_srcdir}/basic_ios.h ${bits_srcdir}/basic_ios.tcc ${bits_srcdir}/basic_string.h ${bits_srcdir}/basic_string.tcc ${bits_srcdir}/boost_concept_check.h ${bits_srcdir}/char_traits.h ${bits_srcdir}/codecvt.h ${bits_srcdir}/concept_check.h ${bits_srcdir}/cpp_type_traits.h ${bits_srcdir}/deque.tcc ${bits_srcdir}/fpos.h ${bits_srcdir}/fstream.tcc ${bits_srcdir}/functexcept.h ${bits_srcdir}/generic_shadow.h ${bits_srcdir}/gslice.h ${bits_srcdir}/gslice_array.h ${bits_srcdir}/indirect_array.h ${bits_srcdir}/ios_base.h ${bits_srcdir}/istream.tcc ${bits_srcdir}/list.tcc ${bits_srcdir}/locale_facets.h ${bits_srcdir}/locale_facets.tcc ${bits_srcdir}/localefwd.h ${bits_srcdir}/mask_array.h ${bits_srcdir}/ostream.tcc ${bits_srcdir}/pthread_allocimpl.h ${bits_srcdir}/stream_iterator.h ${bits_srcdir}/streambuf_iterator.h ${bits_srcdir}/slice_array.h ${bits_srcdir}/sstream.tcc ${bits_srcdir}/stl_algo.h ${bits_srcdir}/stl_algobase.h ${bits_srcdir}/stl_alloc.h ${bits_srcdir}/stl_bvector.h ${bits_srcdir}/stl_construct.h ${bits_srcdir}/stl_deque.h ${bits_srcdir}/stl_function.h ${bits_srcdir}/stl_heap.h ${bits_srcdir}/stl_iterator.h ${bits_srcdir}/stl_iterator_base_funcs.h ${bits_srcdir}/stl_iterator_base_types.h ${bits_srcdir}/stl_list.h ${bits_srcdir}/stl_map.h ${bits_srcdir}/stl_multimap.h ${bits_srcdir}/stl_multiset.h ${bits_srcdir}/stl_numeric.h ${bits_srcdir}/stl_pair.h ${bits_srcdir}/stl_pthread_alloc.h ${bits_srcdir}/stl_queue.h ${bits_srcdir}/stl_raw_storage_iter.h ${bits_srcdir}/stl_relops.h ${bits_srcdir}/stl_set.h ${bits_srcdir}/stl_stack.h ${bits_srcdir}/stl_tempbuf.h ${bits_srcdir}/stl_threads.h ${bits_srcdir}/stl_tree.h ${bits_srcdir}/stl_uninitialized.h ${bits_srcdir}/stl_vector.h ${bits_srcdir}/streambuf.tcc ${bits_srcdir}/stringfwd.h ${bits_srcdir}/type_traits.h ${bits_srcdir}/valarray_array.h ${bits_srcdir}/valarray_array.tcc ${bits_srcdir}/valarray_meta.h ${bits_srcdir}/vector.tcc backward_srcdir = ${glibcpp_srcdir}/include/backward backward_builddir = ./backward -backward_headers = \ - ${backward_srcdir}/complex.h \ - ${backward_srcdir}/iomanip.h \ - ${backward_srcdir}/istream.h \ - ${backward_srcdir}/ostream.h \ - ${backward_srcdir}/stream.h \ - ${backward_srcdir}/streambuf.h \ - ${backward_srcdir}/algo.h \ - ${backward_srcdir}/algobase.h \ - ${backward_srcdir}/alloc.h \ - ${backward_srcdir}/bvector.h \ - ${backward_srcdir}/defalloc.h \ - ${backward_srcdir}/deque.h \ - ${backward_srcdir}/function.h \ - ${backward_srcdir}/hash_map.h \ - ${backward_srcdir}/hash_set.h \ - ${backward_srcdir}/hashtable.h \ - ${backward_srcdir}/heap.h \ - ${backward_srcdir}/iostream.h \ - ${backward_srcdir}/iterator.h \ - ${backward_srcdir}/list.h \ - ${backward_srcdir}/map.h \ - ${backward_srcdir}/multimap.h \ - ${backward_srcdir}/new.h \ - ${backward_srcdir}/multiset.h \ - ${backward_srcdir}/pair.h \ - ${backward_srcdir}/queue.h \ - ${backward_srcdir}/rope.h \ - ${backward_srcdir}/set.h \ - ${backward_srcdir}/slist.h \ - ${backward_srcdir}/stack.h \ - ${backward_srcdir}/tempbuf.h \ - ${backward_srcdir}/tree.h \ - ${backward_srcdir}/vector.h \ - ${backward_srcdir}/fstream.h \ - ${backward_srcdir}/strstream.h \ - ${backward_srcdir}/backward_warning.h +backward_headers = ${backward_srcdir}/complex.h ${backward_srcdir}/iomanip.h ${backward_srcdir}/istream.h ${backward_srcdir}/ostream.h ${backward_srcdir}/stream.h ${backward_srcdir}/streambuf.h ${backward_srcdir}/algo.h ${backward_srcdir}/algobase.h ${backward_srcdir}/alloc.h ${backward_srcdir}/bvector.h ${backward_srcdir}/defalloc.h ${backward_srcdir}/deque.h ${backward_srcdir}/function.h ${backward_srcdir}/hash_map.h ${backward_srcdir}/hash_set.h ${backward_srcdir}/hashtable.h ${backward_srcdir}/heap.h ${backward_srcdir}/iostream.h ${backward_srcdir}/iterator.h ${backward_srcdir}/list.h ${backward_srcdir}/map.h ${backward_srcdir}/multimap.h ${backward_srcdir}/new.h ${backward_srcdir}/multiset.h ${backward_srcdir}/pair.h ${backward_srcdir}/queue.h ${backward_srcdir}/rope.h ${backward_srcdir}/set.h ${backward_srcdir}/slist.h ${backward_srcdir}/stack.h ${backward_srcdir}/tempbuf.h ${backward_srcdir}/tree.h ${backward_srcdir}/vector.h ${backward_srcdir}/fstream.h ${backward_srcdir}/strstream.h ${backward_srcdir}/backward_warning.h ext_srcdir = ${glibcpp_srcdir}/include/ext ext_builddir = ./ext -ext_headers = \ - ${ext_srcdir}/algorithm \ - ${ext_srcdir}/enc_filebuf.h \ - ${ext_srcdir}/stdio_filebuf.h \ - ${ext_srcdir}/functional \ - ${ext_srcdir}/hash_map \ - ${ext_srcdir}/hash_set \ - ${ext_srcdir}/iterator \ - ${ext_srcdir}/memory \ - ${ext_srcdir}/numeric \ - ${ext_srcdir}/rb_tree \ - ${ext_srcdir}/rope \ - ${ext_srcdir}/ropeimpl.h \ - ${ext_srcdir}/slist \ - ${ext_srcdir}/stl_hash_fun.h \ - ${ext_srcdir}/stl_hashtable.h \ - ${ext_srcdir}/stl_rope.h +ext_headers = ${ext_srcdir}/algorithm ${ext_srcdir}/enc_filebuf.h ${ext_srcdir}/stdio_filebuf.h ${ext_srcdir}/functional ${ext_srcdir}/hash_map ${ext_srcdir}/hash_set ${ext_srcdir}/iterator ${ext_srcdir}/memory ${ext_srcdir}/numeric ${ext_srcdir}/rb_tree ${ext_srcdir}/rope ${ext_srcdir}/ropeimpl.h ${ext_srcdir}/slist ${ext_srcdir}/stl_hash_fun.h ${ext_srcdir}/stl_hashtable.h ${ext_srcdir}/stl_rope.h # This is the common subset of files that all three "C" header models use. c_base_srcdir = @C_INCLUDE_DIR@ c_base_builddir = . -c_base_headers = \ - ${c_base_srcdir}/std_cassert.h \ - ${c_base_srcdir}/std_cctype.h \ - ${c_base_srcdir}/std_cerrno.h \ - ${c_base_srcdir}/std_cfloat.h \ - ${c_base_srcdir}/std_ciso646.h \ - ${c_base_srcdir}/std_climits.h \ - ${c_base_srcdir}/std_clocale.h \ - ${c_base_srcdir}/std_cmath.h \ - ${c_base_srcdir}/std_csetjmp.h \ - ${c_base_srcdir}/std_csignal.h \ - ${c_base_srcdir}/std_cstdarg.h \ - ${c_base_srcdir}/std_cstddef.h \ - ${c_base_srcdir}/std_cstdio.h \ - ${c_base_srcdir}/std_cstdlib.h \ - ${c_base_srcdir}/std_cstring.h \ - ${c_base_srcdir}/std_ctime.h \ - ${c_base_srcdir}/std_cwchar.h \ - ${c_base_srcdir}/std_cwctype.h - -c_base_headers_rename = \ - cassert \ - cctype \ - cerrno \ - cfloat \ - ciso646 \ - climits \ - clocale \ - cmath \ - csetjmp \ - csignal \ - cstdarg \ - cstddef \ - cstdio \ - cstdlib \ - cstring \ - ctime \ - cwchar \ - cwctype +c_base_headers = ${c_base_srcdir}/std_cassert.h ${c_base_srcdir}/std_cctype.h ${c_base_srcdir}/std_cerrno.h ${c_base_srcdir}/std_cfloat.h ${c_base_srcdir}/std_ciso646.h ${c_base_srcdir}/std_climits.h ${c_base_srcdir}/std_clocale.h ${c_base_srcdir}/std_cmath.h ${c_base_srcdir}/std_csetjmp.h ${c_base_srcdir}/std_csignal.h ${c_base_srcdir}/std_cstdarg.h ${c_base_srcdir}/std_cstddef.h ${c_base_srcdir}/std_cstdio.h ${c_base_srcdir}/std_cstdlib.h ${c_base_srcdir}/std_cstring.h ${c_base_srcdir}/std_ctime.h ${c_base_srcdir}/std_cwchar.h ${c_base_srcdir}/std_cwctype.h + +c_base_headers_rename = cassert cctype cerrno cfloat ciso646 climits clocale cmath csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime cwchar cwctype # "C" compatibility headers. c_compatibility_srcdir = ${glibcpp_srcdir}/include/c_compatibility c_compatibility_builddir = . -c_compatibility_headers = \ - ${c_compatibility_srcdir}/assert.h \ - ${c_compatibility_srcdir}/ctype.h \ - ${c_compatibility_srcdir}/errno.h \ - ${c_compatibility_srcdir}/float.h \ - ${c_compatibility_srcdir}/iso646.h \ - ${c_compatibility_srcdir}/limits.h \ - ${c_compatibility_srcdir}/locale.h \ - ${c_compatibility_srcdir}/math.h \ - ${c_compatibility_srcdir}/setjmp.h \ - ${c_compatibility_srcdir}/signal.h \ - ${c_compatibility_srcdir}/stdarg.h \ - ${c_compatibility_srcdir}/stddef.h \ - ${c_compatibility_srcdir}/stdio.h \ - ${c_compatibility_srcdir}/stdlib.h \ - ${c_compatibility_srcdir}/string.h \ - ${c_compatibility_srcdir}/time.h \ - ${c_compatibility_srcdir}/wchar.h \ - ${c_compatibility_srcdir}/wctype.h - -@GLIBCPP_C_HEADERS_C_STD_TRUE@c_base_headers_extra = @GLIBCPP_C_HEADERS_C_STD_TRUE@${c_base_srcdir}/cmath.tcc +c_compatibility_headers = ${c_compatibility_srcdir}/assert.h ${c_compatibility_srcdir}/ctype.h ${c_compatibility_srcdir}/errno.h ${c_compatibility_srcdir}/float.h ${c_compatibility_srcdir}/iso646.h ${c_compatibility_srcdir}/limits.h ${c_compatibility_srcdir}/locale.h ${c_compatibility_srcdir}/math.h ${c_compatibility_srcdir}/setjmp.h ${c_compatibility_srcdir}/signal.h ${c_compatibility_srcdir}/stdarg.h ${c_compatibility_srcdir}/stddef.h ${c_compatibility_srcdir}/stdio.h ${c_compatibility_srcdir}/stdlib.h ${c_compatibility_srcdir}/string.h ${c_compatibility_srcdir}/time.h ${c_compatibility_srcdir}/wchar.h ${c_compatibility_srcdir}/wctype.h + +@GLIBCPP_C_HEADERS_C_STD_TRUE@c_base_headers_extra = ${c_base_srcdir}/cmath.tcc @GLIBCPP_C_HEADERS_C_STD_FALSE@c_base_headers_extra = -@GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = @GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@${c_compatibility_headers} +@GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers} @GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE@c_compatibility_headers_extra = std_srcdir = ${glibcpp_srcdir}/include/std std_builddir = . -std_headers = \ - ${std_srcdir}/std_algorithm.h \ - ${std_srcdir}/std_bitset.h \ - ${std_srcdir}/std_complex.h \ - ${std_srcdir}/std_deque.h \ - ${std_srcdir}/std_fstream.h \ - ${std_srcdir}/std_functional.h \ - ${std_srcdir}/std_iomanip.h \ - ${std_srcdir}/std_ios.h \ - ${std_srcdir}/std_iosfwd.h \ - ${std_srcdir}/std_iostream.h \ - ${std_srcdir}/std_istream.h \ - ${std_srcdir}/std_iterator.h \ - ${std_srcdir}/std_limits.h \ - ${std_srcdir}/std_list.h \ - ${std_srcdir}/std_locale.h \ - ${std_srcdir}/std_map.h \ - ${std_srcdir}/std_memory.h \ - ${std_srcdir}/std_numeric.h \ - ${std_srcdir}/std_ostream.h \ - ${std_srcdir}/std_queue.h \ - ${std_srcdir}/std_set.h \ - ${std_srcdir}/std_sstream.h \ - ${std_srcdir}/std_stack.h \ - ${std_srcdir}/std_stdexcept.h \ - ${std_srcdir}/std_streambuf.h \ - ${std_srcdir}/std_string.h \ - ${std_srcdir}/std_utility.h \ - ${std_srcdir}/std_valarray.h \ - ${std_srcdir}/std_vector.h +std_headers = ${std_srcdir}/std_algorithm.h ${std_srcdir}/std_bitset.h ${std_srcdir}/std_complex.h ${std_srcdir}/std_deque.h ${std_srcdir}/std_fstream.h ${std_srcdir}/std_functional.h ${std_srcdir}/std_iomanip.h ${std_srcdir}/std_ios.h ${std_srcdir}/std_iosfwd.h ${std_srcdir}/std_iostream.h ${std_srcdir}/std_istream.h ${std_srcdir}/std_iterator.h ${std_srcdir}/std_limits.h ${std_srcdir}/std_list.h ${std_srcdir}/std_locale.h ${std_srcdir}/std_map.h ${std_srcdir}/std_memory.h ${std_srcdir}/std_numeric.h ${std_srcdir}/std_ostream.h ${std_srcdir}/std_queue.h ${std_srcdir}/std_set.h ${std_srcdir}/std_sstream.h ${std_srcdir}/std_stack.h ${std_srcdir}/std_stdexcept.h ${std_srcdir}/std_streambuf.h ${std_srcdir}/std_string.h ${std_srcdir}/std_utility.h ${std_srcdir}/std_valarray.h ${std_srcdir}/std_vector.h # Renamed at build time. -std_headers_rename = \ - algorithm \ - bitset \ - complex \ - deque \ - fstream \ - functional \ - iomanip \ - ios \ - iosfwd \ - iostream \ - istream \ - iterator \ - limits \ - list \ - locale \ - map \ - memory \ - numeric \ - ostream \ - queue \ - set \ - sstream \ - stack \ - stdexcept \ - streambuf \ - string \ - utility \ - valarray \ - vector +std_headers_rename = algorithm bitset complex deque fstream functional iomanip ios iosfwd iostream istream iterator limits list locale map memory numeric ostream queue set sstream stack stdexcept streambuf string utility valarray vector target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@ target_builddir = ./${target_alias}/bits -target_headers = \ - ${target_srcdir}/ctype_base.h \ - ${target_srcdir}/ctype_inline.h \ - ${target_srcdir}/ctype_noninline.h \ - ${target_srcdir}/os_defines.h \ - ${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h \ - ${glibcpp_srcdir}/@CPU_LIMITS_INC_SRCDIR@/cpu_limits.h +target_headers = ${target_srcdir}/ctype_base.h ${target_srcdir}/ctype_inline.h ${target_srcdir}/ctype_noninline.h ${target_srcdir}/os_defines.h ${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h ${glibcpp_srcdir}/@CPU_LIMITS_INC_SRCDIR@/cpu_limits.h # These target_headers_extra files are all built with ad hoc naming rules. -target_headers_extra = \ - ${target_builddir}/basic_file.h \ - ${target_builddir}/c++config.h \ - ${target_builddir}/c++io.h \ - ${target_builddir}/c++locale.h \ - ${target_builddir}/messages_members.h \ - ${target_builddir}/codecvt_specializations.h +target_headers_extra = ${target_builddir}/basic_file.h ${target_builddir}/c++config.h ${target_builddir}/c++io.h ${target_builddir}/c++locale.h ${target_builddir}/messages_members.h ${target_builddir}/codecvt_specializations.h -thread_target_headers = \ - ${target_builddir}/gthr.h \ - ${target_builddir}/gthr-single.h \ - ${target_builddir}/gthr-posix.h \ - ${target_builddir}/gthr-default.h +thread_target_headers = ${target_builddir}/gthr.h ${target_builddir}/gthr-single.h ${target_builddir}/gthr-posix.h ${target_builddir}/gthr-default.h # List of all timestamp files. By keeping only one copy of this list, both # CLEANFILES and all-local are kept up-to-date. -allstamps = \ - stamp-std stamp-bits stamp-c_base stamp-c_compatibility \ - stamp-backward stamp-ext \ - ${target_builddir}/stamp-target +allstamps = stamp-std stamp-bits stamp-c_base stamp-c_compatibility stamp-backward stamp-ext ${target_builddir}/stamp-target # Target includes for threads @@ -463,7 +214,7 @@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: diff --git a/libstdc++-v3/include/bits/slice.h b/libstdc++-v3/include/bits/slice.h deleted file mode 100644 index d3da664..0000000 --- a/libstdc++-v3/include/bits/slice.h +++ /dev/null @@ -1,85 +0,0 @@ -// The template and inlines for the -*- C++ -*- slice class. - -// Copyright (C) 1997-1999, 2001 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 -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// As a special exception, you may use this file as part of a free software -// library without restriction. Specifically, if other files instantiate -// templates or use macros or inline functions from this file, or you compile -// this file and link it with other files to produce an executable, this -// file does not by itself cause the resulting executable to be covered by -// the GNU General Public License. This exception does not however -// invalidate any other reasons why the executable file might be covered by -// the GNU General Public License. - -// Written by Gabriel Dos Reis - -/** @file slice.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. - */ - -#ifndef _CPP_BITS_SLICE_H -#define _CPP_BITS_SLICE_H 1 - -#pragma GCC system_header - -namespace std -{ - -class slice -{ -public: - slice (); - slice (size_t, size_t, size_t); - - size_t start () const; - size_t size () const; - size_t stride () const; - -private: - size_t _M_off; // offset - size_t _M_sz; // size - size_t _M_st; // stride unit -}; - -inline slice::slice () {} - -inline slice::slice (size_t __o, size_t __d, size_t __s) - : _M_off (__o), _M_sz (__d), _M_st (__s) {} - -inline size_t -slice::start () const - { return _M_off; } - -inline size_t -slice::size () const - { return _M_sz; } - -inline size_t -slice::stride () const - { return _M_st; } - -} // std:: - - -#endif /* _CPP_BITS_SLICE_H */ - -// Local Variables: -// mode:c++ -// End: diff --git a/libstdc++-v3/include/bits/slice_array.h b/libstdc++-v3/include/bits/slice_array.h index c8908f8..1a80cab 100644 --- a/libstdc++-v3/include/bits/slice_array.h +++ b/libstdc++-v3/include/bits/slice_array.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- slice_array class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 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 @@ -41,120 +41,156 @@ namespace std { + class slice + { + public: + slice(); + slice(size_t, size_t, size_t); + + size_t start() const; + size_t size() const; + size_t stride() const; - template + private: + size_t _M_off; // offset + size_t _M_sz; // size + size_t _M_st; // stride unit + }; + + // The default constructor constructor is not required to initialize + // data members with any meaningful values, so we choose to do nothing. + inline + slice::slice() {} + + inline + slice::slice(size_t __o, size_t __d, size_t __s) + : _M_off(__o), _M_sz(__d), _M_st(__s) {} + + inline size_t + slice::start() const + { return _M_off; } + + inline size_t + slice::size() const + { return _M_sz; } + + inline size_t + slice::stride() const + { return _M_st; } + + template class slice_array { public: - typedef _Tp value_type; + typedef _Tp value_type; // This constructor is implemented since we need to return a value. - slice_array (const slice_array&); + slice_array(const slice_array&); // This operator must be public. See DR-253. - slice_array& operator= (const slice_array&); - - void operator= (const valarray<_Tp>&) const; - void operator*= (const valarray<_Tp>&) const; - void operator/= (const valarray<_Tp>&) const; - void operator%= (const valarray<_Tp>&) const; - void operator+= (const valarray<_Tp>&) const; - void operator-= (const valarray<_Tp>&) const; - void operator^= (const valarray<_Tp>&) const; - void operator&= (const valarray<_Tp>&) const; - void operator|= (const valarray<_Tp>&) const; - void operator<<= (const valarray<_Tp>&) const; - void operator>>= (const valarray<_Tp>&) const; - void operator= (const _Tp &); - // ~slice_array (); - - template - void operator= (const _Expr<_Dom,_Tp>&) const; - template - void operator*= (const _Expr<_Dom,_Tp>&) const; - template - void operator/= (const _Expr<_Dom,_Tp>&) const; - template - void operator%= (const _Expr<_Dom,_Tp>&) const; - template - void operator+= (const _Expr<_Dom,_Tp>&) const; - template - void operator-= (const _Expr<_Dom,_Tp>&) const; - template - void operator^= (const _Expr<_Dom,_Tp>&) const; - template - void operator&= (const _Expr<_Dom,_Tp>&) const; - template - void operator|= (const _Expr<_Dom,_Tp>&) const; - template - void operator<<= (const _Expr<_Dom,_Tp>&) const; - template - void operator>>= (const _Expr<_Dom,_Tp>&) const; - + slice_array& operator=(const slice_array&); + + void operator=(const valarray<_Tp>&) const; + void operator*=(const valarray<_Tp>&) const; + void operator/=(const valarray<_Tp>&) const; + void operator%=(const valarray<_Tp>&) const; + void operator+=(const valarray<_Tp>&) const; + void operator-=(const valarray<_Tp>&) const; + void operator^=(const valarray<_Tp>&) const; + void operator&=(const valarray<_Tp>&) const; + void operator|=(const valarray<_Tp>&) const; + void operator<<=(const valarray<_Tp>&) const; + void operator>>=(const valarray<_Tp>&) const; + void operator=(const _Tp &); + // ~slice_array (); + + template + void operator=(const _Expr<_Dom,_Tp>&) const; + template + void operator*=(const _Expr<_Dom,_Tp>&) const; + template + void operator/=(const _Expr<_Dom,_Tp>&) const; + template + void operator%=(const _Expr<_Dom,_Tp>&) const; + template + void operator+=(const _Expr<_Dom,_Tp>&) const; + template + void operator-=(const _Expr<_Dom,_Tp>&) const; + template + void operator^=(const _Expr<_Dom,_Tp>&) const; + template + void operator&=(const _Expr<_Dom,_Tp>&) const; + template + void operator|=(const _Expr<_Dom,_Tp>&) const; + template + void operator<<=(const _Expr<_Dom,_Tp>&) const; + template + void operator>>=(const _Expr<_Dom,_Tp>&) const; + private: - friend class valarray<_Tp>; - slice_array(_Array<_Tp>, const slice&); - - const size_t _M_sz; - const size_t _M_stride; - const _Array<_Tp> _M_array; + friend class valarray<_Tp>; + slice_array(_Array<_Tp>, const slice&); + + const size_t _M_sz; + const size_t _M_stride; + const _Array<_Tp> _M_array; - // not implemented - slice_array (); + // not implemented + slice_array(); }; - template - inline slice_array<_Tp>::slice_array (_Array<_Tp> __a, const slice& __s) - : _M_sz (__s.size ()), _M_stride (__s.stride ()), - _M_array (__a.begin () + __s.start ()) {} + template + inline + slice_array<_Tp>::slice_array(_Array<_Tp> __a, const slice& __s) + : _M_sz(__s.size()), _M_stride(__s.stride()), + _M_array(__a.begin() + __s.start()) {} + template + inline + slice_array<_Tp>::slice_array(const slice_array<_Tp>& a) + : _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {} - template - inline slice_array<_Tp>::slice_array(const slice_array<_Tp>& a) - : _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {} - - // template - // inline slice_array<_Tp>::~slice_array () {} + // template + // inline slice_array<_Tp>::~slice_array () {} template - inline slice_array<_Tp>& - slice_array<_Tp>::operator=(const slice_array<_Tp>& __a) - { - __valarray_copy(_M_array, _M_sz, _M_stride, __a._M_array, __a._M_stride); - return *this; - } - + inline slice_array<_Tp>& + slice_array<_Tp>::operator=(const slice_array<_Tp>& __a) + { + __valarray_copy(_M_array, _M_sz, _M_stride, __a._M_array, __a._M_stride); + return *this; + } - template + template inline void - slice_array<_Tp>::operator= (const _Tp& __t) - { __valarray_fill (_M_array, _M_sz, _M_stride, __t); } + slice_array<_Tp>::operator=(const _Tp& __t) + { __valarray_fill(_M_array, _M_sz, _M_stride, __t); } - template + template inline void - slice_array<_Tp>::operator= (const valarray<_Tp>& __v) const + slice_array<_Tp>::operator=(const valarray<_Tp>& __v) const { __valarray_copy (_Array<_Tp> (__v), _M_array, _M_sz, _M_stride); } - template - template + template + template inline void - slice_array<_Tp>::operator= (const _Expr<_Dom,_Tp>& __e) const + slice_array<_Tp>::operator=(const _Expr<_Dom,_Tp>& __e) const { __valarray_copy (__e, _M_sz, _M_array, _M_stride); } #undef _DEFINE_VALARRAY_OPERATOR -#define _DEFINE_VALARRAY_OPERATOR(op, name) \ +#define _DEFINE_VALARRAY_OPERATOR(_Op,_Nname) \ template \ inline void \ -slice_array<_Tp>::operator op##= (const valarray<_Tp>& __v) const \ +slice_array<_Tp>::operator _Op##= (const valarray<_Tp>& __v) const \ { \ - _Array_augmented_##name (_M_array, _M_sz, _M_stride, _Array<_Tp> (__v));\ + _Array_augmented_##_Name (_M_array, _M_sz, _M_stride, _Array<_Tp> (__v));\ } \ \ template template \ inline void \ -slice_array<_Tp>::operator op##= (const _Expr<_Dom,_Tp>& __e) const \ +slice_array<_Tp>::operator _Op##= (const _Expr<_Dom,_Tp>& __e) const \ { \ - _Array_augmented_##name (_M_array, _M_stride, __e, _M_sz); \ + _Array_augmented_##_Name (_M_array, _M_stride, __e, _M_sz); \ } diff --git a/libstdc++-v3/include/std/std_valarray.h b/libstdc++-v3/include/std/std_valarray.h index 3957d7f..d7bd7a4 100644 --- a/libstdc++-v3/include/std/std_valarray.h +++ b/libstdc++-v3/include/std/std_valarray.h @@ -254,7 +254,6 @@ namespace std } // std:: -#include #include #include #include diff --git a/libstdc++-v3/testsuite/26_numerics/slice.cc b/libstdc++-v3/testsuite/26_numerics/slice.cc new file mode 100644 index 0000000..42b2adb --- /dev/null +++ b/libstdc++-v3/testsuite/26_numerics/slice.cc @@ -0,0 +1,62 @@ +// 20020717 gdr + +// Copyright (C) 2002 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 +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// Test slice class invariants + +#include +#include +#include + +bool +construction(int start, int size, int stride) +{ + std::slice s(start, size, stride); + return s.start() == start && s.size() == size && s.stride() == stride; +} + +bool +copy(int start, int size, int stride) +{ + std::slice s(start, size, stride); + std::slice t = s; + return t.start() == start && t.size() == size && t.stride() == stride; +} + +bool +assignment(int start, int size, int stride) +{ + std::slice s(start, size, stride); + std::slice t; + t = s; + return t.start() == start && t.size() == size && t.stride() == stride; +} + + +int main() +{ + std::srand(20020717); using std::rand; + VERIFY(construction(rand(), rand(), rand())); + + VERIFY(copy(rand(), rand(), rand())); + + VERIFY(assignment(rand(), rand(), rand())); + + return 0; +}