From e4bf60773bd02c39870837ec4f3677ba9a54c574 Mon Sep 17 00:00:00 2001 From: Phil Edwards Date: Mon, 25 Jun 2001 20:57:51 +0000 Subject: [PATCH] re PR libstdc++/3377 (missing std::__cmath_power(double,unsigned)) 2001-06-25 Phil Edwards Kurt Garloff PR libstdc++/3377 * src/cmath.cc: New [version of an old] file; instantiate __cmath_power to start with. * src/Makefile.am (sources): Add cmath.cc (and alphabetize). * Makefile.in: Regenerate. * libio/Makefile.in: Regenerate. * libmath/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. Co-Authored-By: Kurt Garloff From-SVN: r43559 --- libstdc++-v3/ChangeLog | 14 +++ libstdc++-v3/Makefile.in | 39 ++++++- libstdc++-v3/libio/Makefile.in | 17 +++- libstdc++-v3/libmath/Makefile.in | 15 ++- libstdc++-v3/libsupc++/Makefile.in | 60 ++++++++--- libstdc++-v3/src/Makefile.am | 14 ++- libstdc++-v3/src/Makefile.in | 158 +++++++++++++++++++++++------ libstdc++-v3/src/cmath.cc | 48 +++++++++ libstdc++-v3/testsuite/Makefile.in | 8 +- 9 files changed, 310 insertions(+), 63 deletions(-) create mode 100644 libstdc++-v3/src/cmath.cc diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b5f97d569c5..af4453e6335 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,17 @@ +2001-06-25 Phil Edwards + Kurt Garloff + + PR libstdc++/3377 + * src/cmath.cc: New [version of an old] file; instantiate + __cmath_power to start with. + * src/Makefile.am (sources): Add cmath.cc (and alphabetize). + * Makefile.in: Regenerate. + * libio/Makefile.in: Regenerate. + * libmath/Makefile.in: Regenerate. + * libsupc++/Makefile.in: Regenerate. + * src/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + 2001-06-24 Gabriel Dos Reis * libmath/stubs.c: Fix thinko. diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in index f5182ae9695..3e4e87e9661 100644 --- a/libstdc++-v3/Makefile.in +++ b/libstdc++-v3/Makefile.in @@ -138,7 +138,44 @@ MULTICLEAN = true # Work around what appears to be a GNU make bug handling MAKEFLAGS # values defined in terms of make variables, as is the case for CC and # friends when we are called from the top level Makefile. -AM_MAKEFLAGS = "AR_FLAGS=$(AR_FLAGS)" "CC_FOR_BUILD=$(CC_FOR_BUILD)" "CC_FOR_TARGET=$(CC_FOR_TARGET)" "CFLAGS=$(CFLAGS)" "CXXFLAGS=$(CXXFLAGS)" "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" "INSTALL=$(INSTALL)" "INSTALL_DATA=$(INSTALL_DATA)" "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" "LDFLAGS=$(LDFLAGS)" "LIBCFLAGS=$(LIBCFLAGS)" "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" "MAKE=$(MAKE)" "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" "PICFLAG=$(PICFLAG)" "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" "SHELL=$(SHELL)" "RUNTESTFLAGS=$(RUNTESTFLAGS)" "exec_prefix=$(exec_prefix)" "infodir=$(infodir)" "libdir=$(libdir)" "includedir=$(includedir)" "prefix=$(prefix)" "tooldir=$(tooldir)" "AR=$(AR)" "AS=$(AS)" "LD=$(LD)" "LIBCFLAGS=$(LIBCFLAGS)" "PICFLAG=$(PICFLAG)" "RANLIB=$(RANLIB)" "NM=$(NM)" "NM_FOR_BUILD=$(NM_FOR_BUILD)" "NM_FOR_TARGET=$(NM_FOR_TARGET)" "DESTDIR=$(DESTDIR)" "WERROR=$(WERROR)" +AM_MAKEFLAGS = \ + "AR_FLAGS=$(AR_FLAGS)" \ + "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ + "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ + "CFLAGS=$(CFLAGS)" \ + "CXXFLAGS=$(CXXFLAGS)" \ + "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ + "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "INSTALL=$(INSTALL)" \ + "INSTALL_DATA=$(INSTALL_DATA)" \ + "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ + "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ + "LDFLAGS=$(LDFLAGS)" \ + "LIBCFLAGS=$(LIBCFLAGS)" \ + "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ + "MAKE=$(MAKE)" \ + "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ + "PICFLAG=$(PICFLAG)" \ + "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ + "SHELL=$(SHELL)" \ + "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ + "exec_prefix=$(exec_prefix)" \ + "infodir=$(infodir)" \ + "libdir=$(libdir)" \ + "includedir=$(includedir)" \ + "prefix=$(prefix)" \ + "tooldir=$(tooldir)" \ + "AR=$(AR)" \ + "AS=$(AS)" \ + "LD=$(LD)" \ + "LIBCFLAGS=$(LIBCFLAGS)" \ + "PICFLAG=$(PICFLAG)" \ + "RANLIB=$(RANLIB)" \ + "NM=$(NM)" \ + "NM_FOR_BUILD=$(NM_FOR_BUILD)" \ + "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ + "DESTDIR=$(DESTDIR)" \ + "WERROR=$(WERROR)" ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 CONFIG_HEADER = config.h diff --git a/libstdc++-v3/libio/Makefile.in b/libstdc++-v3/libio/Makefile.in index ac805d2bf42..dbd0a04fa6c 100644 --- a/libstdc++-v3/libio/Makefile.in +++ b/libstdc++-v3/libio/Makefile.in @@ -114,7 +114,7 @@ toplevel_srcdir = @toplevel_srcdir@ AUTOMAKE_OPTIONS = 1.3 cygnus mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs -@GLIBCPP_BUILD_LIBIO_TRUE@noinst_LTLIBRARIES = libio.la +@GLIBCPP_BUILD_LIBIO_TRUE@noinst_LTLIBRARIES = @GLIBCPP_BUILD_LIBIO_TRUE@libio.la @GLIBCPP_BUILD_LIBIO_FALSE@noinst_LTLIBRARIES = # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES @@ -126,14 +126,21 @@ LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@ CSHADOW_INCLUDES = @CSHADOW_INCLUDES@ -INCLUDES = -nostdinc++ -I$(top_builddir)/include -I$(GLIBCPP_INCLUDE_DIR) $(LIBIO_INCLUDES) $(TOPLEVEL_INCLUDES) +INCLUDES = \ + -nostdinc++ \ + -I$(top_builddir)/include -I$(GLIBCPP_INCLUDE_DIR) \ + $(LIBIO_INCLUDES) $(TOPLEVEL_INCLUDES) -libio_headers = libio.h libioP.h iolibio.h +libio_headers = \ + libio.h libioP.h iolibio.h -@GLIBCPP_NEED_LIBIO_TRUE@LIBIO_SRCS = filedoalloc.c genops.c fileops.c stdfiles.c c_codecvt.c iofclose.c iofopen.c +@GLIBCPP_NEED_LIBIO_TRUE@LIBIO_SRCS = @GLIBCPP_NEED_LIBIO_TRUE@\ +@GLIBCPP_NEED_LIBIO_TRUE@ filedoalloc.c genops.c fileops.c stdfiles.c c_codecvt.c \ +@GLIBCPP_NEED_LIBIO_TRUE@ iofclose.c iofopen.c @GLIBCPP_NEED_LIBIO_FALSE@LIBIO_SRCS = -@GLIBCPP_NEED_WLIBIO_TRUE@LIBIO_WSRCS = wfiledoalloc.c wfileops.c wgenops.c iofwide.c +@GLIBCPP_NEED_WLIBIO_TRUE@LIBIO_WSRCS = @GLIBCPP_NEED_WLIBIO_TRUE@\ +@GLIBCPP_NEED_WLIBIO_TRUE@ wfiledoalloc.c wfileops.c wgenops.c iofwide.c @GLIBCPP_NEED_WLIBIO_FALSE@LIBIO_WSRCS = EXTRA_DIST = iostreamP.h diff --git a/libstdc++-v3/libmath/Makefile.in b/libstdc++-v3/libmath/Makefile.in index d136282c1fb..6a4bc2cfe05 100644 --- a/libstdc++-v3/libmath/Makefile.in +++ b/libstdc++-v3/libmath/Makefile.in @@ -117,13 +117,18 @@ mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs noinst_LTLIBRARIES = libmath.la -EXTRA_LONG_DOUBLE_yes = hypotl.c signbitl.c +EXTRA_LONG_DOUBLE_yes = \ + hypotl.c signbitl.c -EXTRA_DIST = hypot.c hypotf.c atan2f.c expf.c $(EXTRA_LONG_DOUBLE_yes) +EXTRA_DIST = \ + hypot.c hypotf.c atan2f.c expf.c \ + $(EXTRA_LONG_DOUBLE_yes) -libmath_la_LIBADD = @LIBMATHOBJS@ $(EXTRA_LONG_DOUBLE_$(USE_COMPLEX_LONG_DOUBLE)) +libmath_la_LIBADD = \ + @LIBMATHOBJS@ \ + $(EXTRA_LONG_DOUBLE_$(USE_COMPLEX_LONG_DOUBLE)) libmath_la_DEPENDENCIES = $(libmath_la_LIBADD) @@ -141,7 +146,9 @@ LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@ CSHADOW_INCLUDES = @CSHADOW_INCLUDES@ -INCLUDES = -I$(GLIBCPP_INCLUDE_DIR) -I$(top_builddir)/include $(TOPLEVEL_INCLUDES) +INCLUDES = \ + -I$(GLIBCPP_INCLUDE_DIR) -I$(top_builddir)/include \ + $(TOPLEVEL_INCLUDES) CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in index 12b243cd4f1..c025dd2e343 100644 --- a/libstdc++-v3/libsupc++/Makefile.in +++ b/libstdc++-v3/libsupc++/Makefile.in @@ -132,11 +132,13 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ # These bits are all figured out from configure. Look in acinclude.m4 # or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS # NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden. -CONFIG_CXXFLAGS = @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @CSHADOW_FLAGS@ @DEBUG_FLAGS@ +CONFIG_CXXFLAGS = \ + @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @CSHADOW_FLAGS@ @DEBUG_FLAGS@ # Warning flags to use. -WARN_CXXFLAGS = @WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once +WARN_CXXFLAGS = \ + @WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES @@ -148,13 +150,38 @@ LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ -INCLUDES = -I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include -I$(GLIBCPP_INCLUDE_DIR) $(CSTD_INCLUDES) -I$(top_builddir)/include $(LIBSUPCXX_INCLUDES) - - -headers = exception new typeinfo cxxabi.h exception_defines.h - - -sources = del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_aux_runtime.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_terminate.cc eh_throw.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc vec.cc +INCLUDES = \ + -I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include \ + -I$(GLIBCPP_INCLUDE_DIR) $(CSTD_INCLUDES) -I$(top_builddir)/include \ + $(LIBSUPCXX_INCLUDES) + + +headers = \ + exception new typeinfo cxxabi.h exception_defines.h + + +sources = \ + del_op.cc \ + del_opnt.cc \ + del_opv.cc \ + del_opvnt.cc \ + eh_alloc.cc \ + eh_aux_runtime.cc \ + eh_catch.cc \ + eh_exception.cc \ + eh_globals.cc \ + eh_personality.cc \ + eh_terminate.cc \ + eh_throw.cc \ + new_handler.cc \ + new_op.cc \ + new_opnt.cc \ + new_opv.cc \ + new_opvnt.cc \ + pure.cc \ + tinfo.cc \ + tinfo2.cc \ + vec.cc libsupc___la_SOURCES = $(sources) @@ -170,7 +197,12 @@ LIBSUPCXX_CXXFLAGS = $(LIBSUPCXX_PICFLAGS) # set this option because CONFIG_CXXFLAGS has to be after # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden # as the occasion call for it. (ie, --enable-debug) -AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) +AM_CXXFLAGS = \ + -fno-implicit-templates \ + $(LIBSUPCXX_CXXFLAGS) \ + $(WARN_CXXFLAGS) \ + $(OPTIMIZE_CXXFLAGS) \ + $(CONFIG_CXXFLAGS) # libstdc++ libtool notes @@ -194,7 +226,9 @@ AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS) # # We have to put --tag disable-shared after --tag CXX lest things # CXX undo the affect of disable-shared. -LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared --mode=compile $(CXX) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \ + --mode=compile $(CXX) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) # 3) We'd have a problem when building the shared libstdc++ object if @@ -203,7 +237,9 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared --mode=c # course is problematic at this point. So, we get the top-level # directory to configure libstdc++-v3 to use gcc as the C++ # compilation driver. -CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared --mode=link $(CXX) @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared \ + --mode=link $(CXX) \ + @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index 8ca4176d9f3..b0296c9338d 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -21,7 +21,7 @@ ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## USA. -## $Id: Makefile.am,v 1.86 2001/06/01 09:22:05 hp Exp $ +## $Id: Makefile.am,v 1.87 2001/06/08 03:53:32 ljrittle Exp $ AUTOMAKE_OPTIONS = 1.3 gnits MAINT_CHARSET = latin1 @@ -165,13 +165,11 @@ build_headers = \ bits/ctype_base.h bits/ctype_noninline.h bits/ctype_inline.h sources = \ - limitsMEMBERS.cc \ - stdexcept.cc functexcept.cc bitset.cc \ - globals.cc \ - basic_file.cc ios.cc complex_io.cc strstream.cc \ - c++locale.cc locale.cc localename.cc codecvt.cc \ - locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc \ - string-inst.cc wstring-inst.cc + basic_file.cc bitset.cc c++locale.cc cmath.cc codecvt.cc \ + complex_io.cc functexcept.cc globals.cc ios.cc limitsMEMBERS.cc \ + locale.cc locale-inst.cc localename.cc misc-inst.cc stdexcept.cc \ + stl-inst.cc string-inst.cc strstream.cc valarray-inst.cc \ + wstring-inst.cc VPATH = $(top_srcdir):$(top_srcdir)/src:$(GLIBCPP_INCLUDE_DIR):$(GLIBCPP_INCLUDE_DIR)/std:$(C_INCLUDE_DIR) diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index 572c9b3444b..a5b82b2a7fe 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -124,11 +124,13 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ # These bits are all figured out from configure. Look in acinclude.m4 # or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS # NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden. -CONFIG_CXXFLAGS = @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @CSHADOW_FLAGS@ @DEBUG_FLAGS@ +CONFIG_CXXFLAGS = \ + @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @CSHADOW_FLAGS@ @DEBUG_FLAGS@ # Warning flags to use. -WARN_CXXFLAGS = @WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once +WARN_CXXFLAGS = \ + @WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES @@ -140,45 +142,132 @@ LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ -INCLUDES = -nostdinc++ -I$(GLIBCPP_INCLUDE_DIR) $(CSTD_INCLUDES) -I$(top_builddir)/include $(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) $(TOPLEVEL_INCLUDES) - - -base_headers = bits/cpp_type_traits.h bits/char_traits.h bits/codecvt.h bits/stringfwd.h bits/std_string.h bits/basic_string.h bits/basic_string.tcc bits/generic_shadow.h bits/std_utility.h bits/std_complex.h bits/valarray_array.h bits/valarray_array.tcc bits/valarray_meta.h bits/std_valarray.h bits/mask_array.h bits/slice.h bits/slice_array.h bits/gslice.h bits/gslice_array.h bits/indirect_array.h bits/std_fstream.h bits/std_iomanip.h bits/ios_base.h bits/fpos.h bits/basic_ios.h bits/basic_ios.tcc bits/std_ios.h bits/std_iosfwd.h bits/std_iostream.h bits/std_istream.h bits/istream.tcc bits/std_locale.h bits/fstream.tcc bits/ostream.tcc bits/sbuf_iter.h bits/sstream.tcc bits/std_ostream.h bits/std_sstream.h bits/std_streambuf.h bits/streambuf.tcc bits/basic_file.h bits/locale_facets.h bits/locale_facets.tcc bits/localefwd.h bits/stl_pthread_alloc.h bits/pthread_allocimpl.h bits/stl_threads.h bits/stl_iterator_base_types.h bits/stl_iterator_base_funcs.h bits/std_bitset.h bits/std_deque.h bits/std_functional.h bits/std_iterator.h bits/std_list.h bits/std_map.h bits/std_memory.h bits/std_numeric.h bits/std_queue.h bits/std_set.h bits/std_stack.h bits/std_stdexcept.h bits/functexcept.h bits/std_vector.h bits/stl_algo.h bits/stl_algobase.h bits/stl_alloc.h bits/stl_deque.h bits/stl_function.h bits/stl_heap.h bits/stl_iterator.h bits/stl_list.h bits/stl_map.h bits/stl_multimap.h bits/stl_multiset.h bits/stl_numeric.h bits/stl_pair.h bits/stl_queue.h bits/stl_raw_storage_iter.h bits/stl_relops.h bits/stl_set.h bits/stl_stack.h bits/stl_tempbuf.h bits/stl_tree.h bits/stl_uninitialized.h bits/stl_vector.h bits/stl_bvector.h bits/type_traits.h bits/std_algorithm.h bits/stl_construct.h bits/boost_concept_check.h bits/concept_check.h - - -backward_headers = backward/complex.h backward/iomanip.h backward/istream.h backward/ostream.h backward/stream.h backward/streambuf.h backward/algo.h backward/algobase.h backward/alloc.h backward/bvector.h backward/defalloc.h backward/deque.h backward/function.h backward/hash_map.h backward/hash_set.h backward/hashtable.h backward/heap.h backward/iostream.h backward/iterator.h backward/list.h backward/map.h backward/multimap.h backward/new.h backward/multiset.h backward/pair.h backward/queue.h backward/rope.h backward/set.h backward/slist.h backward/stack.h backward/tempbuf.h backward/tree.h backward/vector.h backward/fstream.h backward/strstream.h backward/strstream backward/backward_warning.h - - -ext_headers = ext/rope ext/ropeimpl.h ext/stl_rope.h ext/slist ext/hash_map ext/hash_set ext/stl_hashtable.h ext/stl_hash_fun.h - - -c_base_headers = bits/std_cassert.h bits/std_cctype.h bits/std_cerrno.h bits/std_cfloat.h bits/std_climits.h bits/std_clocale.h bits/std_cmath.h bits/std_csetjmp.h bits/std_csignal.h bits/std_cstdarg.h bits/std_cstddef.h bits/std_cstdio.h bits/std_cstdlib.h bits/std_cstring.h bits/std_ctime.h bits/std_cwchar.h bits/std_cwctype.h bits/cmath.tcc - -@GLIBCPP_USE_CSHADOW_TRUE@c_shadow_headers = assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdio.h stdlib.h string.h time.h wchar.h wctype.h fcntl.h libio.h iolibio.h libioP.h pthread.h iconv.h features.h langinfo.h bits/wrap_libio.h bits/wrap_iolibio.h bits/wrap_libioP.h bits/wrap_iconv.h bits/wrap_fcntl.h bits/wrap_pthread.h bits/wrap_features.h bits/wrap_langinfo.h sys/cdefs.h +INCLUDES = \ + -nostdinc++ \ + -I$(GLIBCPP_INCLUDE_DIR) $(CSTD_INCLUDES) -I$(top_builddir)/include \ + $(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \ + $(TOPLEVEL_INCLUDES) + + +base_headers = \ + bits/cpp_type_traits.h bits/char_traits.h bits/codecvt.h \ + bits/stringfwd.h bits/std_string.h bits/basic_string.h \ + bits/basic_string.tcc \ + bits/generic_shadow.h bits/std_utility.h \ + bits/std_complex.h \ + bits/valarray_array.h bits/valarray_array.tcc bits/valarray_meta.h \ + bits/std_valarray.h bits/mask_array.h bits/slice.h bits/slice_array.h \ + bits/gslice.h bits/gslice_array.h bits/indirect_array.h \ + bits/std_fstream.h bits/std_iomanip.h \ + bits/ios_base.h bits/fpos.h bits/basic_ios.h bits/basic_ios.tcc \ + bits/std_ios.h bits/std_iosfwd.h bits/std_iostream.h \ + bits/std_istream.h bits/istream.tcc bits/std_locale.h \ + bits/fstream.tcc bits/ostream.tcc bits/sbuf_iter.h bits/sstream.tcc \ + bits/std_ostream.h bits/std_sstream.h bits/std_streambuf.h \ + bits/streambuf.tcc bits/basic_file.h \ + bits/locale_facets.h bits/locale_facets.tcc bits/localefwd.h \ + bits/stl_pthread_alloc.h bits/pthread_allocimpl.h \ + bits/stl_threads.h \ + bits/stl_iterator_base_types.h bits/stl_iterator_base_funcs.h \ + bits/std_bitset.h bits/std_deque.h bits/std_functional.h \ + bits/std_iterator.h bits/std_list.h \ + bits/std_map.h bits/std_memory.h bits/std_numeric.h \ + bits/std_queue.h bits/std_set.h bits/std_stack.h \ + bits/std_stdexcept.h bits/functexcept.h bits/std_vector.h \ + bits/stl_algo.h bits/stl_algobase.h bits/stl_alloc.h \ + bits/stl_deque.h bits/stl_function.h \ + bits/stl_heap.h bits/stl_iterator.h bits/stl_list.h bits/stl_map.h \ + bits/stl_multimap.h bits/stl_multiset.h bits/stl_numeric.h \ + bits/stl_pair.h bits/stl_queue.h bits/stl_raw_storage_iter.h \ + bits/stl_relops.h bits/stl_set.h bits/stl_stack.h bits/stl_tempbuf.h \ + bits/stl_tree.h bits/stl_uninitialized.h bits/stl_vector.h \ + bits/stl_bvector.h bits/type_traits.h bits/std_algorithm.h \ + bits/stl_construct.h bits/boost_concept_check.h bits/concept_check.h + + +backward_headers = \ + backward/complex.h backward/iomanip.h backward/istream.h \ + backward/ostream.h backward/stream.h backward/streambuf.h \ + backward/algo.h backward/algobase.h backward/alloc.h \ + backward/bvector.h backward/defalloc.h backward/deque.h \ + backward/function.h backward/hash_map.h backward/hash_set.h \ + backward/hashtable.h backward/heap.h backward/iostream.h \ + backward/iterator.h backward/list.h backward/map.h \ + backward/multimap.h backward/new.h backward/multiset.h \ + backward/pair.h backward/queue.h backward/rope.h backward/set.h \ + backward/slist.h backward/stack.h backward/tempbuf.h backward/tree.h \ + backward/vector.h backward/fstream.h backward/strstream.h \ + backward/strstream backward/backward_warning.h + + +ext_headers = \ + ext/rope ext/ropeimpl.h ext/stl_rope.h \ + ext/slist ext/hash_map ext/hash_set \ + ext/stl_hashtable.h ext/stl_hash_fun.h + + +c_base_headers = \ + bits/std_cassert.h bits/std_cctype.h bits/std_cerrno.h \ + bits/std_cfloat.h bits/std_climits.h bits/std_clocale.h \ + bits/std_cmath.h bits/std_csetjmp.h bits/std_csignal.h \ + bits/std_cstdarg.h bits/std_cstddef.h bits/std_cstdio.h \ + bits/std_cstdlib.h bits/std_cstring.h bits/std_ctime.h \ + bits/std_cwchar.h bits/std_cwctype.h bits/cmath.tcc + +@GLIBCPP_USE_CSHADOW_TRUE@c_shadow_headers = @GLIBCPP_USE_CSHADOW_TRUE@\ +@GLIBCPP_USE_CSHADOW_TRUE@ assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h \ +@GLIBCPP_USE_CSHADOW_TRUE@ signal.h stdarg.h stddef.h stdio.h stdlib.h string.h time.h wchar.h \ +@GLIBCPP_USE_CSHADOW_TRUE@ wctype.h fcntl.h libio.h iolibio.h libioP.h pthread.h iconv.h \ +@GLIBCPP_USE_CSHADOW_TRUE@ features.h langinfo.h \ +@GLIBCPP_USE_CSHADOW_TRUE@ bits/wrap_libio.h bits/wrap_iolibio.h bits/wrap_libioP.h \ +@GLIBCPP_USE_CSHADOW_TRUE@ bits/wrap_iconv.h bits/wrap_fcntl.h bits/wrap_pthread.h \ +@GLIBCPP_USE_CSHADOW_TRUE@ bits/wrap_features.h bits/wrap_langinfo.h \ +@GLIBCPP_USE_CSHADOW_TRUE@ sys/cdefs.h @GLIBCPP_USE_CSHADOW_FALSE@c_shadow_headers = -std_headers = 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 cassert cctype cerrno cfloat climits clocale ciso646 cmath csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime cwchar cwctype - -@GLIBCPP_NEED_LIBIO_TRUE@libio_headers = $(top_srcdir)/libio/_G_config.h $(top_srcdir)/libio/libio.h +std_headers = \ + 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 \ + cassert cctype cerrno cfloat climits clocale ciso646 \ + cmath csetjmp csignal cstdarg cstddef cstdio cstdlib \ + cstring ctime cwchar cwctype + +@GLIBCPP_NEED_LIBIO_TRUE@libio_headers = @GLIBCPP_NEED_LIBIO_TRUE@\ +@GLIBCPP_NEED_LIBIO_TRUE@ $(top_srcdir)/libio/_G_config.h $(top_srcdir)/libio/libio.h @GLIBCPP_NEED_LIBIO_FALSE@libio_headers = -build_headers = bits/std_limits.h bits/c++config.h bits/c++io.h bits/c++locale.h bits/gthr.h bits/gthr-single.h bits/gthr-default.h bits/basic_file_model.h bits/atomicity.h bits/os_defines.h bits/ctype_base.h bits/ctype_noninline.h bits/ctype_inline.h +build_headers = \ + bits/std_limits.h \ + bits/c++config.h bits/c++io.h bits/c++locale.h \ + bits/gthr.h bits/gthr-single.h bits/gthr-default.h \ + bits/basic_file_model.h \ + bits/atomicity.h bits/os_defines.h \ + bits/ctype_base.h bits/ctype_noninline.h bits/ctype_inline.h -sources = limitsMEMBERS.cc stdexcept.cc functexcept.cc bitset.cc globals.cc basic_file.cc ios.cc complex_io.cc strstream.cc c++locale.cc locale.cc localename.cc codecvt.cc locale-inst.cc stl-inst.cc misc-inst.cc valarray-inst.cc string-inst.cc wstring-inst.cc +sources = \ + basic_file.cc bitset.cc c++locale.cc cmath.cc codecvt.cc \ + complex_io.cc functexcept.cc globals.cc ios.cc limitsMEMBERS.cc \ + locale.cc locale-inst.cc localename.cc misc-inst.cc stdexcept.cc \ + stl-inst.cc string-inst.cc strstream.cc valarray-inst.cc \ + wstring-inst.cc VPATH = $(top_srcdir):$(top_srcdir)/src:$(GLIBCPP_INCLUDE_DIR):$(GLIBCPP_INCLUDE_DIR)/std:$(C_INCLUDE_DIR) libstdc___la_SOURCES = $(sources) -libstdc___la_LIBADD = ../libmath/libmath.la @libio_la@ ../libsupc++/libsupc++convenience.la +libstdc___la_LIBADD = \ + ../libmath/libmath.la @libio_la@ \ + ../libsupc++/libsupc++convenience.la libstdc___la_LDFLAGS = -version-info 3:0:0 -lm libstdc___la_DEPENDENCIES = $(libstdc___la_LIBADD) -@GLIBCPP_USE_CSHADOW_TRUE@CSHADOW_H = $(top_builddir)/stamp-cshadow +@GLIBCPP_USE_CSHADOW_TRUE@CSHADOW_H = @GLIBCPP_USE_CSHADOW_TRUE@$(top_builddir)/stamp-cshadow @GLIBCPP_USE_CSHADOW_FALSE@CSHADOW_H = # Check for various configure bits that change where the headers get installed. @@ -201,7 +290,12 @@ c_incdir = @C_INCLUDE_DIR@ # The no-implicit-templates flag will generate unresolved references to # the concept-checking symbols. So we must disable the checks while # actually building the library. -AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) +AM_CXXFLAGS = \ + -fno-implicit-templates \ + $(LIBSUPCXX_CXXFLAGS) \ + $(WARN_CXXFLAGS) \ + $(OPTIMIZE_CXXFLAGS) \ + $(CONFIG_CXXFLAGS) # libstdc++ libtool notes @@ -222,7 +316,8 @@ AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS) # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to # attempt to infer which configuration to use -LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) # 3) We'd have a problem when building the shared libstdc++ object if @@ -231,7 +326,8 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) $( # course is problematic at this point. So, we get the top-level # directory to configure libstdc++-v3 to use gcc as the C++ # compilation driver. -CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \ + @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -242,10 +338,10 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -libstdc___la_OBJECTS = limitsMEMBERS.lo stdexcept.lo functexcept.lo \ -bitset.lo globals.lo basic_file.lo ios.lo complex_io.lo strstream.lo \ -c++locale.lo locale.lo localename.lo codecvt.lo locale-inst.lo \ -stl-inst.lo misc-inst.lo valarray-inst.lo string-inst.lo \ +libstdc___la_OBJECTS = basic_file.lo bitset.lo c++locale.lo cmath.lo \ +codecvt.lo complex_io.lo functexcept.lo globals.lo ios.lo \ +limitsMEMBERS.lo locale.lo locale-inst.lo localename.lo misc-inst.lo \ +stdexcept.lo stl-inst.lo string-inst.lo strstream.lo valarray-inst.lo \ wstring-inst.lo CXXFLAGS = @CXXFLAGS@ CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) diff --git a/libstdc++-v3/src/cmath.cc b/libstdc++-v3/src/cmath.cc new file mode 100644 index 00000000000..6442e0cda4e --- /dev/null +++ b/libstdc++-v3/src/cmath.cc @@ -0,0 +1,48 @@ +// Explicit instantiation file for -*- C++ -*- math library. + +// Copyright (C) 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. + + +// These are explicit instantiations of the behind-the-scenes internal +// helper functions used in the math routines of libstdc++. + + +#include + +namespace std +{ + // This function is only declared/used in the cheaders=c_std case. + template float + __cmath_power(float, unsigned int); + template double + __cmath_power(double, unsigned int); + template long double + __cmath_power(long double, unsigned int); + +} // namespace std + diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in index ca5e1d50691..97d4bf23240 100644 --- a/libstdc++-v3/testsuite/Makefile.in +++ b/libstdc++-v3/testsuite/Makefile.in @@ -121,10 +121,14 @@ AUTOMAKE_OPTIONS = foreign dejagnu DEJATOOL = libstdc++-v3 -EXPECT = `if [ -f @glibcpp_builddir@/../../expect/expect ] ; then echo @glibcpp_builddir@/../../expect/expect ; else echo expect ; fi` +EXPECT = `if [ -f @glibcpp_builddir@/../../expect/expect ] ; then \ + echo @glibcpp_builddir@/../../expect/expect ; \ + else echo expect ; fi` -RUNTEST = `if [ -f @glibcpp_srcdir@/../dejagnu/runtest ] ; then echo @glibcpp_srcdir@/../dejagnu/runtest ; else echo runtest; fi` +RUNTEST = `if [ -f @glibcpp_srcdir@/../dejagnu/runtest ] ; then \ + echo @glibcpp_srcdir@/../dejagnu/runtest ; \ + else echo runtest; fi` RUNTESTFLAGS = -- 2.30.2