diff -Nrc3pad gcc-3.0.2/gcc/cp/ChangeLog gcc-3.0.3/gcc/cp/ChangeLog *** gcc-3.0.2/gcc/cp/ChangeLog Tue Oct 23 10:19:31 2001 --- gcc-3.0.3/gcc/cp/ChangeLog Thu Dec 20 11:21:50 2001 *************** *** 1,3 **** --- 1,89 ---- + 2001-12-20 Release Manager + + * GCC 3.0.3 Released. + + 2001-12-12 Jason Merrill + + * semantics.c (setup_vtbl_ptr): Always build a CTOR_INITIALIZER + if we're in a template. + + 2001-12-08 John David Anglin + + * semantics.c (simplify_aggr_init_exprs_r): Add DIRECT_BIND flag in + call to build_aggr_init. + * cp-tree.h (DIRECT_BIND): Document new use of DIRECT_BIND. + + 2001-12-05 Jason Merrill + + * pt.c (push_tinst_level): No longer static. + * cp-tree.h: Declare it. + * optimize.c (expand_call_inline): Record template instantiation + context. + + * rtti.c (create_pseudo_type_info): Set CLASSTYPE_INTERFACE_ONLY + on the __*_type_info type if we haven't seen a definition. + + 2001-12-03 Hans-Peter Nilsson + + * decl.c (xref_basetypes): Don't use C99 construct in tag_code + declaration and initialization. + + 2001-12-03 Kriang Lerdsuwanakij + + * mangle.c (write_expression): Handle CAST_EXPR, STATIC_CAST_EXPR, + CONST_CAST_EXPR. + * operators.def: Add CAST_EXPR, STATIC_CAST_EXPR, CONST_CAST_EXPR. + + 2001-12-03 Mumit Khan + + PR c++/3394 + * decl.c (xref_basetypes): Handle attributes between + 'class' and name. + + 2001-12-03 Jason Merrill + + * class.c (finish_vtbls): Fill in BINFO_VPTR_FIELD in the + immediate binfos for our virtual bases. + + 2001-11-29 Mark Mitchell + + PR c++/3048 + * cp-tree.h (ovl_member): Remove. + * decl2.c (merge_functions): Handle extern "C" functions + specially. + * tree.c (ovl_member): Remove. + + PR c++/4842 + * class.c (get_basefndecls): Take an IDENTIFIER_NODE, not a + FUNCTION_DECL, as input. + (mark_overriders): Remove. + (warn_hidden): Rework for the new ABI. + + PR c++/3471 + * call.c (convert_like_real): Do not build additional temporaries + for rvalues of class type. + + 2001-11-20 Mark Mitchell + + PR c++/3637 + * call.c (non_reference): Add documentation. + (convert_class_to_reference): Do not strip reference types + from conversion operators. + (maybe_handle_ref_bind): Simplify. + (compare_ics): Correct handling of references. + + 2001-11-19 Mark Mitchell + + * cp/decl2.c (grok_alignof): Make sure that expression created + while processing a template do not have a type. + * cp/typeck.c (c_sizeof): Likewise. + (expr_sizeof): Likewise. + (c_alignof): Likewise. + + 2001-11-14 Joseph S. Myers + + * Make-lang.in: Change all uses of $(manext) to $(man1ext). + 2001-10-23 Release Manager * GCC 3.0.2 Released. diff -Nrc3pad gcc-3.0.2/gcc/cp/Make-lang.in gcc-3.0.3/gcc/cp/Make-lang.in *** gcc-3.0.2/gcc/cp/Make-lang.in Fri Sep 21 18:33:22 2001 --- gcc-3.0.3/gcc/cp/Make-lang.in Wed Nov 14 14:33:42 2001 *************** c++.install-info: *** 184,196 **** c++.install-man: $(srcdir)/cp/g++.1 -if [ -f cc1plus$(exeext) ] ; then \ if [ -f g++-cross$(exeext) ] ; then \ ! rm -f $(man1dir)/$(GXX_CROSS_NAME)$(manext); \ ! $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(man1dir)/$(GXX_CROSS_NAME)$(manext); \ ! chmod a-x $(man1dir)/$(GXX_CROSS_NAME)$(manext); \ else \ ! rm -f $(man1dir)/$(GXX_INSTALL_NAME)$(manext); \ ! $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(man1dir)/$(GXX_INSTALL_NAME)$(manext); \ ! chmod a-x $(man1dir)/$(GXX_INSTALL_NAME)$(manext); \ fi; \ else true; fi --- 184,196 ---- c++.install-man: $(srcdir)/cp/g++.1 -if [ -f cc1plus$(exeext) ] ; then \ if [ -f g++-cross$(exeext) ] ; then \ ! rm -f $(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \ ! $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \ ! chmod a-x $(man1dir)/$(GXX_CROSS_NAME)$(man1ext); \ else \ ! rm -f $(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \ ! $(INSTALL_DATA) $(srcdir)/cp/g++.1 $(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \ ! chmod a-x $(man1dir)/$(GXX_INSTALL_NAME)$(man1ext); \ fi; \ else true; fi *************** c++.uninstall: *** 201,208 **** -rm -rf $(bindir)/$(GXX_CROSS_NAME)$(exeext) -rm -rf $(bindir)/$(DEMANGLER_INSTALL_NAME)$(exeext) -rm -rf $(bindir)/$(DEMANGLER_CROSS_NAME)$(exeext) ! -rm -rf $(man1dir)/$(GXX_INSTALL_NAME)$(manext) ! -rm -rf $(man1dir)/$(GXX_CROSS_NAME)$(manext) # # Clean hooks: # A lot of the ancillary files are deleted by the main makefile. --- 201,208 ---- -rm -rf $(bindir)/$(GXX_CROSS_NAME)$(exeext) -rm -rf $(bindir)/$(DEMANGLER_INSTALL_NAME)$(exeext) -rm -rf $(bindir)/$(DEMANGLER_CROSS_NAME)$(exeext) ! -rm -rf $(man1dir)/$(GXX_INSTALL_NAME)$(man1ext) ! -rm -rf $(man1dir)/$(GXX_CROSS_NAME)$(man1ext) # # Clean hooks: # A lot of the ancillary files are deleted by the main makefile. diff -Nrc3pad gcc-3.0.2/gcc/cp/call.c gcc-3.0.3/gcc/cp/call.c *** gcc-3.0.2/gcc/cp/call.c Tue Sep 4 06:03:03 2001 --- gcc-3.0.3/gcc/cp/call.c Thu Nov 29 12:16:18 2001 *************** static tree reference_binding PARAMS ((t *** 87,93 **** static tree non_reference PARAMS ((tree)); static tree build_conv PARAMS ((enum tree_code, tree, tree)); static int is_subseq PARAMS ((tree, tree)); ! static int maybe_handle_ref_bind PARAMS ((tree*, tree*)); static void maybe_handle_implicit_object PARAMS ((tree*)); static struct z_candidate * add_candidate PARAMS ((struct z_candidate *, tree, tree, int)); --- 87,93 ---- static tree non_reference PARAMS ((tree)); static tree build_conv PARAMS ((enum tree_code, tree, tree)); static int is_subseq PARAMS ((tree, tree)); ! static tree maybe_handle_ref_bind PARAMS ((tree*)); static void maybe_handle_implicit_object PARAMS ((tree*)); static struct z_candidate * add_candidate PARAMS ((struct z_candidate *, tree, tree, int)); *************** build_conv (code, type, from) *** 638,643 **** --- 638,646 ---- return t; } + /* If T is a REFERENCE_TYPE return the type to which T refers. + Otherwise, return T itself. */ + static tree non_reference (t) tree t; *************** convert_class_to_reference (t, s, expr) *** 998,1005 **** return NULL_TREE; conv = build1 (IDENTITY_CONV, s, expr); ! conv = build_conv (USER_CONV, ! non_reference (TREE_TYPE (TREE_TYPE (cand->fn))), conv); TREE_OPERAND (conv, 1) = build_ptr_wrapper (cand); ICS_USER_FLAG (conv) = 1; --- 1001,1007 ---- return NULL_TREE; conv = build1 (IDENTITY_CONV, s, expr); ! conv = build_conv (USER_CONV, TREE_TYPE (TREE_TYPE (cand->fn)), conv); TREE_OPERAND (conv, 1) = build_ptr_wrapper (cand); ICS_USER_FLAG (conv) = 1; *************** convert_like_real (convs, expr, fn, argn *** 3788,3794 **** If the target is a class, that means call a ctor. */ if (IS_AGGR_TYPE (totype) ! && (inner >= 0 || !real_lvalue_p (expr))) { savew = warningcount, savee = errorcount; expr = build_new_method_call --- 3790,3796 ---- If the target is a class, that means call a ctor. */ if (IS_AGGR_TYPE (totype) ! && (inner >= 0 || !lvalue_p (expr))) { savew = warningcount, savee = errorcount; expr = build_new_method_call *************** maybe_handle_implicit_object (ics) *** 4757,4779 **** } } ! /* If ICS is a REF_BIND, modify it appropriately, set TARGET_TYPE ! to the type the reference originally referred to, and return 1. ! Otherwise, return 0. */ ! static int ! maybe_handle_ref_bind (ics, target_type) tree* ics; - tree* target_type; { if (TREE_CODE (*ics) == REF_BIND) { ! *target_type = TREE_TYPE (TREE_TYPE (*ics)); *ics = TREE_OPERAND (*ics, 0); ! return 1; } ! ! return 0; } /* Compare two implicit conversion sequences according to the rules set out in --- 4759,4780 ---- } } ! /* If *ICS is a REF_BIND set *ICS to the remainder of the conversion, ! and return the type to which the reference refers. Otherwise, ! leave *ICS unchanged and return NULL_TREE. */ ! static tree ! maybe_handle_ref_bind (ics) tree* ics; { if (TREE_CODE (*ics) == REF_BIND) { ! tree type = TREE_TYPE (TREE_TYPE (*ics)); *ics = TREE_OPERAND (*ics, 0); ! return type; } ! ! return NULL_TREE; } /* Compare two implicit conversion sequences according to the rules set out in *************** compare_ics (ics1, ics2) *** 4800,4807 **** /* REF_BINDING is non-zero if the result of the conversion sequence is a reference type. In that case TARGET_TYPE is the type referred to by the reference. */ - int ref_binding1; - int ref_binding2; tree target_type1; tree target_type2; --- 4801,4806 ---- *************** compare_ics (ics1, ics2) *** 4810,4817 **** maybe_handle_implicit_object (&ics2); /* Handle reference parameters. */ ! ref_binding1 = maybe_handle_ref_bind (&ics1, &target_type1); ! ref_binding2 = maybe_handle_ref_bind (&ics2, &target_type2); /* [over.ics.rank] --- 4809,4816 ---- maybe_handle_implicit_object (&ics2); /* Handle reference parameters. */ ! target_type1 = maybe_handle_ref_bind (&ics1); ! target_type2 = maybe_handle_ref_bind (&ics2); /* [over.ics.rank] *************** compare_ics (ics1, ics2) *** 5050,5058 **** } } } ! else if (IS_AGGR_TYPE_CODE (TREE_CODE (from_type1)) && same_type_p (from_type1, from_type2)) { /* [over.ics.rank] --binding of an expression of type C to a reference of type --- 5049,5059 ---- } } } ! else if (CLASS_TYPE_P (non_reference (from_type1)) && same_type_p (from_type1, from_type2)) { + tree from = non_reference (from_type1); + /* [over.ics.rank] --binding of an expression of type C to a reference of type *************** compare_ics (ics1, ics2) *** 5060,5067 **** reference of type A& --conversion of C to B is better than conversion of C to A, */ ! if (is_properly_derived_from (from_type1, to_type1) ! && is_properly_derived_from (from_type1, to_type2)) { if (is_properly_derived_from (to_type1, to_type2)) return 1; --- 5061,5068 ---- reference of type A& --conversion of C to B is better than conversion of C to A, */ ! if (is_properly_derived_from (from, to_type1) ! && is_properly_derived_from (from, to_type2)) { if (is_properly_derived_from (to_type1, to_type2)) return 1; *************** compare_ics (ics1, ics2) *** 5069,5077 **** return -1; } } ! else if (IS_AGGR_TYPE_CODE (TREE_CODE (to_type1)) && same_type_p (to_type1, to_type2)) { /* [over.ics.rank] --binding of an expression of type B to a reference of type --- 5070,5080 ---- return -1; } } ! else if (CLASS_TYPE_P (non_reference (to_type1)) && same_type_p (to_type1, to_type2)) { + tree to = non_reference (to_type1); + /* [over.ics.rank] --binding of an expression of type B to a reference of type *************** compare_ics (ics1, ics2) *** 5079,5086 **** reference of type A&, --onversion of B to A is better than conversion of C to A */ ! if (is_properly_derived_from (from_type1, to_type1) ! && is_properly_derived_from (from_type2, to_type1)) { if (is_properly_derived_from (from_type2, from_type1)) return 1; --- 5082,5089 ---- reference of type A&, --onversion of B to A is better than conversion of C to A */ ! if (is_properly_derived_from (from_type1, to) ! && is_properly_derived_from (from_type2, to)) { if (is_properly_derived_from (from_type2, from_type1)) return 1; *************** compare_ics (ics1, ics2) *** 5108,5114 **** initialized by S2 refers is more cv-qualified than the type to which the reference initialized by S1 refers */ ! if (ref_binding1 && ref_binding2 && same_type_ignoring_top_level_qualifiers_p (to_type1, to_type2)) return comp_cv_qualification (target_type2, target_type1); --- 5111,5117 ---- initialized by S2 refers is more cv-qualified than the type to which the reference initialized by S1 refers */ ! if (target_type1 && target_type2 && same_type_ignoring_top_level_qualifiers_p (to_type1, to_type2)) return comp_cv_qualification (target_type2, target_type1); diff -Nrc3pad gcc-3.0.2/gcc/cp/class.c gcc-3.0.3/gcc/cp/class.c *** gcc-3.0.2/gcc/cp/class.c Fri Sep 21 18:33:22 2001 --- gcc-3.0.3/gcc/cp/class.c Sun Dec 2 18:38:50 2001 *************** static void finish_struct_bits PARAMS (( *** 122,128 **** static int alter_access PARAMS ((tree, tree, tree)); static void handle_using_decl PARAMS ((tree, tree)); static int strictly_overrides PARAMS ((tree, tree)); - static void mark_overriders PARAMS ((tree, tree)); static void check_for_override PARAMS ((tree, tree)); static tree dfs_modify_vtables PARAMS ((tree, void *)); static tree modify_all_vtables PARAMS ((tree, int *, tree)); --- 122,127 ---- *************** strictly_overrides (fndecl1, fndecl2) *** 3003,3061 **** return 0; } ! /* Get the base virtual function declarations in T that are either ! overridden or hidden by FNDECL as a list. We set TREE_PURPOSE with ! the overrider/hider. */ static tree ! get_basefndecls (fndecl, t) ! tree fndecl, t; { ! tree methods = TYPE_METHODS (t); tree base_fndecls = NULL_TREE; ! tree binfos = BINFO_BASETYPES (TYPE_BINFO (t)); ! int i, n_baseclasses = binfos ? TREE_VEC_LENGTH (binfos) : 0; ! ! while (methods) ! { ! if (TREE_CODE (methods) == FUNCTION_DECL ! && DECL_VINDEX (methods) != NULL_TREE ! && DECL_NAME (fndecl) == DECL_NAME (methods)) ! base_fndecls = tree_cons (fndecl, methods, base_fndecls); ! methods = TREE_CHAIN (methods); ! } if (base_fndecls) return base_fndecls; for (i = 0; i < n_baseclasses; i++) { ! tree base_binfo = TREE_VEC_ELT (binfos, i); ! tree basetype = BINFO_TYPE (base_binfo); ! ! base_fndecls = chainon (get_basefndecls (fndecl, basetype), base_fndecls); } return base_fndecls; } - /* Mark the functions that have been hidden with their overriders. - Since we start out with all functions already marked with a hider, - no need to mark functions that are just hidden. - - Subroutine of warn_hidden. */ - - static void - mark_overriders (fndecl, base_fndecls) - tree fndecl, base_fndecls; - { - for (; base_fndecls; base_fndecls = TREE_CHAIN (base_fndecls)) - if (same_signature_p (fndecl, TREE_VALUE (base_fndecls))) - TREE_PURPOSE (base_fndecls) = fndecl; - } - /* If this declaration supersedes the declaration of a method declared virtual in the base class, then mark this field as being virtual as well. */ --- 3002,3038 ---- return 0; } ! /* Get the base virtual function declarations in T that have the ! indicated NAME. */ static tree ! get_basefndecls (name, t) ! tree name, t; { ! tree methods; tree base_fndecls = NULL_TREE; ! int n_baseclasses = CLASSTYPE_N_BASECLASSES (t); ! int i; ! for (methods = TYPE_METHODS (t); methods; methods = TREE_CHAIN (methods)) ! if (TREE_CODE (methods) == FUNCTION_DECL ! && DECL_VINDEX (methods) != NULL_TREE ! && DECL_NAME (methods) == name) ! base_fndecls = tree_cons (NULL_TREE, methods, base_fndecls); if (base_fndecls) return base_fndecls; for (i = 0; i < n_baseclasses; i++) { ! tree basetype = TYPE_BINFO_BASETYPE (t, i); ! base_fndecls = chainon (get_basefndecls (name, basetype), base_fndecls); } return base_fndecls; } /* If this declaration supersedes the declaration of a method declared virtual in the base class, then mark this field as being virtual as well. */ *************** warn_hidden (t) *** 3103,3159 **** /* We go through each separately named virtual function. */ for (i = 2; i < n_methods && TREE_VEC_ELT (method_vec, i); ++i) { ! tree fns = TREE_VEC_ELT (method_vec, i); ! tree fndecl = NULL_TREE; ! ! tree base_fndecls = NULL_TREE; ! tree binfos = BINFO_BASETYPES (TYPE_BINFO (t)); ! int i, n_baseclasses = binfos ? TREE_VEC_LENGTH (binfos) : 0; ! /* First see if we have any virtual functions in this batch. */ ! for (; fns; fns = OVL_NEXT (fns)) { ! fndecl = OVL_CURRENT (fns); ! if (DECL_VINDEX (fndecl)) ! break; } ! if (fns == NULL_TREE) continue; ! /* First we get a list of all possible functions that might be ! hidden from each base class. */ ! for (i = 0; i < n_baseclasses; i++) { ! tree base_binfo = TREE_VEC_ELT (binfos, i); ! tree basetype = BINFO_TYPE (base_binfo); ! ! base_fndecls = chainon (get_basefndecls (fndecl, basetype), ! base_fndecls); } - fns = OVL_NEXT (fns); - - /* ...then mark up all the base functions with overriders, preferring - overriders to hiders. */ - if (base_fndecls) - for (; fns; fns = OVL_NEXT (fns)) - { - fndecl = OVL_CURRENT (fns); - if (DECL_VINDEX (fndecl)) - mark_overriders (fndecl, base_fndecls); - } - /* Now give a warning for all base functions without overriders, as they are hidden. */ ! for (; base_fndecls; base_fndecls = TREE_CHAIN (base_fndecls)) ! if (!same_signature_p (TREE_PURPOSE (base_fndecls), ! TREE_VALUE (base_fndecls))) ! { ! /* Here we know it is a hider, and no overrider exists. */ ! cp_warning_at ("`%D' was hidden", TREE_VALUE (base_fndecls)); ! cp_warning_at (" by `%D'", TREE_PURPOSE (base_fndecls)); ! } } } --- 3080,3138 ---- /* We go through each separately named virtual function. */ for (i = 2; i < n_methods && TREE_VEC_ELT (method_vec, i); ++i) { ! tree fns; ! tree name; ! tree fndecl; ! tree base_fndecls; ! int j; ! /* All functions in this slot in the CLASSTYPE_METHOD_VEC will ! have the same name. Figure out what name that is. */ ! name = DECL_NAME (OVL_CURRENT (TREE_VEC_ELT (method_vec, i))); ! /* There are no possibly hidden functions yet. */ ! base_fndecls = NULL_TREE; ! /* Iterate through all of the base classes looking for possibly ! hidden functions. */ ! for (j = 0; j < CLASSTYPE_N_BASECLASSES (t); j++) { ! tree basetype = TYPE_BINFO_BASETYPE (t, j); ! base_fndecls = chainon (get_basefndecls (name, basetype), ! base_fndecls); } ! /* If there are no functions to hide, continue. */ ! if (!base_fndecls) continue; ! /* Remove any overridden functions. */ ! for (fns = TREE_VEC_ELT (method_vec, i); fns; fns = OVL_NEXT (fns)) { ! fndecl = OVL_CURRENT (fns); ! if (DECL_VINDEX (fndecl)) ! { ! tree *prev = &base_fndecls; ! ! while (*prev) ! /* If the method from the base class has the same ! signature as the method from the derived class, it ! has been overridden. */ ! if (same_signature_p (fndecl, TREE_VALUE (*prev))) ! *prev = TREE_CHAIN (*prev); ! else ! prev = &TREE_CHAIN (*prev); ! } } /* Now give a warning for all base functions without overriders, as they are hidden. */ ! while (base_fndecls) ! { ! /* Here we know it is a hider, and no overrider exists. */ ! cp_warning_at ("`%D' was hidden", TREE_VALUE (base_fndecls)); ! cp_warning_at (" by `%D'", ! OVL_CURRENT (TREE_VEC_ELT (method_vec, i))); ! base_fndecls = TREE_CHAIN (base_fndecls); ! } } } *************** finish_vtbls (t) *** 7135,7140 **** --- 7114,7120 ---- { tree list; tree vbase; + int i; /* Under the new ABI, we lay out the primary and secondary vtables in one contiguous vtable. The primary vtable is *************** finish_vtbls (t) *** 7158,7163 **** --- 7138,7155 ---- accumulate_vtbl_inits (real_base, real_base, TYPE_BINFO (t), t, list); + } + + /* Fill in BINFO_VPTR_FIELD in the immediate binfos for our virtual + base classes, for the benefit of the debugging backends. */ + for (i = 0; i < BINFO_N_BASETYPES (TYPE_BINFO (t)); ++i) + { + tree base = BINFO_BASETYPE (TYPE_BINFO (t), i); + if (TREE_VIA_VIRTUAL (base)) + { + tree vbase = binfo_for_vbase (BINFO_TYPE (base), t); + BINFO_VPTR_FIELD (base) = BINFO_VPTR_FIELD (vbase); + } } if (TYPE_BINFO_VTABLE (t)) diff -Nrc3pad gcc-3.0.2/gcc/cp/cp-tree.h gcc-3.0.3/gcc/cp/cp-tree.h *** gcc-3.0.2/gcc/cp/cp-tree.h Tue Aug 7 06:06:43 2001 --- gcc-3.0.3/gcc/cp/cp-tree.h Sat Dec 8 08:12:51 2001 *************** enum overload_flags { NO_SPECIAL = 0, DT *** 3508,3514 **** LOOKUP_ONLYCONVERTING means that non-conversion constructors are not tried. DIRECT_BIND means that if a temporary is created, it should be created so that it lives as long as the current variable bindings; otherwise it ! only lives until the end of the complete-expression. LOOKUP_SPECULATIVELY means return NULL_TREE if we cannot find what we are after. Note, LOOKUP_COMPLAIN is checked and error messages printed before LOOKUP_SPECULATIVELY is checked. --- 3508,3517 ---- LOOKUP_ONLYCONVERTING means that non-conversion constructors are not tried. DIRECT_BIND means that if a temporary is created, it should be created so that it lives as long as the current variable bindings; otherwise it ! only lives until the end of the complete-expression. It also forces ! direct-initialization in cases where other parts of the compiler have ! already generated a temporary, such as reference initialization and the ! catch parameter. LOOKUP_SPECULATIVELY means return NULL_TREE if we cannot find what we are after. Note, LOOKUP_COMPLAIN is checked and error messages printed before LOOKUP_SPECULATIVELY is checked. *************** extern void do_decl_instantiation PARAM *** 4173,4178 **** --- 4176,4182 ---- extern void do_type_instantiation PARAMS ((tree, tree, int)); extern tree instantiate_decl PARAMS ((tree, int)); extern tree get_bindings PARAMS ((tree, tree, tree)); + extern int push_tinst_level PARAMS ((tree)); extern void pop_tinst_level PARAMS ((void)); extern int more_specialized_class PARAMS ((tree, tree)); extern int is_member_template PARAMS ((tree)); *************** extern int is_overloaded_fn PARAMS ((t *** 4404,4410 **** extern tree get_first_fn PARAMS ((tree)); extern int bound_pmf_p PARAMS ((tree)); extern tree ovl_cons PARAMS ((tree, tree)); - extern int ovl_member PARAMS ((tree, tree)); extern tree build_overload PARAMS ((tree, tree)); extern tree fnaddr_from_vtable_entry PARAMS ((tree)); extern tree function_arg_chain PARAMS ((tree)); --- 4408,4413 ---- diff -Nrc3pad gcc-3.0.2/gcc/cp/decl.c gcc-3.0.3/gcc/cp/decl.c *** gcc-3.0.2/gcc/cp/decl.c Thu Jul 26 01:07:24 2001 --- gcc-3.0.3/gcc/cp/decl.c Thu Dec 6 04:54:12 2001 *************** xref_basetypes (code_type_node, name, re *** 12792,12798 **** tree base; int i, len; ! enum tag_types tag_code = (enum tag_types) tree_low_cst (code_type_node, 1); if (tag_code == union_type) { --- 12792,12807 ---- tree base; int i, len; ! enum tag_types tag_code; ! ! /* If we are called from the parser, code_type_node will sometimes be a ! TREE_LIST. This indicates that the user wrote ! "class __attribute__ ((foo)) bar". Extract the attributes so that ! tree_low_cst doesn't crash. */ ! if (TREE_CODE (code_type_node) == TREE_LIST) ! code_type_node = TREE_VALUE (code_type_node); ! ! tag_code = (enum tag_types) tree_low_cst (code_type_node, 1); if (tag_code == union_type) { diff -Nrc3pad gcc-3.0.2/gcc/cp/decl2.c gcc-3.0.3/gcc/cp/decl2.c *** gcc-3.0.2/gcc/cp/decl2.c Fri Sep 21 18:33:23 2001 --- gcc-3.0.3/gcc/cp/decl2.c Thu Nov 29 19:12:42 2001 *************** grok_alignof (expr) *** 1054,1060 **** int bestalign; if (processing_template_decl) ! return build_min (ALIGNOF_EXPR, sizetype, expr); if (TREE_CODE (expr) == COMPONENT_REF && DECL_C_BIT_FIELD (TREE_OPERAND (expr, 1))) --- 1054,1060 ---- int bestalign; if (processing_template_decl) ! return build_min_nt (ALIGNOF_EXPR, expr); if (TREE_CODE (expr) == COMPONENT_REF && DECL_C_BIT_FIELD (TREE_OPERAND (expr, 1))) *************** merge_functions (s1, s2) *** 4278,4286 **** { for (; s2; s2 = OVL_NEXT (s2)) { ! tree fn = OVL_CURRENT (s2); ! if (! ovl_member (fn, s1)) ! s1 = build_overload (fn, s1); } return s1; } --- 4278,4303 ---- { for (; s2; s2 = OVL_NEXT (s2)) { ! tree fn2 = OVL_CURRENT (s2); ! tree fns1; ! ! for (fns1 = s1; fns1; fns1 = OVL_NEXT (fns1)) ! { ! tree fn1 = OVL_CURRENT (fns1); ! ! /* If the function from S2 is already in S1, there is no ! need to add it again. For `extern "C"' functions, we ! might have two FUNCTION_DECLs for the same function, in ! different namespaces; again, we only need one of them. */ ! if (fn1 == fn2 ! || (DECL_EXTERN_C_P (fn1) && DECL_EXTERN_C_P (fn2) ! && DECL_NAME (fn1) == DECL_NAME (fn2))) ! break; ! } ! ! /* If we exhausted all of the functions in S1, FN2 is new. */ ! if (!fns1) ! s1 = build_overload (fn2, s1); } return s1; } diff -Nrc3pad gcc-3.0.2/gcc/cp/mangle.c gcc-3.0.3/gcc/cp/mangle.c *** gcc-3.0.2/gcc/cp/mangle.c Thu Apr 26 01:30:53 2001 --- gcc-3.0.3/gcc/cp/mangle.c Mon Dec 3 09:38:50 2001 *************** write_expression (expr) *** 1817,1834 **** /* If it wasn't any of those, recursively expand the expression. */ write_string (operator_name_info[(int) code].mangled_name); ! /* Handle pointers-to-members specially. */ ! if (code == SCOPE_REF) { write_type (TREE_OPERAND (expr, 0)); if (TREE_CODE (TREE_OPERAND (expr, 1)) == IDENTIFIER_NODE) write_source_name (TREE_OPERAND (expr, 1)); else write_encoding (TREE_OPERAND (expr, 1)); } - else - for (i = 0; i < TREE_CODE_LENGTH (code); ++i) - write_expression (TREE_OPERAND (expr, i)); } } --- 1817,1848 ---- /* If it wasn't any of those, recursively expand the expression. */ write_string (operator_name_info[(int) code].mangled_name); ! switch (code) { + case CAST_EXPR: + write_type (TREE_TYPE (expr)); + write_expression (TREE_VALUE (TREE_OPERAND (expr, 0))); + break; + + case STATIC_CAST_EXPR: + case CONST_CAST_EXPR: + write_type (TREE_TYPE (expr)); + write_expression (TREE_OPERAND (expr, 0)); + break; + + /* Handle pointers-to-members specially. */ + case SCOPE_REF: write_type (TREE_OPERAND (expr, 0)); if (TREE_CODE (TREE_OPERAND (expr, 1)) == IDENTIFIER_NODE) write_source_name (TREE_OPERAND (expr, 1)); else write_encoding (TREE_OPERAND (expr, 1)); + break; + + default: + for (i = 0; i < TREE_CODE_LENGTH (code); ++i) + write_expression (TREE_OPERAND (expr, i)); } } } diff -Nrc3pad gcc-3.0.2/gcc/cp/operators.def gcc-3.0.3/gcc/cp/operators.def *** gcc-3.0.2/gcc/cp/operators.def Tue Apr 3 21:17:06 2001 --- gcc-3.0.3/gcc/cp/operators.def Mon Dec 3 09:38:51 2001 *************** DEF_SIMPLE_OPERATOR ("alignof", ALIGNOF_ *** 102,107 **** --- 102,110 ---- /* The cast operator. */ DEF_SIMPLE_OPERATOR ("", TYPE_EXPR, "cv", 1) + DEF_SIMPLE_OPERATOR ("", CAST_EXPR, "cv", 1) + DEF_SIMPLE_OPERATOR ("", CONST_CAST_EXPR, "cv", 1) + DEF_SIMPLE_OPERATOR ("", STATIC_CAST_EXPR, "cv", 1) /* Binary operators. */ DEF_SIMPLE_OPERATOR ("+", PLUS_EXPR, "pl", 2) diff -Nrc3pad gcc-3.0.2/gcc/cp/optimize.c gcc-3.0.3/gcc/cp/optimize.c *** gcc-3.0.2/gcc/cp/optimize.c Thu Aug 30 07:43:42 2001 --- gcc-3.0.3/gcc/cp/optimize.c Thu Dec 6 04:54:15 2001 *************** expand_call_inline (tp, walk_subtrees, d *** 777,782 **** --- 777,786 ---- if (!inlinable_function_p (fn, id)) return NULL_TREE; + if (DECL_TEMPLATE_INSTANTIATION (fn) + && ! push_tinst_level (fn)) + return NULL_TREE; + /* Set the current filename and line number to the function we are inlining so that when we create new _STMT nodes here they get line numbers corresponding to the function we are calling. We *************** expand_call_inline (tp, walk_subtrees, d *** 914,919 **** --- 918,926 ---- /* Don't walk into subtrees. We've already handled them above. */ *walk_subtrees = 0; + + if (DECL_TEMPLATE_INSTANTIATION (fn)) + pop_tinst_level (); /* Keep iterating. */ return NULL_TREE; diff -Nrc3pad gcc-3.0.2/gcc/cp/pt.c gcc-3.0.3/gcc/cp/pt.c *** gcc-3.0.2/gcc/cp/pt.c Thu Aug 23 06:50:35 2001 --- gcc-3.0.3/gcc/cp/pt.c Thu Dec 6 04:54:16 2001 *************** static int try_one_overload PARAMS ((tre *** 100,106 **** unification_kind_t, int)); static int unify PARAMS ((tree, tree, tree, tree, int)); static void add_pending_template PARAMS ((tree)); - static int push_tinst_level PARAMS ((tree)); static void reopen_tinst_level PARAMS ((tree)); static tree classtype_mangled_name PARAMS ((tree)); static char *mangle_class_name_for_template PARAMS ((const char *, tree, tree)); --- 100,105 ---- *************** lookup_template_class (d1, arglist, in_d *** 4186,4194 **** Create the partial instantiation. */ TREE_VEC_LENGTH (arglist)--; ! template = tsubst (template, arglist, /*complain=*/0, NULL_TREE); TREE_VEC_LENGTH (arglist)++; - found = template; } } --- 4185,4192 ---- Create the partial instantiation. */ TREE_VEC_LENGTH (arglist)--; ! found = tsubst (template, arglist, /*complain=*/0, NULL_TREE); TREE_VEC_LENGTH (arglist)++; } } *************** static int last_template_error_tick; *** 4434,4440 **** /* We're starting to instantiate D; record the template instantiation context for diagnostics and to restore it later. */ ! static int push_tinst_level (d) tree d; { --- 4432,4438 ---- /* We're starting to instantiate D; record the template instantiation context for diagnostics and to restore it later. */ ! int push_tinst_level (d) tree d; { diff -Nrc3pad gcc-3.0.2/gcc/cp/rtti.c gcc-3.0.3/gcc/cp/rtti.c *** gcc-3.0.2/gcc/cp/rtti.c Wed Oct 3 10:02:28 2001 --- gcc-3.0.3/gcc/cp/rtti.c Thu Dec 6 04:54:19 2001 *************** create_pseudo_type_info VPARAMS((const c *** 1302,1307 **** --- 1302,1316 ---- /* Get the vtable decl. */ real_type = xref_tag (class_type_node, get_identifier (real_name), 1); + if (! TYPE_SIZE (real_type)) + { + /* We never saw a definition of this type, so we need to tell the + compiler that this is an exported class, as indeed all of the + __*_type_info classes are. */ + SET_CLASSTYPE_INTERFACE_KNOWN (real_type); + CLASSTYPE_INTERFACE_ONLY (real_type) = 1; + } + vtable_decl = get_vtable_decl (real_type, /*complete=*/1); vtable_decl = build_unary_op (ADDR_EXPR, vtable_decl, 0); diff -Nrc3pad gcc-3.0.2/gcc/cp/semantics.c gcc-3.0.3/gcc/cp/semantics.c *** gcc-3.0.2/gcc/cp/semantics.c Wed Jul 11 09:57:25 2001 --- gcc-3.0.3/gcc/cp/semantics.c Wed Dec 12 11:05:20 2001 *************** finish_mem_initializers (init_list) *** 1167,1175 **** setup_vtbl_ptr (member_init_list, base_init_list); } ! /* Cache the value of this class's main virtual function table pointer ! in a register variable. This will save one indirection if a ! more than one virtual function call is made this function. */ void setup_vtbl_ptr (member_init_list, base_init_list) --- 1167,1178 ---- setup_vtbl_ptr (member_init_list, base_init_list); } ! /* Do the initialization work necessary at the beginning of a constructor ! or destructor. This means processing member initializers and setting ! vtable pointers. ! ! ??? The call to keep_next_level at the end applies to all functions, but ! should probably go somewhere else. */ void setup_vtbl_ptr (member_init_list, base_init_list) *************** setup_vtbl_ptr (member_init_list, base_i *** 1182,1208 **** if (vtbls_set_up_p) return; ! if (DECL_CONSTRUCTOR_P (current_function_decl)) { ! if (processing_template_decl) ! add_stmt (build_min_nt ! (CTOR_INITIALIZER, ! member_init_list, base_init_list)); ! else ! { ! tree ctor_stmt; ! /* Mark the beginning of the constructor. */ ! ctor_stmt = build_stmt (CTOR_STMT); ! CTOR_BEGIN_P (ctor_stmt) = 1; ! add_stmt (ctor_stmt); ! /* And actually initialize the base-classes and members. */ ! emit_base_init (member_init_list, base_init_list); ! } } ! else if (DECL_DESTRUCTOR_P (current_function_decl) ! && !processing_template_decl) { tree if_stmt; tree compound_stmt; --- 1185,1206 ---- if (vtbls_set_up_p) return; ! if (processing_template_decl) ! add_stmt (build_min_nt (CTOR_INITIALIZER, ! member_init_list, base_init_list)); ! else if (DECL_CONSTRUCTOR_P (current_function_decl)) { ! tree ctor_stmt; ! /* Mark the beginning of the constructor. */ ! ctor_stmt = build_stmt (CTOR_STMT); ! CTOR_BEGIN_P (ctor_stmt) = 1; ! add_stmt (ctor_stmt); ! /* And actually initialize the base-classes and members. */ ! emit_base_init (member_init_list, base_init_list); } ! else if (DECL_DESTRUCTOR_P (current_function_decl)) { tree if_stmt; tree compound_stmt; *************** simplify_aggr_init_exprs_r (tp, walk_sub *** 2310,2316 **** int old_ac = flag_access_control; flag_access_control = 0; ! call_expr = build_aggr_init (slot, call_expr, LOOKUP_ONLYCONVERTING); flag_access_control = old_ac; copy_from_buffer_p = 1; } --- 2308,2315 ---- int old_ac = flag_access_control; flag_access_control = 0; ! call_expr = build_aggr_init (slot, call_expr, ! DIRECT_BIND | LOOKUP_ONLYCONVERTING); flag_access_control = old_ac; copy_from_buffer_p = 1; } diff -Nrc3pad gcc-3.0.2/gcc/cp/tree.c gcc-3.0.3/gcc/cp/tree.c *** gcc-3.0.2/gcc/cp/tree.c Sun May 13 00:10:21 2001 --- gcc-3.0.3/gcc/cp/tree.c Thu Nov 29 19:12:44 2001 *************** build_overload (decl, chain) *** 995,1017 **** return ovl_cons (decl, chain); } - /* True if fn is in ovl. */ - - int - ovl_member (fn, ovl) - tree fn; - tree ovl; - { - if (ovl == NULL_TREE) - return 0; - if (TREE_CODE (ovl) != OVERLOAD) - return ovl == fn; - for (; ovl; ovl = OVL_CHAIN (ovl)) - if (OVL_FUNCTION (ovl) == fn) - return 1; - return 0; - } - int is_aggr_type_2 (t1, t2) tree t1, t2; --- 995,1000 ---- diff -Nrc3pad gcc-3.0.2/gcc/cp/typeck.c gcc-3.0.3/gcc/cp/typeck.c *** gcc-3.0.2/gcc/cp/typeck.c Fri Sep 21 18:33:24 2001 --- gcc-3.0.3/gcc/cp/typeck.c Mon Nov 19 20:39:23 2001 *************** c_sizeof (type) *** 1550,1556 **** tree size; if (processing_template_decl) ! return build_min (SIZEOF_EXPR, sizetype, type); if (code == FUNCTION_TYPE) { --- 1550,1556 ---- tree size; if (processing_template_decl) ! return build_min_nt (SIZEOF_EXPR, type); if (code == FUNCTION_TYPE) { *************** expr_sizeof (e) *** 1612,1618 **** tree e; { if (processing_template_decl) ! return build_min (SIZEOF_EXPR, sizetype, e); if (TREE_CODE (e) == COMPONENT_REF && DECL_C_BIT_FIELD (TREE_OPERAND (e, 1))) --- 1612,1618 ---- tree e; { if (processing_template_decl) ! return build_min_nt (SIZEOF_EXPR, e); if (TREE_CODE (e) == COMPONENT_REF && DECL_C_BIT_FIELD (TREE_OPERAND (e, 1))) *************** c_alignof (type) *** 1686,1692 **** tree t; if (processing_template_decl) ! return build_min (ALIGNOF_EXPR, sizetype, type); if (code == FUNCTION_TYPE || code == METHOD_TYPE) t = size_int (FUNCTION_BOUNDARY / BITS_PER_UNIT); --- 1686,1692 ---- tree t; if (processing_template_decl) ! return build_min_nt (ALIGNOF_EXPR, type); if (code == FUNCTION_TYPE || code == METHOD_TYPE) t = size_int (FUNCTION_BOUNDARY / BITS_PER_UNIT); diff -Nrc3pad gcc-3.0.2/libstdc++-v3/ChangeLog gcc-3.0.3/libstdc++-v3/ChangeLog *** gcc-3.0.2/libstdc++-v3/ChangeLog Tue Oct 23 10:21:07 2001 --- gcc-3.0.3/libstdc++-v3/ChangeLog Thu Dec 20 11:23:07 2001 *************** *** 1,3 **** --- 1,86 ---- + 2001-12-20 Release Manager + + * GCC 3.0.3 Released. + + 2001-12-13 Phil Edwards + + Bulk documentation merge (copy) from trunk. + * docs/html/Makefile, docs/html/documentation.html, + docs/html/explanations.html, docs/html/17_intro/BUGS, + docs/html/17_intro/C++STYLE, docs/html/17_intro/CHECKLIST, + docs/html/17_intro/DESIGN, docs/html/17_intro/TODO, + docs/html/17_intro/howto.html, docs/html/17_intro/license.html, + docs/html/17_intro/porting-howto.html, + docs/html/17_intro/porting-howto.xml, docs/html/17_intro/porting.html, + docs/html/17_intro/porting.texi, docs/html/18_support/howto.html, + docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html, + docs/html/21_strings/howto.html, docs/html/23_containers/howto.html, + docs/html/26_numerics/howto.html, docs/html/27_io/howto.html, + docs/html/ext/howto.html, docs/html/ext/lwg-active.html, + docs/html/ext/lwg-defects.html, docs/html/ext/sgiexts.html, + docs/html/faq/index.html, docs/html/faq/index.txt: Merge from trunk. + + 2001-12-10 Philip Martin + + PR libstdc++/3720 + * include/bits/locale_facets.h + (_M_extract_buffer_length): Add this constant. + * include/bits/locale_facet.tcc + (do_get): Use _M_extract_buffer_length. + * src/locale.cc + (_M_extract): Set failbit if buffer gets filled while + extracting characters. + * testsuite/27_io/istream_extractor_arith.cc + (tes12_aux, test12, test13): Add, ported from trunk. + + 2001-12-09 Edward E. Meyer + + PR libstdc++/4622 (copy from trunk 2001-10-31) + * include/bits/std_complex.h (complex::operator/=): Correct sign. + + 2001-11-21 Paolo Carlini + + PR libstdc++/4548 + * include/bits/basic_string.tcc (basic_string::reserve): Never shrink + below the current size. + * testsuite/21_strings/capacity.cc (test02): Add test. + + 2001-11-16 Paolo Carlini + + * include/bits/stl_deque.h (deque::erase()): Fix memory leak. + + 2001-11-09 Phil Edwards + + * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Run the test in + LANG_CPLUSPLUS mode. + * aclocal.m4: Regenerate. + * configure: Regenerate. + + 2001-11-02 Phil Edwards + + * acconfig.h: Update comments. + * acinclude.m4 (GLIBCPP_ENABLE_C99): Move strtoll, strtoull tests... + (GLIBCPP_ENABLE_LONG_LONG): ...to here. Don't check enable_c99. + * aclocal.m4: Regenerate. + * config.h.in: Regenerate. + * configure: Regenerate. + + * include/bits/boost_concept_check.h: Unconditionally compile uses + of 'long long' which require only compiler support, not C lib support. + * include/bits/cpp_type_traits.h: Likewise. + * include/bits/std_limits.h: Likewise. + * include/bits/type_traits.h: Likewise. + * src/limits.cc: Likewise. + * include/c_shadow/stdlib.h: Compile conditionally on _GLIBCPP_USE_C99 + instead of _GLIBCPP_USE_LONG_LONG. + * include/c_shadow/bits/std_cstdlib.h: Likewise. + + 2001-11-01 Gabriel Dos Reis + + * include/bits/std_complex.h (_Norm_helper): New class template. + (norm): Tweak. + (std): Tweak. + 2001-10-23 Release Manager * GCC 3.0.2 Released. diff -Nrc3pad gcc-3.0.2/libstdc++-v3/acconfig.h gcc-3.0.3/libstdc++-v3/acconfig.h *** gcc-3.0.2/libstdc++-v3/acconfig.h Tue Aug 28 14:18:19 2001 --- gcc-3.0.3/libstdc++-v3/acconfig.h Fri Nov 2 14:39:01 2001 *************** *** 1,15 **** // acconfig.h symbols and macros for libstdc++ v3 -*- C++ -*- ! // Define if GCC supports weak symbols #undef _GLIBCPP_SUPPORTS_WEAK ! // Define if gthr-default.h exists (meaning that threading support is enabled) #undef HAVE_GTHR_DEFAULT ! // Include support for 'long long' and 'unsigned long long'. #undef _GLIBCPP_USE_LONG_LONG ! // Define if code specialized for wchar_t should be used. #undef _GLIBCPP_USE_C99 // Include support for 'long double'. --- 1,15 ---- // acconfig.h symbols and macros for libstdc++ v3 -*- C++ -*- ! // Define if GCC supports weak symbols. #undef _GLIBCPP_SUPPORTS_WEAK ! // Define if gthr-default.h exists (meaning that threading support is enabled). #undef HAVE_GTHR_DEFAULT ! // Include I/O support for 'long long' and 'unsigned long long'. #undef _GLIBCPP_USE_LONG_LONG ! // Define if C99 features such as lldiv_t, llabs, lldiv should be exposed. #undef _GLIBCPP_USE_C99 // Include support for 'long double'. diff -Nrc3pad gcc-3.0.2/libstdc++-v3/acinclude.m4 gcc-3.0.3/libstdc++-v3/acinclude.m4 *** gcc-3.0.2/libstdc++-v3/acinclude.m4 Tue Aug 28 14:18:19 2001 --- gcc-3.0.3/libstdc++-v3/acinclude.m4 Fri Nov 9 13:35:14 2001 *************** AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl *** 1312,1321 **** [char* tmp; strtof("gnu", &tmp);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include ], [char* tmp; strtold("gnu", &tmp);],, [ac_c99_stdlib=no]) - AC_TRY_COMPILE([#include ], - [char* tmp; strtoll("gnu", &tmp, 10);],, [ac_c99_stdlib=no]) - AC_TRY_COMPILE([#include ], - [char* tmp; strtoull("gnu", &tmp, 10);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include ], [llabs(10);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include ], [lldiv(10,1);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include ], [atoll("10");],, [ac_c99_stdlib=no]) --- 1312,1317 ---- *************** AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl *** 1356,1362 **** dnl dnl Check for template specializations for the 'long long' type extension. ! dnl NB: Must check for C99 support before calling _GLIBCPP_ENABLE_LONG_LONG dnl dnl GLIBCPP_ENABLE_LONG_LONG dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG --- 1352,1359 ---- dnl dnl Check for template specializations for the 'long long' type extension. ! dnl The result determines only whether 'long long' I/O is enabled; things ! dnl like numeric_limits<> specializations are always available. dnl dnl GLIBCPP_ENABLE_LONG_LONG dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG *************** AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl *** 1381,1399 **** esac], enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl ! # iostreams require strtoll, strtoull to compile. If the ! # GLIBCPP_ENABLE_C99 tests found these, and if C99 support is enabled, ! # go ahead and allow long long to be used. ! if test x"$enable_c99" = x"no"; then ! enable_long_long=no; ! fi # Option parsed, now set things appropriately - AC_MSG_CHECKING([for enabled long long support]) if test x"$enable_long_long" = xyes; then AC_DEFINE(_GLIBCPP_USE_LONG_LONG) fi AC_MSG_RESULT($enable_long_long) ]) --- 1378,1400 ---- esac], enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl ! AC_LANG_SAVE ! AC_LANG_CPLUSPLUS ! ! AC_MSG_CHECKING([for enabled long long I/O support]) ! # iostreams require strtoll, strtoull to compile ! AC_TRY_COMPILE([#include ], ! [char* tmp; strtoll("gnu", &tmp, 10);],,[enable_long_long=no]) ! AC_TRY_COMPILE([#include ], ! [char* tmp; strtoull("gnu", &tmp, 10);],,[enable_long_long=no]) # Option parsed, now set things appropriately if test x"$enable_long_long" = xyes; then AC_DEFINE(_GLIBCPP_USE_LONG_LONG) fi AC_MSG_RESULT($enable_long_long) + + AC_LANG_RESTORE ]) diff -Nrc3pad gcc-3.0.2/libstdc++-v3/aclocal.m4 gcc-3.0.3/libstdc++-v3/aclocal.m4 *** gcc-3.0.2/libstdc++-v3/aclocal.m4 Tue Aug 28 14:18:20 2001 --- gcc-3.0.3/libstdc++-v3/aclocal.m4 Fri Nov 9 13:35:15 2001 *************** AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl *** 1324,1333 **** [char* tmp; strtof("gnu", &tmp);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include ], [char* tmp; strtold("gnu", &tmp);],, [ac_c99_stdlib=no]) - AC_TRY_COMPILE([#include ], - [char* tmp; strtoll("gnu", &tmp, 10);],, [ac_c99_stdlib=no]) - AC_TRY_COMPILE([#include ], - [char* tmp; strtoull("gnu", &tmp, 10);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include ], [llabs(10);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include ], [lldiv(10,1);],, [ac_c99_stdlib=no]) AC_TRY_COMPILE([#include ], [atoll("10");],, [ac_c99_stdlib=no]) --- 1324,1329 ---- *************** AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl *** 1368,1374 **** dnl dnl Check for template specializations for the 'long long' type extension. ! dnl NB: Must check for C99 support before calling _GLIBCPP_ENABLE_LONG_LONG dnl dnl GLIBCPP_ENABLE_LONG_LONG dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG --- 1364,1371 ---- dnl dnl Check for template specializations for the 'long long' type extension. ! dnl The result determines only whether 'long long' I/O is enabled; things ! dnl like numeric_limits<> specializations are always available. dnl dnl GLIBCPP_ENABLE_LONG_LONG dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG *************** AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl *** 1393,1411 **** esac], enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl ! # iostreams require strtoll, strtoull to compile. If the ! # GLIBCPP_ENABLE_C99 tests found these, and if C99 support is enabled, ! # go ahead and allow long long to be used. ! if test x"$enable_c99" = x"no"; then ! enable_long_long=no; ! fi # Option parsed, now set things appropriately - AC_MSG_CHECKING([for enabled long long support]) if test x"$enable_long_long" = xyes; then AC_DEFINE(_GLIBCPP_USE_LONG_LONG) fi AC_MSG_RESULT($enable_long_long) ]) --- 1390,1412 ---- esac], enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl ! AC_LANG_SAVE ! AC_LANG_CPLUSPLUS ! ! AC_MSG_CHECKING([for enabled long long I/O support]) ! # iostreams require strtoll, strtoull to compile ! AC_TRY_COMPILE([#include ], ! [char* tmp; strtoll("gnu", &tmp, 10);],,[enable_long_long=no]) ! AC_TRY_COMPILE([#include ], ! [char* tmp; strtoull("gnu", &tmp, 10);],,[enable_long_long=no]) # Option parsed, now set things appropriately if test x"$enable_long_long" = xyes; then AC_DEFINE(_GLIBCPP_USE_LONG_LONG) fi AC_MSG_RESULT($enable_long_long) + + AC_LANG_RESTORE ]) diff -Nrc3pad gcc-3.0.2/libstdc++-v3/config.h.in gcc-3.0.3/libstdc++-v3/config.h.in *** gcc-3.0.2/libstdc++-v3/config.h.in Tue Aug 28 14:18:20 2001 --- gcc-3.0.3/libstdc++-v3/config.h.in Fri Nov 2 14:39:01 2001 *************** *** 3,18 **** /* Define if you have a working `mmap' system call. */ #undef HAVE_MMAP ! // Define if GCC supports weak symbols #undef _GLIBCPP_SUPPORTS_WEAK ! // Define if gthr-default.h exists (meaning that threading support is enabled) #undef HAVE_GTHR_DEFAULT ! // Include support for 'long long' and 'unsigned long long'. #undef _GLIBCPP_USE_LONG_LONG ! // Define if code specialized for wchar_t should be used. #undef _GLIBCPP_USE_C99 // Include support for shadow headers, ie --enable-cshadow-headers. --- 3,18 ---- /* Define if you have a working `mmap' system call. */ #undef HAVE_MMAP ! // Define if GCC supports weak symbols. #undef _GLIBCPP_SUPPORTS_WEAK ! // Define if gthr-default.h exists (meaning that threading support is enabled). #undef HAVE_GTHR_DEFAULT ! // Include I/O support for 'long long' and 'unsigned long long'. #undef _GLIBCPP_USE_LONG_LONG ! // Define if C99 features such as lldiv_t, llabs, lldiv should be exposed. #undef _GLIBCPP_USE_C99 // Include support for shadow headers, ie --enable-cshadow-headers. diff -Nrc3pad gcc-3.0.2/libstdc++-v3/configure gcc-3.0.3/libstdc++-v3/configure *** gcc-3.0.2/libstdc++-v3/configure Mon Sep 10 13:10:25 2001 --- gcc-3.0.3/libstdc++-v3/configure Fri Nov 9 13:35:15 2001 *************** program_suffix=NONE *** 77,82 **** --- 77,83 ---- program_transform_name=s,x,x, silent= site= + sitefile= srcdir= target=NONE verbose= *************** Configuration: *** 191,196 **** --- 192,198 ---- --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages + --site-file=FILE use FILE as the site file --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX *************** EOF *** 361,366 **** --- 363,373 ---- -site=* | --site=* | --sit=*) site="$ac_optarg" ;; + -site-file | --site-file | --site-fil | --site-fi | --site-f) + ac_prev=sitefile ;; + -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) + sitefile="$ac_optarg" ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) *************** fi *** 526,537 **** srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. ! if test -z "$CONFIG_SITE"; then ! if test "x$prefix" != xNONE; then ! CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" ! else ! CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then --- 533,548 ---- srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. ! if test -z "$sitefile"; then ! if test -z "$CONFIG_SITE"; then ! if test "x$prefix" != xNONE; then ! CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" ! else ! CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" ! fi fi + else + CONFIG_SITE="$sitefile" fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then *************** else { echo "configure: error: can not r *** 644,650 **** fi echo $ac_n "checking host system type""... $ac_c" 1>&6 ! echo "configure:648: checking host system type" >&5 host_alias=$host case "$host_alias" in --- 655,661 ---- fi echo $ac_n "checking host system type""... $ac_c" 1>&6 ! echo "configure:659: checking host system type" >&5 host_alias=$host case "$host_alias" in *************** host_os=`echo $host | sed 's/^\([^-]*\)- *** 665,671 **** echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 ! echo "configure:669: checking target system type" >&5 target_alias=$target case "$target_alias" in --- 676,682 ---- echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 ! echo "configure:680: checking target system type" >&5 target_alias=$target case "$target_alias" in *************** target_os=`echo $target | sed 's/^\([^-] *** 683,689 **** echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:687: checking build system type" >&5 build_alias=$build case "$build_alias" in --- 694,700 ---- echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:698: checking build system type" >&5 build_alias=$build case "$build_alias" in *************** target_alias=${target_alias-$target} *** 711,717 **** # Will set LN_S to either 'ln -s' or 'ln'. With autoconf 2.50+, can also # be 'cp -p' if linking isn't available. echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:715: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 722,728 ---- # Will set LN_S to either 'ln -s' or 'ln'. With autoconf 2.50+, can also # be 'cp -p' if linking isn't available. echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:726: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 760,766 **** # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:764: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 771,777 ---- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:775: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** test -z "$INSTALL_SCRIPT" && INSTALL_SCR *** 813,819 **** test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 ! echo "configure:817: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile --- 824,830 ---- test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 ! echo "configure:828: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile *************** test "$program_suffix" != NONE && *** 870,876 **** test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 ! echo "configure:874: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 881,887 ---- test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 ! echo "configure:885: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 903,914 **** fi echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 ! echo "configure:907: checking for Cygwin environment" >&5 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:918: checking for Cygwin environment" >&5 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else --- 930,936 ---- return __CYGWIN__; ; return 0; } EOF ! if { (eval echo configure:934: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else *************** echo "$ac_t""$ac_cv_cygwin" 1>&6 *** 936,954 **** CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 ! echo "configure:940: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else --- 947,965 ---- CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 ! echo "configure:951: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else *************** EOF *** 1000,1006 **** missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 ! echo "configure:1004: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 1011,1017 ---- missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 ! echo "configure:1015: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** else *** 1013,1019 **** fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 ! echo "configure:1017: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 1024,1030 ---- fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 ! echo "configure:1028: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** else *** 1026,1032 **** fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 ! echo "configure:1030: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 1037,1043 ---- fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 ! echo "configure:1041: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** else *** 1039,1045 **** fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 ! echo "configure:1043: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 1050,1056 ---- fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 ! echo "configure:1054: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** else *** 1052,1058 **** fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 ! echo "configure:1056: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. --- 1063,1069 ---- fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 ! echo "configure:1067: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. *************** fi *** 1087,1093 **** # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1091: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1098,1104 ---- # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1102: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** if test -z "$CC"; then *** 1117,1123 **** # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1121: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1128,1134 ---- # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1132: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1166,1172 **** fi echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:1170: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1177,1183 ---- fi echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:1181: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 1175,1181 **** yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1179: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no --- 1186,1192 ---- yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1190: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no *************** if test $ac_cv_prog_gcc = yes; then *** 1190,1196 **** ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:1194: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1201,1207 ---- ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:1205: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** do *** 1235,1241 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1239: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_glibcpp_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1246,1252 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1250: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_glibcpp_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** CXX=$glibcpp_CXX *** 1270,1276 **** test -z "$glibcpp_CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 ! echo "configure:1274: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1281,1287 ---- test -z "$glibcpp_CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 ! echo "configure:1285: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 1279,1285 **** yes; #endif EOF ! if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1283: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no --- 1290,1296 ---- yes; #endif EOF ! if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no *************** if test $ac_cv_prog_gxx = yes; then *** 1294,1300 **** ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 ! echo "configure:1298: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1305,1311 ---- ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 ! echo "configure:1309: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1325,1331 **** # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1329: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1336,1342 ---- # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1340: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1357,1363 **** # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1361: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1368,1374 ---- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1372: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1389,1395 **** # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1393: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1400,1406 ---- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1404: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** if test -n "$ac_tool_prefix"; then *** 1421,1427 **** # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1425: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1432,1438 ---- # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1436: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 1465,1471 **** # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:1469: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1476,1482 ---- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:1480: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** test -z "$INSTALL_DATA" && INSTALL_DATA= *** 1519,1525 **** echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:1523: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" --- 1530,1536 ---- echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:1534: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" *************** fi *** 1557,1563 **** echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 ! echo "configure:1561: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1568,1574 ---- echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 ! echo "configure:1572: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 1567,1576 **** rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= ! if { (eval echo configure:1571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in ! *.c | *.o | *.obj) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done --- 1578,1587 ---- rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= ! if { (eval echo configure:1582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in ! *.c | *.o | *.obj | *.ilk | *.pdb) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done *************** ac_prog=ld *** 1687,1693 **** if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 ! echo "configure:1691: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw --- 1698,1704 ---- if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 ! echo "configure:1702: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw *************** echo "configure:1691: checking for ld us *** 1717,1726 **** esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 ! echo "configure:1721: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 ! echo "configure:1724: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1728,1737 ---- esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 ! echo "configure:1732: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 ! echo "configure:1735: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 1755,1761 **** fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 ! echo "configure:1759: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1766,1772 ---- fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 ! echo "configure:1770: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** with_gnu_ld=$lt_cv_prog_gnu_ld *** 1772,1778 **** echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 ! echo "configure:1776: checking for $LD option to reload object files" >&5 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1783,1789 ---- echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 ! echo "configure:1787: checking for $LD option to reload object files" >&5 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** reload_flag=$lt_cv_ld_reload_flag *** 1784,1790 **** test -n "$reload_flag" && reload_flag=" $reload_flag" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 ! echo "configure:1788: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1795,1801 ---- test -n "$reload_flag" && reload_flag=" $reload_flag" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 ! echo "configure:1799: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** NM="$lt_cv_path_NM" *** 1822,1828 **** echo "$ac_t""$NM" 1>&6 echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 ! echo "configure:1826: checking how to recognise dependant libraries" >&5 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1833,1839 ---- echo "$ac_t""$NM" 1>&6 echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 ! echo "configure:1837: checking how to recognise dependant libraries" >&5 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** file_magic_cmd=$lt_cv_file_magic_cmd *** 1986,1998 **** deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 ! echo "configure:1990: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext ! if { (eval echo configure:1996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; --- 1997,2009 ---- deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 ! echo "configure:2001: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext ! if { (eval echo configure:2007: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; *************** case $deplibs_check_method in *** 2016,2022 **** file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 ! echo "configure:2020: checking for ${ac_tool_prefix}file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2027,2033 ---- file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 ! echo "configure:2031: checking for ${ac_tool_prefix}file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 2078,2084 **** if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo $ac_n "checking for file""... $ac_c" 1>&6 ! echo "configure:2082: checking for file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2089,2095 ---- if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo $ac_n "checking for file""... $ac_c" 1>&6 ! echo "configure:2093: checking for file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** esac *** 2149,2155 **** # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2153: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2160,2166 ---- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2164: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** if test -n "$ac_tool_prefix"; then *** 2181,2187 **** # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2185: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2192,2198 ---- # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2196: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 2216,2222 **** # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2220: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2227,2233 ---- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2231: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** if test -n "$ac_tool_prefix"; then *** 2248,2254 **** # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2252: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2259,2265 ---- # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2263: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** test x"$pic_mode" = xno && libtool_flags *** 2315,2322 **** case $host in *-*-irix6*) # Find out which ABI we are using. ! echo '#line 2319 "configure"' > conftest.$ac_ext ! if { (eval echo configure:2320: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" --- 2326,2333 ---- case $host in *-*-irix6*) # Find out which ABI we are using. ! echo '#line 2330 "configure"' > conftest.$ac_ext ! if { (eval echo configure:2331: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" *************** case $host in *** 2337,2343 **** SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 ! echo "configure:2341: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2348,2354 ---- SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 ! echo "configure:2352: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CC-cc} -o conftest${ac_exeext *** 2350,2363 **** cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else --- 2361,2374 ---- cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else *************** echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6 *** 2387,2393 **** esac echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 ! echo "configure:2391: checking how to run the C++ preprocessor" >&5 if test -z "$CXXCPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2398,2404 ---- esac echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 ! echo "configure:2402: checking how to run the C++ preprocessor" >&5 if test -z "$CXXCPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 2400,2411 **** cross_compiling=$ac_cv_prog_cxx_cross CXXCPP="${CXX-g++} -E" cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2409: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : --- 2411,2422 ---- cross_compiling=$ac_cv_prog_cxx_cross CXXCPP="${CXX-g++} -E" cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2420: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : *************** exec 5>>./config.log *** 2540,2546 **** echo $ac_n "checking for GNU make""... $ac_c" 1>&6 ! echo "configure:2544: checking for GNU make" >&5 if eval "test \"`echo '$''{'_cv_gnu_make_command'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2551,2557 ---- echo $ac_n "checking for GNU make""... $ac_c" 1>&6 ! echo "configure:2555: checking for GNU make" >&5 if eval "test \"`echo '$''{'_cv_gnu_make_command'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** echo "$ac_t""$_cv_gnu_make_command" 1>&6 *** 2572,2578 **** if test ! -f stamp-sanity-compiler; then echo $ac_n "checking for g++ that will successfully compile libstdc++-v3""... $ac_c" 1>&6 ! echo "configure:2576: checking for g++ that will successfully compile libstdc++-v3" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. --- 2583,2589 ---- if test ! -f stamp-sanity-compiler; then echo $ac_n "checking for g++ that will successfully compile libstdc++-v3""... $ac_c" 1>&6 ! echo "configure:2587: checking for g++ that will successfully compile libstdc++-v3" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 2582,2588 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gpp_satisfactory=yes else --- 2604,2610 ---- ; return 0; } EOF ! if { (eval echo configure:2608: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gpp_satisfactory=yes else *************** esac *** 2639,2645 **** echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 ! echo "configure:2643: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= --- 2650,2656 ---- echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 ! echo "configure:2654: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= *************** else *** 2654,2666 **** # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2664: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : --- 2665,2677 ---- # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2675: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : *************** else *** 2671,2683 **** rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2681: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : --- 2682,2694 ---- rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2692: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : *************** else *** 2688,2700 **** rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : --- 2699,2711 ---- rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : *************** echo "$ac_t""$CPP" 1>&6 *** 2720,2726 **** echo $ac_n "checking for cstdio to use""... $ac_c" 1>&6 ! echo "configure:2724: checking for cstdio to use" >&5 # Check whether --enable-cstdio or --disable-cstdio was given. if test "${enable_cstdio+set}" = set; then enableval="$enable_cstdio" --- 2731,2737 ---- echo $ac_n "checking for cstdio to use""... $ac_c" 1>&6 ! echo "configure:2735: checking for cstdio to use" >&5 # Check whether --enable-cstdio or --disable-cstdio was given. if test "${enable_cstdio+set}" = set; then enableval="$enable_cstdio" *************** fi *** 2744,2760 **** # see if we are on a system with libio native (ie, linux) ac_safe=`echo "libio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libio.h""... $ac_c" 1>&6 ! echo "configure:2748: checking for libio.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2758: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 2755,2771 ---- # see if we are on a system with libio native (ie, linux) ac_safe=`echo "libio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libio.h""... $ac_c" 1>&6 ! echo "configure:2759: checking for libio.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2769: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** fi *** 2784,2792 **** case "$target" in *-*-linux*) echo $ac_n "checking for glibc version >= 2.2""... $ac_c" 1>&6 ! echo "configure:2788: checking for glibc version >= 2.2" >&5 cat > conftest.$ac_ext < --- 2795,2803 ---- case "$target" in *-*-linux*) echo $ac_n "checking for glibc version >= 2.2""... $ac_c" 1>&6 ! echo "configure:2799: checking for glibc version >= 2.2" >&5 cat > conftest.$ac_ext < *************** fi *** 2900,2906 **** echo $ac_n "checking for clocale to use""... $ac_c" 1>&6 ! echo "configure:2904: checking for clocale to use" >&5 # Check whether --enable-clocale or --disable-clocale was given. if test "${enable_clocale+set}" = set; then enableval="$enable_clocale" --- 2911,2917 ---- echo $ac_n "checking for clocale to use""... $ac_c" 1>&6 ! echo "configure:2915: checking for clocale to use" >&5 # Check whether --enable-clocale or --disable-clocale was given. if test "${enable_clocale+set}" = set; then enableval="$enable_clocale" *************** cross_compiling=$ac_cv_prog_cxx_cross *** 2971,2986 **** # Check for the existence of functions used if C99 is enabled. ac_c99_math=yes; echo $ac_n "checking for ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:2975: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { fpclassify(0.0); ; return 0; } EOF ! if { (eval echo configure:2984: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 2982,2997 ---- # Check for the existence of functions used if C99 is enabled. ac_c99_math=yes; echo $ac_n "checking for ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:2986: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { fpclassify(0.0); ; return 0; } EOF ! if { (eval echo configure:2995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 2990,3003 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isfinite(0.0); ; return 0; } EOF ! if { (eval echo configure:3001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3001,3014 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isfinite(0.0); ; return 0; } EOF ! if { (eval echo configure:3012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3007,3020 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isinf(0.0); ; return 0; } EOF ! if { (eval echo configure:3018: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3018,3031 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isinf(0.0); ; return 0; } EOF ! if { (eval echo configure:3029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3024,3037 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isnan(0.0); ; return 0; } EOF ! if { (eval echo configure:3035: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3035,3048 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isnan(0.0); ; return 0; } EOF ! if { (eval echo configure:3046: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3041,3054 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isnormal(0.0); ; return 0; } EOF ! if { (eval echo configure:3052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3052,3065 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isnormal(0.0); ; return 0; } EOF ! if { (eval echo configure:3063: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3058,3071 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { signbit(0.0); ; return 0; } EOF ! if { (eval echo configure:3069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3069,3082 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { signbit(0.0); ; return 0; } EOF ! if { (eval echo configure:3080: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3075,3088 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isgreater(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3086,3099 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isgreater(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3097: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3092,3105 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isgreaterequal(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3103,3116 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isgreaterequal(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3114: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3109,3122 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isless(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3120,3133 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isless(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3131: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3126,3139 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { islessequal(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3137: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3137,3150 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { islessequal(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3148: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3143,3156 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { islessgreater(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3154: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3154,3167 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { islessgreater(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3165: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3160,3173 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isunordered(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3171: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3171,3184 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isunordered(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3182: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** rm -f conftest* *** 3181,3196 **** # Check for the existence in of vscanf, et. al. ac_c99_stdio=yes; echo $ac_n "checking for ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:3185: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { snprintf("12", 0, "%i"); ; return 0; } EOF ! if { (eval echo configure:3194: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3192,3207 ---- # Check for the existence in of vscanf, et. al. ac_c99_stdio=yes; echo $ac_n "checking for ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:3196: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { snprintf("12", 0, "%i"); ; return 0; } EOF ! if { (eval echo configure:3205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3200,3206 **** fi rm -f conftest* cat > conftest.$ac_ext < #include --- 3211,3217 ---- fi rm -f conftest* cat > conftest.$ac_ext < #include *************** int main() { *** 3211,3217 **** ; return 0; } EOF ! if { (eval echo configure:3215: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3222,3228 ---- ; return 0; } EOF ! if { (eval echo configure:3226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3221,3227 **** fi rm -f conftest* cat > conftest.$ac_ext < #include --- 3232,3238 ---- fi rm -f conftest* cat > conftest.$ac_ext < #include *************** int main() { *** 3232,3238 **** ; return 0; } EOF ! if { (eval echo configure:3236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3243,3249 ---- ; return 0; } EOF ! if { (eval echo configure:3247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3242,3248 **** fi rm -f conftest* cat > conftest.$ac_ext < #include --- 3253,3259 ---- fi rm -f conftest* cat > conftest.$ac_ext < #include *************** int main() { *** 3253,3259 **** ; return 0; } EOF ! if { (eval echo configure:3257: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3264,3270 ---- ; return 0; } EOF ! if { (eval echo configure:3268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3263,3269 **** fi rm -f conftest* cat > conftest.$ac_ext < #include --- 3274,3280 ---- fi rm -f conftest* cat > conftest.$ac_ext < #include *************** int main() { *** 3274,3280 **** ; return 0; } EOF ! if { (eval echo configure:3278: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3285,3291 ---- ; return 0; } EOF ! if { (eval echo configure:3289: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** rm -f conftest* *** 3288,3307 **** # Check for the existence in of lldiv_t, et. al. ac_c99_stdlib=yes; echo $ac_n "checking for lldiv_t declaration""... $ac_c" 1>&6 ! echo "configure:3292: checking for lldiv_t declaration" >&5 if eval "test \"`echo '$''{'ac_c99_lldiv_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { lldiv_t mydivt; ; return 0; } EOF ! if { (eval echo configure:3305: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_c99_lldiv_t=yes else --- 3299,3318 ---- # Check for the existence in of lldiv_t, et. al. ac_c99_stdlib=yes; echo $ac_n "checking for lldiv_t declaration""... $ac_c" 1>&6 ! echo "configure:3303: checking for lldiv_t declaration" >&5 if eval "test \"`echo '$''{'ac_c99_lldiv_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { lldiv_t mydivt; ; return 0; } EOF ! if { (eval echo configure:3316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_c99_lldiv_t=yes else *************** fi *** 3317,3332 **** echo "$ac_t""$ac_c99_lldiv_t" 1>&6 echo $ac_n "checking for ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:3321: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { char* tmp; strtof("gnu", &tmp); ; return 0; } EOF ! if { (eval echo configure:3330: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3328,3343 ---- echo "$ac_t""$ac_c99_lldiv_t" 1>&6 echo $ac_n "checking for ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:3332: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { char* tmp; strtof("gnu", &tmp); ; return 0; } EOF ! if { (eval echo configure:3341: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3336,3383 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { char* tmp; strtold("gnu", &tmp); ; return 0; } EOF ! if { (eval echo configure:3347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ! : ! else ! echo "configure: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! rm -rf conftest* ! ac_c99_stdlib=no ! fi ! rm -f conftest* ! cat > conftest.$ac_ext < ! int main() { ! char* tmp; strtoll("gnu", &tmp, 10); ! ; return 0; } ! EOF ! if { (eval echo configure:3364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ! : ! else ! echo "configure: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! rm -rf conftest* ! ac_c99_stdlib=no ! fi ! rm -f conftest* ! cat > conftest.$ac_ext < ! int main() { ! char* tmp; strtoull("gnu", &tmp, 10); ! ; return 0; } ! EOF ! if { (eval echo configure:3381: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3347,3360 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { char* tmp; strtold("gnu", &tmp); ; return 0; } EOF ! if { (eval echo configure:3358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3387,3400 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { llabs(10); ; return 0; } EOF ! if { (eval echo configure:3398: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3364,3377 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { llabs(10); ; return 0; } EOF ! if { (eval echo configure:3375: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3404,3417 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { lldiv(10,1); ; return 0; } EOF ! if { (eval echo configure:3415: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3381,3394 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { lldiv(10,1); ; return 0; } EOF ! if { (eval echo configure:3392: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3421,3434 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { atoll("10"); ; return 0; } EOF ! if { (eval echo configure:3432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3398,3411 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { atoll("10"); ; return 0; } EOF ! if { (eval echo configure:3409: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3438,3451 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { _Exit(0); ; return 0; } EOF ! if { (eval echo configure:3449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3415,3428 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { _Exit(0); ; return 0; } EOF ! if { (eval echo configure:3426: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** rm -f conftest* *** 3463,3478 **** # XXX the wchar.h checks should be rolled into the general C99 bits. ac_c99_wchar=yes; echo $ac_n "checking for additional ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:3467: checking for additional ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { wcstold(L"10.0", NULL); ; return 0; } EOF ! if { (eval echo configure:3476: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3440,3455 ---- # XXX the wchar.h checks should be rolled into the general C99 bits. ac_c99_wchar=yes; echo $ac_n "checking for additional ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:3444: checking for additional ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { wcstold(L"10.0", NULL); ; return 0; } EOF ! if { (eval echo configure:3453: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3482,3495 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { wcstoll(L"10", NULL, 10); ; return 0; } EOF ! if { (eval echo configure:3493: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3459,3472 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { wcstoll(L"10", NULL, 10); ; return 0; } EOF ! if { (eval echo configure:3470: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3499,3512 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { wcstoull(L"10", NULL, 10); ; return 0; } EOF ! if { (eval echo configure:3510: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3476,3489 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { wcstoull(L"10", NULL, 10); ; return 0; } EOF ! if { (eval echo configure:3487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** rm -f conftest* *** 3518,3524 **** echo "$ac_t""$ac_c99_wchar" 1>&6 echo $ac_n "checking for enabled ISO C99 support""... $ac_c" 1>&6 ! echo "configure:3522: checking for enabled ISO C99 support" >&5 if test x"$ac_c99_math" = x"no" || test x"$ac_c99_stdio" = x"no" \ || test x"$ac_c99_stdlib" = x"no" \ || test x"$ac_c99_wchar" = x"no"; then --- 3495,3501 ---- echo "$ac_t""$ac_c99_wchar" 1>&6 echo $ac_n "checking for enabled ISO C99 support""... $ac_c" 1>&6 ! echo "configure:3499: checking for enabled ISO C99 support" >&5 if test x"$ac_c99_math" = x"no" || test x"$ac_c99_stdio" = x"no" \ || test x"$ac_c99_stdlib" = x"no" \ || test x"$ac_c99_wchar" = x"no"; then *************** else *** 3555,3570 **** enable_long_long=yes fi ! # iostreams require strtoll, strtoull to compile. If the ! # GLIBCPP_ENABLE_C99 tests found these, and if C99 support is enabled, ! # go ahead and allow long long to be used. ! if test x"$enable_c99" = x"no"; then ! enable_long_long=no; ! fi # Option parsed, now set things appropriately - echo $ac_n "checking for enabled long long support""... $ac_c" 1>&6 - echo "configure:3568: checking for enabled long long support" >&5 if test x"$enable_long_long" = xyes; then cat >> confdefs.h <<\EOF #define _GLIBCPP_USE_LONG_LONG 1 --- 3532,3585 ---- enable_long_long=yes fi ! ! ac_ext=C ! # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ! ac_cpp='$CXXCPP $CPPFLAGS' ! ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ! ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' ! cross_compiling=$ac_cv_prog_cxx_cross ! ! ! echo $ac_n "checking for enabled long long I/O support""... $ac_c" 1>&6 ! echo "configure:3546: checking for enabled long long I/O support" >&5 ! # iostreams require strtoll, strtoull to compile ! cat > conftest.$ac_ext < ! int main() { ! char* tmp; strtoll("gnu", &tmp, 10); ! ; return 0; } ! EOF ! if { (eval echo configure:3556: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ! : ! else ! echo "configure: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! rm -rf conftest* ! enable_long_long=no ! fi ! rm -f conftest* ! cat > conftest.$ac_ext < ! int main() { ! char* tmp; strtoull("gnu", &tmp, 10); ! ; return 0; } ! EOF ! if { (eval echo configure:3573: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then ! : ! else ! echo "configure: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! rm -rf conftest* ! enable_long_long=no ! fi ! rm -f conftest* # Option parsed, now set things appropriately if test x"$enable_long_long" = xyes; then cat >> confdefs.h <<\EOF #define _GLIBCPP_USE_LONG_LONG 1 *************** EOF *** 3573,3580 **** fi echo "$ac_t""$enable_long_long" 1>&6 echo $ac_n "checking for c header strategy to use""... $ac_c" 1>&6 ! echo "configure:3578: checking for c header strategy to use" >&5 # Check whether --enable-cheaders or --disable-cheaders was given. if test "${enable_cheaders+set}" = set; then enableval="$enable_cheaders" --- 3588,3603 ---- fi echo "$ac_t""$enable_long_long" 1>&6 + ac_ext=c + # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. + ac_cpp='$CPP $CPPFLAGS' + ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' + ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' + cross_compiling=$ac_cv_prog_cc_cross + + echo $ac_n "checking for c header strategy to use""... $ac_c" 1>&6 ! echo "configure:3601: checking for c header strategy to use" >&5 # Check whether --enable-cheaders or --disable-cheaders was given. if test "${enable_cheaders+set}" = set; then enableval="$enable_cheaders" *************** fi *** 3631,3637 **** echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6 ! echo "configure:3635: checking for thread model used by GCC" >&5 target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` echo "$ac_t""$target_thread_file" 1>&6 --- 3654,3660 ---- echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6 ! echo "configure:3658: checking for thread model used by GCC" >&5 target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` echo "$ac_t""$target_thread_file" 1>&6 *************** EXTRA_CXX_FLAGS="$enable_cxx_flags" *** 3684,3690 **** echo $ac_n "checking for exception model to use""... $ac_c" 1>&6 ! echo "configure:3688: checking for exception model to use" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. --- 3707,3713 ---- echo $ac_n "checking for exception model to use""... $ac_c" 1>&6 ! echo "configure:3711: checking for exception model to use" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. *************** if test "${enable_sjlj_exceptions+set}" *** 3699,3705 **** : else cat > conftest.$ac_ext << EOF ! #line 3703 "configure" struct S { ~S(); }; void bar(); void foo() --- 3722,3728 ---- : else cat > conftest.$ac_ext << EOF ! #line 3726 "configure" struct S { ~S(); }; void bar(); void foo() *************** void foo() *** 3710,3716 **** EOF old_CXXFLAGS="$CXXFLAGS" CXXFLAGS=-S ! if { (eval echo configure:3714: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then enable_sjlj_exceptions=yes elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then --- 3733,3739 ---- EOF old_CXXFLAGS="$CXXFLAGS" CXXFLAGS=-S ! if { (eval echo configure:3737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then enable_sjlj_exceptions=yes elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then *************** if test -n "$with_cross_host" || test x" *** 3769,3785 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3773: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3783: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 3792,3808 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3796: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3806: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** done *** 3835,3846 **** # used sections, first .eh_frame and now some of the glibc sections for # iconv). Bzzzzt. Thanks for playing, maybe next time. echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6 ! echo "configure:3839: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <&6 ! echo "configure:3862: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else --- 3874,3880 ---- } EOF ! if { (eval echo configure:3878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else *************** EOF *** 4129,4135 **** fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:4133: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 4152,4158 ---- fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:4156: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 4137,4150 **** ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 4160,4173 ---- ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** fi *** 4174,4185 **** for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4178: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4201: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4225,4231 ---- ; return 0; } EOF ! if { (eval echo configure:4229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 4235,4246 **** for ac_func in signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4239: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4262: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4286,4292 ---- ; return 0; } EOF ! if { (eval echo configure:4290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 4296,4311 **** echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:4300: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:4309: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else --- 4319,4334 ---- echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:4323: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:4332: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else *************** EOF *** 4327,4343 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4331: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4341: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 4350,4366 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4354: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4364: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** done *** 4366,4382 **** ac_safe=`echo "wctype.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wctype.h""... $ac_c" 1>&6 ! echo "configure:4370: checking for wctype.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4380: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 4389,4405 ---- ac_safe=`echo "wctype.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wctype.h""... $ac_c" 1>&6 ! echo "configure:4393: checking for wctype.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4403: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** fi *** 4403,4418 **** && test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:4407: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext < int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF ! if { (eval echo configure:4416: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else --- 4426,4441 ---- && test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:4430: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext < int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF ! if { (eval echo configure:4439: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else *************** rm -f conftest* *** 4425,4433 **** echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:4429: checking for WEOF" >&5 cat > conftest.$ac_ext < --- 4448,4456 ---- echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:4452: checking for WEOF" >&5 cat > conftest.$ac_ext < *************** int main() { *** 4436,4442 **** wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:4440: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else --- 4459,4465 ---- wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:4463: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else *************** rm -f conftest* *** 4452,4463 **** for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4456: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4479: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4503,4509 ---- ; return 0; } EOF ! if { (eval echo configure:4507: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 4515,4526 **** wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4519: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4542: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4566,4572 ---- ; return 0; } EOF ! if { (eval echo configure:4570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 4571,4577 **** echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:4575: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes \ && test x"$ac_wfuncs" = xyes; then ac_isoC99_wchar_t=yes --- 4594,4600 ---- echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:4598: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes \ && test x"$ac_wfuncs" = xyes; then ac_isoC99_wchar_t=yes *************** echo "configure:4575: checking for ISO C *** 4582,4598 **** ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:4586: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4596: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 4605,4621 ---- ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:4609: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4619: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** fi *** 4616,4632 **** ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:4620: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4630: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 4639,4655 ---- ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:4643: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4653: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** fi *** 4650,4656 **** echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:4654: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 4673,4679 ---- echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:4677: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 4658,4664 **** ac_save_LIBS="$LIBS" LIBS="-liconv $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 4692,4698 ---- iconv() ; return 0; } EOF ! if { (eval echo configure:4696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** fi *** 4695,4706 **** for ac_func in iconv_open iconv_close iconv nl_langinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4699: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4722: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4746,4752 ---- ; return 0; } EOF ! if { (eval echo configure:4750: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 4753,4759 **** LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:4757: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes \ && test x"$ac_XPG2funcs" = xyes; then ac_XPG2_wchar_t=yes --- 4776,4782 ---- LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:4780: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes \ && test x"$ac_XPG2funcs" = xyes; then ac_XPG2_wchar_t=yes *************** echo "configure:4757: checking for XPG2 *** 4763,4769 **** echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:4767: checking for enabled wchar_t specializations" >&5 if test x"$ac_isoC99_wchar_t" = xyes \ && test x"$ac_XPG2_wchar_t" = xyes; then cat >> confdefs.h <<\EOF --- 4786,4792 ---- echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:4790: checking for enabled wchar_t specializations" >&5 if test x"$ac_isoC99_wchar_t" = xyes \ && test x"$ac_XPG2_wchar_t" = xyes; then cat >> confdefs.h <<\EOF *************** else *** 4837,4853 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4841: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 4860,4876 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4864: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4874: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** cross_compiling=$ac_cv_prog_cxx_cross *** 4898,4907 **** # Check for -ffunction-sections -fdata-sections echo $ac_n "checking for g++ that supports -ffunction-sections -fdata-sections""... $ac_c" 1>&6 ! echo "configure:4902: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 CXXFLAGS='-Werror -ffunction-sections -fdata-sections' cat > conftest.$ac_ext <&6 ! echo "configure:4925: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 CXXFLAGS='-Werror -ffunction-sections -fdata-sections' cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_fdsections=yes else --- 4932,4938 ---- ; return 0; } EOF ! if { (eval echo configure:4936: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_fdsections=yes else *************** cross_compiling=$ac_cv_prog_cc_cross *** 4966,4977 **** # used sections, first .eh_frame and now some of the glibc sections for # iconv). Bzzzzt. Thanks for playing, maybe next time. echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6 ! echo "configure:4970: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <&6 ! echo "configure:4993: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else --- 5005,5011 ---- } EOF ! if { (eval echo configure:5009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else *************** fi *** 5017,5023 **** echo $ac_n "checking for __builtin_abs declaration""... $ac_c" 1>&6 ! echo "configure:5021: checking for __builtin_abs declaration" >&5 if test x${glibcpp_cv_func___builtin_abs_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5040,5046 ---- echo $ac_n "checking for __builtin_abs declaration""... $ac_c" 1>&6 ! echo "configure:5044: checking for __builtin_abs declaration" >&5 if test x${glibcpp_cv_func___builtin_abs_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5032,5045 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_abs(0); ; return 0; } EOF ! if { (eval echo configure:5043: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_abs_use=yes else --- 5055,5068 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_abs(0); ; return 0; } EOF ! if { (eval echo configure:5066: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_abs_use=yes else *************** fi *** 5063,5083 **** echo "$ac_t""$glibcpp_cv_func___builtin_abs_use" 1>&6 if test x$glibcpp_cv_func___builtin_abs_use = x"yes"; then echo $ac_n "checking for __builtin_abs linkage""... $ac_c" 1>&6 ! echo "configure:5067: checking for __builtin_abs linkage" >&5 if test x${glibcpp_cv_func___builtin_abs_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_abs(0); ; return 0; } EOF ! if { (eval echo configure:5081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_abs_link=yes else --- 5086,5106 ---- echo "$ac_t""$glibcpp_cv_func___builtin_abs_use" 1>&6 if test x$glibcpp_cv_func___builtin_abs_use = x"yes"; then echo $ac_n "checking for __builtin_abs linkage""... $ac_c" 1>&6 ! echo "configure:5090: checking for __builtin_abs linkage" >&5 if test x${glibcpp_cv_func___builtin_abs_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_abs(0); ; return 0; } EOF ! if { (eval echo configure:5104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_abs_link=yes else *************** EOF *** 5103,5109 **** echo $ac_n "checking for __builtin_fabsf declaration""... $ac_c" 1>&6 ! echo "configure:5107: checking for __builtin_fabsf declaration" >&5 if test x${glibcpp_cv_func___builtin_fabsf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5126,5132 ---- echo $ac_n "checking for __builtin_fabsf declaration""... $ac_c" 1>&6 ! echo "configure:5130: checking for __builtin_fabsf declaration" >&5 if test x${glibcpp_cv_func___builtin_fabsf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5118,5131 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabsf(0); ; return 0; } EOF ! if { (eval echo configure:5129: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsf_use=yes else --- 5141,5154 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabsf(0); ; return 0; } EOF ! if { (eval echo configure:5152: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsf_use=yes else *************** fi *** 5149,5169 **** echo "$ac_t""$glibcpp_cv_func___builtin_fabsf_use" 1>&6 if test x$glibcpp_cv_func___builtin_fabsf_use = x"yes"; then echo $ac_n "checking for __builtin_fabsf linkage""... $ac_c" 1>&6 ! echo "configure:5153: checking for __builtin_fabsf linkage" >&5 if test x${glibcpp_cv_func___builtin_fabsf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_fabsf(0); ; return 0; } EOF ! if { (eval echo configure:5167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fabsf_link=yes else --- 5172,5192 ---- echo "$ac_t""$glibcpp_cv_func___builtin_fabsf_use" 1>&6 if test x$glibcpp_cv_func___builtin_fabsf_use = x"yes"; then echo $ac_n "checking for __builtin_fabsf linkage""... $ac_c" 1>&6 ! echo "configure:5176: checking for __builtin_fabsf linkage" >&5 if test x${glibcpp_cv_func___builtin_fabsf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_fabsf(0); ; return 0; } EOF ! if { (eval echo configure:5190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fabsf_link=yes else *************** EOF *** 5189,5195 **** echo $ac_n "checking for __builtin_fabs declaration""... $ac_c" 1>&6 ! echo "configure:5193: checking for __builtin_fabs declaration" >&5 if test x${glibcpp_cv_func___builtin_fabs_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5212,5218 ---- echo $ac_n "checking for __builtin_fabs declaration""... $ac_c" 1>&6 ! echo "configure:5216: checking for __builtin_fabs declaration" >&5 if test x${glibcpp_cv_func___builtin_fabs_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5204,5217 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabs(0); ; return 0; } EOF ! if { (eval echo configure:5215: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabs_use=yes else --- 5227,5240 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabs(0); ; return 0; } EOF ! if { (eval echo configure:5238: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabs_use=yes else *************** fi *** 5235,5255 **** echo "$ac_t""$glibcpp_cv_func___builtin_fabs_use" 1>&6 if test x$glibcpp_cv_func___builtin_fabs_use = x"yes"; then echo $ac_n "checking for __builtin_fabs linkage""... $ac_c" 1>&6 ! echo "configure:5239: checking for __builtin_fabs linkage" >&5 if test x${glibcpp_cv_func___builtin_fabs_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_fabs(0); ; return 0; } EOF ! if { (eval echo configure:5253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fabs_link=yes else --- 5258,5278 ---- echo "$ac_t""$glibcpp_cv_func___builtin_fabs_use" 1>&6 if test x$glibcpp_cv_func___builtin_fabs_use = x"yes"; then echo $ac_n "checking for __builtin_fabs linkage""... $ac_c" 1>&6 ! echo "configure:5262: checking for __builtin_fabs linkage" >&5 if test x${glibcpp_cv_func___builtin_fabs_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_fabs(0); ; return 0; } EOF ! if { (eval echo configure:5276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fabs_link=yes else *************** EOF *** 5275,5281 **** echo $ac_n "checking for __builtin_fabsl declaration""... $ac_c" 1>&6 ! echo "configure:5279: checking for __builtin_fabsl declaration" >&5 if test x${glibcpp_cv_func___builtin_fabsl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5298,5304 ---- echo $ac_n "checking for __builtin_fabsl declaration""... $ac_c" 1>&6 ! echo "configure:5302: checking for __builtin_fabsl declaration" >&5 if test x${glibcpp_cv_func___builtin_fabsl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5290,5303 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabsl(0); ; return 0; } EOF ! if { (eval echo configure:5301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsl_use=yes else --- 5313,5326 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabsl(0); ; return 0; } EOF ! if { (eval echo configure:5324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsl_use=yes else *************** fi *** 5321,5341 **** echo "$ac_t""$glibcpp_cv_func___builtin_fabsl_use" 1>&6 if test x$glibcpp_cv_func___builtin_fabsl_use = x"yes"; then echo $ac_n "checking for __builtin_fabsl linkage""... $ac_c" 1>&6 ! echo "configure:5325: checking for __builtin_fabsl linkage" >&5 if test x${glibcpp_cv_func___builtin_fabsl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_fabsl(0); ; return 0; } EOF ! if { (eval echo configure:5339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fabsl_link=yes else --- 5344,5364 ---- echo "$ac_t""$glibcpp_cv_func___builtin_fabsl_use" 1>&6 if test x$glibcpp_cv_func___builtin_fabsl_use = x"yes"; then echo $ac_n "checking for __builtin_fabsl linkage""... $ac_c" 1>&6 ! echo "configure:5348: checking for __builtin_fabsl linkage" >&5 if test x${glibcpp_cv_func___builtin_fabsl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_fabsl(0); ; return 0; } EOF ! if { (eval echo configure:5362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fabsl_link=yes else *************** EOF *** 5361,5367 **** echo $ac_n "checking for __builtin_labs declaration""... $ac_c" 1>&6 ! echo "configure:5365: checking for __builtin_labs declaration" >&5 if test x${glibcpp_cv_func___builtin_labs_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5384,5390 ---- echo $ac_n "checking for __builtin_labs declaration""... $ac_c" 1>&6 ! echo "configure:5388: checking for __builtin_labs declaration" >&5 if test x${glibcpp_cv_func___builtin_labs_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5376,5389 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_labs(0); ; return 0; } EOF ! if { (eval echo configure:5387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_labs_use=yes else --- 5399,5412 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_labs(0); ; return 0; } EOF ! if { (eval echo configure:5410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_labs_use=yes else *************** fi *** 5407,5427 **** echo "$ac_t""$glibcpp_cv_func___builtin_labs_use" 1>&6 if test x$glibcpp_cv_func___builtin_labs_use = x"yes"; then echo $ac_n "checking for __builtin_labs linkage""... $ac_c" 1>&6 ! echo "configure:5411: checking for __builtin_labs linkage" >&5 if test x${glibcpp_cv_func___builtin_labs_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_labs(0); ; return 0; } EOF ! if { (eval echo configure:5425: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_labs_link=yes else --- 5430,5450 ---- echo "$ac_t""$glibcpp_cv_func___builtin_labs_use" 1>&6 if test x$glibcpp_cv_func___builtin_labs_use = x"yes"; then echo $ac_n "checking for __builtin_labs linkage""... $ac_c" 1>&6 ! echo "configure:5434: checking for __builtin_labs linkage" >&5 if test x${glibcpp_cv_func___builtin_labs_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_labs(0); ; return 0; } EOF ! if { (eval echo configure:5448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_labs_link=yes else *************** EOF *** 5448,5454 **** echo $ac_n "checking for __builtin_sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:5452: checking for __builtin_sqrtf declaration" >&5 if test x${glibcpp_cv_func___builtin_sqrtf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5471,5477 ---- echo $ac_n "checking for __builtin_sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:5475: checking for __builtin_sqrtf declaration" >&5 if test x${glibcpp_cv_func___builtin_sqrtf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5463,5476 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:5474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtf_use=yes else --- 5486,5499 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:5497: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtf_use=yes else *************** fi *** 5494,5514 **** echo "$ac_t""$glibcpp_cv_func___builtin_sqrtf_use" 1>&6 if test x$glibcpp_cv_func___builtin_sqrtf_use = x"yes"; then echo $ac_n "checking for __builtin_sqrtf linkage""... $ac_c" 1>&6 ! echo "configure:5498: checking for __builtin_sqrtf linkage" >&5 if test x${glibcpp_cv_func___builtin_sqrtf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:5512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtf_link=yes else --- 5517,5537 ---- echo "$ac_t""$glibcpp_cv_func___builtin_sqrtf_use" 1>&6 if test x$glibcpp_cv_func___builtin_sqrtf_use = x"yes"; then echo $ac_n "checking for __builtin_sqrtf linkage""... $ac_c" 1>&6 ! echo "configure:5521: checking for __builtin_sqrtf linkage" >&5 if test x${glibcpp_cv_func___builtin_sqrtf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:5535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtf_link=yes else *************** EOF *** 5534,5540 **** echo $ac_n "checking for __builtin_fsqrt declaration""... $ac_c" 1>&6 ! echo "configure:5538: checking for __builtin_fsqrt declaration" >&5 if test x${glibcpp_cv_func___builtin_fsqrt_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fsqrt_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5557,5563 ---- echo $ac_n "checking for __builtin_fsqrt declaration""... $ac_c" 1>&6 ! echo "configure:5561: checking for __builtin_fsqrt declaration" >&5 if test x${glibcpp_cv_func___builtin_fsqrt_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fsqrt_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5549,5562 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fsqrt(0); ; return 0; } EOF ! if { (eval echo configure:5560: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fsqrt_use=yes else --- 5572,5585 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fsqrt(0); ; return 0; } EOF ! if { (eval echo configure:5583: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fsqrt_use=yes else *************** fi *** 5580,5600 **** echo "$ac_t""$glibcpp_cv_func___builtin_fsqrt_use" 1>&6 if test x$glibcpp_cv_func___builtin_fsqrt_use = x"yes"; then echo $ac_n "checking for __builtin_fsqrt linkage""... $ac_c" 1>&6 ! echo "configure:5584: checking for __builtin_fsqrt linkage" >&5 if test x${glibcpp_cv_func___builtin_fsqrt_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fsqrt_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_fsqrt(0); ; return 0; } EOF ! if { (eval echo configure:5598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fsqrt_link=yes else --- 5603,5623 ---- echo "$ac_t""$glibcpp_cv_func___builtin_fsqrt_use" 1>&6 if test x$glibcpp_cv_func___builtin_fsqrt_use = x"yes"; then echo $ac_n "checking for __builtin_fsqrt linkage""... $ac_c" 1>&6 ! echo "configure:5607: checking for __builtin_fsqrt linkage" >&5 if test x${glibcpp_cv_func___builtin_fsqrt_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fsqrt_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_fsqrt(0); ; return 0; } EOF ! if { (eval echo configure:5621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fsqrt_link=yes else *************** EOF *** 5620,5626 **** echo $ac_n "checking for __builtin_sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:5624: checking for __builtin_sqrtl declaration" >&5 if test x${glibcpp_cv_func___builtin_sqrtl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5643,5649 ---- echo $ac_n "checking for __builtin_sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:5647: checking for __builtin_sqrtl declaration" >&5 if test x${glibcpp_cv_func___builtin_sqrtl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5635,5648 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:5646: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtl_use=yes else --- 5658,5671 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:5669: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtl_use=yes else *************** fi *** 5666,5686 **** echo "$ac_t""$glibcpp_cv_func___builtin_sqrtl_use" 1>&6 if test x$glibcpp_cv_func___builtin_sqrtl_use = x"yes"; then echo $ac_n "checking for __builtin_sqrtl linkage""... $ac_c" 1>&6 ! echo "configure:5670: checking for __builtin_sqrtl linkage" >&5 if test x${glibcpp_cv_func___builtin_sqrtl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:5684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtl_link=yes else --- 5689,5709 ---- echo "$ac_t""$glibcpp_cv_func___builtin_sqrtl_use" 1>&6 if test x$glibcpp_cv_func___builtin_sqrtl_use = x"yes"; then echo $ac_n "checking for __builtin_sqrtl linkage""... $ac_c" 1>&6 ! echo "configure:5693: checking for __builtin_sqrtl linkage" >&5 if test x${glibcpp_cv_func___builtin_sqrtl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:5707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtl_link=yes else *************** EOF *** 5707,5713 **** echo $ac_n "checking for __builtin_sinf declaration""... $ac_c" 1>&6 ! echo "configure:5711: checking for __builtin_sinf declaration" >&5 if test x${glibcpp_cv_func___builtin_sinf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5730,5736 ---- echo $ac_n "checking for __builtin_sinf declaration""... $ac_c" 1>&6 ! echo "configure:5734: checking for __builtin_sinf declaration" >&5 if test x${glibcpp_cv_func___builtin_sinf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5722,5735 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sinf(0); ; return 0; } EOF ! if { (eval echo configure:5733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinf_use=yes else --- 5745,5758 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sinf(0); ; return 0; } EOF ! if { (eval echo configure:5756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinf_use=yes else *************** fi *** 5753,5773 **** echo "$ac_t""$glibcpp_cv_func___builtin_sinf_use" 1>&6 if test x$glibcpp_cv_func___builtin_sinf_use = x"yes"; then echo $ac_n "checking for __builtin_sinf linkage""... $ac_c" 1>&6 ! echo "configure:5757: checking for __builtin_sinf linkage" >&5 if test x${glibcpp_cv_func___builtin_sinf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sinf(0); ; return 0; } EOF ! if { (eval echo configure:5771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sinf_link=yes else --- 5776,5796 ---- echo "$ac_t""$glibcpp_cv_func___builtin_sinf_use" 1>&6 if test x$glibcpp_cv_func___builtin_sinf_use = x"yes"; then echo $ac_n "checking for __builtin_sinf linkage""... $ac_c" 1>&6 ! echo "configure:5780: checking for __builtin_sinf linkage" >&5 if test x${glibcpp_cv_func___builtin_sinf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sinf(0); ; return 0; } EOF ! if { (eval echo configure:5794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sinf_link=yes else *************** EOF *** 5793,5799 **** echo $ac_n "checking for __builtin_sin declaration""... $ac_c" 1>&6 ! echo "configure:5797: checking for __builtin_sin declaration" >&5 if test x${glibcpp_cv_func___builtin_sin_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5816,5822 ---- echo $ac_n "checking for __builtin_sin declaration""... $ac_c" 1>&6 ! echo "configure:5820: checking for __builtin_sin declaration" >&5 if test x${glibcpp_cv_func___builtin_sin_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5808,5821 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sin(0); ; return 0; } EOF ! if { (eval echo configure:5819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sin_use=yes else --- 5831,5844 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sin(0); ; return 0; } EOF ! if { (eval echo configure:5842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sin_use=yes else *************** fi *** 5839,5859 **** echo "$ac_t""$glibcpp_cv_func___builtin_sin_use" 1>&6 if test x$glibcpp_cv_func___builtin_sin_use = x"yes"; then echo $ac_n "checking for __builtin_sin linkage""... $ac_c" 1>&6 ! echo "configure:5843: checking for __builtin_sin linkage" >&5 if test x${glibcpp_cv_func___builtin_sin_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sin(0); ; return 0; } EOF ! if { (eval echo configure:5857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sin_link=yes else --- 5862,5882 ---- echo "$ac_t""$glibcpp_cv_func___builtin_sin_use" 1>&6 if test x$glibcpp_cv_func___builtin_sin_use = x"yes"; then echo $ac_n "checking for __builtin_sin linkage""... $ac_c" 1>&6 ! echo "configure:5866: checking for __builtin_sin linkage" >&5 if test x${glibcpp_cv_func___builtin_sin_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sin(0); ; return 0; } EOF ! if { (eval echo configure:5880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sin_link=yes else *************** EOF *** 5879,5885 **** echo $ac_n "checking for __builtin_sinl declaration""... $ac_c" 1>&6 ! echo "configure:5883: checking for __builtin_sinl declaration" >&5 if test x${glibcpp_cv_func___builtin_sinl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5902,5908 ---- echo $ac_n "checking for __builtin_sinl declaration""... $ac_c" 1>&6 ! echo "configure:5906: checking for __builtin_sinl declaration" >&5 if test x${glibcpp_cv_func___builtin_sinl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5894,5907 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sinl(0); ; return 0; } EOF ! if { (eval echo configure:5905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinl_use=yes else --- 5917,5930 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sinl(0); ; return 0; } EOF ! if { (eval echo configure:5928: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinl_use=yes else *************** fi *** 5925,5945 **** echo "$ac_t""$glibcpp_cv_func___builtin_sinl_use" 1>&6 if test x$glibcpp_cv_func___builtin_sinl_use = x"yes"; then echo $ac_n "checking for __builtin_sinl linkage""... $ac_c" 1>&6 ! echo "configure:5929: checking for __builtin_sinl linkage" >&5 if test x${glibcpp_cv_func___builtin_sinl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sinl(0); ; return 0; } EOF ! if { (eval echo configure:5943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sinl_link=yes else --- 5948,5968 ---- echo "$ac_t""$glibcpp_cv_func___builtin_sinl_use" 1>&6 if test x$glibcpp_cv_func___builtin_sinl_use = x"yes"; then echo $ac_n "checking for __builtin_sinl linkage""... $ac_c" 1>&6 ! echo "configure:5952: checking for __builtin_sinl linkage" >&5 if test x${glibcpp_cv_func___builtin_sinl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sinl(0); ; return 0; } EOF ! if { (eval echo configure:5966: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sinl_link=yes else *************** EOF *** 5966,5972 **** echo $ac_n "checking for __builtin_cosf declaration""... $ac_c" 1>&6 ! echo "configure:5970: checking for __builtin_cosf declaration" >&5 if test x${glibcpp_cv_func___builtin_cosf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5989,5995 ---- echo $ac_n "checking for __builtin_cosf declaration""... $ac_c" 1>&6 ! echo "configure:5993: checking for __builtin_cosf declaration" >&5 if test x${glibcpp_cv_func___builtin_cosf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 5981,5994 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cosf(0); ; return 0; } EOF ! if { (eval echo configure:5992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosf_use=yes else --- 6004,6017 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cosf(0); ; return 0; } EOF ! if { (eval echo configure:6015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosf_use=yes else *************** fi *** 6012,6032 **** echo "$ac_t""$glibcpp_cv_func___builtin_cosf_use" 1>&6 if test x$glibcpp_cv_func___builtin_cosf_use = x"yes"; then echo $ac_n "checking for __builtin_cosf linkage""... $ac_c" 1>&6 ! echo "configure:6016: checking for __builtin_cosf linkage" >&5 if test x${glibcpp_cv_func___builtin_cosf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_cosf(0); ; return 0; } EOF ! if { (eval echo configure:6030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_cosf_link=yes else --- 6035,6055 ---- echo "$ac_t""$glibcpp_cv_func___builtin_cosf_use" 1>&6 if test x$glibcpp_cv_func___builtin_cosf_use = x"yes"; then echo $ac_n "checking for __builtin_cosf linkage""... $ac_c" 1>&6 ! echo "configure:6039: checking for __builtin_cosf linkage" >&5 if test x${glibcpp_cv_func___builtin_cosf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_cosf(0); ; return 0; } EOF ! if { (eval echo configure:6053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_cosf_link=yes else *************** EOF *** 6052,6058 **** echo $ac_n "checking for __builtin_cos declaration""... $ac_c" 1>&6 ! echo "configure:6056: checking for __builtin_cos declaration" >&5 if test x${glibcpp_cv_func___builtin_cos_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 6075,6081 ---- echo $ac_n "checking for __builtin_cos declaration""... $ac_c" 1>&6 ! echo "configure:6079: checking for __builtin_cos declaration" >&5 if test x${glibcpp_cv_func___builtin_cos_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 6067,6080 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cos(0); ; return 0; } EOF ! if { (eval echo configure:6078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cos_use=yes else --- 6090,6103 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cos(0); ; return 0; } EOF ! if { (eval echo configure:6101: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cos_use=yes else *************** fi *** 6098,6118 **** echo "$ac_t""$glibcpp_cv_func___builtin_cos_use" 1>&6 if test x$glibcpp_cv_func___builtin_cos_use = x"yes"; then echo $ac_n "checking for __builtin_cos linkage""... $ac_c" 1>&6 ! echo "configure:6102: checking for __builtin_cos linkage" >&5 if test x${glibcpp_cv_func___builtin_cos_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_cos(0); ; return 0; } EOF ! if { (eval echo configure:6116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_cos_link=yes else --- 6121,6141 ---- echo "$ac_t""$glibcpp_cv_func___builtin_cos_use" 1>&6 if test x$glibcpp_cv_func___builtin_cos_use = x"yes"; then echo $ac_n "checking for __builtin_cos linkage""... $ac_c" 1>&6 ! echo "configure:6125: checking for __builtin_cos linkage" >&5 if test x${glibcpp_cv_func___builtin_cos_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_cos(0); ; return 0; } EOF ! if { (eval echo configure:6139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_cos_link=yes else *************** EOF *** 6138,6144 **** echo $ac_n "checking for __builtin_cosl declaration""... $ac_c" 1>&6 ! echo "configure:6142: checking for __builtin_cosl declaration" >&5 if test x${glibcpp_cv_func___builtin_cosl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 6161,6167 ---- echo $ac_n "checking for __builtin_cosl declaration""... $ac_c" 1>&6 ! echo "configure:6165: checking for __builtin_cosl declaration" >&5 if test x${glibcpp_cv_func___builtin_cosl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 6153,6166 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cosl(0); ; return 0; } EOF ! if { (eval echo configure:6164: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosl_use=yes else --- 6176,6189 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cosl(0); ; return 0; } EOF ! if { (eval echo configure:6187: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosl_use=yes else *************** fi *** 6184,6204 **** echo "$ac_t""$glibcpp_cv_func___builtin_cosl_use" 1>&6 if test x$glibcpp_cv_func___builtin_cosl_use = x"yes"; then echo $ac_n "checking for __builtin_cosl linkage""... $ac_c" 1>&6 ! echo "configure:6188: checking for __builtin_cosl linkage" >&5 if test x${glibcpp_cv_func___builtin_cosl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_cosl(0); ; return 0; } EOF ! if { (eval echo configure:6202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_cosl_link=yes else --- 6207,6227 ---- echo "$ac_t""$glibcpp_cv_func___builtin_cosl_use" 1>&6 if test x$glibcpp_cv_func___builtin_cosl_use = x"yes"; then echo $ac_n "checking for __builtin_cosl linkage""... $ac_c" 1>&6 ! echo "configure:6211: checking for __builtin_cosl linkage" >&5 if test x${glibcpp_cv_func___builtin_cosl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_cosl(0); ; return 0; } EOF ! if { (eval echo configure:6225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_cosl_link=yes else *************** EOF *** 6289,6295 **** CXXFLAGS='-fno-builtins -D_GNU_SOURCE' echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 ! echo "configure:6293: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 6312,6318 ---- CXXFLAGS='-fno-builtins -D_GNU_SOURCE' echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 ! echo "configure:6316: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 6297,6303 **** ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 6331,6337 ---- sin() ; return 0; } EOF ! if { (eval echo configure:6335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** fi *** 6334,6340 **** echo $ac_n "checking for isinf declaration""... $ac_c" 1>&6 ! echo "configure:6338: checking for isinf declaration" >&5 if test x${glibcpp_cv_func_isinf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isinf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 6357,6363 ---- echo $ac_n "checking for isinf declaration""... $ac_c" 1>&6 ! echo "configure:6361: checking for isinf declaration" >&5 if test x${glibcpp_cv_func_isinf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isinf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 6349,6355 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 6372,6378 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 6360,6366 **** isinf(0); ; return 0; } EOF ! if { (eval echo configure:6364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinf_use=yes else --- 6383,6389 ---- isinf(0); ; return 0; } EOF ! if { (eval echo configure:6387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinf_use=yes else *************** fi *** 6387,6398 **** for ac_func in isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6391: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:6414: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 6438,6444 ---- ; return 0; } EOF ! if { (eval echo configure:6442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 6442,6448 **** else echo $ac_n "checking for _isinf declaration""... $ac_c" 1>&6 ! echo "configure:6446: checking for _isinf declaration" >&5 if test x${glibcpp_cv_func__isinf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isinf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 6465,6471 ---- else echo $ac_n "checking for _isinf declaration""... $ac_c" 1>&6 ! echo "configure:6469: checking for _isinf declaration" >&5 if test x${glibcpp_cv_func__isinf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isinf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 6457,6463 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 6480,6486 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 6468,6474 **** _isinf(0); ; return 0; } EOF ! if { (eval echo configure:6472: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinf_use=yes else --- 6491,6497 ---- _isinf(0); ; return 0; } EOF ! if { (eval echo configure:6495: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinf_use=yes else *************** fi *** 6495,6506 **** for ac_func in _isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6499: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:6522: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 6546,6552 ---- ; return 0; } EOF ! if { (eval echo configure:6550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 6553,6559 **** echo $ac_n "checking for isnan declaration""... $ac_c" 1>&6 ! echo "configure:6557: checking for isnan declaration" >&5 if test x${glibcpp_cv_func_isnan_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isnan_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 6576,6582 ---- echo $ac_n "checking for isnan declaration""... $ac_c" 1>&6 ! echo "configure:6580: checking for isnan declaration" >&5 if test x${glibcpp_cv_func_isnan_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isnan_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 6568,6574 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 6591,6597 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 6579,6585 **** isnan(0); ; return 0; } EOF ! if { (eval echo configure:6583: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnan_use=yes else --- 6602,6608 ---- isnan(0); ; return 0; } EOF ! if { (eval echo configure:6606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnan_use=yes else *************** fi *** 6606,6617 **** for ac_func in isnan do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6610: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:6633: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 6657,6663 ---- ; return 0; } EOF ! if { (eval echo configure:6661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 6661,6667 **** else echo $ac_n "checking for _isnan declaration""... $ac_c" 1>&6 ! echo "configure:6665: checking for _isnan declaration" >&5 if test x${glibcpp_cv_func__isnan_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isnan_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 6684,6690 ---- else echo $ac_n "checking for _isnan declaration""... $ac_c" 1>&6 ! echo "configure:6688: checking for _isnan declaration" >&5 if test x${glibcpp_cv_func__isnan_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isnan_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 6676,6682 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 6699,6705 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 6687,6693 **** _isnan(0); ; return 0; } EOF ! if { (eval echo configure:6691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnan_use=yes else --- 6710,6716 ---- _isnan(0); ; return 0; } EOF ! if { (eval echo configure:6714: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnan_use=yes else *************** fi *** 6714,6725 **** for ac_func in _isnan do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6718: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:6741: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 6765,6771 ---- ; return 0; } EOF ! if { (eval echo configure:6769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 6772,6778 **** echo $ac_n "checking for finite declaration""... $ac_c" 1>&6 ! echo "configure:6776: checking for finite declaration" >&5 if test x${glibcpp_cv_func_finite_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_finite_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 6795,6801 ---- echo $ac_n "checking for finite declaration""... $ac_c" 1>&6 ! echo "configure:6799: checking for finite declaration" >&5 if test x${glibcpp_cv_func_finite_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_finite_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 6787,6793 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 6810,6816 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 6798,6804 **** finite(0); ; return 0; } EOF ! if { (eval echo configure:6802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finite_use=yes else --- 6821,6827 ---- finite(0); ; return 0; } EOF ! if { (eval echo configure:6825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finite_use=yes else *************** fi *** 6825,6836 **** for ac_func in finite do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6829: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:6852: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 6876,6882 ---- ; return 0; } EOF ! if { (eval echo configure:6880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 6880,6886 **** else echo $ac_n "checking for _finite declaration""... $ac_c" 1>&6 ! echo "configure:6884: checking for _finite declaration" >&5 if test x${glibcpp_cv_func__finite_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__finite_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 6903,6909 ---- else echo $ac_n "checking for _finite declaration""... $ac_c" 1>&6 ! echo "configure:6907: checking for _finite declaration" >&5 if test x${glibcpp_cv_func__finite_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__finite_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 6895,6901 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 6918,6924 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 6906,6912 **** _finite(0); ; return 0; } EOF ! if { (eval echo configure:6910: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finite_use=yes else --- 6929,6935 ---- _finite(0); ; return 0; } EOF ! if { (eval echo configure:6933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finite_use=yes else *************** fi *** 6933,6944 **** for ac_func in _finite do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6937: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:6960: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 6984,6990 ---- ; return 0; } EOF ! if { (eval echo configure:6988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 6991,6997 **** echo $ac_n "checking for copysign declaration""... $ac_c" 1>&6 ! echo "configure:6995: checking for copysign declaration" >&5 if test x${glibcpp_cv_func_copysign_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_copysign_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7014,7020 ---- echo $ac_n "checking for copysign declaration""... $ac_c" 1>&6 ! echo "configure:7018: checking for copysign declaration" >&5 if test x${glibcpp_cv_func_copysign_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_copysign_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7006,7019 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { copysign(0, 0); ; return 0; } EOF ! if { (eval echo configure:7017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysign_use=yes else --- 7029,7042 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { copysign(0, 0); ; return 0; } EOF ! if { (eval echo configure:7040: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysign_use=yes else *************** fi *** 7040,7051 **** for ac_func in copysign do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7044: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:7067: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 7091,7097 ---- ; return 0; } EOF ! if { (eval echo configure:7095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 7095,7101 **** else echo $ac_n "checking for _copysign declaration""... $ac_c" 1>&6 ! echo "configure:7099: checking for _copysign declaration" >&5 if test x${glibcpp_cv_func__copysign_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__copysign_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7118,7124 ---- else echo $ac_n "checking for _copysign declaration""... $ac_c" 1>&6 ! echo "configure:7122: checking for _copysign declaration" >&5 if test x${glibcpp_cv_func__copysign_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__copysign_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7110,7123 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _copysign(0, 0); ; return 0; } EOF ! if { (eval echo configure:7121: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__copysign_use=yes else --- 7133,7146 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _copysign(0, 0); ; return 0; } EOF ! if { (eval echo configure:7144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__copysign_use=yes else *************** fi *** 7144,7155 **** for ac_func in _copysign do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7148: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:7171: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 7195,7201 ---- ; return 0; } EOF ! if { (eval echo configure:7199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 7202,7208 **** echo $ac_n "checking for sincos declaration""... $ac_c" 1>&6 ! echo "configure:7206: checking for sincos declaration" >&5 if test x${glibcpp_cv_func_sincos_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sincos_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7225,7231 ---- echo $ac_n "checking for sincos declaration""... $ac_c" 1>&6 ! echo "configure:7229: checking for sincos declaration" >&5 if test x${glibcpp_cv_func_sincos_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sincos_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7217,7230 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincos(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:7228: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincos_use=yes else --- 7240,7253 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincos(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:7251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincos_use=yes else *************** fi *** 7251,7262 **** for ac_func in sincos do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7255: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:7278: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 7302,7308 ---- ; return 0; } EOF ! if { (eval echo configure:7306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 7306,7312 **** else echo $ac_n "checking for _sincos declaration""... $ac_c" 1>&6 ! echo "configure:7310: checking for _sincos declaration" >&5 if test x${glibcpp_cv_func__sincos_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sincos_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7329,7335 ---- else echo $ac_n "checking for _sincos declaration""... $ac_c" 1>&6 ! echo "configure:7333: checking for _sincos declaration" >&5 if test x${glibcpp_cv_func__sincos_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sincos_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7321,7334 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincos(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:7332: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincos_use=yes else --- 7344,7357 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincos(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:7355: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincos_use=yes else *************** fi *** 7355,7366 **** for ac_func in _sincos do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7359: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:7382: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 7406,7412 ---- ; return 0; } EOF ! if { (eval echo configure:7410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 7413,7419 **** echo $ac_n "checking for fpclass declaration""... $ac_c" 1>&6 ! echo "configure:7417: checking for fpclass declaration" >&5 if test x${glibcpp_cv_func_fpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7436,7442 ---- echo $ac_n "checking for fpclass declaration""... $ac_c" 1>&6 ! echo "configure:7440: checking for fpclass declaration" >&5 if test x${glibcpp_cv_func_fpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7428,7434 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 7451,7457 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 7439,7445 **** fpclass(0); ; return 0; } EOF ! if { (eval echo configure:7443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fpclass_use=yes else --- 7462,7468 ---- fpclass(0); ; return 0; } EOF ! if { (eval echo configure:7466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fpclass_use=yes else *************** fi *** 7466,7477 **** for ac_func in fpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7470: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:7493: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 7517,7523 ---- ; return 0; } EOF ! if { (eval echo configure:7521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 7521,7527 **** else echo $ac_n "checking for _fpclass declaration""... $ac_c" 1>&6 ! echo "configure:7525: checking for _fpclass declaration" >&5 if test x${glibcpp_cv_func__fpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7544,7550 ---- else echo $ac_n "checking for _fpclass declaration""... $ac_c" 1>&6 ! echo "configure:7548: checking for _fpclass declaration" >&5 if test x${glibcpp_cv_func__fpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7536,7542 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 7559,7565 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 7547,7553 **** _fpclass(0); ; return 0; } EOF ! if { (eval echo configure:7551: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fpclass_use=yes else --- 7570,7576 ---- _fpclass(0); ; return 0; } EOF ! if { (eval echo configure:7574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fpclass_use=yes else *************** fi *** 7574,7585 **** for ac_func in _fpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7578: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:7601: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 7625,7631 ---- ; return 0; } EOF ! if { (eval echo configure:7629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 7632,7638 **** echo $ac_n "checking for qfpclass declaration""... $ac_c" 1>&6 ! echo "configure:7636: checking for qfpclass declaration" >&5 if test x${glibcpp_cv_func_qfpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_qfpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7655,7661 ---- echo $ac_n "checking for qfpclass declaration""... $ac_c" 1>&6 ! echo "configure:7659: checking for qfpclass declaration" >&5 if test x${glibcpp_cv_func_qfpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_qfpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7647,7653 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 7670,7676 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 7658,7664 **** qfpclass(0); ; return 0; } EOF ! if { (eval echo configure:7662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_qfpclass_use=yes else --- 7681,7687 ---- qfpclass(0); ; return 0; } EOF ! if { (eval echo configure:7685: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_qfpclass_use=yes else *************** fi *** 7685,7696 **** for ac_func in qfpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7689: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:7712: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 7736,7742 ---- ; return 0; } EOF ! if { (eval echo configure:7740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 7740,7746 **** else echo $ac_n "checking for _qfpclass declaration""... $ac_c" 1>&6 ! echo "configure:7744: checking for _qfpclass declaration" >&5 if test x${glibcpp_cv_func__qfpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__qfpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7763,7769 ---- else echo $ac_n "checking for _qfpclass declaration""... $ac_c" 1>&6 ! echo "configure:7767: checking for _qfpclass declaration" >&5 if test x${glibcpp_cv_func__qfpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__qfpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7755,7761 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 7778,7784 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 7766,7772 **** _qfpclass(0); ; return 0; } EOF ! if { (eval echo configure:7770: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__qfpclass_use=yes else --- 7789,7795 ---- _qfpclass(0); ; return 0; } EOF ! if { (eval echo configure:7793: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__qfpclass_use=yes else *************** fi *** 7793,7804 **** for ac_func in _qfpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7797: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:7820: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 7844,7850 ---- ; return 0; } EOF ! if { (eval echo configure:7848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 7851,7857 **** echo $ac_n "checking for hypot declaration""... $ac_c" 1>&6 ! echo "configure:7855: checking for hypot declaration" >&5 if test x${glibcpp_cv_func_hypot_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_hypot_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7874,7880 ---- echo $ac_n "checking for hypot declaration""... $ac_c" 1>&6 ! echo "configure:7878: checking for hypot declaration" >&5 if test x${glibcpp_cv_func_hypot_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_hypot_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7866,7879 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypot(0, 0); ; return 0; } EOF ! if { (eval echo configure:7877: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypot_use=yes else --- 7889,7902 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypot(0, 0); ; return 0; } EOF ! if { (eval echo configure:7900: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypot_use=yes else *************** fi *** 7900,7911 **** for ac_func in hypot do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7904: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:7927: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 7951,7957 ---- ; return 0; } EOF ! if { (eval echo configure:7955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 7955,7961 **** else echo $ac_n "checking for _hypot declaration""... $ac_c" 1>&6 ! echo "configure:7959: checking for _hypot declaration" >&5 if test x${glibcpp_cv_func__hypot_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__hypot_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 7978,7984 ---- else echo $ac_n "checking for _hypot declaration""... $ac_c" 1>&6 ! echo "configure:7982: checking for _hypot declaration" >&5 if test x${glibcpp_cv_func__hypot_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__hypot_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 7970,7983 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypot(0, 0); ; return 0; } EOF ! if { (eval echo configure:7981: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypot_use=yes else --- 7993,8006 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypot(0, 0); ; return 0; } EOF ! if { (eval echo configure:8004: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypot_use=yes else *************** fi *** 8004,8015 **** for ac_func in _hypot do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8008: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8031: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 8055,8061 ---- ; return 0; } EOF ! if { (eval echo configure:8059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 8062,8068 **** echo $ac_n "checking for float trig functions""... $ac_c" 1>&6 ! echo "configure:8066: checking for float trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_float_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 8085,8091 ---- echo $ac_n "checking for float trig functions""... $ac_c" 1>&6 ! echo "configure:8089: checking for float trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_float_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 8076,8082 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { --- 8099,8105 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { *************** int main() { *** 8085,8091 **** coshf sinhf tanhf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:8089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_trig_use=yes else --- 8108,8114 ---- coshf sinhf tanhf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:8112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_trig_use=yes else *************** fi *** 8111,8122 **** coshf sinhf tanhf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8115: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8138: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 8162,8168 ---- ; return 0; } EOF ! if { (eval echo configure:8166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 8167,8173 **** echo $ac_n "checking for float round functions""... $ac_c" 1>&6 ! echo "configure:8171: checking for float round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_float_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 8190,8196 ---- echo $ac_n "checking for float round functions""... $ac_c" 1>&6 ! echo "configure:8194: checking for float round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_float_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 8181,8194 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { `for x in ceilf floorf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:8192: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_round_use=yes else --- 8204,8217 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { `for x in ceilf floorf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:8215: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_round_use=yes else *************** fi *** 8212,8223 **** for ac_func in ceilf floorf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8216: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8239: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 8263,8269 ---- ; return 0; } EOF ! if { (eval echo configure:8267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 8269,8275 **** echo $ac_n "checking for isnanf declaration""... $ac_c" 1>&6 ! echo "configure:8273: checking for isnanf declaration" >&5 if test x${glibcpp_cv_func_isnanf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isnanf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 8292,8298 ---- echo $ac_n "checking for isnanf declaration""... $ac_c" 1>&6 ! echo "configure:8296: checking for isnanf declaration" >&5 if test x${glibcpp_cv_func_isnanf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isnanf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 8284,8290 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 8307,8313 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 8295,8301 **** isnanf(0); ; return 0; } EOF ! if { (eval echo configure:8299: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanf_use=yes else --- 8318,8324 ---- isnanf(0); ; return 0; } EOF ! if { (eval echo configure:8322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanf_use=yes else *************** fi *** 8322,8333 **** for ac_func in isnanf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8326: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8349: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 8373,8379 ---- ; return 0; } EOF ! if { (eval echo configure:8377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 8377,8383 **** else echo $ac_n "checking for _isnanf declaration""... $ac_c" 1>&6 ! echo "configure:8381: checking for _isnanf declaration" >&5 if test x${glibcpp_cv_func__isnanf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isnanf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 8400,8406 ---- else echo $ac_n "checking for _isnanf declaration""... $ac_c" 1>&6 ! echo "configure:8404: checking for _isnanf declaration" >&5 if test x${glibcpp_cv_func__isnanf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isnanf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 8392,8398 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 8415,8421 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 8403,8409 **** _isnanf(0); ; return 0; } EOF ! if { (eval echo configure:8407: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnanf_use=yes else --- 8426,8432 ---- _isnanf(0); ; return 0; } EOF ! if { (eval echo configure:8430: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnanf_use=yes else *************** fi *** 8430,8441 **** for ac_func in _isnanf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8434: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8457: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 8481,8487 ---- ; return 0; } EOF ! if { (eval echo configure:8485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 8488,8494 **** echo $ac_n "checking for isinff declaration""... $ac_c" 1>&6 ! echo "configure:8492: checking for isinff declaration" >&5 if test x${glibcpp_cv_func_isinff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isinff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 8511,8517 ---- echo $ac_n "checking for isinff declaration""... $ac_c" 1>&6 ! echo "configure:8515: checking for isinff declaration" >&5 if test x${glibcpp_cv_func_isinff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isinff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 8503,8509 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 8526,8532 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 8514,8520 **** isinff(0); ; return 0; } EOF ! if { (eval echo configure:8518: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinff_use=yes else --- 8537,8543 ---- isinff(0); ; return 0; } EOF ! if { (eval echo configure:8541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinff_use=yes else *************** fi *** 8541,8552 **** for ac_func in isinff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8545: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8568: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 8592,8598 ---- ; return 0; } EOF ! if { (eval echo configure:8596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 8596,8602 **** else echo $ac_n "checking for _isinff declaration""... $ac_c" 1>&6 ! echo "configure:8600: checking for _isinff declaration" >&5 if test x${glibcpp_cv_func__isinff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isinff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 8619,8625 ---- else echo $ac_n "checking for _isinff declaration""... $ac_c" 1>&6 ! echo "configure:8623: checking for _isinff declaration" >&5 if test x${glibcpp_cv_func__isinff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isinff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 8611,8617 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 8634,8640 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 8622,8628 **** _isinff(0); ; return 0; } EOF ! if { (eval echo configure:8626: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinff_use=yes else --- 8645,8651 ---- _isinff(0); ; return 0; } EOF ! if { (eval echo configure:8649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinff_use=yes else *************** fi *** 8649,8660 **** for ac_func in _isinff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8653: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8676: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 8700,8706 ---- ; return 0; } EOF ! if { (eval echo configure:8704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 8707,8713 **** echo $ac_n "checking for atan2f declaration""... $ac_c" 1>&6 ! echo "configure:8711: checking for atan2f declaration" >&5 if test x${glibcpp_cv_func_atan2f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_atan2f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 8730,8736 ---- echo $ac_n "checking for atan2f declaration""... $ac_c" 1>&6 ! echo "configure:8734: checking for atan2f declaration" >&5 if test x${glibcpp_cv_func_atan2f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_atan2f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 8722,8735 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { atan2f(0, 0); ; return 0; } EOF ! if { (eval echo configure:8733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2f_use=yes else --- 8745,8758 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { atan2f(0, 0); ; return 0; } EOF ! if { (eval echo configure:8756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2f_use=yes else *************** fi *** 8756,8767 **** for ac_func in atan2f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8760: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8783: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 8807,8813 ---- ; return 0; } EOF ! if { (eval echo configure:8811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 8811,8817 **** else echo $ac_n "checking for _atan2f declaration""... $ac_c" 1>&6 ! echo "configure:8815: checking for _atan2f declaration" >&5 if test x${glibcpp_cv_func__atan2f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__atan2f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 8834,8840 ---- else echo $ac_n "checking for _atan2f declaration""... $ac_c" 1>&6 ! echo "configure:8838: checking for _atan2f declaration" >&5 if test x${glibcpp_cv_func__atan2f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__atan2f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 8826,8839 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _atan2f(0, 0); ; return 0; } EOF ! if { (eval echo configure:8837: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2f_use=yes else --- 8849,8862 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _atan2f(0, 0); ; return 0; } EOF ! if { (eval echo configure:8860: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2f_use=yes else *************** fi *** 8860,8871 **** for ac_func in _atan2f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8864: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8887: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 8911,8917 ---- ; return 0; } EOF ! if { (eval echo configure:8915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 8918,8924 **** echo $ac_n "checking for fabsf declaration""... $ac_c" 1>&6 ! echo "configure:8922: checking for fabsf declaration" >&5 if test x${glibcpp_cv_func_fabsf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fabsf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 8941,8947 ---- echo $ac_n "checking for fabsf declaration""... $ac_c" 1>&6 ! echo "configure:8945: checking for fabsf declaration" >&5 if test x${glibcpp_cv_func_fabsf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fabsf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 8933,8939 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 8956,8962 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 8944,8950 **** fabsf(0); ; return 0; } EOF ! if { (eval echo configure:8948: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsf_use=yes else --- 8967,8973 ---- fabsf(0); ; return 0; } EOF ! if { (eval echo configure:8971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsf_use=yes else *************** fi *** 8971,8982 **** for ac_func in fabsf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8975: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:8998: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9022,9028 ---- ; return 0; } EOF ! if { (eval echo configure:9026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9026,9032 **** else echo $ac_n "checking for _fabsf declaration""... $ac_c" 1>&6 ! echo "configure:9030: checking for _fabsf declaration" >&5 if test x${glibcpp_cv_func__fabsf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fabsf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9049,9055 ---- else echo $ac_n "checking for _fabsf declaration""... $ac_c" 1>&6 ! echo "configure:9053: checking for _fabsf declaration" >&5 if test x${glibcpp_cv_func__fabsf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fabsf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9041,9047 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 9064,9070 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 9052,9058 **** _fabsf(0); ; return 0; } EOF ! if { (eval echo configure:9056: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsf_use=yes else --- 9075,9081 ---- _fabsf(0); ; return 0; } EOF ! if { (eval echo configure:9079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsf_use=yes else *************** fi *** 9079,9090 **** for ac_func in _fabsf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:9083: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:9106: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9130,9136 ---- ; return 0; } EOF ! if { (eval echo configure:9134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9137,9143 **** echo $ac_n "checking for fmodf declaration""... $ac_c" 1>&6 ! echo "configure:9141: checking for fmodf declaration" >&5 if test x${glibcpp_cv_func_fmodf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fmodf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9160,9166 ---- echo $ac_n "checking for fmodf declaration""... $ac_c" 1>&6 ! echo "configure:9164: checking for fmodf declaration" >&5 if test x${glibcpp_cv_func_fmodf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fmodf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9152,9165 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { fmodf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodf_use=yes else --- 9175,9188 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { fmodf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9186: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodf_use=yes else *************** fi *** 9186,9197 **** for ac_func in fmodf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:9190: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:9213: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9237,9243 ---- ; return 0; } EOF ! if { (eval echo configure:9241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9241,9247 **** else echo $ac_n "checking for _fmodf declaration""... $ac_c" 1>&6 ! echo "configure:9245: checking for _fmodf declaration" >&5 if test x${glibcpp_cv_func__fmodf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fmodf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9264,9270 ---- else echo $ac_n "checking for _fmodf declaration""... $ac_c" 1>&6 ! echo "configure:9268: checking for _fmodf declaration" >&5 if test x${glibcpp_cv_func__fmodf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fmodf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9256,9269 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _fmodf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9267: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodf_use=yes else --- 9279,9292 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _fmodf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9290: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodf_use=yes else *************** fi *** 9290,9301 **** for ac_func in _fmodf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:9294: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:9317: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9341,9347 ---- ; return 0; } EOF ! if { (eval echo configure:9345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9348,9354 **** echo $ac_n "checking for frexpf declaration""... $ac_c" 1>&6 ! echo "configure:9352: checking for frexpf declaration" >&5 if test x${glibcpp_cv_func_frexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_frexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9371,9377 ---- echo $ac_n "checking for frexpf declaration""... $ac_c" 1>&6 ! echo "configure:9375: checking for frexpf declaration" >&5 if test x${glibcpp_cv_func_frexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_frexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9363,9376 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { frexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpf_use=yes else --- 9386,9399 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { frexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpf_use=yes else *************** fi *** 9397,9408 **** for ac_func in frexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:9401: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:9424: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9448,9454 ---- ; return 0; } EOF ! if { (eval echo configure:9452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9452,9458 **** else echo $ac_n "checking for _frexpf declaration""... $ac_c" 1>&6 ! echo "configure:9456: checking for _frexpf declaration" >&5 if test x${glibcpp_cv_func__frexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__frexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9475,9481 ---- else echo $ac_n "checking for _frexpf declaration""... $ac_c" 1>&6 ! echo "configure:9479: checking for _frexpf declaration" >&5 if test x${glibcpp_cv_func__frexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__frexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9467,9480 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _frexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9478: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpf_use=yes else --- 9490,9503 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _frexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9501: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpf_use=yes else *************** fi *** 9501,9512 **** for ac_func in _frexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:9505: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:9528: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9552,9558 ---- ; return 0; } EOF ! if { (eval echo configure:9556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9559,9565 **** echo $ac_n "checking for hypotf declaration""... $ac_c" 1>&6 ! echo "configure:9563: checking for hypotf declaration" >&5 if test x${glibcpp_cv_func_hypotf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_hypotf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9582,9588 ---- echo $ac_n "checking for hypotf declaration""... $ac_c" 1>&6 ! echo "configure:9586: checking for hypotf declaration" >&5 if test x${glibcpp_cv_func_hypotf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_hypotf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9574,9587 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypotf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9585: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotf_use=yes else --- 9597,9610 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypotf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9608: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotf_use=yes else *************** fi *** 9608,9619 **** for ac_func in hypotf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:9612: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:9635: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9659,9665 ---- ; return 0; } EOF ! if { (eval echo configure:9663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9663,9669 **** else echo $ac_n "checking for _hypotf declaration""... $ac_c" 1>&6 ! echo "configure:9667: checking for _hypotf declaration" >&5 if test x${glibcpp_cv_func__hypotf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__hypotf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9686,9692 ---- else echo $ac_n "checking for _hypotf declaration""... $ac_c" 1>&6 ! echo "configure:9690: checking for _hypotf declaration" >&5 if test x${glibcpp_cv_func__hypotf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__hypotf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9678,9691 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypotf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9689: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypotf_use=yes else --- 9701,9714 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypotf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypotf_use=yes else *************** fi *** 9712,9723 **** for ac_func in _hypotf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:9716: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:9739: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9763,9769 ---- ; return 0; } EOF ! if { (eval echo configure:9767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9770,9776 **** echo $ac_n "checking for ldexpf declaration""... $ac_c" 1>&6 ! echo "configure:9774: checking for ldexpf declaration" >&5 if test x${glibcpp_cv_func_ldexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9793,9799 ---- echo $ac_n "checking for ldexpf declaration""... $ac_c" 1>&6 ! echo "configure:9797: checking for ldexpf declaration" >&5 if test x${glibcpp_cv_func_ldexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9785,9798 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { ldexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9796: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpf_use=yes else --- 9808,9821 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { ldexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpf_use=yes else *************** fi *** 9819,9830 **** for ac_func in ldexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:9823: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:9846: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9870,9876 ---- ; return 0; } EOF ! if { (eval echo configure:9874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9874,9880 **** else echo $ac_n "checking for _ldexpf declaration""... $ac_c" 1>&6 ! echo "configure:9878: checking for _ldexpf declaration" >&5 if test x${glibcpp_cv_func__ldexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9897,9903 ---- else echo $ac_n "checking for _ldexpf declaration""... $ac_c" 1>&6 ! echo "configure:9901: checking for _ldexpf declaration" >&5 if test x${glibcpp_cv_func__ldexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9889,9902 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _ldexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9900: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpf_use=yes else --- 9912,9925 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _ldexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:9923: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpf_use=yes else *************** fi *** 9923,9934 **** for ac_func in _ldexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:9927: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:9950: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 9974,9980 ---- ; return 0; } EOF ! if { (eval echo configure:9978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 9981,9987 **** echo $ac_n "checking for logf declaration""... $ac_c" 1>&6 ! echo "configure:9985: checking for logf declaration" >&5 if test x${glibcpp_cv_func_logf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_logf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10004,10010 ---- echo $ac_n "checking for logf declaration""... $ac_c" 1>&6 ! echo "configure:10008: checking for logf declaration" >&5 if test x${glibcpp_cv_func_logf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_logf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9996,10002 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10019,10025 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10007,10013 **** logf(0); ; return 0; } EOF ! if { (eval echo configure:10011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logf_use=yes else --- 10030,10036 ---- logf(0); ; return 0; } EOF ! if { (eval echo configure:10034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logf_use=yes else *************** fi *** 10034,10045 **** for ac_func in logf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10038: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:10061: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 10085,10091 ---- ; return 0; } EOF ! if { (eval echo configure:10089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 10089,10095 **** else echo $ac_n "checking for _logf declaration""... $ac_c" 1>&6 ! echo "configure:10093: checking for _logf declaration" >&5 if test x${glibcpp_cv_func__logf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__logf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10112,10118 ---- else echo $ac_n "checking for _logf declaration""... $ac_c" 1>&6 ! echo "configure:10116: checking for _logf declaration" >&5 if test x${glibcpp_cv_func__logf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__logf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 10104,10110 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10127,10133 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10115,10121 **** _logf(0); ; return 0; } EOF ! if { (eval echo configure:10119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logf_use=yes else --- 10138,10144 ---- _logf(0); ; return 0; } EOF ! if { (eval echo configure:10142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logf_use=yes else *************** fi *** 10142,10153 **** for ac_func in _logf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10146: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:10169: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 10193,10199 ---- ; return 0; } EOF ! if { (eval echo configure:10197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 10200,10206 **** echo $ac_n "checking for log10f declaration""... $ac_c" 1>&6 ! echo "configure:10204: checking for log10f declaration" >&5 if test x${glibcpp_cv_func_log10f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_log10f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10223,10229 ---- echo $ac_n "checking for log10f declaration""... $ac_c" 1>&6 ! echo "configure:10227: checking for log10f declaration" >&5 if test x${glibcpp_cv_func_log10f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_log10f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 10215,10221 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10238,10244 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10226,10232 **** log10f(0); ; return 0; } EOF ! if { (eval echo configure:10230: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10f_use=yes else --- 10249,10255 ---- log10f(0); ; return 0; } EOF ! if { (eval echo configure:10253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10f_use=yes else *************** fi *** 10253,10264 **** for ac_func in log10f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10257: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:10280: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 10304,10310 ---- ; return 0; } EOF ! if { (eval echo configure:10308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 10308,10314 **** else echo $ac_n "checking for _log10f declaration""... $ac_c" 1>&6 ! echo "configure:10312: checking for _log10f declaration" >&5 if test x${glibcpp_cv_func__log10f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__log10f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10331,10337 ---- else echo $ac_n "checking for _log10f declaration""... $ac_c" 1>&6 ! echo "configure:10335: checking for _log10f declaration" >&5 if test x${glibcpp_cv_func__log10f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__log10f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 10323,10329 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10346,10352 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10334,10340 **** _log10f(0); ; return 0; } EOF ! if { (eval echo configure:10338: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10f_use=yes else --- 10357,10363 ---- _log10f(0); ; return 0; } EOF ! if { (eval echo configure:10361: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10f_use=yes else *************** fi *** 10361,10372 **** for ac_func in _log10f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10365: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:10388: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 10412,10418 ---- ; return 0; } EOF ! if { (eval echo configure:10416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 10419,10425 **** echo $ac_n "checking for modff declaration""... $ac_c" 1>&6 ! echo "configure:10423: checking for modff declaration" >&5 if test x${glibcpp_cv_func_modff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_modff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10442,10448 ---- echo $ac_n "checking for modff declaration""... $ac_c" 1>&6 ! echo "configure:10446: checking for modff declaration" >&5 if test x${glibcpp_cv_func_modff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_modff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 10434,10447 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { modff(0, 0); ; return 0; } EOF ! if { (eval echo configure:10445: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modff_use=yes else --- 10457,10470 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { modff(0, 0); ; return 0; } EOF ! if { (eval echo configure:10468: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modff_use=yes else *************** fi *** 10468,10479 **** for ac_func in modff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10472: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:10495: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 10519,10525 ---- ; return 0; } EOF ! if { (eval echo configure:10523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 10523,10529 **** else echo $ac_n "checking for _modff declaration""... $ac_c" 1>&6 ! echo "configure:10527: checking for _modff declaration" >&5 if test x${glibcpp_cv_func__modff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__modff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10546,10552 ---- else echo $ac_n "checking for _modff declaration""... $ac_c" 1>&6 ! echo "configure:10550: checking for _modff declaration" >&5 if test x${glibcpp_cv_func__modff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__modff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 10538,10551 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _modff(0, 0); ; return 0; } EOF ! if { (eval echo configure:10549: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modff_use=yes else --- 10561,10574 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _modff(0, 0); ; return 0; } EOF ! if { (eval echo configure:10572: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modff_use=yes else *************** fi *** 10572,10583 **** for ac_func in _modff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10576: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:10599: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 10623,10629 ---- ; return 0; } EOF ! if { (eval echo configure:10627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 10630,10636 **** echo $ac_n "checking for powf declaration""... $ac_c" 1>&6 ! echo "configure:10634: checking for powf declaration" >&5 if test x${glibcpp_cv_func_powf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_powf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10653,10659 ---- echo $ac_n "checking for powf declaration""... $ac_c" 1>&6 ! echo "configure:10657: checking for powf declaration" >&5 if test x${glibcpp_cv_func_powf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_powf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 10645,10658 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { powf(0, 0); ; return 0; } EOF ! if { (eval echo configure:10656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powf_use=yes else --- 10668,10681 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { powf(0, 0); ; return 0; } EOF ! if { (eval echo configure:10679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powf_use=yes else *************** fi *** 10679,10690 **** for ac_func in powf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10683: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:10706: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 10730,10736 ---- ; return 0; } EOF ! if { (eval echo configure:10734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 10734,10740 **** else echo $ac_n "checking for _powf declaration""... $ac_c" 1>&6 ! echo "configure:10738: checking for _powf declaration" >&5 if test x${glibcpp_cv_func__powf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__powf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10757,10763 ---- else echo $ac_n "checking for _powf declaration""... $ac_c" 1>&6 ! echo "configure:10761: checking for _powf declaration" >&5 if test x${glibcpp_cv_func__powf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__powf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 10749,10762 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _powf(0, 0); ; return 0; } EOF ! if { (eval echo configure:10760: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__powf_use=yes else --- 10772,10785 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _powf(0, 0); ; return 0; } EOF ! if { (eval echo configure:10783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__powf_use=yes else *************** fi *** 10783,10794 **** for ac_func in _powf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10787: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:10810: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 10834,10840 ---- ; return 0; } EOF ! if { (eval echo configure:10838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 10841,10847 **** echo $ac_n "checking for sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:10845: checking for sqrtf declaration" >&5 if test x${glibcpp_cv_func_sqrtf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10864,10870 ---- echo $ac_n "checking for sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:10868: checking for sqrtf declaration" >&5 if test x${glibcpp_cv_func_sqrtf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 10856,10862 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10879,10885 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10867,10873 **** sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:10871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtf_use=yes else --- 10890,10896 ---- sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:10894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtf_use=yes else *************** fi *** 10894,10905 **** for ac_func in sqrtf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10898: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:10921: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 10945,10951 ---- ; return 0; } EOF ! if { (eval echo configure:10949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 10949,10955 **** else echo $ac_n "checking for _sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:10953: checking for _sqrtf declaration" >&5 if test x${glibcpp_cv_func__sqrtf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 10972,10978 ---- else echo $ac_n "checking for _sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:10976: checking for _sqrtf declaration" >&5 if test x${glibcpp_cv_func__sqrtf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 10964,10970 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10987,10993 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10975,10981 **** _sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:10979: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtf_use=yes else --- 10998,11004 ---- _sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:11002: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtf_use=yes else *************** fi *** 11002,11013 **** for ac_func in _sqrtf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11006: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11029: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 11053,11059 ---- ; return 0; } EOF ! if { (eval echo configure:11057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 11060,11066 **** echo $ac_n "checking for sincosf declaration""... $ac_c" 1>&6 ! echo "configure:11064: checking for sincosf declaration" >&5 if test x${glibcpp_cv_func_sincosf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sincosf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 11083,11089 ---- echo $ac_n "checking for sincosf declaration""... $ac_c" 1>&6 ! echo "configure:11087: checking for sincosf declaration" >&5 if test x${glibcpp_cv_func_sincosf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sincosf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 11075,11088 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincosf(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:11086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosf_use=yes else --- 11098,11111 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincosf(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:11109: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosf_use=yes else *************** fi *** 11109,11120 **** for ac_func in sincosf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11113: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11136: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 11160,11166 ---- ; return 0; } EOF ! if { (eval echo configure:11164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 11164,11170 **** else echo $ac_n "checking for _sincosf declaration""... $ac_c" 1>&6 ! echo "configure:11168: checking for _sincosf declaration" >&5 if test x${glibcpp_cv_func__sincosf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sincosf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 11187,11193 ---- else echo $ac_n "checking for _sincosf declaration""... $ac_c" 1>&6 ! echo "configure:11191: checking for _sincosf declaration" >&5 if test x${glibcpp_cv_func__sincosf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sincosf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 11179,11192 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincosf(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:11190: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosf_use=yes else --- 11202,11215 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincosf(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:11213: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosf_use=yes else *************** fi *** 11213,11224 **** for ac_func in _sincosf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11217: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11240: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 11264,11270 ---- ; return 0; } EOF ! if { (eval echo configure:11268: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 11271,11277 **** echo $ac_n "checking for finitef declaration""... $ac_c" 1>&6 ! echo "configure:11275: checking for finitef declaration" >&5 if test x${glibcpp_cv_func_finitef_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_finitef_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 11294,11300 ---- echo $ac_n "checking for finitef declaration""... $ac_c" 1>&6 ! echo "configure:11298: checking for finitef declaration" >&5 if test x${glibcpp_cv_func_finitef_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_finitef_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 11286,11292 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11309,11315 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11297,11303 **** finitef(0); ; return 0; } EOF ! if { (eval echo configure:11301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitef_use=yes else --- 11320,11326 ---- finitef(0); ; return 0; } EOF ! if { (eval echo configure:11324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitef_use=yes else *************** fi *** 11324,11335 **** for ac_func in finitef do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11328: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11351: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 11375,11381 ---- ; return 0; } EOF ! if { (eval echo configure:11379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 11379,11385 **** else echo $ac_n "checking for _finitef declaration""... $ac_c" 1>&6 ! echo "configure:11383: checking for _finitef declaration" >&5 if test x${glibcpp_cv_func__finitef_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__finitef_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 11402,11408 ---- else echo $ac_n "checking for _finitef declaration""... $ac_c" 1>&6 ! echo "configure:11406: checking for _finitef declaration" >&5 if test x${glibcpp_cv_func__finitef_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__finitef_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 11394,11400 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11417,11423 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11405,11411 **** _finitef(0); ; return 0; } EOF ! if { (eval echo configure:11409: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitef_use=yes else --- 11428,11434 ---- _finitef(0); ; return 0; } EOF ! if { (eval echo configure:11432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitef_use=yes else *************** fi *** 11432,11443 **** for ac_func in _finitef do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11436: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11459: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 11483,11489 ---- ; return 0; } EOF ! if { (eval echo configure:11487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 11490,11496 **** echo $ac_n "checking for long double trig functions""... $ac_c" 1>&6 ! echo "configure:11494: checking for long double trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 11513,11519 ---- echo $ac_n "checking for long double trig functions""... $ac_c" 1>&6 ! echo "configure:11517: checking for long double trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 11504,11510 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { --- 11527,11533 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { *************** int main() { *** 11513,11519 **** coshl sinhl tanhl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:11517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_trig_use=yes else --- 11536,11542 ---- coshl sinhl tanhl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:11540: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_trig_use=yes else *************** fi *** 11539,11550 **** coshl sinhl tanhl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11543: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11566: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 11590,11596 ---- ; return 0; } EOF ! if { (eval echo configure:11594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 11595,11601 **** echo $ac_n "checking for long double round functions""... $ac_c" 1>&6 ! echo "configure:11599: checking for long double round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 11618,11624 ---- echo $ac_n "checking for long double round functions""... $ac_c" 1>&6 ! echo "configure:11622: checking for long double round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 11609,11622 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { `for x in ceill floorl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:11620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_round_use=yes else --- 11632,11645 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { `for x in ceill floorl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:11643: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_round_use=yes else *************** fi *** 11640,11651 **** for ac_func in ceill floorl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11644: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11667: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 11691,11697 ---- ; return 0; } EOF ! if { (eval echo configure:11695: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 11697,11703 **** echo $ac_n "checking for isnanl declaration""... $ac_c" 1>&6 ! echo "configure:11701: checking for isnanl declaration" >&5 if test x${glibcpp_cv_func_isnanl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isnanl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 11720,11726 ---- echo $ac_n "checking for isnanl declaration""... $ac_c" 1>&6 ! echo "configure:11724: checking for isnanl declaration" >&5 if test x${glibcpp_cv_func_isnanl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isnanl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 11712,11718 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11735,11741 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11723,11729 **** isnanl(0); ; return 0; } EOF ! if { (eval echo configure:11727: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanl_use=yes else --- 11746,11752 ---- isnanl(0); ; return 0; } EOF ! if { (eval echo configure:11750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanl_use=yes else *************** fi *** 11750,11761 **** for ac_func in isnanl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11754: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11777: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 11801,11807 ---- ; return 0; } EOF ! if { (eval echo configure:11805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 11805,11811 **** else echo $ac_n "checking for _isnanl declaration""... $ac_c" 1>&6 ! echo "configure:11809: checking for _isnanl declaration" >&5 if test x${glibcpp_cv_func__isnanl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isnanl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 11828,11834 ---- else echo $ac_n "checking for _isnanl declaration""... $ac_c" 1>&6 ! echo "configure:11832: checking for _isnanl declaration" >&5 if test x${glibcpp_cv_func__isnanl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isnanl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 11820,11826 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11843,11849 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11831,11837 **** _isnanl(0); ; return 0; } EOF ! if { (eval echo configure:11835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnanl_use=yes else --- 11854,11860 ---- _isnanl(0); ; return 0; } EOF ! if { (eval echo configure:11858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnanl_use=yes else *************** fi *** 11858,11869 **** for ac_func in _isnanl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11862: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11885: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 11909,11915 ---- ; return 0; } EOF ! if { (eval echo configure:11913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 11916,11922 **** echo $ac_n "checking for isinfl declaration""... $ac_c" 1>&6 ! echo "configure:11920: checking for isinfl declaration" >&5 if test x${glibcpp_cv_func_isinfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isinfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 11939,11945 ---- echo $ac_n "checking for isinfl declaration""... $ac_c" 1>&6 ! echo "configure:11943: checking for isinfl declaration" >&5 if test x${glibcpp_cv_func_isinfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isinfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 11931,11937 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11954,11960 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11942,11948 **** isinfl(0); ; return 0; } EOF ! if { (eval echo configure:11946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinfl_use=yes else --- 11965,11971 ---- isinfl(0); ; return 0; } EOF ! if { (eval echo configure:11969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinfl_use=yes else *************** fi *** 11969,11980 **** for ac_func in isinfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11973: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:11996: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12020,12026 ---- ; return 0; } EOF ! if { (eval echo configure:12024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12024,12030 **** else echo $ac_n "checking for _isinfl declaration""... $ac_c" 1>&6 ! echo "configure:12028: checking for _isinfl declaration" >&5 if test x${glibcpp_cv_func__isinfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isinfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12047,12053 ---- else echo $ac_n "checking for _isinfl declaration""... $ac_c" 1>&6 ! echo "configure:12051: checking for _isinfl declaration" >&5 if test x${glibcpp_cv_func__isinfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isinfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12039,12045 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 12062,12068 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12050,12056 **** _isinfl(0); ; return 0; } EOF ! if { (eval echo configure:12054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinfl_use=yes else --- 12073,12079 ---- _isinfl(0); ; return 0; } EOF ! if { (eval echo configure:12077: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinfl_use=yes else *************** fi *** 12077,12088 **** for ac_func in _isinfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12081: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:12104: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12128,12134 ---- ; return 0; } EOF ! if { (eval echo configure:12132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12135,12141 **** echo $ac_n "checking for copysignl declaration""... $ac_c" 1>&6 ! echo "configure:12139: checking for copysignl declaration" >&5 if test x${glibcpp_cv_func_copysignl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_copysignl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12158,12164 ---- echo $ac_n "checking for copysignl declaration""... $ac_c" 1>&6 ! echo "configure:12162: checking for copysignl declaration" >&5 if test x${glibcpp_cv_func_copysignl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_copysignl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12150,12163 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { copysignl(0, 0); ; return 0; } EOF ! if { (eval echo configure:12161: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysignl_use=yes else --- 12173,12186 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { copysignl(0, 0); ; return 0; } EOF ! if { (eval echo configure:12184: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysignl_use=yes else *************** fi *** 12184,12195 **** for ac_func in copysignl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12188: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:12211: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12235,12241 ---- ; return 0; } EOF ! if { (eval echo configure:12239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12239,12245 **** else echo $ac_n "checking for _copysignl declaration""... $ac_c" 1>&6 ! echo "configure:12243: checking for _copysignl declaration" >&5 if test x${glibcpp_cv_func__copysignl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__copysignl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12262,12268 ---- else echo $ac_n "checking for _copysignl declaration""... $ac_c" 1>&6 ! echo "configure:12266: checking for _copysignl declaration" >&5 if test x${glibcpp_cv_func__copysignl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__copysignl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12254,12267 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _copysignl(0, 0); ; return 0; } EOF ! if { (eval echo configure:12265: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__copysignl_use=yes else --- 12277,12290 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _copysignl(0, 0); ; return 0; } EOF ! if { (eval echo configure:12288: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__copysignl_use=yes else *************** fi *** 12288,12299 **** for ac_func in _copysignl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12292: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:12315: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12339,12345 ---- ; return 0; } EOF ! if { (eval echo configure:12343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12346,12352 **** echo $ac_n "checking for atan2l declaration""... $ac_c" 1>&6 ! echo "configure:12350: checking for atan2l declaration" >&5 if test x${glibcpp_cv_func_atan2l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_atan2l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12369,12375 ---- echo $ac_n "checking for atan2l declaration""... $ac_c" 1>&6 ! echo "configure:12373: checking for atan2l declaration" >&5 if test x${glibcpp_cv_func_atan2l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_atan2l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12361,12374 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { atan2l(0, 0); ; return 0; } EOF ! if { (eval echo configure:12372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2l_use=yes else --- 12384,12397 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { atan2l(0, 0); ; return 0; } EOF ! if { (eval echo configure:12395: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2l_use=yes else *************** fi *** 12395,12406 **** for ac_func in atan2l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12399: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:12422: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12446,12452 ---- ; return 0; } EOF ! if { (eval echo configure:12450: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12450,12456 **** else echo $ac_n "checking for _atan2l declaration""... $ac_c" 1>&6 ! echo "configure:12454: checking for _atan2l declaration" >&5 if test x${glibcpp_cv_func__atan2l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__atan2l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12473,12479 ---- else echo $ac_n "checking for _atan2l declaration""... $ac_c" 1>&6 ! echo "configure:12477: checking for _atan2l declaration" >&5 if test x${glibcpp_cv_func__atan2l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__atan2l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12465,12478 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _atan2l(0, 0); ; return 0; } EOF ! if { (eval echo configure:12476: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2l_use=yes else --- 12488,12501 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _atan2l(0, 0); ; return 0; } EOF ! if { (eval echo configure:12499: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2l_use=yes else *************** fi *** 12499,12510 **** for ac_func in _atan2l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12503: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:12526: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12550,12556 ---- ; return 0; } EOF ! if { (eval echo configure:12554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12557,12563 **** echo $ac_n "checking for expl declaration""... $ac_c" 1>&6 ! echo "configure:12561: checking for expl declaration" >&5 if test x${glibcpp_cv_func_expl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_expl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12580,12586 ---- echo $ac_n "checking for expl declaration""... $ac_c" 1>&6 ! echo "configure:12584: checking for expl declaration" >&5 if test x${glibcpp_cv_func_expl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_expl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12572,12578 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 12595,12601 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12583,12589 **** expl(0); ; return 0; } EOF ! if { (eval echo configure:12587: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_expl_use=yes else --- 12606,12612 ---- expl(0); ; return 0; } EOF ! if { (eval echo configure:12610: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_expl_use=yes else *************** fi *** 12610,12621 **** for ac_func in expl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12614: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:12637: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12661,12667 ---- ; return 0; } EOF ! if { (eval echo configure:12665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12665,12671 **** else echo $ac_n "checking for _expl declaration""... $ac_c" 1>&6 ! echo "configure:12669: checking for _expl declaration" >&5 if test x${glibcpp_cv_func__expl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__expl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12688,12694 ---- else echo $ac_n "checking for _expl declaration""... $ac_c" 1>&6 ! echo "configure:12692: checking for _expl declaration" >&5 if test x${glibcpp_cv_func__expl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__expl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12680,12686 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 12703,12709 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12691,12697 **** _expl(0); ; return 0; } EOF ! if { (eval echo configure:12695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__expl_use=yes else --- 12714,12720 ---- _expl(0); ; return 0; } EOF ! if { (eval echo configure:12718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__expl_use=yes else *************** fi *** 12718,12729 **** for ac_func in _expl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12722: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:12745: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12769,12775 ---- ; return 0; } EOF ! if { (eval echo configure:12773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12776,12782 **** echo $ac_n "checking for fabsl declaration""... $ac_c" 1>&6 ! echo "configure:12780: checking for fabsl declaration" >&5 if test x${glibcpp_cv_func_fabsl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fabsl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12799,12805 ---- echo $ac_n "checking for fabsl declaration""... $ac_c" 1>&6 ! echo "configure:12803: checking for fabsl declaration" >&5 if test x${glibcpp_cv_func_fabsl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fabsl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12791,12797 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 12814,12820 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12802,12808 **** fabsl(0); ; return 0; } EOF ! if { (eval echo configure:12806: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsl_use=yes else --- 12825,12831 ---- fabsl(0); ; return 0; } EOF ! if { (eval echo configure:12829: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsl_use=yes else *************** fi *** 12829,12840 **** for ac_func in fabsl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12833: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:12856: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12880,12886 ---- ; return 0; } EOF ! if { (eval echo configure:12884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12884,12890 **** else echo $ac_n "checking for _fabsl declaration""... $ac_c" 1>&6 ! echo "configure:12888: checking for _fabsl declaration" >&5 if test x${glibcpp_cv_func__fabsl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fabsl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12907,12913 ---- else echo $ac_n "checking for _fabsl declaration""... $ac_c" 1>&6 ! echo "configure:12911: checking for _fabsl declaration" >&5 if test x${glibcpp_cv_func__fabsl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fabsl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12899,12905 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 12922,12928 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12910,12916 **** _fabsl(0); ; return 0; } EOF ! if { (eval echo configure:12914: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsl_use=yes else --- 12933,12939 ---- _fabsl(0); ; return 0; } EOF ! if { (eval echo configure:12937: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsl_use=yes else *************** fi *** 12937,12948 **** for ac_func in _fabsl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12941: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:12964: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 12988,12994 ---- ; return 0; } EOF ! if { (eval echo configure:12992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 12995,13001 **** echo $ac_n "checking for fmodl declaration""... $ac_c" 1>&6 ! echo "configure:12999: checking for fmodl declaration" >&5 if test x${glibcpp_cv_func_fmodl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fmodl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13018,13024 ---- echo $ac_n "checking for fmodl declaration""... $ac_c" 1>&6 ! echo "configure:13022: checking for fmodl declaration" >&5 if test x${glibcpp_cv_func_fmodl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fmodl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13010,13023 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { fmodl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodl_use=yes else --- 13033,13046 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { fmodl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodl_use=yes else *************** fi *** 13044,13055 **** for ac_func in fmodl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13048: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:13071: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 13095,13101 ---- ; return 0; } EOF ! if { (eval echo configure:13099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 13099,13105 **** else echo $ac_n "checking for _fmodl declaration""... $ac_c" 1>&6 ! echo "configure:13103: checking for _fmodl declaration" >&5 if test x${glibcpp_cv_func__fmodl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fmodl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13122,13128 ---- else echo $ac_n "checking for _fmodl declaration""... $ac_c" 1>&6 ! echo "configure:13126: checking for _fmodl declaration" >&5 if test x${glibcpp_cv_func__fmodl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fmodl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13114,13127 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _fmodl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13125: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodl_use=yes else --- 13137,13150 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _fmodl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13148: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodl_use=yes else *************** fi *** 13148,13159 **** for ac_func in _fmodl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13152: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:13175: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 13199,13205 ---- ; return 0; } EOF ! if { (eval echo configure:13203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 13206,13212 **** echo $ac_n "checking for frexpl declaration""... $ac_c" 1>&6 ! echo "configure:13210: checking for frexpl declaration" >&5 if test x${glibcpp_cv_func_frexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_frexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13229,13235 ---- echo $ac_n "checking for frexpl declaration""... $ac_c" 1>&6 ! echo "configure:13233: checking for frexpl declaration" >&5 if test x${glibcpp_cv_func_frexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_frexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13221,13234 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { frexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13232: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpl_use=yes else --- 13244,13257 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { frexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpl_use=yes else *************** fi *** 13255,13266 **** for ac_func in frexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13259: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:13282: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 13306,13312 ---- ; return 0; } EOF ! if { (eval echo configure:13310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 13310,13316 **** else echo $ac_n "checking for _frexpl declaration""... $ac_c" 1>&6 ! echo "configure:13314: checking for _frexpl declaration" >&5 if test x${glibcpp_cv_func__frexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__frexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13333,13339 ---- else echo $ac_n "checking for _frexpl declaration""... $ac_c" 1>&6 ! echo "configure:13337: checking for _frexpl declaration" >&5 if test x${glibcpp_cv_func__frexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__frexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13325,13338 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _frexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13336: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpl_use=yes else --- 13348,13361 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _frexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpl_use=yes else *************** fi *** 13359,13370 **** for ac_func in _frexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13363: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:13386: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 13410,13416 ---- ; return 0; } EOF ! if { (eval echo configure:13414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 13417,13423 **** echo $ac_n "checking for hypotl declaration""... $ac_c" 1>&6 ! echo "configure:13421: checking for hypotl declaration" >&5 if test x${glibcpp_cv_func_hypotl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_hypotl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13440,13446 ---- echo $ac_n "checking for hypotl declaration""... $ac_c" 1>&6 ! echo "configure:13444: checking for hypotl declaration" >&5 if test x${glibcpp_cv_func_hypotl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_hypotl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13432,13445 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypotl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotl_use=yes else --- 13455,13468 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypotl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotl_use=yes else *************** fi *** 13466,13477 **** for ac_func in hypotl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13470: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:13493: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 13517,13523 ---- ; return 0; } EOF ! if { (eval echo configure:13521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 13521,13527 **** else echo $ac_n "checking for _hypotl declaration""... $ac_c" 1>&6 ! echo "configure:13525: checking for _hypotl declaration" >&5 if test x${glibcpp_cv_func__hypotl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__hypotl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13544,13550 ---- else echo $ac_n "checking for _hypotl declaration""... $ac_c" 1>&6 ! echo "configure:13548: checking for _hypotl declaration" >&5 if test x${glibcpp_cv_func__hypotl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__hypotl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13536,13549 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypotl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13547: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypotl_use=yes else --- 13559,13572 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypotl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13570: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypotl_use=yes else *************** fi *** 13570,13581 **** for ac_func in _hypotl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13574: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:13597: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 13621,13627 ---- ; return 0; } EOF ! if { (eval echo configure:13625: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 13628,13634 **** echo $ac_n "checking for ldexpl declaration""... $ac_c" 1>&6 ! echo "configure:13632: checking for ldexpl declaration" >&5 if test x${glibcpp_cv_func_ldexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13651,13657 ---- echo $ac_n "checking for ldexpl declaration""... $ac_c" 1>&6 ! echo "configure:13655: checking for ldexpl declaration" >&5 if test x${glibcpp_cv_func_ldexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13643,13656 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { ldexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpl_use=yes else --- 13666,13679 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { ldexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13677: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpl_use=yes else *************** fi *** 13677,13688 **** for ac_func in ldexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13681: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:13704: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 13728,13734 ---- ; return 0; } EOF ! if { (eval echo configure:13732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 13732,13738 **** else echo $ac_n "checking for _ldexpl declaration""... $ac_c" 1>&6 ! echo "configure:13736: checking for _ldexpl declaration" >&5 if test x${glibcpp_cv_func__ldexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13755,13761 ---- else echo $ac_n "checking for _ldexpl declaration""... $ac_c" 1>&6 ! echo "configure:13759: checking for _ldexpl declaration" >&5 if test x${glibcpp_cv_func__ldexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13747,13760 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _ldexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13758: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpl_use=yes else --- 13770,13783 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _ldexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:13781: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpl_use=yes else *************** fi *** 13781,13792 **** for ac_func in _ldexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13785: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:13808: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 13832,13838 ---- ; return 0; } EOF ! if { (eval echo configure:13836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 13839,13845 **** echo $ac_n "checking for logl declaration""... $ac_c" 1>&6 ! echo "configure:13843: checking for logl declaration" >&5 if test x${glibcpp_cv_func_logl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_logl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13862,13868 ---- echo $ac_n "checking for logl declaration""... $ac_c" 1>&6 ! echo "configure:13866: checking for logl declaration" >&5 if test x${glibcpp_cv_func_logl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_logl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13854,13860 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 13877,13883 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 13865,13871 **** logl(0); ; return 0; } EOF ! if { (eval echo configure:13869: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logl_use=yes else --- 13888,13894 ---- logl(0); ; return 0; } EOF ! if { (eval echo configure:13892: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logl_use=yes else *************** fi *** 13892,13903 **** for ac_func in logl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13896: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:13919: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 13943,13949 ---- ; return 0; } EOF ! if { (eval echo configure:13947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 13947,13953 **** else echo $ac_n "checking for _logl declaration""... $ac_c" 1>&6 ! echo "configure:13951: checking for _logl declaration" >&5 if test x${glibcpp_cv_func__logl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__logl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 13970,13976 ---- else echo $ac_n "checking for _logl declaration""... $ac_c" 1>&6 ! echo "configure:13974: checking for _logl declaration" >&5 if test x${glibcpp_cv_func__logl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__logl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 13962,13968 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 13985,13991 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 13973,13979 **** _logl(0); ; return 0; } EOF ! if { (eval echo configure:13977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logl_use=yes else --- 13996,14002 ---- _logl(0); ; return 0; } EOF ! if { (eval echo configure:14000: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logl_use=yes else *************** fi *** 14000,14011 **** for ac_func in _logl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14004: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14027: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 14051,14057 ---- ; return 0; } EOF ! if { (eval echo configure:14055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 14058,14064 **** echo $ac_n "checking for log10l declaration""... $ac_c" 1>&6 ! echo "configure:14062: checking for log10l declaration" >&5 if test x${glibcpp_cv_func_log10l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_log10l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 14081,14087 ---- echo $ac_n "checking for log10l declaration""... $ac_c" 1>&6 ! echo "configure:14085: checking for log10l declaration" >&5 if test x${glibcpp_cv_func_log10l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_log10l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 14073,14079 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 14096,14102 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 14084,14090 **** log10l(0); ; return 0; } EOF ! if { (eval echo configure:14088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10l_use=yes else --- 14107,14113 ---- log10l(0); ; return 0; } EOF ! if { (eval echo configure:14111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10l_use=yes else *************** fi *** 14111,14122 **** for ac_func in log10l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14115: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14138: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 14162,14168 ---- ; return 0; } EOF ! if { (eval echo configure:14166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 14166,14172 **** else echo $ac_n "checking for _log10l declaration""... $ac_c" 1>&6 ! echo "configure:14170: checking for _log10l declaration" >&5 if test x${glibcpp_cv_func__log10l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__log10l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 14189,14195 ---- else echo $ac_n "checking for _log10l declaration""... $ac_c" 1>&6 ! echo "configure:14193: checking for _log10l declaration" >&5 if test x${glibcpp_cv_func__log10l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__log10l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 14181,14187 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 14204,14210 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 14192,14198 **** _log10l(0); ; return 0; } EOF ! if { (eval echo configure:14196: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10l_use=yes else --- 14215,14221 ---- _log10l(0); ; return 0; } EOF ! if { (eval echo configure:14219: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10l_use=yes else *************** fi *** 14219,14230 **** for ac_func in _log10l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14223: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14246: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 14270,14276 ---- ; return 0; } EOF ! if { (eval echo configure:14274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 14277,14283 **** echo $ac_n "checking for modfl declaration""... $ac_c" 1>&6 ! echo "configure:14281: checking for modfl declaration" >&5 if test x${glibcpp_cv_func_modfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_modfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 14300,14306 ---- echo $ac_n "checking for modfl declaration""... $ac_c" 1>&6 ! echo "configure:14304: checking for modfl declaration" >&5 if test x${glibcpp_cv_func_modfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_modfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 14292,14305 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { modfl(0, 0); ; return 0; } EOF ! if { (eval echo configure:14303: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modfl_use=yes else --- 14315,14328 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { modfl(0, 0); ; return 0; } EOF ! if { (eval echo configure:14326: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modfl_use=yes else *************** fi *** 14326,14337 **** for ac_func in modfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14330: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14353: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 14377,14383 ---- ; return 0; } EOF ! if { (eval echo configure:14381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 14381,14387 **** else echo $ac_n "checking for _modfl declaration""... $ac_c" 1>&6 ! echo "configure:14385: checking for _modfl declaration" >&5 if test x${glibcpp_cv_func__modfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__modfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 14404,14410 ---- else echo $ac_n "checking for _modfl declaration""... $ac_c" 1>&6 ! echo "configure:14408: checking for _modfl declaration" >&5 if test x${glibcpp_cv_func__modfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__modfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 14396,14409 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _modfl(0, 0); ; return 0; } EOF ! if { (eval echo configure:14407: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modfl_use=yes else --- 14419,14432 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _modfl(0, 0); ; return 0; } EOF ! if { (eval echo configure:14430: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modfl_use=yes else *************** fi *** 14430,14441 **** for ac_func in _modfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14434: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14457: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 14481,14487 ---- ; return 0; } EOF ! if { (eval echo configure:14485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 14488,14494 **** echo $ac_n "checking for powl declaration""... $ac_c" 1>&6 ! echo "configure:14492: checking for powl declaration" >&5 if test x${glibcpp_cv_func_powl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_powl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 14511,14517 ---- echo $ac_n "checking for powl declaration""... $ac_c" 1>&6 ! echo "configure:14515: checking for powl declaration" >&5 if test x${glibcpp_cv_func_powl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_powl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 14503,14516 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { powl(0, 0); ; return 0; } EOF ! if { (eval echo configure:14514: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powl_use=yes else --- 14526,14539 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { powl(0, 0); ; return 0; } EOF ! if { (eval echo configure:14537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powl_use=yes else *************** fi *** 14537,14548 **** for ac_func in powl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14541: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14564: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 14588,14594 ---- ; return 0; } EOF ! if { (eval echo configure:14592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 14592,14598 **** else echo $ac_n "checking for _powl declaration""... $ac_c" 1>&6 ! echo "configure:14596: checking for _powl declaration" >&5 if test x${glibcpp_cv_func__powl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__powl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 14615,14621 ---- else echo $ac_n "checking for _powl declaration""... $ac_c" 1>&6 ! echo "configure:14619: checking for _powl declaration" >&5 if test x${glibcpp_cv_func__powl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__powl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 14607,14620 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _powl(0, 0); ; return 0; } EOF ! if { (eval echo configure:14618: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__powl_use=yes else --- 14630,14643 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _powl(0, 0); ; return 0; } EOF ! if { (eval echo configure:14641: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__powl_use=yes else *************** fi *** 14641,14652 **** for ac_func in _powl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14645: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14668: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 14692,14698 ---- ; return 0; } EOF ! if { (eval echo configure:14696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 14699,14705 **** echo $ac_n "checking for sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:14703: checking for sqrtl declaration" >&5 if test x${glibcpp_cv_func_sqrtl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 14722,14728 ---- echo $ac_n "checking for sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:14726: checking for sqrtl declaration" >&5 if test x${glibcpp_cv_func_sqrtl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 14714,14720 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 14737,14743 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 14725,14731 **** sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:14729: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtl_use=yes else --- 14748,14754 ---- sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:14752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtl_use=yes else *************** fi *** 14752,14763 **** for ac_func in sqrtl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14756: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14779: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 14803,14809 ---- ; return 0; } EOF ! if { (eval echo configure:14807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 14807,14813 **** else echo $ac_n "checking for _sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:14811: checking for _sqrtl declaration" >&5 if test x${glibcpp_cv_func__sqrtl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 14830,14836 ---- else echo $ac_n "checking for _sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:14834: checking for _sqrtl declaration" >&5 if test x${glibcpp_cv_func__sqrtl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 14822,14828 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 14845,14851 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 14833,14839 **** _sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:14837: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtl_use=yes else --- 14856,14862 ---- _sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:14860: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtl_use=yes else *************** fi *** 14860,14871 **** for ac_func in _sqrtl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14864: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14887: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 14911,14917 ---- ; return 0; } EOF ! if { (eval echo configure:14915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 14918,14924 **** echo $ac_n "checking for sincosl declaration""... $ac_c" 1>&6 ! echo "configure:14922: checking for sincosl declaration" >&5 if test x${glibcpp_cv_func_sincosl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sincosl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 14941,14947 ---- echo $ac_n "checking for sincosl declaration""... $ac_c" 1>&6 ! echo "configure:14945: checking for sincosl declaration" >&5 if test x${glibcpp_cv_func_sincosl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sincosl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 14933,14946 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincosl(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:14944: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosl_use=yes else --- 14956,14969 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincosl(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:14967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosl_use=yes else *************** fi *** 14967,14978 **** for ac_func in sincosl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14971: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:14994: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15018,15024 ---- ; return 0; } EOF ! if { (eval echo configure:15022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15022,15028 **** else echo $ac_n "checking for _sincosl declaration""... $ac_c" 1>&6 ! echo "configure:15026: checking for _sincosl declaration" >&5 if test x${glibcpp_cv_func__sincosl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sincosl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 15045,15051 ---- else echo $ac_n "checking for _sincosl declaration""... $ac_c" 1>&6 ! echo "configure:15049: checking for _sincosl declaration" >&5 if test x${glibcpp_cv_func__sincosl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sincosl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 15037,15050 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincosl(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:15048: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosl_use=yes else --- 15060,15073 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincosl(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:15071: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosl_use=yes else *************** fi *** 15071,15082 **** for ac_func in _sincosl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15075: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:15098: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15122,15128 ---- ; return 0; } EOF ! if { (eval echo configure:15126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15129,15135 **** echo $ac_n "checking for finitel declaration""... $ac_c" 1>&6 ! echo "configure:15133: checking for finitel declaration" >&5 if test x${glibcpp_cv_func_finitel_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_finitel_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 15152,15158 ---- echo $ac_n "checking for finitel declaration""... $ac_c" 1>&6 ! echo "configure:15156: checking for finitel declaration" >&5 if test x${glibcpp_cv_func_finitel_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_finitel_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 15144,15150 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 15167,15173 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 15155,15161 **** finitel(0); ; return 0; } EOF ! if { (eval echo configure:15159: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitel_use=yes else --- 15178,15184 ---- finitel(0); ; return 0; } EOF ! if { (eval echo configure:15182: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitel_use=yes else *************** fi *** 15182,15193 **** for ac_func in finitel do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15186: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:15209: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15233,15239 ---- ; return 0; } EOF ! if { (eval echo configure:15237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15237,15243 **** else echo $ac_n "checking for _finitel declaration""... $ac_c" 1>&6 ! echo "configure:15241: checking for _finitel declaration" >&5 if test x${glibcpp_cv_func__finitel_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__finitel_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 15260,15266 ---- else echo $ac_n "checking for _finitel declaration""... $ac_c" 1>&6 ! echo "configure:15264: checking for _finitel declaration" >&5 if test x${glibcpp_cv_func__finitel_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__finitel_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 15252,15258 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 15275,15281 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 15263,15269 **** _finitel(0); ; return 0; } EOF ! if { (eval echo configure:15267: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitel_use=yes else --- 15286,15292 ---- _finitel(0); ; return 0; } EOF ! if { (eval echo configure:15290: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitel_use=yes else *************** fi *** 15290,15301 **** for ac_func in _finitel do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15294: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:15317: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15341,15347 ---- ; return 0; } EOF ! if { (eval echo configure:15345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15349,15355 **** echo $ac_n "checking for _float trig functions""... $ac_c" 1>&6 ! echo "configure:15353: checking for _float trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__float_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 15372,15378 ---- echo $ac_n "checking for _float trig functions""... $ac_c" 1>&6 ! echo "configure:15376: checking for _float trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__float_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 15363,15369 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { --- 15386,15392 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { *************** int main() { *** 15372,15378 **** _coshf _sinhf _tanhf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_trig_use=yes else --- 15395,15401 ---- _coshf _sinhf _tanhf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_trig_use=yes else *************** fi *** 15398,15409 **** _coshf _sinhf _tanhf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15402: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:15425: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15449,15455 ---- ; return 0; } EOF ! if { (eval echo configure:15453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15454,15460 **** echo $ac_n "checking for _float round functions""... $ac_c" 1>&6 ! echo "configure:15458: checking for _float round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__float_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 15477,15483 ---- echo $ac_n "checking for _float round functions""... $ac_c" 1>&6 ! echo "configure:15481: checking for _float round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__float_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 15468,15481 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { `for x in _ceilf _floorf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15479: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_round_use=yes else --- 15491,15504 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { `for x in _ceilf _floorf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15502: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_round_use=yes else *************** fi *** 15499,15510 **** for ac_func in _ceilf _floorf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15503: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:15526: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15550,15556 ---- ; return 0; } EOF ! if { (eval echo configure:15554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15556,15562 **** echo $ac_n "checking for _long double trig functions""... $ac_c" 1>&6 ! echo "configure:15560: checking for _long double trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 15579,15585 ---- echo $ac_n "checking for _long double trig functions""... $ac_c" 1>&6 ! echo "configure:15583: checking for _long double trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 15570,15576 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { --- 15593,15599 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { *************** int main() { *** 15579,15585 **** _coshl _sinhl _tanhl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15583: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_trig_use=yes else --- 15602,15608 ---- _coshl _sinhl _tanhl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_trig_use=yes else *************** fi *** 15605,15616 **** _coshl _sinhl _tanhl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15609: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:15632: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15656,15662 ---- ; return 0; } EOF ! if { (eval echo configure:15660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15661,15667 **** echo $ac_n "checking for _long double round functions""... $ac_c" 1>&6 ! echo "configure:15665: checking for _long double round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 15684,15690 ---- echo $ac_n "checking for _long double round functions""... $ac_c" 1>&6 ! echo "configure:15688: checking for _long double round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 15675,15688 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { `for x in _ceill _floorl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_round_use=yes else --- 15698,15711 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { `for x in _ceill _floorl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15709: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_round_use=yes else *************** fi *** 15706,15717 **** for ac_func in _ceill _floorl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15710: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:15733: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15757,15763 ---- ; return 0; } EOF ! if { (eval echo configure:15761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15766,15772 **** echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:15770: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 15789,15795 ---- echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:15793: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 15774,15787 **** ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 15797,15810 ---- ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** fi *** 15811,15822 **** for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15815: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:15838: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15862,15868 ---- ; return 0; } EOF ! if { (eval echo configure:15866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15872,15883 **** for ac_func in signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15876: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:15899: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 15923,15929 ---- ; return 0; } EOF ! if { (eval echo configure:15927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 15933,15948 **** echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:15937: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:15946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else --- 15956,15971 ---- echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:15960: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:15969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else *************** EOF *** 15964,15980 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:15968: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:15978: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 15987,16003 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:15991: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16001: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** done *** 16003,16019 **** ac_safe=`echo "wctype.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wctype.h""... $ac_c" 1>&6 ! echo "configure:16007: checking for wctype.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 16026,16042 ---- ac_safe=`echo "wctype.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wctype.h""... $ac_c" 1>&6 ! echo "configure:16030: checking for wctype.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16040: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** fi *** 16040,16055 **** && test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:16044: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext < int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF ! if { (eval echo configure:16053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else --- 16063,16078 ---- && test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:16067: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext < int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF ! if { (eval echo configure:16076: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else *************** rm -f conftest* *** 16062,16070 **** echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:16066: checking for WEOF" >&5 cat > conftest.$ac_ext < --- 16085,16093 ---- echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:16089: checking for WEOF" >&5 cat > conftest.$ac_ext < *************** int main() { *** 16073,16079 **** wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:16077: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else --- 16096,16102 ---- wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:16100: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else *************** rm -f conftest* *** 16089,16100 **** for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16093: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:16116: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 16140,16146 ---- ; return 0; } EOF ! if { (eval echo configure:16144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 16152,16163 **** wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16156: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:16179: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 16203,16209 ---- ; return 0; } EOF ! if { (eval echo configure:16207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 16208,16214 **** echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:16212: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes \ && test x"$ac_wfuncs" = xyes; then ac_isoC99_wchar_t=yes --- 16231,16237 ---- echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:16235: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes \ && test x"$ac_wfuncs" = xyes; then ac_isoC99_wchar_t=yes *************** echo "configure:16212: checking for ISO *** 16219,16235 **** ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:16223: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16233: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 16242,16258 ---- ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:16246: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16256: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** fi *** 16253,16269 **** ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:16257: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16267: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 16276,16292 ---- ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:16280: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16290: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** fi *** 16287,16293 **** echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:16291: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 16310,16316 ---- echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:16314: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** else *** 16295,16301 **** ac_save_LIBS="$LIBS" LIBS="-liconv $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 16329,16335 ---- iconv() ; return 0; } EOF ! if { (eval echo configure:16333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** fi *** 16332,16343 **** for ac_func in iconv_open iconv_close iconv nl_langinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16336: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:16359: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 16383,16389 ---- ; return 0; } EOF ! if { (eval echo configure:16387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 16390,16396 **** LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:16394: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes \ && test x"$ac_XPG2funcs" = xyes; then ac_XPG2_wchar_t=yes --- 16413,16419 ---- LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:16417: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes \ && test x"$ac_XPG2funcs" = xyes; then ac_XPG2_wchar_t=yes *************** echo "configure:16394: checking for XPG2 *** 16400,16406 **** echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:16404: checking for enabled wchar_t specializations" >&5 if test x"$ac_isoC99_wchar_t" = xyes \ && test x"$ac_XPG2_wchar_t" = xyes; then cat >> confdefs.h <<\EOF --- 16423,16429 ---- echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:16427: checking for enabled wchar_t specializations" >&5 if test x"$ac_isoC99_wchar_t" = xyes \ && test x"$ac_XPG2_wchar_t" = xyes; then cat >> confdefs.h <<\EOF *************** EOF *** 16422,16428 **** echo $ac_n "checking for strtold declaration""... $ac_c" 1>&6 ! echo "configure:16426: checking for strtold declaration" >&5 if test x${glibcpp_cv_func_strtold_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_strtold_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 16445,16451 ---- echo $ac_n "checking for strtold declaration""... $ac_c" 1>&6 ! echo "configure:16449: checking for strtold declaration" >&5 if test x${glibcpp_cv_func_strtold_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_strtold_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 16437,16450 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { strtold(0, 0); ; return 0; } EOF ! if { (eval echo configure:16448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_strtold_use=yes else --- 16460,16473 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { strtold(0, 0); ; return 0; } EOF ! if { (eval echo configure:16471: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_strtold_use=yes else *************** fi *** 16470,16481 **** for ac_func in strtold do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16474: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:16497: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 16521,16527 ---- ; return 0; } EOF ! if { (eval echo configure:16525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 16527,16538 **** for ac_func in drand48 do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16531: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:16554: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 16578,16584 ---- ; return 0; } EOF ! if { (eval echo configure:16582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 16584,16590 **** cat > conftest.$ac_ext < --- 16607,16613 ---- cat > conftest.$ac_ext < *************** int main() { *** 16593,16599 **** sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1); ; return 0; } EOF ! if { (eval echo configure:16597: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_SIGSETJMP 1 --- 16616,16622 ---- sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1); ; return 0; } EOF ! if { (eval echo configure:16620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_SIGSETJMP 1 *************** rm -f conftest* *** 16609,16625 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:16613: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16623: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 16632,16648 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:16636: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16646: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** done *** 16648,16659 **** for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16652: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:16675: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 16699,16705 ---- ; return 0; } EOF ! if { (eval echo configure:16703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** fi *** 16701,16707 **** done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 ! echo "configure:16705: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 16724,16730 ---- done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 ! echo "configure:16728: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 16709,16715 **** ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else --- 16872,16878 ---- } EOF ! if { (eval echo configure:16876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else *************** fi *** 16882,16898 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:16886: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16896: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 16905,16921 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:16909: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:16919: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** done *** 16925,16931 **** # Can't do these in a loop, else the resulting syntax is wrong. cat > conftest.$ac_ext < #include --- 16948,16954 ---- # Can't do these in a loop, else the resulting syntax is wrong. cat > conftest.$ac_ext < #include *************** int main() { *** 16934,16940 **** int f = RLIMIT_DATA ; ; return 0; } EOF ! if { (eval echo configure:16938: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else --- 16957,16963 ---- int f = RLIMIT_DATA ; ; return 0; } EOF ! if { (eval echo configure:16961: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else *************** EOF *** 16951,16957 **** cat > conftest.$ac_ext < #include --- 16974,16980 ---- cat > conftest.$ac_ext < #include *************** int main() { *** 16960,16966 **** int f = RLIMIT_RSS ; ; return 0; } EOF ! if { (eval echo configure:16964: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else --- 16983,16989 ---- int f = RLIMIT_RSS ; ; return 0; } EOF ! if { (eval echo configure:16987: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else *************** EOF *** 16977,16983 **** cat > conftest.$ac_ext < #include --- 17000,17006 ---- cat > conftest.$ac_ext < #include *************** int main() { *** 16986,16992 **** int f = RLIMIT_VMEM ; ; return 0; } EOF ! if { (eval echo configure:16990: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else --- 17009,17015 ---- int f = RLIMIT_VMEM ; ; return 0; } EOF ! if { (eval echo configure:17013: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else *************** EOF *** 17003,17009 **** cat > conftest.$ac_ext < #include --- 17026,17032 ---- cat > conftest.$ac_ext < #include *************** int main() { *** 17012,17018 **** int f = RLIMIT_AS ; ; return 0; } EOF ! if { (eval echo configure:17016: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else --- 17035,17041 ---- int f = RLIMIT_AS ; ; return 0; } EOF ! if { (eval echo configure:17039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else *************** EOF *** 17034,17040 **** else cat > conftest.$ac_ext < #include --- 17057,17063 ---- else cat > conftest.$ac_ext < #include *************** int main() { *** 17043,17049 **** struct rlimit r; setrlimit(0, &r); ; return 0; } EOF ! if { (eval echo configure:17047: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_setrlimit=yes else --- 17066,17072 ---- struct rlimit r; setrlimit(0, &r); ; return 0; } EOF ! if { (eval echo configure:17070: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_setrlimit=yes else *************** fi *** 17059,17065 **** fi echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6 ! echo "configure:17063: checking for testsuite memory limit support" >&5 if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then ac_mem_limits=yes cat >> confdefs.h <<\EOF --- 17082,17088 ---- fi echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6 ! echo "configure:17086: checking for testsuite memory limit support" >&5 if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then ac_mem_limits=yes cat >> confdefs.h <<\EOF *************** rm -f confcache *** 17143,17159 **** ac_safe=`echo "locale.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for locale.h""... $ac_c" 1>&6 ! echo "configure:17147: checking for locale.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:17157: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 17166,17182 ---- ac_safe=`echo "locale.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for locale.h""... $ac_c" 1>&6 ! echo "configure:17170: checking for locale.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:17180: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** if eval "test \"`echo '$ac_cv_header_'$a *** 17171,17189 **** echo "$ac_t""yes" 1>&6 echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 ! echo "configure:17175: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'ac_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF ! if { (eval echo configure:17187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_val_LC_MESSAGES=yes else --- 17194,17212 ---- echo "$ac_t""yes" 1>&6 echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 ! echo "configure:17198: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'ac_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF ! if { (eval echo configure:17210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_val_LC_MESSAGES=yes else *************** esac *** 17236,17248 **** glibcpp_prefixdir=${prefix} echo $ac_n "checking for interface version number""... $ac_c" 1>&6 ! echo "configure:17240: checking for interface version number" >&5 libstdcxx_interface=$INTERFACE echo "$ac_t""$libstdcxx_interface" 1>&6 # Process the option --with-gxx-include-dir= echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6 ! echo "configure:17246: checking for --with-gxx-include-dir" >&5 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given. if test "${with_gxx_include_dir+set}" = set; then withval="$with_gxx_include_dir" --- 17259,17271 ---- glibcpp_prefixdir=${prefix} echo $ac_n "checking for interface version number""... $ac_c" 1>&6 ! echo "configure:17263: checking for interface version number" >&5 libstdcxx_interface=$INTERFACE echo "$ac_t""$libstdcxx_interface" 1>&6 # Process the option --with-gxx-include-dir= echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6 ! echo "configure:17269: checking for --with-gxx-include-dir" >&5 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given. if test "${with_gxx_include_dir+set}" = set; then withval="$with_gxx_include_dir" *************** echo "$ac_t""$gxx_include_dir" 1>&6 *** 17266,17272 **** # Process the option "--enable-version-specific-runtime-libs" echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6 ! echo "configure:17270: checking for --enable-version-specific-runtime-libs" >&5 # Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given. if test "${enable_version_specific_runtime_libs+set}" = set; then enableval="$enable_version_specific_runtime_libs" --- 17289,17295 ---- # Process the option "--enable-version-specific-runtime-libs" echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6 ! echo "configure:17293: checking for --enable-version-specific-runtime-libs" >&5 # Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given. if test "${enable_version_specific_runtime_libs+set}" = set; then enableval="$enable_version_specific_runtime_libs" *************** if test x"$glibcpp_toolexecdir" = x"no"; *** 17312,17318 **** fi echo $ac_n "checking for install location""... $ac_c" 1>&6 ! echo "configure:17316: checking for install location" >&5 echo "$ac_t""$gxx_include_dir" 1>&6 --- 17335,17341 ---- fi echo $ac_n "checking for install location""... $ac_c" 1>&6 ! echo "configure:17339: checking for install location" >&5 echo "$ac_t""$gxx_include_dir" 1>&6 diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/BUGS gcc-3.0.3/libstdc++-v3/docs/html/17_intro/BUGS *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/BUGS Sat Dec 9 20:03:08 2000 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/BUGS Thu Dec 13 15:28:18 2001 *************** *** 5,11 **** - _GLIBCPP_HAS_BUILTIN_SINF: We should still hold out for a cleaner solution the is currenly the case in bits/std_cmath.h. ! - there may be one set of remaining string bugs, dependant on final clarification of the string::find technicalities when finding in an empty string or using an empty string for an argument. At the very least, v-3 has interpreted the standard in a way that is in opposition --- 5,11 ---- - _GLIBCPP_HAS_BUILTIN_SINF: We should still hold out for a cleaner solution the is currenly the case in bits/std_cmath.h. ! - there may be one set of remaining string bugs, dependent on final clarification of the string::find technicalities when finding in an empty string or using an empty string for an argument. At the very least, v-3 has interpreted the standard in a way that is in opposition diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/C++STYLE gcc-3.0.3/libstdc++-v3/docs/html/17_intro/C++STYLE *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/C++STYLE Fri Aug 24 13:51:32 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/C++STYLE Thu Dec 13 15:28:18 2001 *************** Notable areas of divergence from what ma *** 122,128 **** // } ! 09. Member functions declarations and defintions Keywords such as extern, static, export, explicit, inline, etc go on the line above the function name. Thus --- 122,128 ---- // } ! 09. Member functions declarations and definitions Keywords such as extern, static, export, explicit, inline, etc go on the line above the function name. Thus diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/CHECKLIST gcc-3.0.3/libstdc++-v3/docs/html/17_intro/CHECKLIST *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/CHECKLIST Sat Dec 9 20:03:08 2000 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/CHECKLIST Thu Dec 13 15:28:19 2001 *************** T X* get() const throw(); *** 958,964 **** T X* release() throw(); T void reset(X* p =0) throw(); ! // _lib.auto.ptr.conv_ converions: X auto_ptr(auto_ptr_ref) throw(); X template operator auto_ptr_ref() throw(); X template operator auto_ptr() throw(); --- 958,964 ---- T X* release() throw(); T void reset(X* p =0) throw(); ! // _lib.auto.ptr.conv_ conversions: X auto_ptr(auto_ptr_ref) throw(); X template operator auto_ptr_ref() throw(); X template operator auto_ptr() throw(); diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/DESIGN gcc-3.0.3/libstdc++-v3/docs/html/17_intro/DESIGN *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/DESIGN Sat Dec 9 20:03:09 2000 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/DESIGN Thu Dec 13 15:28:19 2001 *************** cases it may actually be excessive. *** 253,259 **** To implement a library which does not use exceptions directly is not difficult given minor compiler support (to "turn off" exceptions ! and ignore exception contructs), and results in no great library maintenance difficulties. To be precise, given "-fno-exceptions", the compiler should treat "try" blocks as ordinary blocks, and "catch" blocks as dead code to ignore or eliminate. Compiler --- 253,259 ---- To implement a library which does not use exceptions directly is not difficult given minor compiler support (to "turn off" exceptions ! and ignore exception constructs), and results in no great library maintenance difficulties. To be precise, given "-fno-exceptions", the compiler should treat "try" blocks as ordinary blocks, and "catch" blocks as dead code to ignore or eliminate. Compiler diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/TODO gcc-3.0.3/libstdc++-v3/docs/html/17_intro/TODO *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/TODO Sat Dec 9 20:03:09 2000 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/TODO Thu Dec 13 15:28:19 2001 *************** sources, with macro-guards. *** 152,159 **** - write filebuf for wide characters - - replace stl/bits/stl_config - - add feature-test macros for non-standard extensions - move major extensions into separate namespace (e.g. stl::) --- 152,157 ---- *************** sources, with macro-guards. *** 165,172 **** - specialize functions that use_facet<> calls on failure for the required facets, and construct them lazily so unused facets need not be constructed when the locale is. - - - get mknumeric_limits coope with 'exotic' OSes. - : provide missing names. --- 163,168 ---- diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/howto.html gcc-3.0.3/libstdc++-v3/docs/html/17_intro/howto.html *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/howto.html Fri Oct 19 13:07:35 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/howto.html Thu Dec 13 15:28:19 2001 *************** *** 25,31 ****

Contents

--- 25,31 ----

Contents

*************** *** 50,112 ****


!

Thread-safety

!

This is a thorny issue that gets brought up on the libstdc++-v3 ! and gcc mailing lists on a regular basis (probably by a cron job). ! This entry will mention a very little bit about the general MT ! issues with libstdc++. The latest status and quick notes will be ! in FAQ 5.6. Some discussion about thread-safe containers will be ! in section 6.8 (the HOWTOs on containers). This section only applies ! when gcc and libstdc++-v3 were configured with --enable-threads.

!

The libstdc++ code (all of it, not just the containers) has been ! designed so that thread-safety will be easily possible. The first ! (!) problem is finding a fast method of implementation ! portable to all platforms. A minor problem that pops up every so ! often is different interpretations of what "thread-safe" ! means for a library (not a general program). We currently use the ! same ! definition that SGI uses for their STL subset. ! Please see the many cautions given in ! HOWTOs on containers.

!

Here is another attempt at explaining the dangers of using the ! STL with threading support without understanding some important ! details. The STL implementation is currently configured to use ! the high-speed caching memory allocator. If you absolutely ! think you must change this on a global basis for your platform ! to support multi-threading, then please consult all commentary ! in include/bits/c++config and the HOWTOs on containers. Be ! fully aware that you may change the external or internal ABI of ! libstdc++-v3 when you provide -D__USE_MALLOC on the command line ! or make a change to that configuration file.

!

If you don't like caches of objects being retained inside the STL, then ! you might be tempted to define __USE_MALLOC either on the command ! line or by rebuilding c++config.h. Please note, once you define ! __USE_MALLOC, only the malloc allocator is visible to application code ! (i.e. the typically higher-speed allocator is not even available ! in this configuration). There is a better way: It is possible ! to force the malloc-based allocator on a per-case-basis for some ! application code even when the above macro symbol is not defined. ! The library team generally believes that this is a better way to tune ! an application for high-speed using this implementation of the STL. ! Here is one possible example displaying the forcing of the malloc-based ! allocator over the typically higher-speed default allocator: !

!       std::list <my_type, std::malloc_alloc>  my_malloc_based_list;

!

A recent journal article has described "atomic integer ! operations," which would allow us to, well, perform updates ! on integers atomically, and without requiring an explicit mutex ! lock. This appears promising, but the major difficulty is that ! these operations "may not be available on all systems, and ! if they are, may have different interfaces." [quoting from ! mailing list messages]

Here is a small link farm to threads (no pun) in the mail archives that discuss the threading problem. Each link is to the first ! relevent message in the thread; from there you can use "Thread Next" to move down the thread. This farm is in latest-to-oldest order.

    --- 50,130 ----


    !

    The Standard C++ library and multithreading

    !

    This section discusses issues surrounding the proper compilation ! of multithreaded applications which use the Standard C++ ! library. This information is gcc-specific since the C++ ! standard does not address matters of multithreaded applications. ! Unless explicitly prefaced, all information in this section is ! current as of the gcc 3.0 release and all later point releases.

    !

    Earlier gcc releases had a somewhat different approach to ! threading configuration and proper compilation. Before gcc 3.0, ! configuration of the threading model was dictated by compiler ! command-line options and macros (both of which were somewhat ! thread-implementation and port-specific). There were no ! guarantees related to being able to link code compiled with one ! set of options and macro setting with another set. For gcc 3.0, ! configuration of the threading model used with libraries and ! user-code is performed when gcc is configured and built using ! the --enable-threads and --disable-threads options. The ABI is ! stable for symbol name-mangling and limited functional ! compatibility exists between code compiled under different ! threading models.

    !

    All normal disclaimers aside, multithreaded C++ application are ! only supported when libstdc++ and all user code was built with ! compilers which report (via gcc/g++ -v ) the same thread ! model and that model is not single. As long as your ! final application is actually single-threaded, then it should be ! safe to mix user code built with a thread model of ! single with a libstdc++ and other C++ libraries built ! with another thread model useful on the platform. Other mixes ! may or may not work but are not considered supported. (Thus, if ! you distribute a shared C++ library in binary form only, it may ! be best to compile it with a gcc configured with ! --enable-threads for maximal interchangeability and usefulness ! with a user population that may have built gcc with either ! --enable-threads or --disable-threads.)

    !

    When you link a multithreaded application, you will probably ! need to add a library or flag to g++. This is a very ! non-standardized area of GCC across ports. Some ports support a ! special flag (the spelling isn't even standardized yet) to add ! all required macros to a compilation (if any such flags are ! required then you must provide the flag for all compilations not ! just linking) and link-library additions and/or replacements at ! link time. The documentation is weak. Here is a quick summary ! to display how ad hoc this is: On Solaris, both -pthreads and ! -threads (with subtly different meanings) are honored. On OSF, ! -pthread and -threads (with subtly different meanings) are ! honored. On Linux/i386, -pthread is honored. On FreeBSD, ! -pthread is honored. Some other ports use other switches. ! AFAIK, none of this is properly documented anywhere other than ! in ``gcc -dumpspecs'' (look at lib and cpp entries).

    !

    See FAQ (general overview), 23 (containers), and 27 (I/O) for more information. !

    !

    The libstdc++-v3 library (unlike libstdc++-v2, all of it, not ! just the STL) has been designed so that multithreaded ! applications using it may be written. The first problem is ! finding a fast method of implementation portable to all ! platforms. Due to historical reasons, some of the library is ! written against per-CPU-architecture spinlocks and other parts ! against the gthr.h abstraction layer which is provided by gcc. ! A minor problem that pops up every so often is different ! interpretations of what "thread-safe" means for a ! library (not a general program). We currently use the same ! definition that SGI uses for their STL subset. However, the ! exception for read-only containers only applies to the STL ! components.

    Here is a small link farm to threads (no pun) in the mail archives that discuss the threading problem. Each link is to the first ! relevant message in the thread; from there you can use "Thread Next" to move down the thread. This farm is in latest-to-oldest order.

      *************** *** 117,130 **** This message inspired a recent updating of issues with threading and the SGI STL library. It also contains some example POSIX-multithreaded STL code. -
    • - Here is an early analysis of why __USE_MALLOC should be disabled - for the 3.0 release of libstdc++.
    (A large selection of links to older messages has been removed; many of the messages from 1999 were lost in a disk crash, and the few people with access to the backup tapes have been too swamped with work ! to restore them. Many of the points have been superceded anyhow.)

    This section will be updated as new and interesting issues come to light. --- 135,145 ---- This message inspired a recent updating of issues with threading and the SGI STL library. It also contains some example POSIX-multithreaded STL code.

(A large selection of links to older messages has been removed; many of the messages from 1999 were lost in a disk crash, and the few people with access to the backup tapes have been too swamped with work ! to restore them. Many of the points have been superseded anyhow.)

This section will be updated as new and interesting issues come to light. diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/license.html gcc-3.0.3/libstdc++-v3/docs/html/17_intro/license.html *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/license.html Fri Oct 19 13:07:35 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/license.html Thu Dec 13 15:28:19 2001 *************** *** 13,21 ****

Licenses for the Library

-

As long as this sentence is in place, this page isn't - official. It is still experimental if you are reading this.

-

There are two licenses affecting GNU libstdc++-v3: one for the code, and one for the documentation. Here we will describe both of them, and try to answer some of the widespread questions. If you have more questions, --- 13,18 ---- diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/porting-howto.html gcc-3.0.3/libstdc++-v3/docs/html/17_intro/porting-howto.html *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/porting-howto.html Wed Jul 11 17:04:16 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/porting-howto.html Thu Dec 13 15:28:19 2001 *************** *** 13,20 ****

Legal Notice

! This document can be distributed under the FDL ! (www.gnu.org)

Tue Jun 5 20:07:49 2001

--- 13,20 ----

Legal Notice

! This document can be distributed under the FDL ! (www.gnu.org)

Tue Jun 5 20:07:49 2001

*************** *** 32,39 **** fnatter First released version using docbook-xml ! + second upload to libstdc++-page. ! Revision 0.9 Wed Sep 6 02:59:32 2000 --- 32,39 ---- fnatter First released version using docbook-xml ! + second upload to libstdc++-page. ! Revision 0.9 Wed Sep 6 02:59:32 2000 *************** *** 46,82 **** fnatter added information about why file-descriptors are not in the ! standard Revision 0.9.2 Tue Jun 5 20:07:49 2001 fnatter ! a fix, added hint on increased portability of C-shadow-headers, ! added autoconf-test HAVE_CONTAINER_AT ! Revision 0.9.3 Fri Jun 29 16:15:56 2001 fnatter ! changed signature of nonstandard filebuf-constructor and ! update the section on filebuf::attach to point to ../ext/howto.html, ! added link to ../21/strings/howto.html ! in sec-stringstream, changed <link>-tags to have content ! (so that these links work), ! replace "user-space" by "global namespace" ! add note about gcc 3.0 and shadow-headers ! add section about ostream::form and istream::scan ! sec-vector-at: remove hint to modify headers ! fix spelling error in sec-stringstream !

! Abstract

Some notes on porting applications from libstdc++-2.90 (or earlier --- 46,91 ---- fnatter added information about why file-descriptors are not in the ! standard Revision 0.9.2 Tue Jun 5 20:07:49 2001 fnatter ! a fix, added hint on increased portability of C-shadow-headers, ! added autoconf-test HAVE_CONTAINER_AT ! Revision 0.9.3 Fri Jun 29 16:15:56 2001 fnatter ! changed signature of nonstandard filebuf-constructor and ! update the section on filebuf::attach to point to ../ext/howto.html, ! added link to ../21/strings/howto.html ! in sec-stringstream, changed <link>-tags to have content ! (so that these links work), ! replace "user-space" by "global namespace" ! add note about gcc 3.0 and shadow-headers ! add section about ostream::form and istream::scan ! sec-vector-at: remove hint to modify headers ! fix spelling error in sec-stringstream ! ! ! Revision 0.9.4 ! Mon Nov 5 17:01:04 2001 ! fnatter ! ! ! rewrite section 1.1.3 because of gnu.gcc.help-post by ! Juergen Heinzl !

! Abstract

Some notes on porting applications from libstdc++-2.90 (or earlier *************** *** 162,180 **** things:

  • ! wrap your code in namespace std { ... } => This is not an option because only symbols from the standard c++-library are defined in namespace std::.

  • ! put a kind of using-declaration in your source (either using namespace std; or i.e. using std::string;) => works well for source-files, but cannot be used in header-files.

  • ! use a fully qualified name for each libstdc++-symbol (i.e. std::string, std::cout) => can always be used

  • --- 171,189 ---- things:
    • ! wrap your code in namespace std { ... } => This is not an option because only symbols from the standard c++-library are defined in namespace std::.

    • ! put a kind of using-declaration in your source (either using namespace std; or i.e. using std::string;) => works well for source-files, but cannot be used in header-files.

    • ! use a fully qualified name for each libstdc++-symbol (i.e. std::string, std::cout) => can always be used

    • *************** *** 257,268 ****

      If some compilers complain about using std::string;, and if the "hack" for gtk-- mentioned above ! does not work, then it might be a good idea to define a macro ! NS_STD, which is defined to either "" or "std" ! based on an autoconf-test. Then you should be able to use ! NS_STD::string, which will evaluate to ! ::string ("string in the global namespace") on ! systems that do not put string in std::. (This is untested)

    --- 266,297 ----

    If some compilers complain about using std::string;, and if the "hack" for gtk-- mentioned above ! does not work, then I see two solutions: ! !

      !
    • ! ! Define std:: as a macro if the compiler ! doesn't know about std::. !

      ! 		#ifdef OLD_COMPILER
      ! 		#define std
      ! 		#endif
      ! 	      
      ! (thanks to Juergen Heinzl who posted this solution on ! gnu.gcc.help) !

    • !
    • ! ! Define a macro NS_STD, which is defined to ! either "" or "std" ! based on an autoconf-test. Then you should be able to use ! NS_STD::string, which will evaluate to ! ::string ("string in the global namespace") on ! systems that do not put string in std::. (This is untested) !

    • !
    !

    *************** *** 276,282 ****

    ! Table 1. Namespace std:: in Open-Source programs

    --- 305,311 ----

    ! Table 1. Namespace std:: in Open-Source programs

    *************** *** 310,316 ****

    ! Table 2. Notations for categories

    --- 339,345 ----

    ! Table 2. Notations for categories

    *************** *** 377,397 ****

    When using libstdc++-v3, you can use !

    !

      	  #include <fstream>
      	

    ! basic_filebuf<...>::basic_filebuf<...> ! ! (file, mode, size);
    __c_file_type* file;
    ios_base::open_mode mode;
    int size;

    but the the signature of this constructor has changed often, and it might change again. For the current state of this, check ! the howto for extensions. !

    For a portable solution (among systems which use filedescriptors), you need to implement a subclass of --- 406,426 ----

    When using libstdc++-v3, you can use !

    !

      	  #include <fstream>
      	

    ! basic_filebuf<...>::basic_filebuf<...> ! ! (file, mode, size);
    __c_file_type* file;
    ios_base::open_mode mode;
    int size;

    but the the signature of this constructor has changed often, and it might change again. For the current state of this, check ! the howto for extensions. !

    For a portable solution (among systems which use filedescriptors), you need to implement a subclass of *************** *** 410,417 **** source-code.

    ! The old C++-headers (iostream.h etc.) are available, but gcc generates ! a warning that you are using deprecated headers.

    --- 439,446 ---- source-code.

    ! The old C++-headers (iostream.h etc.) are available, but gcc generates ! a warning that you are using deprecated headers.

    *************** *** 441,447 **** For more information on this, and for information on how the GNU C++ implementation might reuse ("shadow") the C library-functions, have a look at ! www.cantrip.org.

    --- 470,476 ---- For more information on this, and for information on how the GNU C++ implementation might reuse ("shadow") the C library-functions, have a look at ! www.cantrip.org.

    *************** *** 455,462 **** In earlier versions of the standard, <fstream.h>, <ostream.h> ! and <istream.h> ! used to define cout, cin and so on. Because of the templatized iostreams in libstdc++-v3, you need to include <iostream> --- 484,491 ---- In earlier versions of the standard, <fstream.h>, <ostream.h> ! and <istream.h> ! used to define cout, cin and so on. Because of the templatized iostreams in libstdc++-v3, you need to include <iostream> *************** *** 473,490 **** fixes for existing uses of iterators.
    • ! you cannot do ostream::operator<<(iterator) to print the address of the iterator => use operator<< &*iterator instead ?

    • ! you cannot clear an iterator's reference (iterator = 0) => use iterator = iterator_type(); ?

    • ! if (iterator) won't work any more => use if (iterator != iterator_type()) ?

    --- 502,519 ---- fixes for existing uses of iterators.
    • ! you cannot do ostream::operator<<(iterator) to print the address of the iterator => use operator<< &*iterator instead ?

    • ! you cannot clear an iterator's reference (iterator = 0) => use iterator = iterator_type(); ?

    • ! if (iterator) won't work any more => use if (iterator != iterator_type()) ?

    *************** *** 501,507 **** <ctype.h> -functionality as macros (isspace, isalpha etc.). Libstdc++-v3 "shadows" these macros as described in the section about ! c-headers.

    Older implementations of libstdc++ (g++-2 for egcs 1.x and g++-3 --- 530,536 ---- <ctype.h> -functionality as macros (isspace, isalpha etc.). Libstdc++-v3 "shadows" these macros as described in the section about ! c-headers.

    Older implementations of libstdc++ (g++-2 for egcs 1.x and g++-3 *************** *** 552,559 **** --enable-cshadow-headers is currently broken. As a result, shadow headers are not being searched.... ' ! This is now outdated, but gcc 3.0 still does not have fully ! compliant "shadow headers".

    --- 581,588 ---- --enable-cshadow-headers is currently broken. As a result, shadow headers are not being searched.... ' ! This is now outdated, but gcc 3.0 still does not have fully ! compliant "shadow headers".

    *************** *** 646,655 **** 11. GNU Extensions ostream::form and istream::scan

    ! These are not supported any more - use ! ! stringstreams instead. !

    --- 675,684 ---- 11. GNU Extensions ostream::form and istream::scan

    ! These are not supported any more - use ! ! stringstreams instead. !

    *************** *** 669,688 ****
    • ! strstream is considered to be deprecated

    • ! strstream is limited to char

    • ! with ostringstream you don't have to take care of terminating the string or freeing its memory

    • ! istringstream can be re-filled (clear(); str(input);)

    --- 698,717 ----
    • ! strstream is considered to be deprecated

    • ! strstream is limited to char

    • ! with ostringstream you don't have to take care of terminating the string or freeing its memory

    • ! istringstream can be re-filled (clear(); str(input);)

    *************** *** 739,756 **** void fromString(const string& input, X& any) { #ifdef HAVE_SSTREAM ! std::istringstream iss(input); #else ! std::istrstream iss(input.c_str()); #endif ! X temp; ! iss >> temp; ! if (iss.fail()) ! throw runtime_error(..) ! any = temp; } ! Another example of using stringstreams is in this howto.

    I have read the Josuttis book on Standard C++, so some information --- 768,785 ---- void fromString(const string& input, X& any) { #ifdef HAVE_SSTREAM ! std::istringstream iss(input); #else ! std::istrstream iss(input.c_str()); #endif ! X temp; ! iss >> temp; ! if (iss.fail()) ! throw runtime_error(..) ! any = temp; } ! Another example of using stringstreams is in this howto.

    I have read the Josuttis book on Standard C++, so some information diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/porting-howto.xml gcc-3.0.3/libstdc++-v3/docs/html/17_intro/porting-howto.xml *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/porting-howto.xml Wed Jul 11 17:04:16 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/porting-howto.xml Thu Dec 13 15:28:20 2001 *************** *** 22,27 **** --- 22,28 ----

    *************** o make this work: Legal Notice ! This document can be distributed under the FDL ! (www.gnu.org) --- 37,108 ---- ! 0.5 ! Thu Jun 1 13:06:50 2000 ! fnatter ! First docbook-version. ! 0.8 ! Sun Jul 30 20:28:40 2000 ! fnatter ! First released version using docbook-xml ! + second upload to libstdc++-page. ! ! 0.9 ! Wed Sep 6 02:59:32 2000 ! fnatter ! 5 new sections. ! 0.9.1 ! Sat Sep 23 14:20:15 2000 ! fnatter ! added information about why file-descriptors are not in the ! standard ! 0.9.2 ! Tue Jun 5 20:07:49 2001 ! fnatter ! ! a fix, added hint on increased portability of C-shadow-headers, ! added autoconf-test HAVE_CONTAINER_AT ! ! 0.9.3 ! Fri Jun 29 16:15:56 2001 ! fnatter ! ! changed signature of nonstandard filebuf-constructor and ! update the section on filebuf::attach to point to ../ext/howto.html, ! added link to ../21/strings/howto.html ! in sec-stringstream, changed <link>-tags to have content ! (so that these links work), ! replace "user-space" by "global namespace" ! add note about gcc 3.0 and shadow-headers ! add section about ostream::form and istream::scan ! sec-vector-at: remove hint to modify headers ! fix spelling error in sec-stringstream ! ! ! ! 0.9.4 ! Mon Nov 5 17:01:04 2001 ! fnatter ! ! rewrite section 1.1.3 because of gnu.gcc.help-post by ! Juergen Heinzl ! Legal Notice ! This document can be distributed under the FDL ! (www.gnu.org) *************** o make this work: NS_STD, which is defined to either "" or "std" ! based on an autoconf-test. Then you should be able to use ! NS_STD::string, which will evaluate to ! ::string ("string in the global namespace") on ! systems that do not put string in std::. (This is untested) --- 226,256 ---- If some compilers complain about using std::string;, and if the "hack" for gtk-- mentioned above ! does not work, then I see two solutions: ! ! ! ! Define std:: as a macro if the compiler ! doesn't know about std::. ! ! #ifdef OLD_COMPILER ! #define std ! #endif ! ! (thanks to Juergen Heinzl who posted this solution on ! gnu.gcc.help) ! ! ! ! Define a macro NS_STD, which is defined to ! either "" or "std" ! based on an autoconf-test. Then you should be able to use ! NS_STD::string, which will evaluate to ! ::string ("string in the global namespace") on ! systems that do not put string in std::. (This is untested) ! ! ! *************** o make this work: section on the gtkmm-hack). --- 317,323 ---- As you can see, this currently lacks an example of a project which uses libstdc++-symbols in headers in a back-portable way (except for Gtk--: see the section on the gtkmm-hack). *************** o make this work: the howto for extensions. ! ! For a portable solution (among systems which use filedescriptors), you need to implement a subclass of std::streambuf (or --- 359,377 ---- ! basic_filebuf<...>::basic_filebuf<...> ! ! ! __c_file_type* file ios_base::open_mode mode int size but the the signature of this constructor has changed often, and it might change again. For the current state of this, check ! the howto for extensions. ! ! For a portable solution (among systems which use filedescriptors), you need to implement a subclass of std::streambuf (or *************** o make this work: --- 388,395 ---- source-code. ! The old C++-headers (iostream.h etc.) are available, but gcc generates ! a warning that you are using deprecated headers.
    *************** o make this work: <math.h>, you should use <cmath>. In some cases this has the advantage that the C++-header is more standardized than the C-header (i.e. <ctime> (almost) corresponds to either <time.h> or <sys/time.h>). The standard specifies that if you include the C-style header (<math.h> in --- 401,413 ---- omitting the extension (.h). For example, instead of using <math.h>, you should use <cmath>. In some cases this has the advantage that the C++-header is more standardized than the C-header (i.e. <ctime> (almost) corresponds to either <time.h> or <sys/time.h>). The standard specifies that if you include the C-style header (<math.h> in *************** o make this work: <cmath>), the symbols will only be defined in namespace std:: (and macros will be converted to inline-functions). --- 415,421 ---- namespace and in namespace std:: (but libstdc++ does not yet have fully compliant headers) On the other hand, if you include only the new header (i.e. <cmath>), the symbols will only be defined in namespace std:: (and macros will be converted to inline-functions). *************** o make this work: ! www.cantrip.org.
    --- 423,430 ---- For more information on this, and for information on how the GNU C++ implementation might reuse ("shadow") the C library-functions, have a look at ! www.cantrip.org. *************** o make this work: <fstream.h>, <ostream.h> ! and <istream.h> ! used to define cout, cin and so on. Because of the templatized iostreams in libstdc++-v3, you need to include <iostream> --- 437,444 ---- In earlier versions of the standard, <fstream.h>, <ostream.h> ! and <istream.h> ! used to define cout, cin and so on. Because of the templatized iostreams in libstdc++-v3, you need to include <iostream> *************** o make this work: <ctype.h> -functionality as macros (isspace, isalpha etc.). Libstdc++-v3 "shadows" these macros as described in the section about ! c-headers. Older implementations of libstdc++ (g++-2 for egcs 1.x and g++-3 --- 481,488 ---- <ctype.h> -functionality as macros (isspace, isalpha etc.). Libstdc++-v3 "shadows" these macros as described in the section about ! c-headers. Older implementations of libstdc++ (g++-2 for egcs 1.x and g++-3 *************** o make this work: <ctype.h> to define functions instead of macros: // This keeps isalnum, et al from being propagated as macros. --- 507,513 ---- Another solution which would fix g++ is to tell the user to modify a header-file so that g++-2 (egcs 1.x) and g++-3 (gcc 2.95.x) define a macro which tells <ctype.h> to define functions instead of macros: // This keeps isalnum, et al from being propagated as macros. *************** o make this work: <ctype.h>. This will result in ambiguities between the definitions in the global namespace (<ctype.h>) and the definitions in namespace std:: --- 521,527 ---- Another problem arises if you put a using namespace std; declaration at the top, and include <ctype.h>. This will result in ambiguities between the definitions in the global namespace (<ctype.h>) and the definitions in namespace std:: *************** o make this work: --- 535,542 ---- --enable-cshadow-headers is currently broken. As a result, shadow headers are not being searched.... ! This is now outdated, but gcc 3.0 still does not have fully ! compliant "shadow headers". *************** o make this work: ! GNU Extensions ostream::form and istream::scan ! ! These are not supported any more - use ! ! stringstreams instead. !
    --- 622,633 ----
    ! GNU Extensions ostream::form and istream::scan ! ! These are not supported any more - use ! ! stringstreams instead. !
    *************** o make this work: <sstream>), but for compatibility with older implementations you still have to use i/ostrstream (<strstream>): #ifdef HAVE_SSTREAM #include <sstream> --- 635,644 ---- Libstdc++-v3 provides the new i/ostringstream-classes, (<sstream>), but for compatibility with older implementations you still have to use i/ostrstream (<strstream>): #ifdef HAVE_SSTREAM #include <sstream> *************** o make this work: this howto. I have read the Josuttis book on Standard C++, so some information --- 718,736 ---- void fromString(const string& input, X& any) { #ifdef HAVE_SSTREAM ! std::istringstream iss(input); #else ! std::istrstream iss(input.c_str()); #endif ! X temp; ! iss >> temp; ! if (iss.fail()) ! throw runtime_error(..) ! any = temp; } ! Another example of using stringstreams is in this howto. I have read the Josuttis book on Standard C++, so some information diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/porting.html gcc-3.0.3/libstdc++-v3/docs/html/17_intro/porting.html *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/porting.html Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/porting.html Thu Dec 13 15:28:20 2001 *************** *** 0 **** --- 1,841 ---- + + + Porting libstdc++-v3 + + + + + + + +


    + Node:Top, + Next: +
    + +

    Porting libstdc++-v3

    + +

    This document explains how to port libstdc++-v3 (the GNU C++ library) to + a new target. + +

    In order to make the GNU C++ library (libstdc++-v3) work with a new + target, you must edit some configuration files and provide some new + header files. + +

    Before you get started, make sure that you have a working C library on + your target. The C library need not precisely comply with any + particular standard, but should generally conform to the requirements + imposed by the ANSI/ISO standard. + +

    In addition, you should try to verify that the C++ compiler generally + works. It is difficult to test the C++ compiler without a working + library, but you should at least try some minimal test cases. + +

    Here are the primary steps required to port the library: + +

    + +


    + Node:Operating system, + Next:, + Previous:Top, + Up:Top +
    + +

    Operating system

    + +

    If you are porting to a new operating-system (as opposed to a new chip + using an existing operating system), you will need to create a new + directory in the config/os hierarchy. For example, the IRIX + configuration files are all in config/os/irix. There is no set + way to organize the OS configuration directory. For example, + config/os/solaris/solaris-2.6 and + config/os/solaris/solaris-2.7 are used as configuration + directories for these two versions of Solaris. On the other hand, both + Solaris 2.7 and Solaris 2.8 use the config/os/solaris/solaris-2.7 + directory. The important information is that there needs to be a + directory under config/os to store the files for your operating + system. + +

    You'll have to change the configure.target file to ensure that + your new directory is activated. Look for the switch statement that + sets os_include_dir, and add a pattern to handle your operating + system. The switch statement switches on only the OS portion of the + standard target triplet; e.g., the solaris2.8 in + sparc-sun-solaris2.8. + +

    The first file to create in this directory, should be called + bits/os_defines.h. This file contains basic macro definitions + that are required to allow the C++ library to work with your C library. + This file should provide macro definitions for __off_t, + __off64_t, and __ssize_t. Typically, this just looks + like: + +

    #define __off_t off_t
    + #define __off64_t off64_t
    + #define __ssize_t ssize_t
    + 
    + +

    You don't have to provide these definitions if your system library + already defines these types - but the only library known to provide + these types is the GNU C Library, so you will almost certainly have to + provide these macros. Note that this file does not have to include a + header file that defines off_t, or the other types; you simply + have to provide the macros. + +

    In addition, several libstdc++-v3 source files unconditionally define + the macro _POSIX_SOURCE. On many systems, defining this macro + causes large portions of the C library header files to be eliminated + at preprocessing time. Therefore, you may have to #undef this + macro, or define other macros (like _LARGEFILE_SOURCE or + __EXTENSIONS__). You won't know what macros to define or + undefine at this point; you'll have to try compiling the library and + seeing what goes wrong. If you see errors about calling functions + that have not been declared, look in your C library headers to see if + the functions are declared there, and then figure out what macros you + need to define. You will need to add them to the + CPLUSPLUS_CPP_SPEC macro in the GCC configuration file for your + target. It will not work to simply define these macros in + os_defines.h. + +

    At this time, there are two libstdc++-v3-specific macros which may be + defined. _G_USING_THUNKS may be defined to 0 to express that the + port doesn't use thunks (although it is unclear that this is still + useful since libio support isn't currently working and the g++ v3 ABI + invalidates the assumption that some ports don't use thunks). + _GLIBCPP_AVOID_FSEEK may be defined if seeking on an interactive + stream (or one hooked to a pipe) is not allowed by the OS. In this + case, getc()/ungetc() will be used at some key locations in the library + implementation instead of fseek(). Currently, the code path to avoid + fseek() is only enabled when the seek size is 1 character away from the + current stream position. This is known to improve *-unknown-freebsd*, + sparc-sun-solaris2.* and *-*-mingw32*. + +

    Finally, you should bracket the entire file in an include-guard, like + this: + +

    #ifndef _GLIBCPP_OS_DEFINES
    + #define _GLIBCPP_OS_DEFINES
    + ...
    + #endif
    + 
    + +

    We recommend copying an existing bits/os_defines.h to use as a + starting point. + +


    + Node:Character types, + Next:, + Previous:Operating system, + Up:Top +
    + +

    Character types

    + +

    The library requires that you provide three header files to implement + character classification, analogous to that provided by the C libraries + <ctype.h> header. You can model these on the files provided in + config/os/generic/bits. However, these files will almost + certainly need some modification. + +

    The first file to write is bits/ctype_base.h. This file provides + some very basic information about character classification. The libstdc++-v3 + library assumes that your C library implements <ctype.h> by using + a table (indexed by character code) containing integers, where each of + these integers is a bit-mask indicating whether the character is + upper-case, lower-case, alphabetic, etc. The bits/ctype_base.h + file gives the type of the integer, and the values of the various bit + masks. You will have to peer at your own <ctype.h> to figure out + how to define the values required by this file. + +

    The bits/ctype_base.h header file does not need include guards. + It should contain a single struct definition called + ctype_base. This struct should contain two type + declarations, and one enumeration declaration, like this example, taken + from the IRIX configuration: + +

    struct ctype_base
    + {
    +   typedef unsigned int 	mask;
    +   typedef int* 		__to_type;
    + 
    +   enum
    +   {
    +     space = _ISspace,
    +     print = _ISprint,
    +     cntrl = _IScntrl,
    +     upper = _ISupper,
    +     lower = _ISlower,
    +     alpha = _ISalpha,
    +     digit = _ISdigit,
    +     punct = _ISpunct,
    +     xdigit = _ISxdigit,
    +     alnum = _ISalnum,
    +     graph = _ISgraph
    +   };
    + };
    + 
    + +

    The mask type is the type of the elements in the table. If your + C library uses a table to map lower-case numbers to upper-case numbers, + and vice versa, you should define __to_type to be the type of the + elements in that table. If you don't mind taking a minor performance + penalty, or if your library doesn't implement toupper and + tolower in this way, you can pick any pointer-to-integer type, + but you must still define the type. + +

    The enumeration should give definitions for all the values in the above + example, using the values from your native <ctype.h>. They can + be given symbolically (as above), or numerically, if you prefer. You do + not have to include <ctype.h> in this header; it will always be + included before bits/ctype_base.h is included. + +

    The next file to write is bits/ctype_noninline.h, which also does + not require include guards. This file defines a few member functions + that will be included in include/bits/locale_facets.h. The first + function that must be written is the ctype<char>::ctype + constructor. Here is the IRIX example: + +

    ctype<char>::ctype(const mask* __table = 0, bool __del = false,
    +       size_t __refs = 0)
    +   : _Ctype_nois<char>(__refs), _M_del(__table != 0 && __del),
    +     _M_toupper(NULL),
    +     _M_tolower(NULL),
    +     _M_ctable(NULL),
    +     _M_table(!__table
    +              ? (const mask*) (__libc_attr._ctype_tbl->_class + 1)
    +              : __table)
    +   { }
    + 
    + +

    There are two parts of this that you might choose to alter. The first, + and most important, is the line involving __libc_attr. That is + IRIX system-dependent code that gets the base of the table mapping + character codes to attributes. You need to substitute code that obtains + the address of this table on your system. If you want to use your + operating system's tables to map upper-case letters to lower-case, and + vice versa, you should initialize _M_toupper and + _M_tolower with those tables, in similar fashion. + +

    Now, you have to write two functions to convert from upper-case to + lower-case, and vice versa. Here are the IRIX versions: + +

    char
    + ctype<char>::do_toupper(char __c) const
    + { return _toupper(__c); }
    + 
    + char
    + ctype<char>::do_tolower(char __c) const
    + { return _tolower(__c); }
    + 
    + +

    Your C library provides equivalents to IRIX's _toupper and + _tolower. If you initialized _M_toupper and + _M_tolower above, then you could use those tables instead. + +

    Finally, you have to provide two utility functions that convert strings + of characters. The versions provided here will always work - but you + could use specialized routines for greater performance if you have + machinery to do that on your system: + +

    const char*
    + ctype<char>::do_toupper(char* __low, const char* __high) const
    + {
    +   while (__low < __high)
    +     {
    +       *__low = do_toupper(*__low);
    +       ++__low;
    +     }
    +   return __high;
    + }
    + 
    + const char*
    + ctype<char>::do_tolower(char* __low, const char* __high) const
    + {
    +   while (__low < __high)
    +     {
    +       *__low = do_tolower(*__low);
    +       ++__low;
    +     }
    +   return __high;
    + }
    + 
    + +

    You must also provide the bits/ctype_inline.h file, which + contains a few more functions. On most systems, you can just copy + config/os/generic/ctype_inline.h and use it on your system. + +

    In detail, the functions provided test characters for particular + properties; they are analogous to the functions like isalpha and + islower provided by the C library. + +

    The first function is implemented like this on IRIX: + +

    bool
    + ctype<char>::
    + is(mask __m, char __c) const throw()
    + { return (_M_table)[(unsigned char)(__c)] & __m; }
    + 
    + +

    The _M_table is the table passed in above, in the constructor. + This is the table that contains the bitmasks for each character. The + implementation here should work on all systems. + +

    The next function is: + +

    const char*
    + ctype<char>::
    + is(const char* __low, const char* __high, mask* __vec) const throw()
    + {
    +   while (__low < __high)
    +     *__vec++ = (_M_table)[(unsigned char)(*__low++)];
    +   return __high;
    + }
    + 
    + +

    This function is similar; it copies the masks for all the characters + from __low up until __high into the vector given by + __vec. + +

    The last two functions again are entirely generic: + +

    const char*
    + ctype<char>::
    + scan_is(mask __m, const char* __low, const char* __high) const throw()
    + {
    +   while (__low < __high && !this->is(__m, *__low))
    +     ++__low;
    +   return __low;
    + }
    + 
    + const char*
    + ctype<char>::
    + scan_not(mask __m, const char* __low, const char* __high) const throw()
    + {
    +   while (__low < __high && this->is(__m, *__low))
    +     ++__low;
    +   return __low;
    + }
    + 
    + +


    + Node:Thread safety, + Next:, + Previous:Character types, + Up:Top +
    + +

    Thread safety

    + +

    The C++ library string functionality requires a couple of atomic + operations to provide thread-safety. If you don't take any special + action, the library will use stub versions of these functions that are + not thread-safe. They will work fine, unless your applications are + multi-threaded. + +

    If you want to provide custom, safe, versions of these functions, there + are two distinct approaches. One is to provide a version for your CPU, + using assembly language constructs. The other is to use the + thread-safety primitives in your operating system. In either case, you + make a file called bits/atomicity.h. + +

    If you are using the assembly-language approach, put this code in + config/cpu/<chip>/bits/atomicity.h, where chip is the name of + your processor. In that case, edit the switch statement in + configure.target to set the cpu_include_dir. In either + case, set the switch statement that sets ATOMICITYH to be the + directory containing bits/atomicity.h. + +

    With those bits out of the way, you have to actually write + bits/atomicity.h itself. This file should be wrapped in an + include guard named _BITS_ATOMICITY_H. It should define one + type, and two functions. + +

    The type is _Atomic_word. Here is the version used on IRIX: + +

    typedef long _Atomic_word;
    + 
    + +

    This type must be a signed integral type supporting atomic operations. + If you're using the OS approach, use the same type used by your system's + primitives. Otherwise, use the type for which your CPU provides atomic + primitives. + +

    Then, you must provide two functions. The bodies of these functions + must be equivalent to those provided here, but using atomic operations: + +

    static inline _Atomic_word
    + __attribute__ ((__unused__))
    + __exchange_and_add (_Atomic_word* __mem, int __val)
    + {
    +   _Atomic_word __result = *__mem;
    +   *__mem += __val;
    +   return __result;
    + }
    + 
    + static inline void
    + __attribute__ ((__unused__))
    + __atomic_add (_Atomic_word* __mem, int __val)
    + {
    +   *__mem += __val;
    + }
    + 
    + +


    + Node:Numeric limits, + Next:, + Previous:Thread safety, + Up:Top +
    + +

    Numeric limits

    + +

    The C++ library requires information about the fundamental data types, + such as the minimum and maximum representable values of each type. + You can define each of these values individually, but it is usually + easiest just to indicate how many bits are used in each of the data + types and let the library do the rest. For information about the + macros to define, see the top of include/bits/std_limits.h. + +

    If you need to define any macros, you can do so in + os_defines.h. However, if all operating systems for your CPU + are likely to use the same values, you can provide a CPU-specific file + instead so that you do not have to provide the same definitions for + each operating system. To take that approach, create a new file + called limits.h in your CPU configuration directory (e.g., + config/cpu/i386/bits) and then modify configure.target + so that LIMITSH is set to the CPU directory (e.g., + config/cpu/i386). Note that LIMITSH should not include + the bits part of the directory name. + +


    + Node:Libtool, + Next:, + Previous:Numeric limits, + Up:Top +
    + +

    Libtool

    + +

    The C++ library is compiled, archived and linked with libtool. + Explaining the full workings of libtool is beyond the scope of this + document, but there are a few, particular bits that are necessary for + porting. + +

    Some parts of the libstdc++-v3 library are compiled with the libtool + --tags CXX option (the C++ definitions for libtool). Therefore, + ltcf-cxx.sh in the top-level directory needs to have the correct + logic to compile and archive objects equivalent to the C version of libtool, + ltcf-c.sh. Some libtool targets have definitions for C but not + for C++, or C++ definitions which have not been kept up to date. + +

    The C++ run-time library contains initialization code that needs to be + run as the library is loaded. Often, that requires linking in special + object files when the C++ library is built as a shared library, or + taking other system-specific actions. + +

    The libstdc++-v3 library is linked with the C version of libtool, even though it + is a C++ library. Therefore, the C version of libtool needs to ensure + that the run-time library initializers are run. The usual way to do + this is to build the library using gcc -shared. + +

    If you need to change how the library is linked, look at + ltcf-c.sh in the top-level directory. Find the switch statement + that sets archive_cmds. Here, adjust the setting for your + operating system. + +


    + Node:GNU Free Documentation License, + Previous:Libtool, + Up:Top +
    + +

    GNU Free Documentation License

    + +
    Version 1.1, March 2000
    +
    Copyright © 2000 Free Software Foundation, Inc.
    + 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA
    + 
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    + 
    + +
      +

    1. PREAMBLE + +

      The purpose of this License is to make a manual, textbook, or other + written document free in the sense of freedom: to assure everyone + the effective freedom to copy and redistribute it, with or without + modifying it, either commercially or noncommercially. Secondarily, + this License preserves for the author and publisher a way to get + credit for their work, while not being considered responsible for + modifications made by others. + +

      This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. It + complements the GNU General Public License, which is a copyleft + license designed for free software. + +

      We have designed this License in order to use it for manuals for free + software, because free software needs free documentation: a free + program should come with manuals providing the same freedoms that the + software does. But this License is not limited to software manuals; + it can be used for any textual work, regardless of subject matter or + whether it is published as a printed book. We recommend this License + principally for works whose purpose is instruction or reference. + +

    2. APPLICABILITY AND DEFINITIONS + +

      This License applies to any manual or other work that contains a + notice placed by the copyright holder saying it can be distributed + under the terms of this License. The "Document", below, refers to any + such manual or work. Any member of the public is a licensee, and is + addressed as "you". + +

      A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + +

      A "Secondary Section" is a named appendix or a front-matter section of + the Document that deals exclusively with the relationship of the + publishers or authors of the Document to the Document's overall subject + (or to related matters) and contains nothing that could fall directly + within that overall subject. (For example, if the Document is in part a + textbook of mathematics, a Secondary Section may not explain any + mathematics.) The relationship could be a matter of historical + connection with the subject or with related matters, or of legal, + commercial, philosophical, ethical or political position regarding + them. + +

      The "Invariant Sections" are certain Secondary Sections whose titles + are designated, as being those of Invariant Sections, in the notice + that says that the Document is released under this License. + +

      The "Cover Texts" are certain short passages of text that are listed, + as Front-Cover Texts or Back-Cover Texts, in the notice that says that + the Document is released under this License. + +

      A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, whose contents can be viewed and edited directly and + straightforwardly with generic text editors or (for images composed of + pixels) generic paint programs or (for drawings) some widely available + drawing editor, and that is suitable for input to text formatters or + for automatic translation to a variety of formats suitable for input + to text formatters. A copy made in an otherwise Transparent file + format whose markup has been designed to thwart or discourage + subsequent modification by readers is not Transparent. A copy that is + not "Transparent" is called "Opaque". + +

      Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available + DTD, and standard-conforming simple HTML designed + for human modification. Opaque formats include PostScript, + PDF, proprietary formats that can be read and edited only by + proprietary word processors, SGML or XML for which + the DTD and/or processing tools are not generally available, + and the machine-generated HTML produced by some word + processors for output purposes only. + +

      The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the material + this License requires to appear in the title page. For works in + formats which do not have any title page as such, "Title Page" means + the text near the most prominent appearance of the work's title, + preceding the beginning of the body of the text. + +

    3. VERBATIM COPYING + +

      You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License applies + to the Document are reproduced in all copies, and that you add no other + conditions whatsoever to those of this License. You may not use + technical measures to obstruct or control the reading or further + copying of the copies you make or distribute. However, you may accept + compensation in exchange for copies. If you distribute a large enough + number of copies you must also follow the conditions in section 3. + +

      You may also lend copies, under the same conditions stated above, and + you may publicly display copies. + +

    4. COPYING IN QUANTITY + +

      If you publish printed copies of the Document numbering more than 100, + and the Document's license notice requires Cover Texts, you must enclose + the copies in covers that carry, clearly and legibly, all these Cover + Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on + the back cover. Both covers must also clearly and legibly identify + you as the publisher of these copies. The front cover must present + the full title with all words of the title equally prominent and + visible. You may add other material on the covers in addition. + Copying with changes limited to the covers, as long as they preserve + the title of the Document and satisfy these conditions, can be treated + as verbatim copying in other respects. + +

      If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto adjacent + pages. + +

      If you publish or distribute Opaque copies of the Document numbering + more than 100, you must either include a machine-readable Transparent + copy along with each Opaque copy, or state in or with each Opaque copy + a publicly-accessible computer-network location containing a complete + Transparent copy of the Document, free of added material, which the + general network-using public has access to download anonymously at no + charge using public-standard network protocols. If you use the latter + option, you must take reasonably prudent steps, when you begin + distribution of Opaque copies in quantity, to ensure that this + Transparent copy will remain thus accessible at the stated location + until at least one year after the last time you distribute an Opaque + copy (directly or through your agents or retailers) of that edition to + the public. + +

      It is requested, but not required, that you contact the authors of the + Document well before redistributing any large number of copies, to give + them a chance to provide you with an updated version of the Document. + +

    5. MODIFICATIONS + +

      You may copy and distribute a Modified Version of the Document under + the conditions of sections 2 and 3 above, provided that you release + the Modified Version under precisely this License, with the Modified + Version filling the role of the Document, thus licensing distribution + and modification of the Modified Version to whoever possesses a copy + of it. In addition, you must do these things in the Modified Version: + +

        +

      1. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. + +
      2. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has less than five). + +
      3. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + +
      4. Preserve all the copyright notices of the Document. + +
      5. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + +
      6. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. + +
      7. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. + +
      8. Include an unaltered copy of this License. + +
      9. Preserve the section entitled "History", and its title, and add to + it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. + +
      10. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. + +
      11. In any section entitled "Acknowledgments" or "Dedications", + preserve the section's title, and preserve in the section all the + substance and tone of each of the contributor acknowledgments + and/or dedications given therein. + +
      12. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. + +
      13. Delete any section entitled "Endorsements". Such a section + may not be included in the Modified Version. + +
      14. Do not retitle any existing section as "Endorsements" + or to conflict in title with any Invariant Section. +
      + +

      If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no material + copied from the Document, you may at your option designate some or all + of these sections as invariant. To do this, add their titles to the + list of Invariant Sections in the Modified Version's license notice. + These titles must be distinct from any other section titles. + +

      You may add a section entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text has + been approved by an organization as the authoritative definition of a + standard. + +

      You may add a passage of up to five words as a Front-Cover Text, and a + passage of up to 25 words as a Back-Cover Text, to the end of the list + of Cover Texts in the Modified Version. Only one passage of + Front-Cover Text and one of Back-Cover Text may be added by (or + through arrangements made by) any one entity. If the Document already + includes a cover text for the same cover, previously added by you or + by arrangement made by the same entity you are acting on behalf of, + you may not add another; but you may replace the old one, on explicit + permission from the previous publisher that added the old one. + +

      The author(s) and publisher(s) of the Document do not by this License + give permission to use their names for publicity for or to assert or + imply endorsement of any Modified Version. + +

    6. COMBINING DOCUMENTS + +

      You may combine the Document with other documents released under this + License, under the terms defined in section 4 above for modified + versions, provided that you include in the combination all of the + Invariant Sections of all of the original documents, unmodified, and + list them all as Invariant Sections of your combined work in its + license notice. + +

      The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name but + different contents, make the title of each such section unique by + adding at the end of it, in parentheses, the name of the original + author or publisher of that section if known, or else a unique number. + Make the same adjustment to the section titles in the list of + Invariant Sections in the license notice of the combined work. + +

      In the combination, you must combine any sections entitled "History" + in the various original documents, forming one section entitled + "History"; likewise combine any sections entitled "Acknowledgments", + and any sections entitled "Dedications". You must delete all sections + entitled "Endorsements." + +

    7. COLLECTIONS OF DOCUMENTS + +

      You may make a collection consisting of the Document and other documents + released under this License, and replace the individual copies of this + License in the various documents with a single copy that is included in + the collection, provided that you follow the rules of this License for + verbatim copying of each of the documents in all other respects. + +

      You may extract a single document from such a collection, and distribute + it individually under this License, provided you insert a copy of this + License into the extracted document, and follow this License in all + other respects regarding verbatim copying of that document. + +

    8. AGGREGATION WITH INDEPENDENT WORKS + +

      A compilation of the Document or its derivatives with other separate + and independent documents or works, in or on a volume of a storage or + distribution medium, does not as a whole count as a Modified Version + of the Document, provided no compilation copyright is claimed for the + compilation. Such a compilation is called an "aggregate", and this + License does not apply to the other self-contained works thus compiled + with the Document, on account of their being thus compiled, if they + are not themselves derivative works of the Document. + +

      If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one quarter + of the entire aggregate, the Document's Cover Texts may be placed on + covers that surround only the Document within the aggregate. + Otherwise they must appear on covers around the whole aggregate. + +

    9. TRANSLATION + +

      Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section 4. + Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License provided that you also include the + original English version of this License. In case of a disagreement + between the translation and the original English version of this + License, the original English version will prevail. + +

    10. TERMINATION + +

      You may not copy, modify, sublicense, or distribute the Document except + as expressly provided for under this License. Any other attempt to + copy, modify, sublicense or distribute the Document is void, and will + automatically terminate your rights under this License. However, + parties who have received copies, or rights, from you under this + License will not have their licenses terminated so long as such + parties remain in full compliance. + +

    11. FUTURE REVISIONS OF THIS LICENSE + +

      The Free Software Foundation may publish new, revised versions + of the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + http://www.gnu.org/copyleft/. + +

      Each version of the License is given a distinguishing version number. + If the Document specifies that a particular numbered version of this + License "or any later version" applies to it, you have the option of + following the terms and conditions either of that specified version or + of any later version that has been published (not as a draft) by the + Free Software Foundation. If the Document does not specify a version + number of this License, you may choose any version ever published (not + as a draft) by the Free Software Foundation. +

    + +

    ADDENDUM: How to use this License for your documents

    + +

    To use this License in a document you have written, include a copy of + the License in the document and put the following copyright and + license notices just after the title page: + +

      Copyright (C)  year  your name.
    +   Permission is granted to copy, distribute and/or modify this document
    +   under the terms of the GNU Free Documentation License, Version 1.1
    +   or any later version published by the Free Software Foundation;
    +   with the Invariant Sections being list their titles, with the
    +   Front-Cover Texts being list, and with the Back-Cover Texts being list.
    +   A copy of the license is included in the section entitled ``GNU
    +   Free Documentation License''.
    + 
    + +

    If you have no Invariant Sections, write "with no Invariant Sections" + instead of saying which ones are invariant. If you have no + Front-Cover Texts, write "no Front-Cover Texts" instead of + "Front-Cover Texts being list"; likewise for Back-Cover Texts. + +

    If your document contains nontrivial examples of program code, we + recommend releasing these examples in parallel under your choice of + free software license, such as the GNU General Public License, + to permit their use in free software. + + +

    Table of Contents

    + + + + diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/17_intro/porting.texi gcc-3.0.3/libstdc++-v3/docs/html/17_intro/porting.texi *** gcc-3.0.2/libstdc++-v3/docs/html/17_intro/porting.texi Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/libstdc++-v3/docs/html/17_intro/porting.texi Thu Dec 13 15:28:20 2001 *************** *** 0 **** --- 1,510 ---- + \input texinfo + + @c --------------------------------------------------------------------- + @c Prologue + @c --------------------------------------------------------------------- + + @setfilename porting.info + @settitle Porting libstdc++-v3 + @setchapternewpage odd + + @ifinfo + This file explains how to port libstdc++-v3 (the GNU C++ library) to + a new target. + + Copyright (c) 2000, 2001 Free Software Foundation, Inc. + @end ifinfo + + @c --------------------------------------------------------------------- + @c Titlepage + @c --------------------------------------------------------------------- + + @titlepage + @title Porting libstdc++-v3 + @author Mark Mitchell + @page + @vskip 0pt plus 1filll + Copyright @copyright{} 2000, 2001 Free Software Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 or + any later version published by the Free Software Foundation; with the + Invariant Sections being ``GNU General Public License'', the Front-Cover + texts being (a) (see below), and with the Back-Cover Texts being (b) + (see below). A copy of the license is included in the section entitled + ``GNU Free Documentation License''. + + (a) The FSF's Front-Cover Text is: + + A GNU Manual + + (b) The FSF's Back-Cover Text is: + + You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. + @end titlepage + + @c --------------------------------------------------------------------- + @c Top + @c --------------------------------------------------------------------- + + @node Top + @top Porting libstdc++-v3 + + This document explains how to port libstdc++-v3 (the GNU C++ library) to + a new target. + + In order to make the GNU C++ library (libstdc++-v3) work with a new + target, you must edit some configuration files and provide some new + header files. + + Before you get started, make sure that you have a working C library on + your target. The C library need not precisely comply with any + particular standard, but should generally conform to the requirements + imposed by the ANSI/ISO standard. + + In addition, you should try to verify that the C++ compiler generally + works. It is difficult to test the C++ compiler without a working + library, but you should at least try some minimal test cases. + + Here are the primary steps required to port the library: + + @menu + * Operating system:: Configuring for your operating system. + * Character types:: Implementing character classification. + * Thread safety:: Implementing atomic operations. + * Numeric limits:: Implementing numeric limits. + * Libtool:: Using libtool. + * GNU Free Documentation License:: How you can copy and share this manual. + @end menu + + @c --------------------------------------------------------------------- + @c Operating system + @c --------------------------------------------------------------------- + + @node Operating system + @chapter Operating system + + If you are porting to a new operating-system (as opposed to a new chip + using an existing operating system), you will need to create a new + directory in the @file{config/os} hierarchy. For example, the IRIX + configuration files are all in @file{config/os/irix}. There is no set + way to organize the OS configuration directory. For example, + @file{config/os/solaris/solaris-2.6} and + @file{config/os/solaris/solaris-2.7} are used as configuration + directories for these two versions of Solaris. On the other hand, both + Solaris 2.7 and Solaris 2.8 use the @file{config/os/solaris/solaris-2.7} + directory. The important information is that there needs to be a + directory under @file{config/os} to store the files for your operating + system. + + You'll have to change the @file{configure.target} file to ensure that + your new directory is activated. Look for the switch statement that + sets @code{os_include_dir}, and add a pattern to handle your operating + system. The switch statement switches on only the OS portion of the + standard target triplet; e.g., the @code{solaris2.8} in + @code{sparc-sun-solaris2.8}. + + The first file to create in this directory, should be called + @file{bits/os_defines.h}. This file contains basic macro definitions + that are required to allow the C++ library to work with your C library. + This file should provide macro definitions for @code{__off_t}, + @code{__off64_t}, and @code{__ssize_t}. Typically, this just looks + like: + + @example + #define __off_t off_t + #define __off64_t off64_t + #define __ssize_t ssize_t + @end example + + @noindent + You don't have to provide these definitions if your system library + already defines these types -- but the only library known to provide + these types is the GNU C Library, so you will almost certainly have to + provide these macros. Note that this file does not have to include a + header file that defines @code{off_t}, or the other types; you simply + have to provide the macros. + + In addition, several libstdc++-v3 source files unconditionally define + the macro @code{_POSIX_SOURCE}. On many systems, defining this macro + causes large portions of the C library header files to be eliminated + at preprocessing time. Therefore, you may have to @code{#undef} this + macro, or define other macros (like @code{_LARGEFILE_SOURCE} or + @code{__EXTENSIONS__}). You won't know what macros to define or + undefine at this point; you'll have to try compiling the library and + seeing what goes wrong. If you see errors about calling functions + that have not been declared, look in your C library headers to see if + the functions are declared there, and then figure out what macros you + need to define. You will need to add them to the + @code{CPLUSPLUS_CPP_SPEC} macro in the GCC configuration file for your + target. It will not work to simply define these macros in + @file{os_defines.h}. + + At this time, there are two libstdc++-v3-specific macros which may be + defined. @code{_G_USING_THUNKS} may be defined to 0 to express that the + port doesn't use thunks (although it is unclear that this is still + useful since libio support isn't currently working and the g++ v3 ABI + invalidates the assumption that some ports don't use thunks). + @code{_GLIBCPP_AVOID_FSEEK} may be defined if seeking on an interactive + stream (or one hooked to a pipe) is not allowed by the OS. In this + case, getc()/ungetc() will be used at some key locations in the library + implementation instead of fseek(). Currently, the code path to avoid + fseek() is only enabled when the seek size is 1 character away from the + current stream position. This is known to improve *-unknown-freebsd*, + sparc-sun-solaris2.* and *-*-mingw32*. + + Finally, you should bracket the entire file in an include-guard, like + this: + + @example + #ifndef _GLIBCPP_OS_DEFINES + #define _GLIBCPP_OS_DEFINES + ... + #endif + @end example + + We recommend copying an existing @file{bits/os_defines.h} to use as a + starting point. + + @c --------------------------------------------------------------------- + @c Character types + @c --------------------------------------------------------------------- + + @node Character types + @chapter Character types + + The library requires that you provide three header files to implement + character classification, analogous to that provided by the C libraries + @file{} header. You can model these on the files provided in + @file{config/os/generic/bits}. However, these files will almost + certainly need some modification. + + The first file to write is @file{bits/ctype_base.h}. This file provides + some very basic information about character classification. The libstdc++-v3 + library assumes that your C library implements @file{} by using + a table (indexed by character code) containing integers, where each of + these integers is a bit-mask indicating whether the character is + upper-case, lower-case, alphabetic, etc. The @file{bits/ctype_base.h} + file gives the type of the integer, and the values of the various bit + masks. You will have to peer at your own @file{} to figure out + how to define the values required by this file. + + The @file{bits/ctype_base.h} header file does not need include guards. + It should contain a single @code{struct} definition called + @code{ctype_base}. This @code{struct} should contain two type + declarations, and one enumeration declaration, like this example, taken + from the IRIX configuration: + + @example + struct ctype_base + @{ + typedef unsigned int mask; + typedef int* __to_type; + + enum + @{ + space = _ISspace, + print = _ISprint, + cntrl = _IScntrl, + upper = _ISupper, + lower = _ISlower, + alpha = _ISalpha, + digit = _ISdigit, + punct = _ISpunct, + xdigit = _ISxdigit, + alnum = _ISalnum, + graph = _ISgraph + @}; + @}; + @end example + + @noindent + The @code{mask} type is the type of the elements in the table. If your + C library uses a table to map lower-case numbers to upper-case numbers, + and vice versa, you should define @code{__to_type} to be the type of the + elements in that table. If you don't mind taking a minor performance + penalty, or if your library doesn't implement @code{toupper} and + @code{tolower} in this way, you can pick any pointer-to-integer type, + but you must still define the type. + + The enumeration should give definitions for all the values in the above + example, using the values from your native @file{}. They can + be given symbolically (as above), or numerically, if you prefer. You do + not have to include @file{} in this header; it will always be + included before @file{bits/ctype_base.h} is included. + + The next file to write is @file{bits/ctype_noninline.h}, which also does + not require include guards. This file defines a few member functions + that will be included in @file{include/bits/locale_facets.h}. The first + function that must be written is the @code{ctype::ctype} + constructor. Here is the IRIX example: + + @example + ctype::ctype(const mask* __table = 0, bool __del = false, + size_t __refs = 0) + : _Ctype_nois(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), + _M_tolower(NULL), + _M_ctable(NULL), + _M_table(!__table + ? (const mask*) (__libc_attr._ctype_tbl->_class + 1) + : __table) + @{ @} + @end example + + @noindent + There are two parts of this that you might choose to alter. The first, + and most important, is the line involving @code{__libc_attr}. That is + IRIX system-dependent code that gets the base of the table mapping + character codes to attributes. You need to substitute code that obtains + the address of this table on your system. If you want to use your + operating system's tables to map upper-case letters to lower-case, and + vice versa, you should initialize @code{_M_toupper} and + @code{_M_tolower} with those tables, in similar fashion. + + Now, you have to write two functions to convert from upper-case to + lower-case, and vice versa. Here are the IRIX versions: + + @example + char + ctype::do_toupper(char __c) const + @{ return _toupper(__c); @} + + char + ctype::do_tolower(char __c) const + @{ return _tolower(__c); @} + @end example + + @noindent + Your C library provides equivalents to IRIX's @code{_toupper} and + @code{_tolower}. If you initialized @code{_M_toupper} and + @code{_M_tolower} above, then you could use those tables instead. + + Finally, you have to provide two utility functions that convert strings + of characters. The versions provided here will always work -- but you + could use specialized routines for greater performance if you have + machinery to do that on your system: + + @example + const char* + ctype::do_toupper(char* __low, const char* __high) const + @{ + while (__low < __high) + @{ + *__low = do_toupper(*__low); + ++__low; + @} + return __high; + @} + + const char* + ctype::do_tolower(char* __low, const char* __high) const + @{ + while (__low < __high) + @{ + *__low = do_tolower(*__low); + ++__low; + @} + return __high; + @} + @end example + + You must also provide the @file{bits/ctype_inline.h} file, which + contains a few more functions. On most systems, you can just copy + @file{config/os/generic/ctype_inline.h} and use it on your system. + + In detail, the functions provided test characters for particular + properties; they are analogous to the functions like @code{isalpha} and + @code{islower} provided by the C library. + + The first function is implemented like this on IRIX: + + @example + bool + ctype:: + is(mask __m, char __c) const throw() + @{ return (_M_table)[(unsigned char)(__c)] & __m; @} + @end example + + @noindent + The @code{_M_table} is the table passed in above, in the constructor. + This is the table that contains the bitmasks for each character. The + implementation here should work on all systems. + + The next function is: + + @example + const char* + ctype:: + is(const char* __low, const char* __high, mask* __vec) const throw() + @{ + while (__low < __high) + *__vec++ = (_M_table)[(unsigned char)(*__low++)]; + return __high; + @} + @end example + + @noindent + This function is similar; it copies the masks for all the characters + from @code{__low} up until @code{__high} into the vector given by + @code{__vec}. + + The last two functions again are entirely generic: + + @example + const char* + ctype:: + scan_is(mask __m, const char* __low, const char* __high) const throw() + @{ + while (__low < __high && !this->is(__m, *__low)) + ++__low; + return __low; + @} + + const char* + ctype:: + scan_not(mask __m, const char* __low, const char* __high) const throw() + @{ + while (__low < __high && this->is(__m, *__low)) + ++__low; + return __low; + @} + @end example + + @c --------------------------------------------------------------------- + @c Thread safety + @c --------------------------------------------------------------------- + + @node Thread safety + @chapter Thread safety + + The C++ library string functionality requires a couple of atomic + operations to provide thread-safety. If you don't take any special + action, the library will use stub versions of these functions that are + not thread-safe. They will work fine, unless your applications are + multi-threaded. + + If you want to provide custom, safe, versions of these functions, there + are two distinct approaches. One is to provide a version for your CPU, + using assembly language constructs. The other is to use the + thread-safety primitives in your operating system. In either case, you + make a file called @file{bits/atomicity.h}. + + If you are using the assembly-language approach, put this code in + @file{config/cpu//bits/atomicity.h}, where chip is the name of + your processor. In that case, edit the switch statement in + @file{configure.target} to set the @code{cpu_include_dir}. In either + case, set the switch statement that sets @code{ATOMICITYH} to be the + directory containing @file{bits/atomicity.h}. + + With those bits out of the way, you have to actually write + @file{bits/atomicity.h} itself. This file should be wrapped in an + include guard named @code{_BITS_ATOMICITY_H}. It should define one + type, and two functions. + + The type is @code{_Atomic_word}. Here is the version used on IRIX: + + @example + typedef long _Atomic_word; + @end example + + @noindent + This type must be a signed integral type supporting atomic operations. + If you're using the OS approach, use the same type used by your system's + primitives. Otherwise, use the type for which your CPU provides atomic + primitives. + + Then, you must provide two functions. The bodies of these functions + must be equivalent to those provided here, but using atomic operations: + + @example + static inline _Atomic_word + __attribute__ ((__unused__)) + __exchange_and_add (_Atomic_word* __mem, int __val) + @{ + _Atomic_word __result = *__mem; + *__mem += __val; + return __result; + @} + + static inline void + __attribute__ ((__unused__)) + __atomic_add (_Atomic_word* __mem, int __val) + @{ + *__mem += __val; + @} + @end example + + @c --------------------------------------------------------------------- + @c Numeric limits + @c --------------------------------------------------------------------- + + @node Numeric limits + @chapter Numeric limits + + The C++ library requires information about the fundamental data types, + such as the minimum and maximum representable values of each type. + You can define each of these values individually, but it is usually + easiest just to indicate how many bits are used in each of the data + types and let the library do the rest. For information about the + macros to define, see the top of @file{include/bits/std_limits.h}. + + If you need to define any macros, you can do so in + @file{os_defines.h}. However, if all operating systems for your CPU + are likely to use the same values, you can provide a CPU-specific file + instead so that you do not have to provide the same definitions for + each operating system. To take that approach, create a new file + called @file{limits.h} in your CPU configuration directory (e.g., + @file{config/cpu/i386/bits}) and then modify @file{configure.target} + so that @code{LIMITSH} is set to the CPU directory (e.g., + @file{config/cpu/i386}). Note that @code{LIMITSH} should not include + the @samp{bits} part of the directory name. + + @c --------------------------------------------------------------------- + @c Libtool + @c --------------------------------------------------------------------- + + @node Libtool + @chapter Libtool + + The C++ library is compiled, archived and linked with libtool. + Explaining the full workings of libtool is beyond the scope of this + document, but there are a few, particular bits that are necessary for + porting. + + Some parts of the libstdc++-v3 library are compiled with the libtool + @code{--tags CXX} option (the C++ definitions for libtool). Therefore, + @file{ltcf-cxx.sh} in the top-level directory needs to have the correct + logic to compile and archive objects equivalent to the C version of libtool, + @file{ltcf-c.sh}. Some libtool targets have definitions for C but not + for C++, or C++ definitions which have not been kept up to date. + + The C++ run-time library contains initialization code that needs to be + run as the library is loaded. Often, that requires linking in special + object files when the C++ library is built as a shared library, or + taking other system-specific actions. + + The libstdc++-v3 library is linked with the C version of libtool, even though it + is a C++ library. Therefore, the C version of libtool needs to ensure + that the run-time library initializers are run. The usual way to do + this is to build the library using @code{gcc -shared}. + + If you need to change how the library is linked, look at + @file{ltcf-c.sh} in the top-level directory. Find the switch statement + that sets @code{archive_cmds}. Here, adjust the setting for your + operating system. + + @c --------------------------------------------------------------------- + @c GFDL + @c --------------------------------------------------------------------- + + @include fdl.texi + + @c --------------------------------------------------------------------- + @c Epilogue + @c --------------------------------------------------------------------- + + @contents + @bye diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/18_support/howto.html gcc-3.0.3/libstdc++-v3/docs/html/18_support/howto.html *** gcc-3.0.2/libstdc++-v3/docs/html/18_support/howto.html Fri Oct 19 13:07:36 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/18_support/howto.html Thu Dec 13 15:28:22 2001 *************** *** 182,188 **** atexit(f2); then at a call of exit(), f2 will be called, then obj2 will be destroyed, then f1 will be called, and finally obj1 ! will be destroyed. If f1 or f2 allow an exception to propogate out of them, Bad Things happen.

    --- 182,188 ---- atexit(f2); then at a call of exit(), f2 will be called, then obj2 will be destroyed, then f1 will be called, and finally obj1 ! will be destroyed. If f1 or f2 allow an exception to propagate out of them, Bad Things happen.

    diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/19_diagnostics/howto.html gcc-3.0.3/libstdc++-v3/docs/html/19_diagnostics/howto.html *** gcc-3.0.2/libstdc++-v3/docs/html/19_diagnostics/howto.html Fri Oct 19 13:07:36 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/19_diagnostics/howto.html Thu Dec 13 15:28:24 2001 *************** *** 26,31 **** --- 26,32 ----
  • Adding data to exceptions
  • Exception class hierarchy diagram
  • Concept checkers -- new and improved! +
  • Verbose terminate
    *************** *** 36,42 ****

    The standard exception classes carry with them a single string as data (usually describing what went wrong or where the 'throw' took place). It's good to remember that you can add your own data to ! these exceptions when extending the heirarchy:

         struct My_Exception : public std::runtime_error
    --- 37,43 ----
         

    The standard exception classes carry with them a single string as data (usually describing what went wrong or where the 'throw' took place). It's good to remember that you can add your own data to ! these exceptions when extending the hierarchy:

         struct My_Exception : public std::runtime_error
    ***************
    *** 101,107 ****
    --- 102,166 ----
         

    Right now they are off by default. More will be added once GCC 3.0 is released and we have time to revisit this topic.

    +

    Return to top of page or + to the FAQ. +

    + +
    +

    Verbose terminate

    +

    If you are having difficulty with uncaught exceptions and want a + little bit of help debugging the causes of the core dumps, you can + make use of a GNU extension in GCC 3.1 and later: +

    +    #include <exception>
      
    +    int main()
    +    {
    +        std::set_terminate (__gnu_cxx::verbose_terminate_handler);
    +        ...
    +        throw anything;
    +    }
    +

    +

    The verbose_terminate_handler function obtains the name + of the current exception, attempts to demangle it, and prints it to + stderr. If the exception is derived from std::exception + then the output from what() will be included. +

    +

    Any replacement termination function is required to kill the program + without returning; this one calls abort. +

    +

    For example: +

    +    #include <exception>
    +    #include <stdexcept>
    + 
    +    struct BLARGH : std::runtime_error
    +    {
    +        BLARGH (const string& whatarg)
    +            : std::runtime_error(whatarg) { }
    +    };
    + 
    +    int main (int argc)
    +    {
    +        std::set_terminate (__gnu_cxx::verbose_terminate_handler);
    +        if (argc > 5)
    +            throw BLARGH("argc is greater than 5!");
    +        else
    +            throw argc;
    +    }
    +

    +

    In GCC 3.1 and later, this gives +

    +    % ./a.out
    +    terminate called after throwing a `int'
    +    Aborted
    +    % ./a.out f f f f f f f f f f f
    +    terminate called after throwing a `BLARGH'
    +    what(): argc is greater than 5!
    +    Aborted
    +    %
    + The 'Aborted' line comes from the call to abort(), of course. +

    Return to top of page or to the FAQ.

    diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/20_util/howto.html gcc-3.0.3/libstdc++-v3/docs/html/20_util/howto.html *** gcc-3.0.2/libstdc++-v3/docs/html/20_util/howto.html Fri Oct 19 13:07:36 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/20_util/howto.html Thu Dec 13 15:28:25 2001 *************** *** 91,97 ****

    auto_ptr inside container classes

    All of the containers described in the standard library require their contained types ! to have, among other things, a copy contructor like this:

          struct My_Type
          {
    --- 91,97 ----
      

    auto_ptr inside container classes

    All of the containers described in the standard library require their contained types ! to have, among other things, a copy constructor like this:

          struct My_Type
          {
    diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/21_strings/howto.html gcc-3.0.3/libstdc++-v3/docs/html/21_strings/howto.html
    *** gcc-3.0.2/libstdc++-v3/docs/html/21_strings/howto.html	Fri Oct 19 13:07:37 2001
    --- gcc-3.0.3/libstdc++-v3/docs/html/21_strings/howto.html	Thu Dec 13 15:28:27 2001
    ***************
    *** 37,43 ****
            CString.  Often programmers realize that a standard portable
            answer is better than a proprietary nonportable one, but in porting
            their application from a Win32 platform, they discover that they
    !       are relying on special functons offered by the CString class.
         

    Things are not as bad as they seem. In this --- 37,43 ---- CString. Often programmers realize that a standard portable answer is better than a proprietary nonportable one, but in porting their application from a Win32 platform, they discover that they ! are relying on special functions offered by the CString class.

    Things are not as bad as they seem. In this *************** *** 58,64 **** stringstream classes. These are the bridge between the iostream hierarchy and the string class, and they operate with regular streams seamlessly because they inherit from the iostream ! heirarchy. An quick example:

         #include <iostream>
         #include <string>
    --- 58,64 ----
            stringstream classes.  These are the bridge between the iostream
            hierarchy and the string class, and they operate with regular
            streams seamlessly because they inherit from the iostream
    !       hierarchy.  An quick example:
            
         #include <iostream>
         #include <string>
    ***************
    *** 315,321 ****
         str.erase(notwhite+1); 
    Obviously, the calls to find could be inserted directly into the calls to erase, in case your compiler does not ! optimize named temporaries out of existance.

    Return to top of page or to the FAQ. --- 315,321 ---- str.erase(notwhite+1);

    Obviously, the calls to find could be inserted directly into the calls to erase, in case your compiler does not ! optimize named temporaries out of existence.

    Return to top of page or to the FAQ. diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/23_containers/howto.html gcc-3.0.3/libstdc++-v3/docs/html/23_containers/howto.html *** gcc-3.0.2/libstdc++-v3/docs/html/23_containers/howto.html Fri Oct 19 13:07:38 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/23_containers/howto.html Thu Dec 13 15:28:29 2001 *************** *** 165,171 **** bitset for the required number of bits, inside some wrapper functions with unchanging signatures. Have your program then call the ! compiler on that file using Position Independant Code, then open the newly-created object file and load those wrapper functions. You'll have an instantiation of bitset<N> for the exact N --- 165,171 ---- bitset for the required number of bits, inside some wrapper functions with unchanging signatures. Have your program then call the ! compiler on that file using Position Independent Code, then open the newly-created object file and load those wrapper functions. You'll have an instantiation of bitset<N> for the exact N *************** *** 242,247 **** --- 242,289 ---- mechanism. Trying to provide a catch-all general template solution would probably be more trouble than it's worth.

    +

    The STL implementation is currently configured to use the + high-speed caching memory allocator. If you absolutely think + you must change this on a global basis for your platform to better + support multi-threading, then please consult all commentary in + include/bits/stl_alloc.h and the allocators link below. +

    +

    (Explicit warning since so many people get confused while + attempting this:) +

    +

    Adding -D__USE_MALLOC on the command + line is almost certainly a bad idea. Memory efficiency is + almost guaranteed to suffer as a result; this is + why + we disabled it for 3.0 in the first place. +

    +

    Related to threading or otherwise, the current recommendation is + that users not add any macro defines on the command line to remove or + otherwise disable features of libstdc++-v3. There is + no condition under which it will help you without causing other + issues to perhaps raise up (possible linkage/ABI problems). In + particular, __USE_MALLOC should only be added to a libstdc++-v3 + configuration file, include/bits/c++config (where such user + action is cautioned against), and the entire library should be + rebuilt. If you do not, then you might be violating the + one-definition rule of C/C++ and you might cause yourself untold + problems. +

    +
    + If you find any platform where gcc reports a + threading model other than single, and where libstdc++-v3 builds + a buggy container allocator when used with threads unless you + define __USE_MALLOC, we want to hear about it ASAP. In the + past, correctness was the main reason people were led to believe + that they should define __USE_MALLOC when using threads. +

    +

    There is a better way (not standardized yet): It is possible to + force the malloc-based allocator on a per-case-basis for some + application code. The library team generally believes that this + is a better way to tune an application for high-speed using this + implementation of the STL. There is + more information on allocators here. +

    Return to top of page or to the FAQ.

    *************** *** 290,296 **** be the entry in the container pointed to by hint, that is, h = *hint. Then the item being inserted should have a key less than that of h, and greater than that of the ! item preceeding h. The new item will be inserted between h and h's predecessor.

    --- 332,338 ---- be the entry in the container pointed to by hint, that is, h = *hint. Then the item being inserted should have a key less than that of h, and greater than that of the ! item preceding h. The new item will be inserted between h and h's predecessor.

    diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/26_numerics/howto.html gcc-3.0.3/libstdc++-v3/docs/html/26_numerics/howto.html *** gcc-3.0.2/libstdc++-v3/docs/html/26_numerics/howto.html Fri Oct 19 13:07:39 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/26_numerics/howto.html Thu Dec 13 15:28:30 2001 *************** *** 133,139 ****

    The C99 features depend on the --enable-c99 configure flag. This flag is already on by default, but it can be disabled by the user. Also, the configuration machinery will disable it if the ! neccessary support for C99 (e.g., header files) cannot be found.

    As of GCC 3.0, C99 support includes classification functions such as isnormal, isgreater, --- 133,139 ----

    The C99 features depend on the --enable-c99 configure flag. This flag is already on by default, but it can be disabled by the user. Also, the configuration machinery will disable it if the ! necessary support for C99 (e.g., header files) cannot be found.

    As of GCC 3.0, C99 support includes classification functions such as isnormal, isgreater, diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/27_io/howto.html gcc-3.0.3/libstdc++-v3/docs/html/27_io/howto.html *** gcc-3.0.2/libstdc++-v3/docs/html/27_io/howto.html Fri Oct 19 13:07:40 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/27_io/howto.html Thu Dec 13 15:28:32 2001 *************** *** 113,119 **** when the output stream is, in fact, a terminal and not a file or some other device -- and that may not even be true since C++ says nothing about files nor terminals. All of that is ! system-dependant. (The "newline-buffer-flushing only occuring on terminals" thing is mostly true on Unix systems, though.)

    Some people also believe that sending endl down an --- 113,119 ---- when the output stream is, in fact, a terminal and not a file or some other device -- and that may not even be true since C++ says nothing about files nor terminals. All of that is ! system-dependent. (The "newline-buffer-flushing only occurring on terminals" thing is mostly true on Unix systems, though.)

    Some people also believe that sending endl down an *************** *** 167,173 **** arguments are the same as those for the Standard C I/O Library function (a buffer area followed by its size).

    !

    A great deal of this is implementation-dependant. For example, streambuf does not specify any actions for its own setbuf()-ish functions; the classes derived from streambuf each define behavior that "makes --- 167,173 ---- arguments are the same as those for the Standard C I/O Library function (a buffer area followed by its size).

    !

    A great deal of this is implementation-dependent. For example, streambuf does not specify any actions for its own setbuf()-ish functions; the classes derived from streambuf each define behavior that "makes *************** *** 183,189 ****

    A last reminder: there are usually more buffers involved than just those at the language/library level. Kernel buffers, disk buffers, and the like will also have an effect. Inspecting and ! changing those are system-dependant.

    Return to top of page or to the FAQ. --- 183,189 ----

    A last reminder: there are usually more buffers involved than just those at the language/library level. Kernel buffers, disk buffers, and the like will also have an effect. Inspecting and ! changing those are system-dependent.

    Return to top of page or to the FAQ. *************** *** 445,451 ****

    You must do this before performing any I/O via the C++ stream objects. ! Once you call this, the C++ streams will operate independantly of the (unused) C streams. For GCC 3.0, this means that cout and company will become fully buffered on their own.

    --- 445,451 ----

    You must do this before performing any I/O via the C++ stream objects. ! Once you call this, the C++ streams will operate independently of the (unused) C streams. For GCC 3.0, this means that cout and company will become fully buffered on their own.

    diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/Makefile gcc-3.0.3/libstdc++-v3/docs/html/Makefile *** gcc-3.0.2/libstdc++-v3/docs/html/Makefile Sat Dec 9 20:03:08 2000 --- gcc-3.0.3/libstdc++-v3/docs/html/Makefile Thu Dec 13 15:28:17 2001 *************** *** 1,5 **** faq/index.txt: faq/index.html ! lynx -dump faq/index.html | sed "s%file://localhost`pwd`%..%" > $@ --- 1,13 ---- + MAKEINFO=makeinfo + INC=../../../gcc/doc/include + + all: faq/index.txt 17_intro/porting.html + faq/index.txt: faq/index.html ! lynx -dump $< | sed "s%file://localhost`pwd`%..%" > $@ ! ! 17_intro/porting.html: 17_intro/porting.texi ! ${MAKEINFO} -I ${INC} --html --no-split $< -o $@ diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/documentation.html gcc-3.0.3/libstdc++-v3/docs/html/documentation.html *** gcc-3.0.2/libstdc++-v3/docs/html/documentation.html Fri Oct 19 13:07:34 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/documentation.html Thu Dec 13 15:28:17 2001 *************** *** 60,66 **** - GPL v2 license terms
  • DESIGN - overview of the implementation plan !
  • headER_POLICY - header naming and sub-include structure
  • PROBLEMS
    diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/ext/howto.html gcc-3.0.3/libstdc++-v3/docs/html/ext/howto.html *** gcc-3.0.2/libstdc++-v3/docs/html/ext/howto.html Fri Oct 19 13:07:40 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/ext/howto.html Thu Dec 13 15:28:34 2001 *************** *** 143,150 ****

    Allocators

    !

    This will be blank for a while. It will describe all of the different ! memory allocators, most inherited from SGI's code. Input is solicited.

    Return to top of page or to the FAQ. --- 143,353 ----


    Allocators

    !

    Thread-safety, space efficiency, high speed, portability... this is a ! mess. Where to begin? !

    !

    The Rules

    !

    The C++ standard only gives a few directives in this area: !

      !
    • When you add elements to a container, and the container must allocate ! more memory to hold them, the container makes the request via its ! Allocator template parameter. This includes adding ! char's to the string class, which acts as a regular STL container ! in this respect. !
    • The default Allocator of every container-of-T is ! std::allocator<T>. !
    • The interface of the allocator<T> class is ! extremely simple. It has about 20 public declarations (nested ! typedefs, member functions, etc), but the two which concern us most ! are: !
      !       T*    allocate   (size_type n, const void* hint = 0);
      !       void  deallocate (T* p, size_type n);
      ! (This is a simplicifcation; the real signatures use nested typedefs.) ! The "n" arguments in both those functions is a ! count of the number of T's to allocate space for, ! not their total size. !
    • "The storage is obtained by calling ! ::operator new(size_t), but it is unspecified when or ! how often this function is called. The use of hint ! is unspecified, but intended as an aid to locality if an ! implementation so desires." [20.4.1.1]/6 !
    !

    !

    Problems and Possibilities

    !

    The easiest way of fulfilling the requirements is to call operator new ! each time a container needs memory, and to call operator delete each ! time the container releases memory. BUT ! this ! method is horribly slow. !

    !

    Or we can keep old memory around, and reuse it in a pool to save time. ! The old libstdc++-v2 used a memory pool, and so do we. As of 3.0, ! it's ! on by default. The pool is shared among all the containers in the ! program: when your program's std::vector<int> gets cut in half ! and frees a bunch of its storage, that memory can be reused by the ! private std::list<WonkyWidget> brought in from a KDE library ! that you linked against. And we don't have to call operator's new and ! delete to pass the memory on, ether, which is a speed bonus. ! BUT... !

    !

    What about threads? No problem: in a threadsafe environment, the ! memory pool is manipulated atomically, so you can grow a container in ! one thread and shrink it in another, etc. BUT what ! if threads in libstdc++-v3 aren't set up properly? ! That's been answered already. !

    !

    BUT what if you want to use your own allocator? What ! if you plan on using a runtime-loadable version of malloc() which uses ! shared telepathic anonymous mmap'd sections serializable over a ! network, so that memory requests should go through malloc? ! And what if you need to debug it? !

    !

    Well then: !

    !

    Available allocators in namespace std

    !

    First I'll describe the situation as it exists for the code which will ! be released in GCC 3.1. This situation is extremely fluid. Then I'll ! describe the differences for 3.0.x, which will not change much in ! this respect. !

    !

    As a general rule of thumb, users are not allowed to use names which ! begin with an underscore. This means that to be portable between ! compilers, none of the following may be used in your program directly. ! (If you decide to be unportable, then you're free do do what you want, ! but it's not our fault if stuff breaks.) They are presented here for ! information for maintainers and contributors in addition to users, but ! we will probably make them available for users in 3.1 somehow. !

    !

    These classes are always available: !

      !
    • __new_alloc simply wraps ::operator new ! and ::operator delete. !
    • __malloc_alloc_template<int inst> simply wraps ! malloc and free. There is also a hook ! for an out-of-memory handler (for new/delete this is taken care of ! elsewhere). The inst parameter is described below. ! This class was called malloc_alloc in earlier versions. !
    • allocator<T> has already been described; it is ! The Standard Allocator for instances of T. It uses the internal ! __alloc typedef (see below) to satisy its requests. !
    • __simple_alloc<T,A> is a wrapper around another ! allocator, A, which itself is an allocator for instances of T. ! This is primarily used in an internal "allocator traits" ! class which helps encapsulate the different styles of allocators. !
    • __debug_alloc<A> is also a wrapper around an ! arbitrary allocator A. It passes on slightly increased size ! requests to A, and uses the extra memory to store size information. ! When a pointer is passed to deallocate(), the stored ! size is checked, and assert() is used to guarantee they match. !
    • __allocator<T,A> is an adaptor. Many of these ! allocator classes have a consistent yet non-standard interface. ! Such classes can be changed to a conforming interface with this ! wrapper: __allocator<T, __alloc> is thus the ! same as allocator<T>. !
    !

    !

    An internal typedef, __mem_interface , is defined to be ! __new_alloc by default. !

    !

    Normally, ! __default_alloc_template<bool thr, int inst> ! is also available. This is the high-speed pool, called the default ! node allocator. The reusable memory is shared among identical ! instantiations of ! this type. It calls through __mem_interface to obtain ! new memory when its lists run out. If a client container requests a ! block larger than a certain threshold size, then the pool is bypassed, ! and the allocate/deallocate request is passed to ! __mem_interface directly. !

    !

    Its inst parameter is described below. The ! thr boolean determines whether the pool should be ! manipulated atomically or not. Two typedefs are provided: ! __alloc is defined as this node allocator with thr=true, ! and therefore is threadsafe, while __single_client_alloc ! defines thr=false, and is slightly faster but unsafe for multiple ! threads. !

    !

    (Note that the GCC thread abstraction layer allows us to provide safe ! zero-overhead stubs for the threading routines, if threads were ! disabled at configuration time. In this situation, ! __alloc should not be noticably slower than ! __single_client_alloc.) !

    !

    [Another threadsafe allocator where each thread keeps its own free ! list, so that no locking is needed, might be described here.] !

    !

    A cannon to swat a fly: __USE_MALLOC

    !

    If you've already read this ! advice and decided to define this macro, then the situation changes ! thusly: !

      !
    1. __mem_interface, and !
    2. __alloc, and !
    3. __single_client_alloc are all typedef'd to ! __malloc_alloc_template. !
    4. __default_alloc_template is no longer available. ! At all. Anywhere. !
    !

    !

    Writing your own allocators

    !

    Depending on your application (a specific program, a generic library, ! etc), allocator classes tend to be one of two styles: "SGI" ! or "standard". See the comments in stl_alloc.h for more ! information on this crucial difference. !

    !

    At the bottom of that header is a helper type, ! _Alloc_traits, and various specializations of it. This ! allows the container classes to make possible compile-time ! optimizations based on features of the allocator. You should provide ! a specialization of this type for your allocator (doing so takes only ! two or three statements). !

    !

    Using non-default allocators

    !

    You can specify different memory management schemes on a per-container ! basis, by overriding the default Allocator template ! parameter. For example, an easy ! (but nonportable) ! method of specifying that only malloc/free should be used instead of ! the default node allocator is: !

    !     std::list <my_type, std::__malloc_alloc_template<0> >  my_malloc_based_list;
    ! Likewise, a debugging form of whichever allocator is currently in use: !
    !     std::deque <my_type, std::__debug_alloc<std::__alloc> >  debug_deque;
    !

    !

    inst

    !

    The __malloc_alloc_template and ! __default_alloc_template classes take an integer parameter, ! called inst here. This number is completely unused. !

    !

    The point of the number is to allow multiple instantiations of the ! classes without changing the semantics at all. All three of !

    !     typedef  __default_alloc_template<true,0>    normal;
    !     typedef  __default_alloc_template<true,1>    private;
    !     typedef  __default_alloc_template<true,42>   also_private;
    ! behave exactly the same way. However, the memory pool for each type ! (and remember that different instantiations result in different types) ! remains separate. !

    !

    The library uses 0 in all its instantiations. If you ! wish to keep separate free lists for a particular purpose, use a ! different number. !

    !

    3.0.x

    !

    For 3.0.x, many of the names were incorrectly not prefixed ! with underscores. So symbols such as "std::single_client_alloc" ! are present. Be very careful to not depend on these names any more ! than you would depend on implementation-only names. !

    !

    Certain macros like _NOTHREADS and __STL_THREADS ! can affect the 3.0.x allocators. Do not use them. Those macros have ! been completely removed for 3.1. !

    !

    More notes as we remember them...

    Return to top of page or to the FAQ. *************** *** 173,181 ****

    Here are the issues which have resulted in code changes to the library. The links are to the specific defect reports from a partial ! copy of the ! Issues List. You can read the full version online at the ISO C++ ! Committee homepage, linked to on the GCC "Readings" page. If you spend a lot of time reading the issues, we recommend downloading the ZIP file and reading them locally.

    --- 376,386 ----

    Here are the issues which have resulted in code changes to the library. The links are to the specific defect reports from a partial ! copy of the Issues List. You can read the full version online ! at the ISO C++ ! Committee homepage, linked to on the ! GCC "Readings" ! page. If you spend a lot of time reading the issues, we recommend downloading the ZIP file and reading them locally.

    *************** *** 194,201 **** until an issue has reached DR status.

    - -
    5: string::compare specification questionable
    This should be two overloaded functions rather than a single function. --- 399,404 ---- *************** *** 204,209 **** --- 407,416 ---- Bad bool parsing
    Apparently extracting Boolean values was messed up... +
    22: + Member open vs flags +
    Re-opening a file stream does not clear the state flags. +
    25: String operator<< uses width() value wrong
    Padding issues. *************** *** 247,252 **** --- 454,467 ---- replace the function with a const one; we have instead provided an overloaded version with identical contents. +
    117: + basic_ostream uses nonexistent num_put member functions +
    num_put::put() was overloaded on the wrong types. + +
    118: + basic_istream uses nonexistent num_get member functions +
    Same as 117, but for num_get::get(). +
    129: Need error indication from seekp() and seekg()
    These functions set failbit on error now. *************** *** 294,299 **** --- 509,523 ---- std::pair::pair() effects overly restrictive
    The default ctor would build its members from copies of temporaries; now it simply uses their respective default ctors. + +
    266: + bad_exception::~bad_exception() missing Effects clause +
    The bad_* classes no longer have destructors (they + are trivial), since no description of them was ever given. + +
    275: + Wrong type in num_get::get() overloads +
    Similar to 118.

    1.1 What is libstdc++-v3?

    !

    The GNU Standard C++ Library v3, or libstdc++-2.9x, is an ongoing project to implement the ISO 14882 Standard C++ library as described in chapters 17 through 27 and annex D. As the library reaches stable plateaus, it is captured in a snapshot --- 99,105 ----

    1.0 General Information

    1.1 What is libstdc++-v3?

    !

    The GNU Standard C++ Library v3 is an ongoing project to implement the ISO 14882 Standard C++ library as described in chapters 17 through 27 and annex D. As the library reaches stable plateaus, it is captured in a snapshot *************** http://gcc.gnu.org/onlinedocs/libstdc++/ *** 106,115 **** far the project has come, or just want the latest bleeding-edge code, the up-to-date source is available over anonymous CVS, and can even be browsed over the Web (see below). !

    A more formal description of the V3 goals can be found in the official design document. !


    1.2 Why should I use libstdc++?

    --- 109,123 ---- far the project has come, or just want the latest bleeding-edge code, the up-to-date source is available over anonymous CVS, and can even be browsed over the Web (see below). !

    !

    The older libstdc++-v2 project is no longer maintained; the code ! has been completely replaced and rewritten. ! If you are using V2, then you need to ! report bugs to your system vendor, not to the V3 list. !

    A more formal description of the V3 goals can be found in the official design document. !


    1.2 Why should I use libstdc++?

    *************** http://gcc.gnu.org/onlinedocs/libstdc++/ *** 134,140 **** (such as string, vector<>, iostreams, and algorithms) will be freely available and fully compliant. Programmers will no longer need to "roll their own" ! nor be worried about platform-specific incompatabilities.


    --- 142,148 ---- (such as string, vector<>, iostreams, and algorithms) will be freely available and fully compliant. Programmers will no longer need to "roll their own" ! nor be worried about platform-specific incompatibilities.


    *************** which is no longer available, thanks dej *** 321,326 **** --- 329,384 ----


    +

    2.4 This library is HUGE! And what's libsupc++?

    +

    Usually the size of libraries on disk isn't noticeable. When a + link editor (or simply "linker") pulls things from a + static archive library, only the necessary object files are copied + into your executable, not the entire library. Unfortunately, even + if you only need a single function or variable from an object file, + the entire object file is extracted. (There's nothing unique to C++ + or libstdc++-v3 about this; it's just common behavior, given here + for background reasons.) +

    +

    Some of the object files which make up libstdc++.a are rather large. + If you create a statically-linked executable with + -static, those large object files are suddenly part + of your executable. Historically the best way around this was to + only place a very few functions (often only a single one) in each + source/object file; then extracting a single function is the same + as extracting a single .o file. For libstdc++-v3 this is only + possible to a certain extent; the object files in question contain + template classes and template functions, pre-instantiated, and + splitting those up causes severe maintenance headaches. +

    +

    It's not a bug, and it's not really a problem. Nevertheless, some + people don't like it, so here are two pseudo-solutions: +

    +

    If the only functions from libstdc++.a which you need are language + support functions (those listed in + clause 18 of the standard, + e.g., new and delete), then try linking + against libsupc++.a (usually specifying + -lsupc++ when calling g++ for the final link step will + do it). This library contains only those support routines, one per + object file. But if you are using anything from the rest of the + library, such as IOStreams or vectors, then you'll still need + pieces from libstdc++.a. +

    +

    The second method is one we hope to incorporate into the library + build process. Some platforms can place each function and variable + into its own section in a .o file. The GNU linker can then perform + garbage collection on unused sections; this reduces the situation + to only copying needed functions into the executable, as before, + but all happens automatically. +

    +

    Unfortunately the garbage collection in GNU ld is buggy; sections + (corresponding to functions and variables) which are used + are mistakenly removed, leading to horrible crashes when your + executable starts up. For the time being, this feature is not used + when building the library. +

    + +

    3.0 Platform-Specific Issues

    3.1 Can libstdc++-v3 be used with <my favorite compiler>?

    *************** which is no longer available, thanks dej *** 337,343 ****

    Since the goal of ISO Standardization is for all C++ implementations to be able to share code, the final libstdc++ ! should, in theory, be useable under any ISO-compliant compiler. It will still be targeted and optimized for GCC/g++, however.

    --- 395,401 ----

    Since the goal of ISO Standardization is for all C++ implementations to be able to share code, the final libstdc++ ! should, in theory, be usable under any ISO-compliant compiler. It will still be targeted and optimized for GCC/g++, however.

    *************** which is no longer available, thanks dej *** 364,369 **** --- 422,439 ----


    +

    3.4 I can't use 'long long' on Solaris

    +

    By default we try to support the C99 long long type. + This requires that certain functions from your C library be present. +

    +

    Up through release 3.0.2 the tests performed were too general, and + this feature was disabled when it did not need to be. The most + commonly reported platform affected was Solaris. +

    +

    This has been fixed for 3.0.3 and onwards. +

    + +

    4.0 Known Bugs and Non-Bugs

    Note that this section can get rapdily outdated -- such is the nature of an open-source project. For the latest information, join *************** which is no longer available, thanks dej *** 380,389 **** specifically the part about configuring in a separate build directory, and how strongly recommended it is. Building in the source directory is fragile, is rarely tested, and tends to break, as in this case. ! Work has already gone into the source tree to make this less painful ! for the next release.

    !

    Please do not report this as a bug. We know about it. Reporting this -- or any other problem that's already been fixed -- hinders the development of GCC, because we have to take time to respond to your report. Thank you. --- 450,458 ---- specifically the part about configuring in a separate build directory, and how strongly recommended it is. Building in the source directory is fragile, is rarely tested, and tends to break, as in this case. ! This was fixed for 3.0.2.

    !

    Please do not report these as bugs. We know about them. Reporting this -- or any other problem that's already been fixed -- hinders the development of GCC, because we have to take time to respond to your report. Thank you. *************** New: *** 518,525 **** do anyhow; see the last paragraph of the page describing the GCC bug database).

    !

    If the headers are in ${prefix}/include/g++-3, then ! you are using the old libstdc++-v2 library, which is nonstandard and unmaintained. Do not report problems with -v2 to the -v3 mailing list.

    --- 587,596 ---- do anyhow; see the last paragraph of the page describing the GCC bug database).

    !

    If the headers are in ${prefix}/include/g++-3, or if ! the installed library's name looks like libstdc++-2.10.a ! or libstdc++-libc6-2.10.so, ! then you are using the old libstdc++-v2 library, which is nonstandard and unmaintained. Do not report problems with -v2 to the -v3 mailing list.

    *************** http://clisp.cons.org/~haible/gccinclude *** 719,727 ****

    All library objects are safe to use in a multithreaded program as long as each thread carefully locks out access by any other thread ! while it uses any object visible to another thread. This requirement ! includes both read and write access to objects; do not assume that ! two threads may read a shared standard container at the same time.

    See chapters 17 (library introduction), 23 --- 790,800 ----

    All library objects are safe to use in a multithreaded program as long as each thread carefully locks out access by any other thread ! while it uses any object visible to another thread. In general, ! this requirement includes both read and write access to objects; ! unless otherwise documented as safe, do not assume that two ! threads may access a shared standard library object at the ! same time.

    See chapters 17 (library introduction), 23 *************** http://clisp.cons.org/~haible/gccinclude *** 745,750 **** --- 818,870 ----

    Who is your country's member body? Visit the ISO homepage and find out! +

    + +
    +

    5.8 What's an ABI and why is it so messy?

    +

    "ABI" stands for "Application Binary Interface." + Conventionally, it refers to a great mass of details about how + arguments are arranged on the call stack and/or in registers, and + how various types are arranged and padded in structs. A single CPU + design may suffer multiple ABIs designed by different development + tool vendors who made different choices, or even by the same vendor + for different target applications or compiler versions. In ideal + circumstances the CPU designer presents one ABI and all the OSes and + compilers use it. In practice every ABI omits details that compiler + implementers (consciously or accidentally) must choose for themselves. +

    +

    That ABI definition suffices for compilers to generate code so a + program can interact safely with an OS and its lowest-level libraries. + Users usually want an ABI to encompass more detail, allowing libraries + built with different compilers (or different releases of the same + compiler!) to be linked together. For C++, this includes many more + details than for C, and CPU designers (for good reasons elaborated + below) have not stepped up to publish C++ ABIs. The details include + virtual function implementation, struct inheritance layout, name + mangling, and exception handling. Such an ABI has been defined for + GNU C++, and is immediately useful for embedded work relying only on + a "free-standing implementation" that doesn't include (much + of) the standard library. It is a good basis for the work to come. +

    +

    A useful C++ ABI must also incorporate many details of the standard + library implementation. For a C ABI, the layouts of a few structs + (such as FILE, stat, jmpbuf, and the like) and a few macros suffice. + For C++, the details include the complete set of names of functions + and types used, the offsets of class members and virtual functions, + and the actual definitions of all inlines. C++ exposes many more + library details to the caller than C does. It makes defining + a complete ABI a much bigger undertaking, and requires not just + documenting library implementation details, but carefully designing + those details so that future bug fixes and optimizations don't + force breaking the ABI. +

    +

    There are ways to help isolate library implementation details from the + ABI, but they trade off against speed. Library details used in + inner loops (e.g., getchar) must be exposed and frozen for all + time, but many others may reasonably be kept hidden from user code, + so they may later be changed. Deciding which, and implementing + the decisions, must happen before you can reasonably document a + candidate C++ ABI that encompasses the standard library.

    diff -Nrc3pad gcc-3.0.2/libstdc++-v3/docs/html/faq/index.txt gcc-3.0.3/libstdc++-v3/docs/html/faq/index.txt *** gcc-3.0.2/libstdc++-v3/docs/html/faq/index.txt Fri Oct 19 13:07:42 2001 --- gcc-3.0.3/libstdc++-v3/docs/html/faq/index.txt Thu Dec 13 15:28:40 2001 *************** *** 1,7 **** libstdc++ Frequently Asked Questions ! The latest version of this document is always available at [1]http://gcc.gnu.org/onlinedocs/libstdc++/faq/. To the [2]libstdc++-v3 homepage. --- 1,7 ---- libstdc++ Frequently Asked Questions ! The latest version of this document is always available at [1]http://gcc.gnu.org/onlinedocs/libstdc++/faq/. To the [2]libstdc++-v3 homepage. *************** *** 24,168 **** 2. [15][removed] 3. [16]What is this CVS thing that you keep mentioning? 4. [17]How do I know if it works? ! 3. [18]Platform-Specific Issues ! 1. [19]Can libstdc++-v3 be used with ? ! 2. [20][removed] ! 3. [21]Building under DEC OSF kills the assembler ! 4. [22]Known Bugs and Non-Bugs ! 1. [23]What works already? ! 2. [24]Bugs in gcc/g++ (not libstdc++-v3) ! 3. [25]Bugs in the C++ language/lib specification ! 4. [26]Things in libstdc++ that look like bugs ! o [27]reopening a stream fails ! o [28]-Weffc++ complains too much ! o [29]"ambiguous overloads" after including an old-style header ! o [30]The g++-3 headers are not ours ! o [31]compilation errors from streambuf.h ! o [32]errors about *Cconcept and constraints in the STL... ! 5. [33]Aw, that's easy to fix! ! 5. [34]Miscellaneous ! 1. [35]string::iterator is not char*; vector::iterator is not T* ! 2. [36]What's next after libstdc++-v3? ! 3. [37]What about the STL from SGI? ! 4. [38]Extensions and Backward Compatibility ! 5. [39][removed] ! 6. [40]Is libstdc++-v3 thread-safe? ! 7. [41]How do I get a copy of the ISO C++ Standard? _________________________________________________________________ 1.0 General Information 1.1 What is libstdc++-v3? ! The GNU Standard C++ Library v3, or libstdc++-2.9x, is an ongoing ! project to implement the ISO 14882 Standard C++ library as described ! in chapters 17 through 27 and annex D. As the library reaches stable ! plateaus, it is captured in a snapshot and released. The current ! release is [42]the eleventh snapshot. For those who want to see ! exactly how far the project has come, or just want the latest ! bleeding-edge code, the up-to-date source is available over anonymous ! CVS, and can even be browsed over the Web (see below). A more formal description of the V3 goals can be found in the official ! [43]design document. _________________________________________________________________ 1.2 Why should I use libstdc++? The completion of the ISO C++ standardization gave the C++ community a ! powerful set of reuseable tools in the form of the C++ Standard ! Library. However, all existing C++ implementations are (as the Draft ! Standard used to say) "incomplet and incorrekt," and many suffer from limitations of the compilers that use them. ! The GNU C/C++/FORTRAN/ compiler (gcc, g++, etc) is widely considered to be one of the leading compilers in the world. Its ! development has recently been taken over by the [44]GCC team. All of ! the rapid development and near-legendary [45]portability that are the hallmarks of an open-source project are being applied to libstdc++. ! That means that all of the Standard classes and functions (such as ! string, vector<>, iostreams, and algorithms) will be freely available ! and fully compliant. Programmers will no longer need to "roll their ! own" nor be worried about platform-specific incompatabilities. _________________________________________________________________ 1.3 Who's in charge of it? The libstdc++ project is contributed to by several developers all over ! the world, in the same way as GCC or Linux. Benjamin Kosnik, Gabriel Dos Reis, Phil Edwards, and Ulrich Drepper are the lead maintainers of the CVS archive. ! Development and discussion is held on the libstdc++ mailing list. ! Subscribing to the list, or searching the list archives, is open to ! everyone. You can read instructions for doing so on the [46]homepage. If you have questions, ideas, code, or are just curious, sign up! _________________________________________________________________ 1.4 How do I get libstdc++? ! The eleventh (and latest) snapshot of libstdc++-v3 is [47]available via ftp. The filename is libstdc++-2.92.tar.gz. ! The [48]homepage has instructions for retrieving the latest CVS sources, and for browsing the CVS sources over the web. ! The subset commonly known as the Standard Template Library (chapters ! 23 through 25, mostly) is adapted from the final release of the SGI STL. _________________________________________________________________ 1.5 When is libstdc++ going to be finished? ! Nathan Myers gave the best of all possible answers, responding to a Usenet article asking this question: Sooner, if you help. _________________________________________________________________ 1.6 How do I contribute to the effort? ! Here is [49]a page devoted to this topic. Subscribing to the mailing ! list (see above, or the homepage) is a very good idea if you have ! something to contribute, or if you have spare time and want to help. Contributions don't have to be in the form of source code; anybody who ! is willing to help write documentation, for example, or has found a bug in code that we all thought was working, is more than welcome! _________________________________________________________________ 1.7 What happened to libg++? I need that! ! The most recent libg++ README states that libg++ is no longer being ! actively maintained. It should not be used for new projects, and is only being kicked along to support older code. ! The libg++ was designed and created when there was no Standard to ! provide guidance. Classes like linked lists are now provided for by ! list and do not need to be created by genclass. (For that matter, ! templates exist now and are well-supported, whereas genclass (mostly) predates them.) ! There are other classes in libg++ that are not specified in the ISO Standard (e.g., statistical analysis). While there are a lot of really ! useful things that are used by a lot of people (e.g., statistics :-), ! the Standards Committee couldn't include everything, and so a lot of those "obvious" classes didn't get included. ! Since libstdc++ is an implementation of the Standard Library, we have ! no plans at this time to include non-Standard utilities in the ! implementation, however handy they are. (The extensions provided in ! the SGI STL aren't maintained by us and don't get a lot of our ! attention, because they don't require a lot of our time.) It is ! entirely plausable that the "useful stuff" from libg++ might be ! extracted into an updated utilities library, but nobody has stated such a project yet. ! (The [50]Boost site houses free C++ libraries that do varying things, ! and happened to be started by members of the Standards Committee. Certain "useful stuff" classes will probably migrate there.) ! For the bold and/or desperate, the [51]GCC FAQ describes where to find the last libg++ source. _________________________________________________________________ --- 24,175 ---- 2. [15][removed] 3. [16]What is this CVS thing that you keep mentioning? 4. [17]How do I know if it works? ! 5. [18]This library is HUGE! And what's libsupc++? ! 3. [19]Platform-Specific Issues ! 1. [20]Can libstdc++-v3 be used with ? ! 2. [21][removed] ! 3. [22]Building under DEC OSF kills the assembler ! 4. [23]I can't use 'long long' on Solaris ! 4. [24]Known Bugs and Non-Bugs ! 1. [25]What works already? ! 2. [26]Bugs in gcc/g++ (not libstdc++-v3) ! 3. [27]Bugs in the C++ language/lib specification ! 4. [28]Things in libstdc++ that look like bugs ! o [29]reopening a stream fails ! o [30]-Weffc++ complains too much ! o [31]"ambiguous overloads" after including an old-style header ! o [32]The g++-3 headers are not ours ! o [33]compilation errors from streambuf.h ! o [34]errors about *Cconcept and constraints in the STL... ! 5. [35]Aw, that's easy to fix! ! 5. [36]Miscellaneous ! 1. [37]string::iterator is not char*; vector::iterator is not T* ! 2. [38]What's next after libstdc++-v3? ! 3. [39]What about the STL from SGI? ! 4. [40]Extensions and Backward Compatibility ! 5. [41][removed] ! 6. [42]Is libstdc++-v3 thread-safe? ! 7. [43]How do I get a copy of the ISO C++ Standard? ! 8. [44]What's an ABI and why is it so messy? _________________________________________________________________ 1.0 General Information 1.1 What is libstdc++-v3? ! The GNU Standard C++ Library v3 is an ongoing project to implement the ! ISO 14882 Standard C++ library as described in chapters 17 through 27 ! and annex D. As the library reaches stable plateaus, it is captured in ! a snapshot and released. The current release is [45]the eleventh ! snapshot. For those who want to see exactly how far the project has ! come, or just want the latest bleeding-edge code, the up-to-date ! source is available over anonymous CVS, and can even be browsed over ! the Web (see below). ! ! The older libstdc++-v2 project is no longer maintained; the code has ! been completely replaced and rewritten. [46]If you are using V2, then ! you need to report bugs to your system vendor, not to the V3 list. A more formal description of the V3 goals can be found in the official ! [47]design document. _________________________________________________________________ 1.2 Why should I use libstdc++? The completion of the ISO C++ standardization gave the C++ community a ! powerful set of reuseable tools in the form of the C++ Standard ! Library. However, all existing C++ implementations are (as the Draft ! Standard used to say) "incomplet and incorrekt," and many suffer from limitations of the compilers that use them. ! The GNU C/C++/FORTRAN/ compiler (gcc, g++, etc) is widely considered to be one of the leading compilers in the world. Its ! development has recently been taken over by the [48]GCC team. All of ! the rapid development and near-legendary [49]portability that are the hallmarks of an open-source project are being applied to libstdc++. ! That means that all of the Standard classes and functions (such as ! string, vector<>, iostreams, and algorithms) will be freely available ! and fully compliant. Programmers will no longer need to "roll their ! own" nor be worried about platform-specific incompatibilities. _________________________________________________________________ 1.3 Who's in charge of it? The libstdc++ project is contributed to by several developers all over ! the world, in the same way as GCC or Linux. Benjamin Kosnik, Gabriel Dos Reis, Phil Edwards, and Ulrich Drepper are the lead maintainers of the CVS archive. ! Development and discussion is held on the libstdc++ mailing list. ! Subscribing to the list, or searching the list archives, is open to ! everyone. You can read instructions for doing so on the [50]homepage. If you have questions, ideas, code, or are just curious, sign up! _________________________________________________________________ 1.4 How do I get libstdc++? ! The eleventh (and latest) snapshot of libstdc++-v3 is [51]available via ftp. The filename is libstdc++-2.92.tar.gz. ! The [52]homepage has instructions for retrieving the latest CVS sources, and for browsing the CVS sources over the web. ! The subset commonly known as the Standard Template Library (chapters ! 23 through 25, mostly) is adapted from the final release of the SGI STL. _________________________________________________________________ 1.5 When is libstdc++ going to be finished? ! Nathan Myers gave the best of all possible answers, responding to a Usenet article asking this question: Sooner, if you help. _________________________________________________________________ 1.6 How do I contribute to the effort? ! Here is [53]a page devoted to this topic. Subscribing to the mailing ! list (see above, or the homepage) is a very good idea if you have ! something to contribute, or if you have spare time and want to help. Contributions don't have to be in the form of source code; anybody who ! is willing to help write documentation, for example, or has found a bug in code that we all thought was working, is more than welcome! _________________________________________________________________ 1.7 What happened to libg++? I need that! ! The most recent libg++ README states that libg++ is no longer being ! actively maintained. It should not be used for new projects, and is only being kicked along to support older code. ! The libg++ was designed and created when there was no Standard to ! provide guidance. Classes like linked lists are now provided for by ! list and do not need to be created by genclass. (For that matter, ! templates exist now and are well-supported, whereas genclass (mostly) predates them.) ! There are other classes in libg++ that are not specified in the ISO Standard (e.g., statistical analysis). While there are a lot of really ! useful things that are used by a lot of people (e.g., statistics :-), ! the Standards Committee couldn't include everything, and so a lot of those "obvious" classes didn't get included. ! Since libstdc++ is an implementation of the Standard Library, we have ! no plans at this time to include non-Standard utilities in the ! implementation, however handy they are. (The extensions provided in ! the SGI STL aren't maintained by us and don't get a lot of our ! attention, because they don't require a lot of our time.) It is ! entirely plausable that the "useful stuff" from libg++ might be ! extracted into an updated utilities library, but nobody has stated such a project yet. ! (The [54]Boost site houses free C++ libraries that do varying things, ! and happened to be started by members of the Standards Committee. Certain "useful stuff" classes will probably migrate there.) ! For the bold and/or desperate, the [55]GCC FAQ describes where to find the last libg++ source. _________________________________________________________________ *************** *** 170,234 **** If you have read the README and RELEASE-NOTES files, and your question remains unanswered, then just ask the mailing list. At present, you do ! not need to be subscribed to the list to send a message to it. More ! information is available on the homepage (including how to browse the ! list archives); to send to the list, use [52]libstdc++@gcc.gnu.org. ! If you have a question that you think should be included here, or if ! you have a question about a question/answer here, contact [53]Phil ! Edwards or [54]Gabriel Dos Reis. _________________________________________________________________ 1.9 What are the license terms for libstdc++-v3? ! See [55]our license description for these and related questions. _________________________________________________________________ 2.0 Installation 2.1 How do I install libstdc++-v3? ! Complete instructions are not given here (this is a FAQ, not an installation document), but the tools required are few: ! * A 3.x release of GCC. Note that building GCC is much easier and more automated than building the GCC 2.[78] series was. If you are ! using GCC 2.95, you can still build earlier snapshots of libstdc++. * GNU Make is recommended, but should not be required. * The GNU Autotools are needed if you are messing with the configury or makefiles. ! The file [56]documentation.html provides a good overview of the steps ! necessary to build, install, and use the library. Instructions for ! configuring the library with new flags such as --enable-threads are ! there also, as well as patches and instructions for working with GCC 2.95. ! The top-level install.html and [57]RELEASE-NOTES files contain the ! exact build and installation instructions. You may wish to browse ! those files over CVSweb ahead of time to get a feel for what's ! required. RELEASE-NOTES is located in the ".../docs/17_intro/" directory of the distribution. _________________________________________________________________ 2.2 [removed] ! This question has become moot and has been removed. The stub is here to preserve numbering (and hence links/bookmarks). _________________________________________________________________ 2.3 What is this CVS thing that you keep mentioning? ! The Concurrent Versions System is one of several revision control packages. It was selected for GNU projects because it's free (speech), ! free (beer), and very high quality. The [58]CVS entry in the GNU ! software catalogue has a better description as well as a [59]link to the makers of CVS. The "anonymous client checkout" feature of CVS is similar to anonymous FTP in that it allows anyone to retrieve the latest libstdc++ sources. ! After the first of April, American users will have a "/pharmacy" command-line option... _________________________________________________________________ --- 177,241 ---- If you have read the README and RELEASE-NOTES files, and your question remains unanswered, then just ask the mailing list. At present, you do ! not need to be subscribed to the list to send a message to it. More ! information is available on the homepage (including how to browse the ! list archives); to send to the list, use [56]libstdc++@gcc.gnu.org. ! If you have a question that you think should be included here, or if ! you have a question about a question/answer here, contact [57]Phil ! Edwards or [58]Gabriel Dos Reis. _________________________________________________________________ 1.9 What are the license terms for libstdc++-v3? ! See [59]our license description for these and related questions. _________________________________________________________________ 2.0 Installation 2.1 How do I install libstdc++-v3? ! Complete instructions are not given here (this is a FAQ, not an installation document), but the tools required are few: ! * A 3.x release of GCC. Note that building GCC is much easier and more automated than building the GCC 2.[78] series was. If you are ! using GCC 2.95, you can still build earlier snapshots of libstdc++. * GNU Make is recommended, but should not be required. * The GNU Autotools are needed if you are messing with the configury or makefiles. ! The file [60]documentation.html provides a good overview of the steps ! necessary to build, install, and use the library. Instructions for ! configuring the library with new flags such as --enable-threads are ! there also, as well as patches and instructions for working with GCC 2.95. ! The top-level install.html and [61]RELEASE-NOTES files contain the ! exact build and installation instructions. You may wish to browse ! those files over CVSweb ahead of time to get a feel for what's ! required. RELEASE-NOTES is located in the ".../docs/17_intro/" directory of the distribution. _________________________________________________________________ 2.2 [removed] ! This question has become moot and has been removed. The stub is here to preserve numbering (and hence links/bookmarks). _________________________________________________________________ 2.3 What is this CVS thing that you keep mentioning? ! The Concurrent Versions System is one of several revision control packages. It was selected for GNU projects because it's free (speech), ! free (beer), and very high quality. The [62]CVS entry in the GNU ! software catalogue has a better description as well as a [63]link to the makers of CVS. The "anonymous client checkout" feature of CVS is similar to anonymous FTP in that it allows anyone to retrieve the latest libstdc++ sources. ! After the first of April, American users will have a "/pharmacy" command-line option... _________________________________________________________________ *************** *** 237,312 **** libstdc++-v3 comes with its own testsuite. You do not need to actually install the library ("make install") to run the testsuite. ! To run the testsuite on the library after building it, use "make ! check" while in your build directory. To run the testsuite on the ! library after building and installing it, use "make check-install" instead. If you find bugs in the testsuite programs themselves, or if you think ! of a new test program that should be added to the suite, please write up your idea and send it to the list! _________________________________________________________________ 3.0 Platform-Specific Issues 3.1 Can libstdc++-v3 be used with ? Probably not. Yet. ! Because GCC advances so rapidly, development and testing of libstdc++ ! is being done almost entirely under that compiler. If you are curious ! about whether other, lesser compilers (*grin*) support libstdc++, you ! are more than welcome to try. Configuring and building the library ! (see above) will still require certain tools, however. Also keep in mind that building libstdc++ does not imply that your compiler will be able to use all of the features found in the C++ Standard Library. ! Since the goal of ISO Standardization is for all C++ implementations ! to be able to share code, the final libstdc++ should, in theory, be ! useable under any ISO-compliant compiler. It will still be targeted ! and optimized for GCC/g++, however. _________________________________________________________________ 3.2 [removed] ! This question has become moot and has been removed. The stub is here to preserve numbering (and hence links/bookmarks). _________________________________________________________________ 3.3 Building DEC OSF kills the assembler ! The atomicity.h header for the Alpha processor currently uses ! pseudo-operators which the DEC assembler doesn't understand (in ! particular, .subsection and .previous). The simple solution is to ! install GNU as and arrange for the GCC build to use it (or merge the sources and build it during the bootstrap). ! Anyone who [60]knows the DEC assembler well enough to provide the ! equivalent of these two pseudos would win praise and accolades from many. _________________________________________________________________ 4.0 Known Bugs and Non-Bugs ! Note that this section can get rapdily outdated -- such is the nature ! of an open-source project. For the latest information, join the ! mailing list or look through recent archives. The RELEASE- NOTES and BUGS files are generally kept up-to-date. ! For 3.0.1, the most common "bug" is an apparently missing "../" in include/Makefile, resulting in files like gthr.h and gthr-single.h not being found. ! Please read [61]the configuration instructions for GCC, specifically ! the part about configuring in a separate build directory, and how ! strongly recommended it is. Building in the source directory is ! fragile, is rarely tested, and tends to break, as in this case. Work ! has already gone into the source tree to make this less painful for ! the next release. ! Please do not report this as a bug. We know about it. Reporting this ! -- or any other problem that's already been fixed -- hinders the ! development of GCC, because we have to take time to respond to your report. Thank you. 4.1 What works already? --- 244,378 ---- libstdc++-v3 comes with its own testsuite. You do not need to actually install the library ("make install") to run the testsuite. ! To run the testsuite on the library after building it, use "make ! check" while in your build directory. To run the testsuite on the ! library after building and installing it, use "make check-install" instead. If you find bugs in the testsuite programs themselves, or if you think ! of a new test program that should be added to the suite, please write up your idea and send it to the list! _________________________________________________________________ + 2.4 This library is HUGE! And what's libsupc++? + + Usually the size of libraries on disk isn't noticeable. When a link + editor (or simply "linker") pulls things from a static archive + library, only the necessary object files are copied into your + executable, not the entire library. Unfortunately, even if you only + need a single function or variable from an object file, the entire + object file is extracted. (There's nothing unique to C++ or + libstdc++-v3 about this; it's just common behavior, given here for + background reasons.) + + Some of the object files which make up libstdc++.a are rather large. + If you create a statically-linked executable with -static, those large + object files are suddenly part of your executable. Historically the + best way around this was to only place a very few functions (often + only a single one) in each source/object file; then extracting a + single function is the same as extracting a single .o file. For + libstdc++-v3 this is only possible to a certain extent; the object + files in question contain template classes and template functions, + pre-instantiated, and splitting those up causes severe maintenance + headaches. + + It's not a bug, and it's not really a problem. Nevertheless, some + people don't like it, so here are two pseudo-solutions: + + If the only functions from libstdc++.a which you need are language + support functions (those listed in [64]clause 18 of the standard, + e.g., new and delete), then try linking against libsupc++.a (usually + specifying -lsupc++ when calling g++ for the final link step will do + it). This library contains only those support routines, one per object + file. But if you are using anything from the rest of the library, such + as IOStreams or vectors, then you'll still need pieces from + libstdc++.a. + + The second method is one we hope to incorporate into the library build + process. Some platforms can place each function and variable into its + own section in a .o file. The GNU linker can then perform garbage + collection on unused sections; this reduces the situation to only + copying needed functions into the executable, as before, but all + happens automatically. + + Unfortunately the garbage collection in GNU ld is buggy; sections + (corresponding to functions and variables) which are used are + mistakenly removed, leading to horrible crashes when your executable + starts up. For the time being, this feature is not used when building + the library. + _________________________________________________________________ + 3.0 Platform-Specific Issues 3.1 Can libstdc++-v3 be used with ? Probably not. Yet. ! Because GCC advances so rapidly, development and testing of libstdc++ ! is being done almost entirely under that compiler. If you are curious ! about whether other, lesser compilers (*grin*) support libstdc++, you ! are more than welcome to try. Configuring and building the library ! (see above) will still require certain tools, however. Also keep in mind that building libstdc++ does not imply that your compiler will be able to use all of the features found in the C++ Standard Library. ! Since the goal of ISO Standardization is for all C++ implementations ! to be able to share code, the final libstdc++ should, in theory, be ! usable under any ISO-compliant compiler. It will still be targeted and ! optimized for GCC/g++, however. _________________________________________________________________ 3.2 [removed] ! This question has become moot and has been removed. The stub is here to preserve numbering (and hence links/bookmarks). _________________________________________________________________ 3.3 Building DEC OSF kills the assembler ! The atomicity.h header for the Alpha processor currently uses ! pseudo-operators which the DEC assembler doesn't understand (in ! particular, .subsection and .previous). The simple solution is to ! install GNU as and arrange for the GCC build to use it (or merge the sources and build it during the bootstrap). ! Anyone who [65]knows the DEC assembler well enough to provide the ! equivalent of these two pseudos would win praise and accolades from many. _________________________________________________________________ + 3.4 I can't use 'long long' on Solaris + + By default we try to support the C99 long long type. This requires + that certain functions from your C library be present. + + Up through release 3.0.2 the tests performed were too general, and + this feature was disabled when it did not need to be. The most + commonly reported platform affected was Solaris. + + This has been fixed for 3.0.3 and onwards. + _________________________________________________________________ + 4.0 Known Bugs and Non-Bugs ! Note that this section can get rapdily outdated -- such is the nature ! of an open-source project. For the latest information, join the ! mailing list or look through recent archives. The RELEASE- NOTES and BUGS files are generally kept up-to-date. ! For 3.0.1, the most common "bug" is an apparently missing "../" in include/Makefile, resulting in files like gthr.h and gthr-single.h not being found. ! Please read [66]the configuration instructions for GCC, specifically ! the part about configuring in a separate build directory, and how ! strongly recommended it is. Building in the source directory is ! fragile, is rarely tested, and tends to break, as in this case. This ! was fixed for 3.0.2. ! Please do not report these as bugs. We know about them. Reporting this ! -- or any other problem that's already been fixed -- hinders the ! development of GCC, because we have to take time to respond to your report. Thank you. 4.1 What works already? *************** New: *** 340,347 **** 4.2 Bugs in gcc/g++ (not libstdc++-v3) ! This is by no means meant to be complete nor exhaustive, but mentions ! some problems that users may encounter when building or using libstdc++. If you are experiencing one of these problems, you can find more information on the libstdc++ and the GCC mailing lists. * As of 2.91, these bugs have all been fixed. We look forward to new --- 406,413 ---- 4.2 Bugs in gcc/g++ (not libstdc++-v3) ! This is by no means meant to be complete nor exhaustive, but mentions ! some problems that users may encounter when building or using libstdc++. If you are experiencing one of these problems, you can find more information on the libstdc++ and the GCC mailing lists. * As of 2.91, these bugs have all been fixed. We look forward to new *************** New: *** 350,383 **** 4.3 Bugs in the C++ language/lib specification ! Yes, unfortunately, there are some. In a [62]message to the list, ! Nathan Myers announced that he has started a list of problems in the ! ISO C++ Standard itself, especially with regard to the chapters that ! concern the library. The list itself is [63]posted on his website. ! Developers who are having problems interpreting the Standard may wish to consult his notes. ! For those people who are not part of the ISO Library Group (i.e., ! nearly all of us needing to read this page in the first place :-), a ! public list of the library defects is occasionally published [64]here. ! Some of these have resulted in [65]code changes. _________________________________________________________________ 4.4 Things in libstdc++ that look like bugs ! There are things which are not bugs in the compiler (4.2) nor the ! language specification (4.3), but aren't really bugs in libstdc++, either. Really! Please do not report these as bugs. ! -Weffc++ The biggest of these is the quadzillions of warnings about ! the library headers emitted when -Weffc++ is used. Making libstdc++ ! "-Weffc++-clean" is not a goal of the project, for a few reasons. ! Mainly, that option tries to enforce object-oriented programming, ! while the Standard Library isn't necessarily trying to be OO. There are multiple solutions under discussion. ! reopening a stream fails Did I just say that -Weffc++ was our biggest ! false-bug report? I lied. (It used to be.) Today it seems to be reports that after executing a sequence like #include ... --- 416,449 ---- 4.3 Bugs in the C++ language/lib specification ! Yes, unfortunately, there are some. In a [67]message to the list, ! Nathan Myers announced that he has started a list of problems in the ! ISO C++ Standard itself, especially with regard to the chapters that ! concern the library. The list itself is [68]posted on his website. ! Developers who are having problems interpreting the Standard may wish to consult his notes. ! For those people who are not part of the ISO Library Group (i.e., ! nearly all of us needing to read this page in the first place :-), a ! public list of the library defects is occasionally published [69]here. ! Some of these have resulted in [70]code changes. _________________________________________________________________ 4.4 Things in libstdc++ that look like bugs ! There are things which are not bugs in the compiler (4.2) nor the ! language specification (4.3), but aren't really bugs in libstdc++, either. Really! Please do not report these as bugs. ! -Weffc++ The biggest of these is the quadzillions of warnings about ! the library headers emitted when -Weffc++ is used. Making libstdc++ ! "-Weffc++-clean" is not a goal of the project, for a few reasons. ! Mainly, that option tries to enforce object-oriented programming, ! while the Standard Library isn't necessarily trying to be OO. There are multiple solutions under discussion. ! reopening a stream fails Did I just say that -Weffc++ was our biggest ! false-bug report? I lied. (It used to be.) Today it seems to be reports that after executing a sequence like #include ... *************** New: *** 388,427 **** fs.close(); fs.open("a_new_file"); ! all operations on the re-opened fs will fail, or at least act very ! strangely. Yes, they often will, especially if fs reached the EOF state on the previous file. The reason is that the state flags are not cleared on a successful call to open(). The standard unfortunately did ! not specify behavior in this case, and to everybody's great sorrow, ! the [66]proposed LWG resolution (see DR #22) is to leave the flags ! unchanged. You must insert a call to fs.clear() between the calls to ! close() and open(), and then everything will work like we all expect it to work. ! rel_ops Another is the rel_ops namespace and the template comparison ! operator functions contained therein. If they become visible in the ! same namespace as other comparison functions (e.g., 'using' them and ! the header), then you will suddenly be faced with huge ! numbers of ambiguity errors. This was discussed on the -v3 list; ! Nathan Myers [67]sums things up here. The g++-3 headers are not ours ! If you have found an extremely broken header file which is causing ! problems for you, look carefully before submitting a "high" priority ! bug report (which you probably shouldn't do anyhow; see the last ! paragraph of the page describing [68]the GCC bug database). ! If the headers are in ${prefix}/include/g++-3, then you are using the ! old libstdc++-v2 library, which is nonstandard and unmaintained. Do ! not report problems with -v2 to the -v3 mailing list. ! Currently our header files are installed in ${prefix}/include/g++-v3 ! (see the 'v'?). This may change with the next release of GCC, as it ! may be too confusing, but [69]the question has not yet been decided. ! glibc If you're on a GNU/Linux system and have just upgraded to glibc ! 2.2, but are still using gcc 2.95.2, then you should have read the glibc FAQ, specifically 2.34: 2.34. When compiling C++ programs, I get a compilation error in streambuf.h. --- 454,495 ---- fs.close(); fs.open("a_new_file"); ! all operations on the re-opened fs will fail, or at least act very ! strangely. Yes, they often will, especially if fs reached the EOF state on the previous file. The reason is that the state flags are not cleared on a successful call to open(). The standard unfortunately did ! not specify behavior in this case, and to everybody's great sorrow, ! the [71]proposed LWG resolution (see DR #22) is to leave the flags ! unchanged. You must insert a call to fs.clear() between the calls to ! close() and open(), and then everything will work like we all expect it to work. ! rel_ops Another is the rel_ops namespace and the template comparison ! operator functions contained therein. If they become visible in the ! same namespace as other comparison functions (e.g., 'using' them and ! the header), then you will suddenly be faced with huge ! numbers of ambiguity errors. This was discussed on the -v3 list; ! Nathan Myers [72]sums things up here. The g++-3 headers are not ours ! If you have found an extremely broken header file which is causing ! problems for you, look carefully before submitting a "high" priority ! bug report (which you probably shouldn't do anyhow; see the last ! paragraph of the page describing [73]the GCC bug database). ! If the headers are in ${prefix}/include/g++-3, or if the installed ! library's name looks like libstdc++-2.10.a or libstdc++-libc6-2.10.so, ! then you are using the old libstdc++-v2 library, which is nonstandard ! and unmaintained. Do not report problems with -v2 to the -v3 mailing ! list. ! Currently our header files are installed in ${prefix}/include/g++-v3 ! (see the 'v'?). This may change with the next release of GCC, as it ! may be too confusing, but [74]the question has not yet been decided. ! glibc If you're on a GNU/Linux system and have just upgraded to glibc ! 2.2, but are still using gcc 2.95.2, then you should have read the glibc FAQ, specifically 2.34: 2.34. When compiling C++ programs, I get a compilation error in streambuf.h. *************** type has changed in glibc 2.2. The patc *** 431,466 **** http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff ! Note that 2.95.x shipped with the [70]old v2 library which is no ! longer maintained. Also note that gcc 2.95.3 fixes this problem, but requires a separate patch for libstdc++-v3. concept checks If you see compilation errors containing messages about ! fooConcept and a constraints member function, then most likely you ! have violated one of the requirements for types used during ! instantiation of template containers and functions. For example, ! EqualityComparableConcept appears if your types must be comparable ! with == and you have not provided this capability (a typo, or wrong visibility, or you just plain forgot, etc). ! More information, including how to optionally enable/disable the ! checks, is available [71]here. _________________________________________________________________ 4.5 Aw, that's easy to fix! ! If you have found a bug in the library and you think you have a ! working fix, then send it in! The main GCC site has a page on ! [72]submitting patches that covers the procedure, but for libstdc++ ! you should also send the patch to our mailing list in addition to the ! GCC patches mailing list. The libstdc++ [73]contributors' page also talks about how to submit patches. In addition to the description, the patch, and the ChangeLog entry, it is a Good Thing if you can additionally create a small test program to ! test for the presence of the bug that your patch fixes. Bugs have a ! way of being reintroduced; if an old bug creeps back in, it will be ! caught immediately by the [74]testsuite -- but only if such a test exists. _________________________________________________________________ --- 499,534 ---- http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff ! Note that 2.95.x shipped with the [75]old v2 library which is no ! longer maintained. Also note that gcc 2.95.3 fixes this problem, but requires a separate patch for libstdc++-v3. concept checks If you see compilation errors containing messages about ! fooConcept and a constraints member function, then most likely you ! have violated one of the requirements for types used during ! instantiation of template containers and functions. For example, ! EqualityComparableConcept appears if your types must be comparable ! with == and you have not provided this capability (a typo, or wrong visibility, or you just plain forgot, etc). ! More information, including how to optionally enable/disable the ! checks, is available [76]here. _________________________________________________________________ 4.5 Aw, that's easy to fix! ! If you have found a bug in the library and you think you have a ! working fix, then send it in! The main GCC site has a page on ! [77]submitting patches that covers the procedure, but for libstdc++ ! you should also send the patch to our mailing list in addition to the ! GCC patches mailing list. The libstdc++ [78]contributors' page also talks about how to submit patches. In addition to the description, the patch, and the ChangeLog entry, it is a Good Thing if you can additionally create a small test program to ! test for the presence of the bug that your patch fixes. Bugs have a ! way of being reintroduced; if an old bug creeps back in, it will be ! caught immediately by the [79]testsuite -- but only if such a test exists. _________________________________________________________________ *************** http://clisp.cons.org/~haible/gccinclude *** 468,528 **** 5.1 string::iterator is not char*; vector::iterator is not T* ! If you have code that depends on container iterators being implemented as pointer-to-T, your code is broken. ! While there are arguments for iterators to be implemented in that ! manner, A) they aren't very good ones in the long term, and B) they were never guaranteed by the Standard anyway. The type-safety achieved ! by making iterators a real class rather than a typedef for T* outweighs nearly all opposing arguments. Code which does assume that a vector iterator i is a pointer can often ! be fixed by changing i in certain expressions to &*i . Future ! revisions of the Standard are expected to bless this usage for vector<> (but not for basic_string<>). _________________________________________________________________ 5.2 What's next after libstdc++-v3? ! Hopefully, not much. The goal of libstdc++-v3 is to produce a ! fully-compliant, fully-portable Standard Library. After that, we're mostly done: there won't be any more compliance work to do. However: ! 1. The ISO Committee will meet periodically to review Defect Reports ! in the C++ Standard. Undoubtedly some of these will result in ! changes to the Standard, which will be reflected in patches to ! libstdc++. Some of that is already happening, see 4.2. Some of ! those changes are being predicted by the library maintainers, and ! we add code to the library based on what the current proposed ! resolution specifies. Those additions are listed in [75]the extensions page. ! 2. Performance tuning. Lots of performance tuning. This too is ! already underway for post-3.0 releases, starting with memory ! expansion in container classes and buffer usage in synchronized stream objects. ! 3. An ABI for libstdc++ will eventually be developed, so that multiple binary-incompatible copies of the library can be replaced with a single backwards-compatible library, like libgcc_s.so is. ! 4. The current libstdc++ contains extensions to the Library which must be explicitly requested by client code (for example, the hash tables from SGI). Other extensions may be added to libstdc++-v3 if ! they seem to be "standard" enough. (For example, the "long long" ! type from C99.) Bugfixes and rewrites (to improve or fix thread safety, for instance) will of course be a continuing task. ! [76]This question about the next libstdc++ prompted some brief but ! interesting [77]speculation. _________________________________________________________________ 5.3 What about the STL from SGI? ! The [78]STL from SGI, version 3.3, was the most recent merge of the ! STL codebase. The code in libstdc++ contains many fixes and changes, ! and it is very likely that the SGI code is no longer under active development. We expect that no future merges will take place. In particular, string is not from SGI and makes no use of their "rope" ! class (which is included as an optional extension), nor is valarray and some others. Classes like vector<> are, however. The FAQ for SGI's STL (one jump off of their main page) is recommended --- 536,596 ---- 5.1 string::iterator is not char*; vector::iterator is not T* ! If you have code that depends on container iterators being implemented as pointer-to-T, your code is broken. ! While there are arguments for iterators to be implemented in that ! manner, A) they aren't very good ones in the long term, and B) they were never guaranteed by the Standard anyway. The type-safety achieved ! by making iterators a real class rather than a typedef for T* outweighs nearly all opposing arguments. Code which does assume that a vector iterator i is a pointer can often ! be fixed by changing i in certain expressions to &*i . Future ! revisions of the Standard are expected to bless this usage for vector<> (but not for basic_string<>). _________________________________________________________________ 5.2 What's next after libstdc++-v3? ! Hopefully, not much. The goal of libstdc++-v3 is to produce a ! fully-compliant, fully-portable Standard Library. After that, we're mostly done: there won't be any more compliance work to do. However: ! 1. The ISO Committee will meet periodically to review Defect Reports ! in the C++ Standard. Undoubtedly some of these will result in ! changes to the Standard, which will be reflected in patches to ! libstdc++. Some of that is already happening, see 4.2. Some of ! those changes are being predicted by the library maintainers, and ! we add code to the library based on what the current proposed ! resolution specifies. Those additions are listed in [80]the extensions page. ! 2. Performance tuning. Lots of performance tuning. This too is ! already underway for post-3.0 releases, starting with memory ! expansion in container classes and buffer usage in synchronized stream objects. ! 3. An ABI for libstdc++ will eventually be developed, so that multiple binary-incompatible copies of the library can be replaced with a single backwards-compatible library, like libgcc_s.so is. ! 4. The current libstdc++ contains extensions to the Library which must be explicitly requested by client code (for example, the hash tables from SGI). Other extensions may be added to libstdc++-v3 if ! they seem to be "standard" enough. (For example, the "long long" ! type from C99.) Bugfixes and rewrites (to improve or fix thread safety, for instance) will of course be a continuing task. ! [81]This question about the next libstdc++ prompted some brief but ! interesting [82]speculation. _________________________________________________________________ 5.3 What about the STL from SGI? ! The [83]STL from SGI, version 3.3, was the most recent merge of the ! STL codebase. The code in libstdc++ contains many fixes and changes, ! and it is very likely that the SGI code is no longer under active development. We expect that no future merges will take place. In particular, string is not from SGI and makes no use of their "rope" ! class (which is included as an optional extension), nor is valarray and some others. Classes like vector<> are, however. The FAQ for SGI's STL (one jump off of their main page) is recommended *************** http://clisp.cons.org/~haible/gccinclude *** 531,561 **** 5.4 Extensions and Backward Compatibility ! Although you can specify -I options to make the preprocessor search ! the g++-v3/ext and /backward directories, it is better to refer to files there by their path, as in: #include ! Extensions to the library have [79]their own page. _________________________________________________________________ 5.5 [removed] ! This question has become moot and has been removed. The stub is here to preserve numbering (and hence links/bookmarks). _________________________________________________________________ 5.6 Is libstdc++-v3 thread-safe? ! When the system's libc is itself thread-safe, a non-generic ! implementation of atomicity.h exists for the architecture, and gcc ! itself reports a thread model other than single; libstdc++-v3 strives ! to be thread-safe. The user-code must guard against concurrent method ! calls which may access any particular library object's state. Typically, the application programmer may infer what object locks must ! be held based on the objects referenced in a method call. Without ! getting into great detail, here is an example which requires user-level locks: library_class_a shared_object_a; --- 599,629 ---- 5.4 Extensions and Backward Compatibility ! Although you can specify -I options to make the preprocessor search ! the g++-v3/ext and /backward directories, it is better to refer to files there by their path, as in: #include ! Extensions to the library have [84]their own page. _________________________________________________________________ 5.5 [removed] ! This question has become moot and has been removed. The stub is here to preserve numbering (and hence links/bookmarks). _________________________________________________________________ 5.6 Is libstdc++-v3 thread-safe? ! When the system's libc is itself thread-safe, a non-generic ! implementation of atomicity.h exists for the architecture, and gcc ! itself reports a thread model other than single; libstdc++-v3 strives ! to be thread-safe. The user-code must guard against concurrent method ! calls which may access any particular library object's state. Typically, the application programmer may infer what object locks must ! be held based on the objects referenced in a method call. Without ! getting into great detail, here is an example which requires user-level locks: library_class_a shared_object_a; *************** a *** 569,576 **** // Multiple copies of thread_main() are started in independent threads. ! Under the assumption that object_a and object_b are never exposed to ! another thread, here is an example that should not require any user-level locks: thread_main () { library_class_a object_a; --- 637,644 ---- // Multiple copies of thread_main() are started in independent threads. ! Under the assumption that object_a and object_b are never exposed to ! another thread, here is an example that should not require any user-level locks: thread_main () { library_class_a object_a; *************** a *** 581,612 **** All library objects are safe to use in a multithreaded program as long as each thread carefully locks out access by any other thread while it ! uses any object visible to another thread. This requirement includes ! both read and write access to objects; do not assume that two threads ! may read a shared standard container at the same time. ! See chapters [80]17 (library introduction), [81]23 (containers), and ! [82]27 (I/O) for more information. _________________________________________________________________ 5.7 How do I get a copy of the ISO C++ Standard? ! Copies of the full ISO 14882 standard are available on line via the ! ISO mirror site for committee members. Non-members, or those who have ! not paid for the privilege of sitting on the committee and sustained ! their two-meeting commitment for voting rights, may get a copy of the standard from their respective national standards organization. In the USA, this national standards organization is ANSI and their website is ! right [83]here. (And if you've already registered with them, clicking ! this link will take you to directly to the place where you can [84]buy the standard on-line. ! Who is your country's member body? Visit the [85]ISO homepage and find out! _________________________________________________________________ ! See [86]license.html for copying conditions. Comments and suggestions ! are welcome, and may be sent to [87]the libstdc++ mailing list. References --- 649,728 ---- All library objects are safe to use in a multithreaded program as long as each thread carefully locks out access by any other thread while it ! uses any object visible to another thread. In general, this ! requirement includes both read and write access to objects; unless ! otherwise documented as safe, do not assume that two threads may ! access a shared standard library object at the same time. ! See chapters [85]17 (library introduction), [86]23 (containers), and ! [87]27 (I/O) for more information. _________________________________________________________________ 5.7 How do I get a copy of the ISO C++ Standard? ! Copies of the full ISO 14882 standard are available on line via the ! ISO mirror site for committee members. Non-members, or those who have ! not paid for the privilege of sitting on the committee and sustained ! their two-meeting commitment for voting rights, may get a copy of the standard from their respective national standards organization. In the USA, this national standards organization is ANSI and their website is ! right [88]here. (And if you've already registered with them, clicking ! this link will take you to directly to the place where you can [89]buy the standard on-line. ! Who is your country's member body? Visit the [90]ISO homepage and find out! _________________________________________________________________ ! 5.8 What's an ABI and why is it so messy? ! ! "ABI" stands for "Application Binary Interface." Conventionally, it ! refers to a great mass of details about how arguments are arranged on ! the call stack and/or in registers, and how various types are arranged ! and padded in structs. A single CPU design may suffer multiple ABIs ! designed by different development tool vendors who made different ! choices, or even by the same vendor for different target applications ! or compiler versions. In ideal circumstances the CPU designer presents ! one ABI and all the OSes and compilers use it. In practice every ABI ! omits details that compiler implementers (consciously or accidentally) ! must choose for themselves. ! ! That ABI definition suffices for compilers to generate code so a ! program can interact safely with an OS and its lowest-level libraries. ! Users usually want an ABI to encompass more detail, allowing libraries ! built with different compilers (or different releases of the same ! compiler!) to be linked together. For C++, this includes many more ! details than for C, and CPU designers (for good reasons elaborated ! below) have not stepped up to publish C++ ABIs. The details include ! virtual function implementation, struct inheritance layout, name ! mangling, and exception handling. Such an ABI has been defined for GNU ! C++, and is immediately useful for embedded work relying only on a ! "free-standing implementation" that doesn't include (much of) the ! standard library. It is a good basis for the work to come. ! ! A useful C++ ABI must also incorporate many details of the standard ! library implementation. For a C ABI, the layouts of a few structs ! (such as FILE, stat, jmpbuf, and the like) and a few macros suffice. ! For C++, the details include the complete set of names of functions ! and types used, the offsets of class members and virtual functions, ! and the actual definitions of all inlines. C++ exposes many more ! library details to the caller than C does. It makes defining a ! complete ABI a much bigger undertaking, and requires not just ! documenting library implementation details, but carefully designing ! those details so that future bug fixes and optimizations don't force ! breaking the ABI. ! ! There are ways to help isolate library implementation details from the ! ABI, but they trade off against speed. Library details used in inner ! loops (e.g., getchar) must be exposed and frozen for all time, but ! many others may reasonably be kept hidden from user code, so they may ! later be changed. Deciding which, and implementing the decisions, must ! happen before you can reasonably document a candidate C++ ABI that ! encompasses the standard library. ! _________________________________________________________________ ! ! See [91]license.html for copying conditions. Comments and suggestions ! are welcome, and may be sent to [92]the libstdc++ mailing list. References *************** References *** 627,699 **** 15. ../faq/index.html#2_2 16. ../faq/index.html#2_3 17. ../faq/index.html#2_4 ! 18. ../faq/index.html#3_0 ! 19. ../faq/index.html#3_1 ! 20. ../faq/index.html#3_2 ! 21. ../faq/index.html#3_3 ! 22. ../faq/index.html#4_0 ! 23. ../faq/index.html#4_1 ! 24. ../faq/index.html#4_2 ! 25. ../faq/index.html#4_3 ! 26. ../faq/index.html#4_4 ! 27. ../faq/index.html#4_4_iostreamclear ! 28. ../faq/index.html#4_4_Weff ! 29. ../faq/index.html#4_4_rel_ops ! 30. ../faq/index.html#4_4_interface ! 31. ../faq/index.html#4_4_glibc ! 32. ../faq/index.html#4_4_checks ! 33. ../faq/index.html#4_5 ! 34. ../faq/index.html#5_0 ! 35. ../faq/index.html#5_1 ! 36. ../faq/index.html#5_2 ! 37. ../faq/index.html#5_3 ! 38. ../faq/index.html#5_4 ! 39. ../faq/index.html#5_5 ! 40. ../faq/index.html#5_6 ! 41. ../faq/index.html#5_7 ! 42. http://gcc.gnu.org/libstdc++/download.html ! 43. ../17_intro/DESIGN ! 44. http://gcc.gnu.org/ ! 45. http://gcc.gnu.org/gcc-2.95/buildstat.html ! 46. http://gcc.gnu.org/libstdc++/ ! 47. http://gcc.gnu.org/libstdc++/download.html ! 48. http://gcc.gnu.org/libstdc++/ ! 49. ../17_intro/contribute.html ! 50. http://www.boost.org/ ! 51. http://gcc.gnu.org/fom_serv/cache/33.html ! 52. mailto:libstdc++@gcc.gnu.org ! 53. mailto:pme@gcc.gnu.org ! 54. mailto:gdr@gcc.gnu.org ! 55. ../17_intro/license.html ! 56. ../documentation.html ! 57. ../17_intro/RELEASE-NOTES ! 58. http://www.gnu.org/software/cvs/cvs.html ! 59. http://www.cvshome.org/ ! 60. http://gcc.gnu.org/ml/libstdc++/2000-12/msg00279.html ! 61. http://gcc.gnu.org/install/configure.html ! 62. http://gcc.gnu.org/ml/libstdc++/1998/msg00006.html ! 63. http://www.cantrip.org/draft-bugs.txt ! 64. http://anubis.dkuug.dk/jtc1/sc22/wg21/ ! 65. ../faq/index.html#5_2 ! 66. ../ext/howto.html#5 ! 67. http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html ! 68. http://gcc.gnu.org/gnatswrite.html ! 69. http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html ! 70. ../faq/index.html#4_4_interface ! 71. ../19_diagnostics/howto.html#3 ! 72. http://gcc.gnu.org/contribute.html ! 73. ../17_intro/contribute.html ! 74. ../faq/index.html#2_4 ! 75. ../ext/howto.html#5 ! 76. http://gcc.gnu.org/ml/libstdc++/1999/msg00080.html ! 77. http://gcc.gnu.org/ml/libstdc++/1999/msg00084.html ! 78. http://www.sgi.com/Technology/STL/ ! 79. ../ext/howto.html ! 80. ../17_intro/howto.html#3 ! 81. ../23_containers/howto.html#3 ! 82. ../27_io/howto.html#9 ! 83. http://www.ansi.org/ ! 84. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998 ! 85. http://www.iso.ch/ ! 86. ../17_intro/license.html ! 87. mailto:libstdc++@gcc.gnu.org --- 743,820 ---- 15. ../faq/index.html#2_2 16. ../faq/index.html#2_3 17. ../faq/index.html#2_4 ! 18. ../faq/index.html#2_5 ! 19. ../faq/index.html#3_0 ! 20. ../faq/index.html#3_1 ! 21. ../faq/index.html#3_2 ! 22. ../faq/index.html#3_3 ! 23. ../faq/index.html#3_4 ! 24. ../faq/index.html#4_0 ! 25. ../faq/index.html#4_1 ! 26. ../faq/index.html#4_2 ! 27. ../faq/index.html#4_3 ! 28. ../faq/index.html#4_4 ! 29. ../faq/index.html#4_4_iostreamclear ! 30. ../faq/index.html#4_4_Weff ! 31. ../faq/index.html#4_4_rel_ops ! 32. ../faq/index.html#4_4_interface ! 33. ../faq/index.html#4_4_glibc ! 34. ../faq/index.html#4_4_checks ! 35. ../faq/index.html#4_5 ! 36. ../faq/index.html#5_0 ! 37. ../faq/index.html#5_1 ! 38. ../faq/index.html#5_2 ! 39. ../faq/index.html#5_3 ! 40. ../faq/index.html#5_4 ! 41. ../faq/index.html#5_5 ! 42. ../faq/index.html#5_6 ! 43. ../faq/index.html#5_7 ! 44. ../faq/index.html#5_8 ! 45. http://gcc.gnu.org/libstdc++/download.html ! 46. ../faq/index.html#4_4_interface ! 47. ../17_intro/DESIGN ! 48. http://gcc.gnu.org/ ! 49. http://gcc.gnu.org/gcc-2.95/buildstat.html ! 50. http://gcc.gnu.org/libstdc++/ ! 51. http://gcc.gnu.org/libstdc++/download.html ! 52. http://gcc.gnu.org/libstdc++/ ! 53. ../17_intro/contribute.html ! 54. http://www.boost.org/ ! 55. http://gcc.gnu.org/fom_serv/cache/33.html ! 56. mailto:libstdc++@gcc.gnu.org ! 57. mailto:pme@gcc.gnu.org ! 58. mailto:gdr@gcc.gnu.org ! 59. ../17_intro/license.html ! 60. ../documentation.html ! 61. ../17_intro/RELEASE-NOTES ! 62. http://www.gnu.org/software/cvs/cvs.html ! 63. http://www.cvshome.org/ ! 64. ../18_support/howto.html ! 65. http://gcc.gnu.org/ml/libstdc++/2000-12/msg00279.html ! 66. http://gcc.gnu.org/install/configure.html ! 67. http://gcc.gnu.org/ml/libstdc++/1998/msg00006.html ! 68. http://www.cantrip.org/draft-bugs.txt ! 69. http://anubis.dkuug.dk/jtc1/sc22/wg21/ ! 70. ../faq/index.html#5_2 ! 71. ../ext/howto.html#5 ! 72. http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html ! 73. http://gcc.gnu.org/gnatswrite.html ! 74. http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html ! 75. ../faq/index.html#4_4_interface ! 76. ../19_diagnostics/howto.html#3 ! 77. http://gcc.gnu.org/contribute.html ! 78. ../17_intro/contribute.html ! 79. ../faq/index.html#2_4 ! 80. ../ext/howto.html#5 ! 81. http://gcc.gnu.org/ml/libstdc++/1999/msg00080.html ! 82. http://gcc.gnu.org/ml/libstdc++/1999/msg00084.html ! 83. http://www.sgi.com/Technology/STL/ ! 84. ../ext/howto.html ! 85. ../17_intro/howto.html#3 ! 86. ../23_containers/howto.html#3 ! 87. ../27_io/howto.html#9 ! 88. http://www.ansi.org/ ! 89. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998 ! 90. http://www.iso.ch/ ! 91. ../17_intro/license.html ! 92. mailto:libstdc++@gcc.gnu.org diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/basic_string.tcc gcc-3.0.3/libstdc++-v3/include/bits/basic_string.tcc *** gcc-3.0.2/libstdc++-v3/include/bits/basic_string.tcc Thu Jul 19 17:14:09 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/basic_string.tcc Wed Nov 21 14:05:28 2001 *************** namespace std *** 315,320 **** --- 315,323 ---- { if (__res > this->max_size()) __throw_length_error("basic_string::reserve"); + // Make sure we don't shrink below the current size + if (__res < this->size()) + __res = this->size(); allocator_type __a = get_allocator(); _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size()); _M_rep()->_M_dispose(__a); diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/boost_concept_check.h gcc-3.0.3/libstdc++-v3/include/bits/boost_concept_check.h *** gcc-3.0.2/libstdc++-v3/include/bits/boost_concept_check.h Mon May 14 12:49:03 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/boost_concept_check.h Fri Nov 2 14:40:24 2001 *************** struct _Aux_require_same<_Tp,_Tp> { type *** 87,97 **** template <> struct _IntegerConcept { void __constraints() {} }; template <> struct _IntegerConcept { void __constraints() {} }; template <> struct _IntegerConcept { void __constraints() {} }; - #ifdef _GLIBCPP_USE_LONG_LONG template <> struct _IntegerConcept { void __constraints() {} }; template <> struct _IntegerConcept { void __constraints() {} }; - #endif template struct _SignedIntegerConcept { --- 87,95 ---- *************** struct _Aux_require_same<_Tp,_Tp> { type *** 102,110 **** template <> struct _SignedIntegerConcept { void __constraints() {} }; template <> struct _SignedIntegerConcept { void __constraints() {} }; template <> struct _SignedIntegerConcept { void __constraints() {} }; - #ifdef _GLIBCPP_USE_LONG_LONG template <> struct _SignedIntegerConcept { void __constraints(){}}; - #endif template struct _UnsignedIntegerConcept { --- 100,106 ---- *************** struct _Aux_require_same<_Tp,_Tp> { type *** 118,127 **** { void __constraints() {} }; template <> struct _UnsignedIntegerConcept { void __constraints() {} }; - #ifdef _GLIBCPP_USE_LONG_LONG template <> struct _UnsignedIntegerConcept { void __constraints() {} }; - #endif //=========================================================================== // Basic Concepts --- 114,121 ---- diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/c++config gcc-3.0.3/libstdc++-v3/include/bits/c++config *** gcc-3.0.2/libstdc++-v3/include/bits/c++config Tue Oct 23 00:17:00 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/c++config Thu Dec 20 00:16:43 2001 *************** *** 36,42 **** #include // The current version of the C++ library in compressed ISO date format. ! #define __GLIBCPP__ 20011023 // This is necessary until GCC supports separate template // compilation. --- 36,42 ---- #include // The current version of the C++ library in compressed ISO date format. ! #define __GLIBCPP__ 20011220 // This is necessary until GCC supports separate template // compilation. diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/cpp_type_traits.h gcc-3.0.3/libstdc++-v3/include/bits/cpp_type_traits.h *** gcc-3.0.2/libstdc++-v3/include/bits/cpp_type_traits.h Mon Feb 19 10:57:40 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/cpp_type_traits.h Fri Nov 2 14:40:24 2001 *************** namespace std *** 195,201 **** }; }; - # ifdef _GLIBCPP_USE_LONG_LONG template<> struct __is_integer { --- 195,200 ---- *************** namespace std *** 213,219 **** _M_type = 1 }; }; - # endif // // Floating point types --- 212,217 ---- diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/locale_facets.h gcc-3.0.3/libstdc++-v3/include/bits/locale_facets.h *** gcc-3.0.2/libstdc++-v3/include/bits/locale_facets.h Mon Jun 4 12:30:55 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/locale_facets.h Tue Dec 11 00:01:22 2001 *************** namespace std *** 561,566 **** --- 561,569 ---- _M_get_digits(iter_type __in, iter_type __end) const; }; + // This is the size of the buffer passed to _M_extract + const int _M_extract_buffer_length = 32; + template class num_get : public locale::facet { diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/locale_facets.tcc gcc-3.0.3/libstdc++-v3/include/bits/locale_facets.tcc *** gcc-3.0.2/libstdc++-v3/include/bits/locale_facets.tcc Sun Jun 10 16:41:55 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/locale_facets.tcc Tue Dec 11 00:01:23 2001 *************** namespace std *** 282,288 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32] = {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 282,288 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length] = {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); *************** namespace std *** 347,353 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 347,353 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); *************** namespace std *** 374,380 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32] = {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 374,380 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length] = {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); *************** namespace std *** 402,408 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 402,408 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); *************** namespace std *** 429,435 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 429,435 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); *************** namespace std *** 456,462 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 456,462 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); *************** namespace std *** 483,489 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 483,489 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); *************** namespace std *** 510,516 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32] = {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 510,516 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length] = {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); *************** namespace std *** 537,543 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 537,543 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); *************** namespace std *** 564,570 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 256 for // floating-point types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, true); --- 564,570 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 256 for // floating-point types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, true); *************** namespace std *** 594,600 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 256 for // floating-point types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, true); --- 594,600 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 256 for // floating-point types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, true); *************** namespace std *** 621,627 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 256 for // floating-point types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, true); --- 621,627 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 256 for // floating-point types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, true); *************** namespace std *** 645,651 **** ios_base::iostate& __err, long double& __v) const { // Stage 1: extract ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, true); --- 645,651 ---- ios_base::iostate& __err, long double& __v) const { // Stage 1: extract ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, true); *************** namespace std *** 691,697 **** // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[32]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); --- 691,697 ---- // Stage 1: extract and determine the conversion specifier. // Assuming leading zeros eliminated, thus the size of 32 for // integral types. ! char __xtrc[_M_extract_buffer_length]= {'\0'}; int __base; _M_extract(__beg, __end, __io, __err, __xtrc, __base, false); diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/std_complex.h gcc-3.0.3/libstdc++-v3/include/bits/std_complex.h *** gcc-3.0.2/libstdc++-v3/include/bits/std_complex.h Fri Aug 10 08:32:43 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/std_complex.h Sun Dec 9 18:54:54 2001 *************** *** 40,45 **** --- 40,46 ---- #pragma GCC system_header #include + #include #include #include *************** namespace std *** 237,243 **** { const _Tp __r = _M_real * __z.real() + _M_imag * __z.imag(); const _Tp __n = norm(__z); ! _M_imag = (_M_real * __z.imag() - _M_imag * __z.real()) / __n; _M_real = __r / __n; return *this; } --- 238,244 ---- { const _Tp __r = _M_real * __z.real() + _M_imag * __z.imag(); const _Tp __n = norm(__z); ! _M_imag = (_M_imag * __z.real() - _M_real * __z.imag()) / __n; _M_real = __r / __n; return *this; } *************** namespace std *** 404,410 **** { _Tp __x = __z.real(); _Tp __y = __z.imag(); ! const _Tp __s = abs(__x) + abs(__y); if (__s == _Tp()) // well ... return __s; __x /= __s; --- 405,411 ---- { _Tp __x = __z.real(); _Tp __y = __z.imag(); ! const _Tp __s = max(abs(__x), abs(__y)); if (__s == _Tp()) // well ... return __s; __x /= __s; *************** namespace std *** 417,428 **** arg(const complex<_Tp>& __z) { return atan2(__z.imag(), __z.real()); } template inline _Tp norm(const complex<_Tp>& __z) { ! _Tp __res = abs(__z); ! return __res * __res; } template --- 418,456 ---- arg(const complex<_Tp>& __z) { return atan2(__z.imag(), __z.real()); } + // 26.2.7/5: norm(__z) returns the squared magintude of __z. + // As defined, norm() is -not- a norm is the common mathematical + // sens used in numerics. The helper class _Norm_helper<> tries to + // distinguish between builtin floating point and the rest, so as + // to deliver an answer as close as possible to the real value. + template + struct _Norm_helper + { + template + static inline _Tp _S_do_it(const complex<_Tp>& __z) + { + const _Tp __x = __z.real(); + const _Tp __y = __z.imag(); + return __x * __x + __y * __y; + } + }; + + template<> + struct _Norm_helper + { + template + static inline _Tp _S_do_it(const complex<_Tp>& __z) + { + _Tp __res = abs(__z); + return __res * __res; + } + }; + template inline _Tp norm(const complex<_Tp>& __z) { ! return _Norm_helper<__is_floating<_Tp>::_M_type>::_S_do_it(__z); } template diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/std_limits.h gcc-3.0.3/libstdc++-v3/include/bits/std_limits.h *** gcc-3.0.2/libstdc++-v3/include/bits/std_limits.h Wed Sep 12 00:48:02 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/std_limits.h Fri Nov 2 14:40:24 2001 *************** *** 97,107 **** #ifndef __glibcpp_wchar_t_is_signed #define __glibcpp_wchar_t_is_signed __glibcpp_plain_char_is_signed #endif - #ifdef _GLIBCPP_USE_LONG_LONG #ifndef __glibcpp_long_long_bits #define __glibcpp_long_long_bits 64 #endif - #endif #ifndef __glibcpp_float_bits #define __glibcpp_float_bits 32 #endif --- 97,105 ---- *************** *** 127,137 **** #ifndef __glibcpp_wchar_t_traps #define __glibcpp_wchar_t_traps true #endif - #ifdef _GLIBCPP_USE_LONG_LONG #ifndef __glibcpp_long_long_traps #define __glibcpp_long_long_traps true #endif - #endif // You should not need to define any macros below this point, unless // you have a machine with non-standard bit-widths. --- 125,133 ---- *************** *** 427,434 **** // You must define these macros in the configuration file. #endif - #ifdef _GLIBCPP_USE_LONG_LONG - // long long #define __glibcpp_signed_long_long_traps true --- 423,428 ---- *************** *** 475,482 **** // You must define these macros in the configuration file. #endif - #endif - // wchar_t #define __glibcpp_wchar_t_traps true --- 469,474 ---- *************** namespace std *** 1639,1646 **** #undef __glibcpp_unsigned_long_digits10 #undef __glibcpp_unsigned_long_traps - #ifdef _GLIBCPP_USE_LONG_LONG - template<> struct numeric_limits { --- 1631,1636 ---- *************** namespace std *** 1751,1759 **** #undef __glibcpp_unsigned_long_long_digits #undef __glibcpp_unsigned_long_long_digits10 #undef __glibcpp_unsigned_long_long_traps - - #endif // _GLIBCPP_USE_LONG_LONG - template<> struct numeric_limits --- 1741,1746 ---- diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/stl_deque.h gcc-3.0.3/libstdc++-v3/include/bits/stl_deque.h *** gcc-3.0.2/libstdc++-v3/include/bits/stl_deque.h Wed Jun 27 10:12:28 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/stl_deque.h Fri Nov 16 13:01:23 2001 *************** deque<_Tp,_Alloc>::erase(iterator __firs *** 848,854 **** copy_backward(_M_start, __first, __last); iterator __new_start = _M_start + __n; destroy(_M_start, __new_start); ! _M_destroy_nodes(__new_start._M_node, _M_start._M_node); _M_start = __new_start; } else { --- 848,854 ---- copy_backward(_M_start, __first, __last); iterator __new_start = _M_start + __n; destroy(_M_start, __new_start); ! _M_destroy_nodes(_M_start._M_node, __new_start._M_node); _M_start = __new_start; } else { diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/bits/type_traits.h gcc-3.0.3/libstdc++-v3/include/bits/type_traits.h *** gcc-3.0.2/libstdc++-v3/include/bits/type_traits.h Wed Jun 27 10:12:28 2001 --- gcc-3.0.3/libstdc++-v3/include/bits/type_traits.h Fri Nov 2 14:40:24 2001 *************** template<> struct __type_traits struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; --- 205,210 ---- *************** template<> struct __type_traits struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; --- 221,226 ---- *************** template<> struct _Is_integer struct _Is_integer { typedef __true_type _Integral; }; --- 306,311 ---- *************** template<> struct _Is_integer *** 319,326 **** template<> struct _Is_integer { typedef __true_type _Integral; }; - - #endif /* _GLIBCPP_USE_LONG_LONG */ template struct _Is_normal_iterator { typedef __false_type _Normal; --- 313,318 ---- diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/c_shadow/bits/std_cstdlib.h gcc-3.0.3/libstdc++-v3/include/c_shadow/bits/std_cstdlib.h *** gcc-3.0.2/libstdc++-v3/include/c_shadow/bits/std_cstdlib.h Fri Feb 9 06:12:51 2001 --- gcc-3.0.3/libstdc++-v3/include/c_shadow/bits/std_cstdlib.h Fri Nov 2 14:40:27 2001 *************** namespace _C_legacy { *** 87,93 **** # undef div # undef labs # undef ldiv ! #ifdef _GLIBCPP_USE_LONG_LONG # undef llabs # undef lldiv #endif --- 87,93 ---- # undef div # undef labs # undef ldiv ! #ifdef _GLIBCPP_USE_C99 # undef llabs # undef lldiv #endif *************** namespace std { *** 101,107 **** struct div_t : _C_legacy::_CPP_div_t_capture { }; struct ldiv_t : _C_legacy::_CPP_ldiv_t_capture { }; ! #ifdef _GLIBCPP_USE_LONG_LONG # ifdef _GLIBCPP_HAVE_LLDIV_T struct lldiv_t : _C_legacy::_CPP_lldiv_t_capture { }; # else --- 101,107 ---- struct div_t : _C_legacy::_CPP_div_t_capture { }; struct ldiv_t : _C_legacy::_CPP_ldiv_t_capture { }; ! #ifdef _GLIBCPP_USE_C99 # ifdef _GLIBCPP_HAVE_LLDIV_T struct lldiv_t : _C_legacy::_CPP_lldiv_t_capture { }; # else *************** namespace std { *** 173,179 **** div(long __n, long __d) { ldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } ! #ifdef _GLIBCPP_USE_LONG_LONG inline long long llabs(long long __x) { return __x >= 0 ? __x : -__x; } --- 173,179 ---- div(long __n, long __d) { ldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } ! #ifdef _GLIBCPP_USE_C99 inline long long llabs(long long __x) { return __x >= 0 ? __x : -__x; } diff -Nrc3pad gcc-3.0.2/libstdc++-v3/include/c_shadow/stdlib.h gcc-3.0.3/libstdc++-v3/include/c_shadow/stdlib.h *** gcc-3.0.2/libstdc++-v3/include/c_shadow/stdlib.h Thu Dec 21 14:46:25 2000 --- gcc-3.0.3/libstdc++-v3/include/c_shadow/stdlib.h Fri Nov 2 14:40:26 2001 *************** *** 47,53 **** // some names and types with the std:: C++ version. using std::div_t; using std::ldiv_t; ! #ifdef _GLIBCPP_USE_LONG_LONG using std::lldiv_t; #endif --- 47,53 ---- // some names and types with the std:: C++ version. using std::div_t; using std::ldiv_t; ! #ifdef _GLIBCPP_USE_C99 using std::lldiv_t; #endif diff -Nrc3pad gcc-3.0.2/libstdc++-v3/libio/ChangeLog gcc-3.0.3/libstdc++-v3/libio/ChangeLog *** gcc-3.0.2/libstdc++-v3/libio/ChangeLog Tue Oct 23 10:21:13 2001 --- gcc-3.0.3/libstdc++-v3/libio/ChangeLog Thu Dec 20 11:23:13 2001 *************** *** 1,3 **** --- 1,7 ---- + 2001-12-20 Release Manager + + * GCC 3.0.3 Released. + 2001-10-23 Release Manager * GCC 3.0.2 Released. diff -Nrc3pad gcc-3.0.2/libstdc++-v3/src/limits.cc gcc-3.0.3/libstdc++-v3/src/limits.cc *** gcc-3.0.2/libstdc++-v3/src/limits.cc Sat Aug 11 11:12:18 2001 --- gcc-3.0.3/libstdc++-v3/src/limits.cc Fri Nov 2 14:40:28 2001 *************** namespace std *** 304,311 **** const bool numeric_limits::tinyness_before; const float_round_style numeric_limits::round_style; ! // XXX: Extensions ! #ifdef _GLIBCPP_USE_LONG_LONG const bool numeric_limits::is_specialized; const int numeric_limits::digits; const int numeric_limits::digits10; --- 304,310 ---- const bool numeric_limits::tinyness_before; const float_round_style numeric_limits::round_style; ! // NOTA BENE: long long is an extension const bool numeric_limits::is_specialized; const int numeric_limits::digits; const int numeric_limits::digits10; *************** namespace std *** 351,357 **** const bool numeric_limits::traps; const bool numeric_limits::tinyness_before; const float_round_style numeric_limits::round_style; - #endif // _GLIBCPP_USE_LONG_LONG // float const bool numeric_limits::is_specialized; --- 350,355 ---- diff -Nrc3pad gcc-3.0.2/libstdc++-v3/src/locale.cc gcc-3.0.3/libstdc++-v3/src/locale.cc *** gcc-3.0.2/libstdc++-v3/src/locale.cc Thu Jul 19 17:14:10 2001 --- gcc-3.0.3/libstdc++-v3/src/locale.cc Tue Dec 11 00:01:24 2001 *************** namespace std *** 646,651 **** --- 646,657 ---- } #endif + // This interface passes a fixed size buffer. The function cannot handle + // input longer than the buffer and sets failbit in that case. This is + // not strictly compliant since the input may be valid, but we are stuck + // with this ABI on the 3.0 branch. Since leading zeros are discarded all + // valid integer input should be OK, only floating point input can exceed + // the buffer. template<> void num_get >:: *************** namespace std *** 785,790 **** --- 791,804 ---- { // Try first for acceptable digit; record it if found. __xtrc[__pos++] = __c; + if (__pos == _M_extract_buffer_length) + { + // XXX This is non-compliant, but our fixed-size + // buffer is full. + __xtrc[_M_extract_buffer_length-1] = '\0'; + __err |= ios_base::failbit; + return; + } ++__sep_pos; __testunits = true; ++__beg; *************** namespace std *** 865,870 **** --- 879,892 ---- if (__c == __fmt->_M_decimal_point) { __xtrc[__pos++] = '.'; + if (__pos == _M_extract_buffer_length) + { + // XXX This is non-compliant, but our fixed-size + // buffer is full. + __xtrc[_M_extract_buffer_length-1] = '\0'; + __err |= ios_base::failbit; + return; + } ++__beg; __c = *__beg; *************** namespace std *** 879,884 **** --- 901,914 ---- && __p < &__lits[__cache_type::_S_udigits + __base])) { __xtrc[__pos++] = __c; + if (__pos == _M_extract_buffer_length) + { + // XXX This is non-compliant, but our fixed-size + // buffer is full. + __xtrc[_M_extract_buffer_length-1] = '\0'; + __err |= ios_base::failbit; + return; + } ++__beg; __c = *__beg; __testdec = true; *************** namespace std *** 903,908 **** --- 933,946 ---- || (__c == __lits[__cache_type::_S_Ee])) { __xtrc[__pos++] = __c; + if (__pos == _M_extract_buffer_length) + { + // XXX This is non-compliant, but our fixed-size + // buffer is full. + __xtrc[_M_extract_buffer_length-1] = '\0'; + __err |= ios_base::failbit; + return; + } ++__beg; __c = *__beg; *************** namespace std *** 913,918 **** --- 951,964 ---- || (__c == __lits[__cache_type::_S_plus])) { __xtrc[__pos++] = __c; + if (__pos == _M_extract_buffer_length) + { + // XXX This is non-compliant, but our fixed-size + // buffer is full. + __xtrc[_M_extract_buffer_length-1] = '\0'; + __err |= ios_base::failbit; + return; + } ++__beg; __c = *__beg; // whitespace may follow a sign *************** namespace std *** 939,944 **** --- 985,998 ---- && __p < &__lits[__cache_type::_S_udigits + __base])) { __xtrc[__pos++] = __c; + if (__pos == _M_extract_buffer_length) + { + // XXX This is non-compliant, but our fixed-size + // buffer is full. + __xtrc[_M_extract_buffer_length-1] = '\0'; + __err |= ios_base::failbit; + return; + } ++__beg; __c = *__beg; } diff -Nrc3pad gcc-3.0.2/libstdc++-v3/testsuite/21_strings/capacity.cc gcc-3.0.3/libstdc++-v3/testsuite/21_strings/capacity.cc *** gcc-3.0.2/libstdc++-v3/testsuite/21_strings/capacity.cc Tue Aug 28 14:19:08 2001 --- gcc-3.0.3/libstdc++-v3/testsuite/21_strings/capacity.cc Wed Nov 21 14:05:30 2001 *************** bool test01() *** 169,177 **** --- 169,198 ---- return test; } + // libstdc++/4548 + // http://gcc.gnu.org/ml/libstdc++/2001-11/msg00150.html + bool test02() + { + bool test = true; + + std::string str01 = "twelve chars"; + // str01 becomes shared + std::string str02 = str01; + str01.reserve(1); + VERIFY( str01.capacity() == 12 ); + + #ifdef DEBUG_ASSERT + assert(test); + #endif + + return test; + } + + int main() { test01(); + test02(); return 0; } diff -Nrc3pad gcc-3.0.2/libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc gcc-3.0.3/libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc *** gcc-3.0.2/libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc Tue Aug 28 14:19:09 2001 --- gcc-3.0.3/libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc Tue Dec 11 00:01:26 2001 *************** bool test11() *** 513,518 **** --- 513,596 ---- return test; } + // libstdc++/3720 + // excess input should not cause a core dump + template + bool test12_aux(bool integer_type) + { + bool test = true; + + int digits_overflow; + if (integer_type) + // This many digits will overflow integer types in base 10. + digits_overflow = std::numeric_limits::digits10 + 1; + else + // This might do it, unsure. + digits_overflow = std::numeric_limits::max_exponent10 + 1; + + std::string st; + std::string part = "1234567890123456789012345678901234567890"; + for (int i = 0; i < digits_overflow / part.size() + 1; ++i) + st += part; + std::stringbuf sb(st); + std::istream is(&sb); + T t; + is >> t; + VERIFY(is.fail()); + return test; + } + + bool test12() + { + bool test = true; + VERIFY(test12_aux(true)); + VERIFY(test12_aux(true)); + VERIFY(test12_aux(true)); + VERIFY(test12_aux(false)); + VERIFY(test12_aux(false)); + VERIFY(test12_aux(false)); + return test; + } + + // libstdc++/3720 part two + void test13() + { + using namespace std; + bool test = true; + const char* l1 = "12345678901234567890123456789012345678901234567890123456"; + const char* l2 = "1.2345678901234567890123456789012345678901234567890123456" + " " + "1246.9"; + + // 1 + // used to core. + double d; + istringstream iss1(l2); + iss1 >> d; + // XXX doesn't work on 3.0 branch + // iss1 >> d; + // VERIFY (d > 1246 && d < 1247); + + // 2 + // quick test for failbit on maximum length extraction. + int i; + int max_digits = numeric_limits::digits10; + string digits; + for (int j = 0; j < max_digits; ++j) + digits += '1'; + istringstream iss2(digits); + iss2 >> i; + VERIFY( !iss2.fail() ); + + digits += '1'; + i = 0; + iss2.str(digits); + iss2.clear(); + iss2 >> i; + VERIFY( i == 0 ); + VERIFY( iss2.fail() ); + } + int main() { test01(); *************** int main() *** 526,531 **** --- 604,611 ---- test10(); test11(); + test12(); + test13(); return 0; }