diff -Nrc3pad gcc-3.2/gcc/cp/ChangeLog gcc-3.2.1/gcc/cp/ChangeLog *** gcc-3.2/gcc/cp/ChangeLog Wed Aug 14 09:00:06 2002 --- gcc-3.2.1/gcc/cp/ChangeLog Tue Nov 19 17:48:55 2002 *************** *** 1,3 **** --- 1,280 ---- + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-11 Nathan Sidwell + + PR c++/7788 + * rtti.c (unemitted_tinfo_decl_p): Check it has a field. + + 2002-11-02 Zack Weinberg + + PR c/7353 redux + * decl2.c (grokfield): Reject TYPE_DECLs with initializers. + + 2002-11-01 Gabriel Dos Reis + + PR C++/2521 + * typeck.c (build_x_unary_op): Handle pointer-to-member. + + 2002-10-30 Mark Mitchell + + PR c++/8160 + * typeck2.c (process_init_constructor): Call complete_array_type. + + PR c++/8149 + * decl.c (make_typename_type): Issue errors about invalid results. + + 2002-10-29 Mark Mitchell + + PR c++/8287 + * decl.c (finish_destructor_body): Create the label to jump to + when returning from a destructor here. + (finish_function_body): Rather than here. + + * semantics.c (finish_alignof): Call complete_type before calling + c_alignof. + * decl2.c (build_expr_from_tree): Use + finish_sizeof/finish_alignof. + + 2002-10-10 Jim Wilson + + * decl.c (duplicate_decls): Don't call decl_attributes. + + 2002-10-25 Zack Weinberg + + PR middle-end/6994 + * cp-lang.c (cp_var_mod_type_p): New: C++ hook for + variably_modified_type_p. + * cp-tree.h: Remove prototype of variably_modified_type_p. + * tree.c (variably_modified_type_p): Remove; now implemented + in language-independent code. + + PR c++/7266 + * decl.c (grokdeclarator): Check that TREE_OPERAND 0 of a + SCOPE_REF is not null before dereferencing it. + + 2002-10-24 David Edelsohn + + PR c++/7228 + * cp-tree.h (CLASSTYPE_READONLY_FIELDS_NEED_INIT): Check that + lang_type structure exists before accessing field. + (SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT): New macro. + (CLASSTYPE_REF_FIELDS_NEED_INIT): Similar. + (SET_CLASSTYPE_REF_FIELDS_NEED_INIT): New macro. + * class.c (check_field_decls): Use new macros. + * typeck2.c (process_init_constructor): Remove redundant check for + existence of lang_type structure. + + 2002-10-23 Mark Mitchell + + PR c++/8067 + * decl.c (maybe_inject_for_scope_var): Ignore __FUNCTION__ and + related variables. + + 2002-10-23 Mark Mitchell + + PR c++/7679 + * spew.c (next_token): Do not return an endless stream of + END_OF_SAVED_INPUT tokens. + (snarf_method): Add three END_OF_SAVED_INPUT tokens to the end of + the cached token stream. + (snarf_defarg): Likewise. + + 2002-10-22 Mark Mitchell + + PR c++/6579 + * spew.c (snarf_parenthesized_expression): New function. + (snarf_block): Use it. + + 2002-10-21 Matthias Klose + + * Backport, without whitespace change: + 2002-06-19 Akim Demaille + * parse.y (TYPENAME): Rename as tTYPENAME to avoid the clash with + decl.h's TYPENAME. + * spew.c, lex.c: Adjust. + * parse.y (explicit_instantiation): Add empty action to override + the default $$ = $1 where it introduces a type clash. + + 2002-10-21 Mark Mitchell + + PR c++/8218 + * cp-tree.h (lang_type_class): Add contains_empty_class_p. + (CLASSTYPE_CONTAINS_EMPTY_CLASS_P): New macro. + * class.c (check_bases): Update CLASSTYPE_CONTAINS_EMPTY_CLASS_P. + (check_field_decls): Likewise. + (layout_class_type): Likewise. + (finish_struct_1): Initialize it. + (walk_subobject_offsets): Use it to prune searches. + + 2002-10-18 Zack Weinberg + + * decl.c (start_decl): Point users of the old initialized- + typedef extension at __typeof__. + + 2002-10-18 Nathan Sidwell + + PR c++/7676 + * class.c (add_method): Compare template parms too. + + 2002-10-17 Mark Mitchell + + * mangle.c (globals): Add entity and need_abi_warning. + (write_prefix): Likewise. + (write_template_prefix): Likewise. + (start_mangling): Add entity parameter. + (finish_mangling): Warn about names whose mangling will change. + (mangle_decl_string): Adjust. + (mangle_type_string): Likewise. + (mangle_special_for_type): Likewise. + (mangle_ctor_vtbl_for_type): Likewise. + (mangle_thunk): Likewise. + (mangle_guard_variable): Likewise. + (mangle_ref_init_variable): Likewise. + + PR c++/7584 + * class.c (handle_using_decl): Allow the declaration used to be + from an ambiguous base. + + 2002-10-16 Mark Mitchell + + PR c++/7478 + * cvt.c (convert_to_reference): Allow references as the incoming + type. + + PR c++/8134 + * tree.c (zero_init_p): Always return 1. + + PR c++/7524 + * method.c (do_build_assign_ref): Use cp_build_qualified_type, not + build_qualified_type. + + 2002-10-14 Mark Mitchell + + PR c++/7176 + * lex.c (do_identifier): Add another option for the parsing + parameter. + * parse.y (do_id): Use it. + + 2002-10-11 Mark Mitchell + + PR c++/5661 + * cp-tree.h (variably_modified_type_p): New function. + (grokdeclarator) Tighten check for variably modified types as + fields. + * pt.c (convert_template_argument): Do not allow variably modified + types as template arguments. + * tree.c (variably_modified_type_p): New function. + + 2002-10-11 Jason Molenda + + * init.c (build_field_list): Provide uses_unions_p with a default + value. + + 2002-10-10 Gabriel Dos Reis + + PRs C++/6803, C++/7721 and C++/7803 + * decl.c (grokdeclarator): Gracefully handle template-name as + decl-specifier. + + 2002-10-09 Zack Weinberg + + PR c/7353 + * decl.c (start_decl): Unconditionally issue error for + 'typedef foo = bar'. + (cp_finish_decl): Remove special case for TYPE_DECL with initializer. + (grokdeclarator): Remove redundant error for 'typedef foo = bar'. + + 2002-10-03 Mark Mitchell + + PR c++/7754 + * decl2.c (finish_anon_union): Do not expand anonymous unions when + procesing template functions. + * pt.c (tsubst_decl, case VAR_DECL): Try to complete the variable + type. Call layout_decl. + (tsubst_expr, case DECL_STMT): Handle anonymous unions. + + 2002-10-07 Richard Henderson + + * decl2.c: Complete reversion of c++/7754. + + 2002-10-06 Roger Sayle + + PR optimization/6627 + * cp/cp-tree.h (enum ptrmemfunc_vbit_where_t): Delete definition + from here, and move it to tree.h. + * cp/decl.c (cxx_init_decl_processing): If storing the vbit + in function pointers, ensure that force_align_functions_log + is atleast one. + + 2002-10-04 H.J. Lu (hjl@gnu.org) + + * pt.c (tsubst_decl, case VAR_DECL): Back out the last change. + (tsubst_expr, case DECL_STMT): Likewise. + + 2002-10-02 Mark Mitchell + + PR c++/7754 + * decl2.c (finish_anon_union): Do not expand anonymous unions when + procesing template functions. + * pt.c (tsubst_decl, case VAR_DECL): Try to complete the variable + type. Call layout_decl. + (tsubst_expr, case DECL_STMT): Handle anonymous unions. + + 2002-10-02 Mark Mitchell + + PR c++/7188. + * init.c (expand_member_init): Allow a FIELD_DECL to be passed in + directly. + * pt.c (tsubst_initializer_list): Use expand_member_init. + + 2002-09-04 Jakub Jelinek + + * decl.c (start_cleanup_fn): Clear interface_only before + start_function, restore it afterwards. + + 2002-09-01 Alexandre Oliva + + * parse.y (sizeof, alignof, typeof): New non-terminals to + increment skip_evaluation. Replace terminals with them and + decrement skip_evaluation at the end of rules using them. + * decl2.c (mark_used): Don't assemble_external if + skipping evaluation. + + 2002-08-31 Jason Merrill + + * cp-lang.c (cp_expr_size): Don't abort. + + 2002-08-27 Mark Mitchell + + * cp-tree.h (warn_abi): Declare it. + * decl.c (warn_abi): Define it. + (cxx_decode_option): Set it. + * class.c (layout_virtual_bases): Warn about bugs in G++ that + result in incorrect object layouts. + (layout_class_type): Likewise. + + 2002-08-22 Jason Merrill + + PR c++/5607 + * search.c (check_final_overrider): No longer static. + * class.c (update_vtable_entry_for_fn): Call it. + * cp-tree.h: Adjust. + + * cp-lang.c (LANG_HOOKS_EXPR_SIZE): Define. + (cp_expr_size): New fn. + * call.c (convert_arg_to_ellipsis): Promote non-POD warning to error. + * typeck.c (build_modify_expr): Don't use save_expr on an lvalue. + 2002-08-14 Release Manager * GCC 3.2 Released. *************** *** 298,304 **** 2002-04-29 Nathan Sidwell PR c++/5719 ! * decl.c (grok_op_properties): Assignment ops don't have to return by value. operator% should. 2002-04-28 Franz Sirl --- 575,581 ---- 2002-04-29 Nathan Sidwell PR c++/5719 ! * decl.c (grok_op_properties): Assignment ops don't have to return by value. operator% should. 2002-04-28 Franz Sirl *************** *** 382,388 **** (finish_init_stmts): Set STMT_EXPR_NO_SCOPE. * semantics.c (begin_gobal_stmt_expr): Adjust call to expand_start_stmt_expr. ! 2002-04-15 Mark Mitchell * decl.c (register_dtor_fn): Pass the address of dso_handle, not --- 659,665 ---- (finish_init_stmts): Set STMT_EXPR_NO_SCOPE. * semantics.c (begin_gobal_stmt_expr): Adjust call to expand_start_stmt_expr. ! 2002-04-15 Mark Mitchell * decl.c (register_dtor_fn): Pass the address of dso_handle, not *************** *** 411,421 **** * typeck.c (type_after_usual_arithmetic_conversions): If two types have the same variant, return immediately. ! When two floating-point operands are the same precision: convert to float if one of the operands is float; if neither operand is one of the standard types, return the type of the first operand. ! 2002-04-12 Richard Sandiford * decl.c (duplicate_decls): Don't try to unify an implicit typedef --- 688,698 ---- * typeck.c (type_after_usual_arithmetic_conversions): If two types have the same variant, return immediately. ! When two floating-point operands are the same precision: convert to float if one of the operands is float; if neither operand is one of the standard types, return the type of the first operand. ! 2002-04-12 Richard Sandiford * decl.c (duplicate_decls): Don't try to unify an implicit typedef *************** *** 473,479 **** set before checking it. PR c++/6179 ! * method.c (implicitly_declare_fn): Pass unqualified type to synthesize_exception_spec. 2002-04-03 Jason Merrill --- 750,756 ---- set before checking it. PR c++/6179 ! * method.c (implicitly_declare_fn): Pass unqualified type to synthesize_exception_spec. 2002-04-03 Jason Merrill *************** *** 538,544 **** PR c++/4884 * call.c (build_op_delete_call): Allow for the fact the placement may be a COMPOUND_EXPR. ! 2002-03-26 Nathan Sidwell PR c++/5682 --- 815,821 ---- PR c++/4884 * call.c (build_op_delete_call): Allow for the fact the placement may be a COMPOUND_EXPR. ! 2002-03-26 Nathan Sidwell PR c++/5682 *************** *** 592,598 **** 2002-03-18 Ashif Harji ! * lang-specs.h (compiler default_compilers): Add -no-integrated-cpp flag to invoke an external cpp. 2002-03-18 Jason Merrill --- 869,875 ---- 2002-03-18 Ashif Harji ! * lang-specs.h (compiler default_compilers): Add -no-integrated-cpp flag to invoke an external cpp. 2002-03-18 Jason Merrill *************** *** 709,715 **** with pointer to member conversions. 2002-03-08 Craig Rodrigues ! * cp-tree.h (CLEAR_BINFO_MARKED): Make both parts of conditional return void. --- 986,992 ---- with pointer to member conversions. 2002-03-08 Craig Rodrigues ! * cp-tree.h (CLEAR_BINFO_MARKED): Make both parts of conditional return void. *************** *** 743,749 **** * decl.c (finish_function): Only warn about missing return statement with -Wreturn-type. ! 2002-02-24 Craig Rodrigues PR c++/4093 * cp-tree.h (SET_BINFO_MARKED): Cast false part of condition --- 1020,1026 ---- * decl.c (finish_function): Only warn about missing return statement with -Wreturn-type. ! 2002-02-24 Craig Rodrigues PR c++/4093 * cp-tree.h (SET_BINFO_MARKED): Cast false part of condition *************** *** 797,803 **** 2002-02-19 Jason Merrill ! ABI change: Mangle `void (A::*)() const' as M1AKFvvE, not MK1AFvvE. * mangle.c (write_function_type): Write cv-quals for member function type here. --- 1074,1080 ---- 2002-02-19 Jason Merrill ! ABI change: Mangle `void (A::*)() const' as M1AKFvvE, not MK1AFvvE. * mangle.c (write_function_type): Write cv-quals for member function type here. *************** *** 872,885 **** (coerce_template_template_parms, convert_template_argument, coerce_template_parms, maybe_get_template_decl_from_type_decl, lookup_template_class, tsubst_friend_function, tsubst_friend_class, ! instantiate_class_template, tsubst_template_arg_vector, ! tsubst_template_parms, tsubst_aggr_type, tsubst_default_argument, tsubst_decl, tsubst_arg_types, tsubst_function_type, ! tsubst_call_declarator_parms, tsubst, tsubst_copy, tsubst_expr, instantiate_template, fn_type_unification, ! resolve_overloaded_unification, verify_class_unification, ! unify, get_bindings_real, do_type_instantiation, ! regenerate_decl_from_template, instantiate_decl, tsubst_initializer_list, tsubst_enum, get_mostly_instantiated_function_type, invalid_nontype_parm_type_p): Likewise. --- 1149,1162 ---- (coerce_template_template_parms, convert_template_argument, coerce_template_parms, maybe_get_template_decl_from_type_decl, lookup_template_class, tsubst_friend_function, tsubst_friend_class, ! instantiate_class_template, tsubst_template_arg_vector, ! tsubst_template_parms, tsubst_aggr_type, tsubst_default_argument, tsubst_decl, tsubst_arg_types, tsubst_function_type, ! tsubst_call_declarator_parms, tsubst, tsubst_copy, tsubst_expr, instantiate_template, fn_type_unification, ! resolve_overloaded_unification, verify_class_unification, ! unify, get_bindings_real, do_type_instantiation, ! regenerate_decl_from_template, instantiate_decl, tsubst_initializer_list, tsubst_enum, get_mostly_instantiated_function_type, invalid_nontype_parm_type_p): Likewise. *************** *** 940,946 **** 2002-02-01 Jason Merrill PR c++/4872 ! * decl.c (finish_function): Warn about a non-void function with no return statement and no abnormal exit. * cp-tree.h (struct cp_language_function): Add returns_abnormally. (current_function_returns_abnormally): New macro. --- 1217,1223 ---- 2002-02-01 Jason Merrill PR c++/4872 ! * decl.c (finish_function): Warn about a non-void function with no return statement and no abnormal exit. * cp-tree.h (struct cp_language_function): Add returns_abnormally. (current_function_returns_abnormally): New macro. diff -Nrc3pad gcc-3.2/gcc/cp/call.c gcc-3.2.1/gcc/cp/call.c *** gcc-3.2/gcc/cp/call.c Sat Apr 13 01:31:06 2002 --- gcc-3.2.1/gcc/cp/call.c Fri Aug 23 12:00:40 2002 *************** convert_arg_to_ellipsis (arg) *** 4022,4030 **** if (arg != error_mark_node && ! pod_type_p (TREE_TYPE (arg))) { ! /* Undefined behaviour [expr.call] 5.2.2/7. */ ! warning ("cannot pass objects of non-POD type `%#T' through `...'", ! TREE_TYPE (arg)); } return arg; --- 4022,4033 ---- if (arg != error_mark_node && ! pod_type_p (TREE_TYPE (arg))) { ! /* Undefined behaviour [expr.call] 5.2.2/7. We used to just warn ! here and do a bitwise copy, but now cp_expr_size will abort if we ! try to do that. */ ! error ("cannot pass objects of non-POD type `%#T' through `...'", ! TREE_TYPE (arg)); ! arg = error_mark_node; } return arg; diff -Nrc3pad gcc-3.2/gcc/cp/class.c gcc-3.2.1/gcc/cp/class.c *** gcc-3.2/gcc/cp/class.c Sun Aug 4 13:09:31 2002 --- gcc-3.2.1/gcc/cp/class.c Fri Oct 25 15:20:28 2002 *************** add_method (type, method, error_p) *** 945,950 **** --- 945,957 ---- && (TYPE_QUALS (TREE_TYPE (TREE_VALUE (parms1))) != TYPE_QUALS (TREE_TYPE (TREE_VALUE (parms2))))) same = 0; + + /* For templates, the template parms must be identical. */ + if (TREE_CODE (fn) == TEMPLATE_DECL + && !comp_template_parms (DECL_TEMPLATE_PARMS (fn), + DECL_TEMPLATE_PARMS (method))) + same = 0; + if (! DECL_STATIC_FUNCTION_P (fn)) parms1 = TREE_CHAIN (parms1); if (! DECL_STATIC_FUNCTION_P (method)) *************** handle_using_decl (using_decl, t) *** 1150,1158 **** tree flist = NULL_TREE; tree old_value; ! binfo = binfo_or_else (ctype, t); if (! binfo) ! return; if (name == constructor_name (ctype) || name == constructor_name_full (ctype)) --- 1157,1168 ---- tree flist = NULL_TREE; tree old_value; ! binfo = lookup_base (t, ctype, ba_any, NULL); if (! binfo) ! { ! error_not_base_type (t, ctype); ! return; ! } if (name == constructor_name (ctype) || name == constructor_name_full (ctype)) *************** check_bases (t, cant_have_default_ctor_p *** 1338,1343 **** --- 1348,1355 ---- TYPE_OVERLOADS_ARRAY_REF (t) |= TYPE_OVERLOADS_ARRAY_REF (basetype); TYPE_OVERLOADS_ARROW (t) |= TYPE_OVERLOADS_ARROW (basetype); TYPE_POLYMORPHIC_P (t) |= TYPE_POLYMORPHIC_P (basetype); + CLASSTYPE_CONTAINS_EMPTY_CLASS_P (t) + |= CLASSTYPE_CONTAINS_EMPTY_CLASS_P (basetype); } } *************** update_vtable_entry_for_fn (t, binfo, fn *** 2454,2459 **** --- 2466,2475 ---- if (overrider == error_mark_node) return; + /* Check for unsupported covariant returns again now that we've + calculated the base offsets. */ + check_final_overrider (TREE_PURPOSE (overrider), fn); + /* Assume that we will produce a thunk that convert all the way to the final overrider, and not to an intermediate virtual base. */ virtual_base = NULL_TREE; *************** check_field_decls (t, access_decls, empt *** 3233,3242 **** --- 3249,3266 ---- ; else { + tree element_type; + /* The class is non-empty. */ *empty_p = 0; /* The class is not even nearly empty. */ CLASSTYPE_NEARLY_EMPTY_P (t) = 0; + /* If one of the data members contains an empty class, + so does T. */ + element_type = strip_array_types (type); + if (CLASS_TYPE_P (element_type) + && CLASSTYPE_CONTAINS_EMPTY_CLASS_P (element_type)) + CLASSTYPE_CONTAINS_EMPTY_CLASS_P (t) = 1; } } *************** check_field_decls (t, access_decls, empt *** 3318,3324 **** { CLASSTYPE_NON_POD_P (t) = 1; if (DECL_INITIAL (x) == NULL_TREE) ! CLASSTYPE_REF_FIELDS_NEED_INIT (t) = 1; /* ARM $12.6.2: [A member initializer list] (or, for an aggregate, initialization by a brace-enclosed list) is the --- 3342,3348 ---- { CLASSTYPE_NON_POD_P (t) = 1; if (DECL_INITIAL (x) == NULL_TREE) ! SET_CLASSTYPE_REF_FIELDS_NEED_INIT (t, 1); /* ARM $12.6.2: [A member initializer list] (or, for an aggregate, initialization by a brace-enclosed list) is the *************** check_field_decls (t, access_decls, empt *** 3352,3358 **** { C_TYPE_FIELDS_READONLY (t) = 1; if (DECL_INITIAL (x) == NULL_TREE) ! CLASSTYPE_READONLY_FIELDS_NEED_INIT (t) = 1; /* ARM $12.6.2: [A member initializer list] (or, for an aggregate, initialization by a brace-enclosed list) is the --- 3376,3382 ---- { C_TYPE_FIELDS_READONLY (t) = 1; if (DECL_INITIAL (x) == NULL_TREE) ! SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT (t, 1); /* ARM $12.6.2: [A member initializer list] (or, for an aggregate, initialization by a brace-enclosed list) is the *************** check_field_decls (t, access_decls, empt *** 3368,3375 **** else if (IS_AGGR_TYPE (type)) { C_TYPE_FIELDS_READONLY (t) |= C_TYPE_FIELDS_READONLY (type); ! CLASSTYPE_READONLY_FIELDS_NEED_INIT (t) ! |= CLASSTYPE_READONLY_FIELDS_NEED_INIT (type); } /* Core issue 80: A nonstatic data member is required to have a --- 3392,3400 ---- else if (IS_AGGR_TYPE (type)) { C_TYPE_FIELDS_READONLY (t) |= C_TYPE_FIELDS_READONLY (type); ! SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT (t, ! CLASSTYPE_READONLY_FIELDS_NEED_INIT (t) ! | CLASSTYPE_READONLY_FIELDS_NEED_INIT (type)); } /* Core issue 80: A nonstatic data member is required to have a *************** walk_subobject_offsets (type, f, offset, *** 3503,3508 **** --- 3528,3537 ---- tree field; int i; + /* Avoid recursing into objects that are not interesting. */ + if (!CLASSTYPE_CONTAINS_EMPTY_CLASS_P (type)) + return 0; + /* Record the location of TYPE. */ r = (*f) (type, offset, offsets); if (r) *************** walk_subobject_offsets (type, f, offset, *** 3548,3556 **** --- 3577,3591 ---- } else if (TREE_CODE (type) == ARRAY_TYPE) { + tree element_type = strip_array_types (type); tree domain = TYPE_DOMAIN (type); tree index; + /* Avoid recursing into objects that are not interesting. */ + if (!CLASS_TYPE_P (element_type) + || !CLASSTYPE_CONTAINS_EMPTY_CLASS_P (element_type)) + return 0; + /* Step through each of the elements in the array. */ for (index = size_zero_node; INT_CST_LT (index, TYPE_MAX_VALUE (domain)); *************** check_bases_and_members (t, empty_p) *** 4263,4268 **** --- 4298,4304 ---- /* Assume that the class is nearly empty; we'll clear this flag if it turns out not to be nearly empty. */ CLASSTYPE_NEARLY_EMPTY_P (t) = 1; + CLASSTYPE_CONTAINS_EMPTY_CLASS_P (t) = 0; /* Check all the base-classes. */ check_bases (t, &cant_have_default_ctor, &cant_have_const_ctor, *************** layout_virtual_bases (t, offsets) *** 4553,4558 **** --- 4589,4595 ---- { tree vbases, dsize; unsigned HOST_WIDE_INT eoc; + bool first_vbase = true; if (CLASSTYPE_N_BASECLASSES (t) == 0) return; *************** layout_virtual_bases (t, offsets) *** 4580,4585 **** --- 4617,4623 ---- if (!TREE_VIA_VIRTUAL (vbases)) continue; + vbase = binfo_for_vbase (BINFO_TYPE (vbases), t); if (!BINFO_PRIMARY_P (vbase)) *************** layout_virtual_bases (t, offsets) *** 4597,4603 **** /* Add padding so that we can put the virtual base class at an appropriately aligned offset. */ dsize = round_up (dsize, desired_align); - usize = size_binop (CEIL_DIV_EXPR, dsize, bitsize_unit_node); /* We try to squish empty virtual bases in just like --- 4635,4640 ---- *************** layout_virtual_bases (t, offsets) *** 4625,4635 **** --- 4662,4691 ---- CLASSTYPE_SIZE (basetype))); } + /* If the first virtual base might have been placed at a + lower address, had we started from CLASSTYPE_SIZE, rather + than TYPE_SIZE, issue a warning. There can be both false + positives and false negatives from this warning in rare + cases; to deal with all the possibilities would probably + require performing both layout algorithms and comparing + the results which is not particularly tractable. */ + if (warn_abi + && first_vbase + && tree_int_cst_lt (size_binop (CEIL_DIV_EXPR, + round_up (CLASSTYPE_SIZE (t), + desired_align), + bitsize_unit_node), + BINFO_OFFSET (vbase))) + warning ("offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC", + basetype); + /* Keep track of the offsets assigned to this virtual base. */ record_subobject_offsets (BINFO_TYPE (vbase), BINFO_OFFSET (vbase), offsets, /*vbases_p=*/0); + + first_vbase = false; } } *************** layout_class_type (t, empty_p, vfuns_p, *** 4767,4772 **** --- 4823,4830 ---- /* Maps offsets (represented as INTEGER_CSTs) to a TREE_LIST of types that appear at that offset. */ splay_tree empty_base_offsets; + /* True if the last field layed out was a bit-field. */ + bool last_field_was_bitfield = false; /* Keep track of the first non-static data member. */ non_static_data_members = TYPE_FIELDS (t); *************** layout_class_type (t, empty_p, vfuns_p, *** 4856,4861 **** --- 4914,4931 ---- layout_nonempty_base_or_field (rli, field, NULL_TREE, empty_base_offsets, t); + /* If a bit-field does not immediately follow another bit-field, + and yet it starts in the middle of a byte, we have failed to + comply with the ABI. */ + if (warn_abi + && DECL_C_BIT_FIELD (field) + && !last_field_was_bitfield + && !integer_zerop (size_binop (TRUNC_MOD_EXPR, + DECL_FIELD_BIT_OFFSET (field), + bitsize_unit_node))) + cp_warning_at ("offset of `%D' is not ABI-compliant and may change in a future version of GCC", + field); + /* If we needed additional padding after this field, add it now. */ if (padding) *************** layout_class_type (t, empty_p, vfuns_p, *** 4873,4878 **** --- 4943,4950 ---- NULL_TREE, empty_base_offsets, t); } + + last_field_was_bitfield = DECL_C_BIT_FIELD (field); } /* It might be the case that we grew the class to allocate a *************** layout_class_type (t, empty_p, vfuns_p, *** 4934,4939 **** --- 5006,5015 ---- CLASSTYPE_ALIGN (t) = TYPE_ALIGN (t); CLASSTYPE_USER_ALIGN (t) = TYPE_USER_ALIGN (t); + /* Every empty class contains an empty class. */ + if (*empty_p) + CLASSTYPE_CONTAINS_EMPTY_CLASS_P (t) = 1; + /* Set the TYPE_DECL for this type to contain the right value for DECL_OFFSET, so that we can use it as part of a COMPONENT_REF for multiple inheritance. */ diff -Nrc3pad gcc-3.2/gcc/cp/cp-lang.c gcc-3.2.1/gcc/cp/cp-lang.c *** gcc-3.2/gcc/cp/cp-lang.c Thu May 23 17:57:42 2002 --- gcc-3.2.1/gcc/cp/cp-lang.c Fri Oct 25 22:11:13 2002 *************** Boston, MA 02111-1307, USA. */ *** 28,34 **** #include "langhooks.h" #include "langhooks-def.h" ! static HOST_WIDE_INT cxx_get_alias_set PARAMS ((tree)); #undef LANG_HOOKS_NAME #define LANG_HOOKS_NAME "GNU C++" --- 28,36 ---- #include "langhooks.h" #include "langhooks-def.h" ! static HOST_WIDE_INT cxx_get_alias_set PARAMS ((tree)); ! static tree cp_expr_size PARAMS ((tree)); ! static bool cp_var_mod_type_p PARAMS ((tree)); #undef LANG_HOOKS_NAME #define LANG_HOOKS_NAME "GNU C++" *************** static HOST_WIDE_INT cxx_get_alias_set P *** 83,88 **** --- 85,92 ---- cp_copy_res_decl_for_inlining #undef LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P #define LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P anon_aggr_type_p + #undef LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P + #define LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P cp_var_mod_type_p #undef LANG_HOOKS_TREE_INLINING_START_INLINING #define LANG_HOOKS_TREE_INLINING_START_INLINING cp_start_inlining #undef LANG_HOOKS_TREE_INLINING_END_INLINING *************** static HOST_WIDE_INT cxx_get_alias_set P *** 91,96 **** --- 95,102 ---- #define LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN cp_dump_tree #undef LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN #define LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN cp_type_quals + #undef LANG_HOOKS_EXPR_SIZE + #define LANG_HOOKS_EXPR_SIZE cp_expr_size /* Each front end provides its own hooks, for toplev.c. */ const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER; *************** cxx_get_alias_set (t) *** 108,110 **** --- 114,153 ---- return c_common_get_alias_set (t); } + + /* Langhook for expr_size: Tell the backend that the value of an expression + of non-POD class type does not include any tail padding; a derived class + might have allocated something there. */ + + static tree + cp_expr_size (exp) + tree exp; + { + if (CLASS_TYPE_P (TREE_TYPE (exp))) + { + /* This would be wrong for a type with virtual bases, but they should + not get here. */ + return CLASSTYPE_SIZE_UNIT (TREE_TYPE (exp)); + } + else + /* Use the default code. */ + return lhd_expr_size (exp); + } + + /* Returns true if T is a variably modified type, in the sense of C99. + This routine needs only check cases that cannot be handled by the + language-independent logic in tree-inline.c. */ + + static bool + cp_var_mod_type_p (tree type) + { + /* If TYPE is a pointer-to-member, it is variably modified if either + the class or the member are variably modified. */ + if (TYPE_PTRMEM_P (type) || TYPE_PTRMEMFUNC_P (type)) + return (variably_modified_type_p (TYPE_PTRMEM_CLASS_TYPE (type)) + || variably_modified_type_p (TYPE_PTRMEM_POINTED_TO_TYPE (type))); + + /* All other types are not variably modified. */ + return false; + } + diff -Nrc3pad gcc-3.2/gcc/cp/cp-tree.h gcc-3.2.1/gcc/cp/cp-tree.h *** gcc-3.2/gcc/cp/cp-tree.h Fri Jul 26 23:23:00 2002 --- gcc-3.2.1/gcc/cp/cp-tree.h Fri Oct 25 22:11:14 2002 *************** extern int flag_operator_names; *** 934,939 **** --- 934,944 ---- extern int flag_gnu_binutils; + /* Nonzero means warn about things that will change when compiling + with an ABI-compliant compiler. */ + + extern int warn_abi; + /* Nonzero means warn about implicit declarations. */ extern int warn_implicit; *************** struct lang_type *** 1246,1251 **** --- 1251,1257 ---- unsigned java_interface : 1; unsigned non_zero_init : 1; + unsigned contains_empty_class_p : 1; /* When adding a flag here, consider whether or not it ought to apply to a template instance if it applies to the template. If *************** struct lang_type *** 1254,1260 **** /* There are some bits left to fill out a 32-bit word. Keep track of this by updating the size of this bitfield whenever you add or remove a flag. */ ! unsigned dummy : 7; int vsize; --- 1260,1266 ---- /* There are some bits left to fill out a 32-bit word. Keep track of this by updating the size of this bitfield whenever you add or remove a flag. */ ! unsigned dummy : 6; int vsize; *************** struct lang_type *** 1515,1520 **** --- 1521,1530 ---- #define CLASSTYPE_NEARLY_EMPTY_P(NODE) \ (TYPE_LANG_SPECIFIC (NODE)->nearly_empty_p) + /* Nonzero if this class contains an empty subobject. */ + #define CLASSTYPE_CONTAINS_EMPTY_CLASS_P(NODE) \ + (TYPE_LANG_SPECIFIC (NODE)->contains_empty_class_p) + /* A list of class types of which this type is a friend. The TREE_VALUE is normally a TYPE, but will be a TEMPLATE_DECL in the case of a template friend. */ *************** struct lang_type *** 1529,1541 **** #define CLASSTYPE_DECLARED_CLASS(NODE) \ (TYPE_LANG_SPECIFIC (NODE)->declared_class) ! /* Nonzero if this class has const members which have no specified initialization. */ ! #define CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE) \ ! (TYPE_LANG_SPECIFIC (NODE)->const_needs_init) ! /* Nonzero if this class has ref members which have no specified initialization. */ ! #define CLASSTYPE_REF_FIELDS_NEED_INIT(NODE) \ ! (TYPE_LANG_SPECIFIC (NODE)->ref_needs_init) /* Nonzero if this class is included from a header file which employs `#pragma interface', and it is not included in its implementation file. */ --- 1539,1559 ---- #define CLASSTYPE_DECLARED_CLASS(NODE) \ (TYPE_LANG_SPECIFIC (NODE)->declared_class) ! /* Nonzero if this class has const members ! which have no specified initialization. */ ! #define CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE) \ ! (TYPE_LANG_SPECIFIC (NODE) \ ! ? TYPE_LANG_SPECIFIC (NODE)->const_needs_init : 0) ! #define SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE, VALUE) \ ! (TYPE_LANG_SPECIFIC (NODE)->const_needs_init = (VALUE)) ! /* Nonzero if this class has ref members ! which have no specified initialization. */ ! #define CLASSTYPE_REF_FIELDS_NEED_INIT(NODE) \ ! (TYPE_LANG_SPECIFIC (NODE) \ ! ? TYPE_LANG_SPECIFIC (NODE)->ref_needs_init : 0) ! #define SET_CLASSTYPE_REF_FIELDS_NEED_INIT(NODE, VALUE) \ ! (TYPE_LANG_SPECIFIC (NODE)->ref_needs_init = (VALUE)) /* Nonzero if this class is included from a header file which employs `#pragma interface', and it is not included in its implementation file. */ *************** extern int flag_new_for_scope; *** 2552,2583 **** member function. [expr.unary.op]/3 */ #define PTRMEM_OK_P(NODE) TREE_LANG_FLAG_0 (NODE) - /* A pointer-to-function member type looks like: - - struct { - __P __pfn; - ptrdiff_t __delta; - }; - - If __pfn is NULL, it is a NULL pointer-to-member-function. - - (Because the vtable is always the first thing in the object, we - don't need its offset.) If the function is virtual, then PFN is - one plus twice the index into the vtable; otherwise, it is just a - pointer to the function. - - Unfortunately, using the lowest bit of PFN doesn't work in - architectures that don't impose alignment requirements on function - addresses, or that use the lowest bit to tell one ISA from another, - for example. For such architectures, we use the lowest bit of - DELTA instead of the lowest bit of the PFN, and DELTA will be - multiplied by 2. */ - enum ptrmemfunc_vbit_where_t - { - ptrmemfunc_vbit_in_pfn, - ptrmemfunc_vbit_in_delta - }; - /* Get the POINTER_TYPE to the METHOD_TYPE associated with this pointer to member function. TYPE_PTRMEMFUNC_P _must_ be true, before using this macro. */ --- 2570,2575 ---- *************** extern tree lookup_conversions PARAMS *** 4084,4089 **** --- 4076,4082 ---- extern tree binfo_for_vtable PARAMS ((tree)); extern tree binfo_from_vbase PARAMS ((tree)); extern tree look_for_overrides_here PARAMS ((tree, tree)); + extern int check_final_overrider PARAMS ((tree, tree)); extern tree dfs_walk PARAMS ((tree, tree (*) (tree, void *), tree (*) (tree, void *), diff -Nrc3pad gcc-3.2/gcc/cp/cvt.c gcc-3.2.1/gcc/cp/cvt.c *** gcc-3.2/gcc/cp/cvt.c Fri Jul 5 22:11:38 2002 --- gcc-3.2.1/gcc/cp/cvt.c Thu Oct 17 00:15:37 2002 *************** convert_to_reference (reftype, expr, con *** 464,475 **** tree decl; { register tree type = TYPE_MAIN_VARIANT (TREE_TYPE (reftype)); ! register tree intype = TREE_TYPE (expr); tree rval = NULL_TREE; tree rval_as_conversion = NULL_TREE; int i; ! if (TREE_CODE (type) == FUNCTION_TYPE && intype == unknown_type_node) { expr = instantiate_type (type, expr, (flags & LOOKUP_COMPLAIN) --- 464,476 ---- tree decl; { register tree type = TYPE_MAIN_VARIANT (TREE_TYPE (reftype)); ! register tree intype; tree rval = NULL_TREE; tree rval_as_conversion = NULL_TREE; int i; ! if (TREE_CODE (type) == FUNCTION_TYPE ! && TREE_TYPE (expr) == unknown_type_node) { expr = instantiate_type (type, expr, (flags & LOOKUP_COMPLAIN) *************** convert_to_reference (reftype, expr, con *** 479,484 **** --- 480,490 ---- intype = TREE_TYPE (expr); } + else + { + expr = convert_from_reference (expr); + intype = TREE_TYPE (expr); + } my_friendly_assert (TREE_CODE (intype) != REFERENCE_TYPE, 364); diff -Nrc3pad gcc-3.2/gcc/cp/decl.c gcc-3.2.1/gcc/cp/decl.c *** gcc-3.2/gcc/cp/decl.c Tue Jul 9 23:46:07 2002 --- gcc-3.2.1/gcc/cp/decl.c Thu Oct 31 00:02:33 2002 *************** duplicate_decls (newdecl, olddecl) *** 3500,3506 **** except for any that we copy here from the old type. */ DECL_ATTRIBUTES (newdecl) = (*targetm.merge_decl_attributes) (olddecl, newdecl); - decl_attributes (&newdecl, DECL_ATTRIBUTES (newdecl), 0); if (TREE_CODE (newdecl) == TEMPLATE_DECL) { --- 3500,3505 ---- *************** make_typename_type (context, name, compl *** 5760,5765 **** --- 5759,5770 ---- t = lookup_field (context, name, 0, 1); if (t) { + if (TREE_CODE (t) != TYPE_DECL) + { + if (complain & tf_error) + error ("no type named `%#T' in `%#T'", name, context); + return error_mark_node; + } if (DECL_ARTIFICIAL (t) || !(complain & tf_keep_type_decl)) t = TREE_TYPE (t); if (IMPLICIT_TYPENAME_P (t)) *************** cxx_init_decl_processing () *** 6517,6522 **** --- 6522,6533 ---- flag_inline_functions = 0; } + /* Force minimum function alignment if using the least significant + bit of function pointers to store the virtual bit. */ + if (TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_pfn + && force_align_functions_log < 1) + force_align_functions_log = 1; + /* Initially, C. */ current_lang_name = lang_name_c; *************** start_decl (declarator, declspecs, initi *** 7322,7335 **** switch (TREE_CODE (decl)) { case TYPE_DECL: ! /* typedef foo = bar means give foo the same type as bar. ! We haven't parsed bar yet, so `cp_finish_decl' will fix that up. ! Any other case of an initialization in a TYPE_DECL is an error. */ ! if (pedantic || list_length (declspecs) > 1) ! { ! error ("typedef `%D' is initialized", decl); ! initialized = 0; ! } break; case FUNCTION_DECL: --- 7333,7340 ---- switch (TREE_CODE (decl)) { case TYPE_DECL: ! error ("typedef `%D' is initialized (use __typeof__ instead)", decl); ! initialized = 0; break; case FUNCTION_DECL: *************** maybe_inject_for_scope_var (decl) *** 8026,8031 **** --- 8031,8042 ---- { if (!DECL_NAME (decl)) return; + + /* Declarations of __FUNCTION__ and its ilk appear magically when + the variable is first used. If that happens to be inside a + for-loop, we don't want to do anything special. */ + if (DECL_PRETTY_FUNCTION_P (decl)) + return; if (current_binding_level->is_for_scope) { *************** cp_finish_decl (decl, init, asmspec_tree *** 8241,8252 **** /* Take care of TYPE_DECLs up front. */ if (TREE_CODE (decl) == TYPE_DECL) { - if (init && DECL_INITIAL (decl)) - { - /* typedef foo = bar; store the type of bar as the type of foo. */ - TREE_TYPE (decl) = type = TREE_TYPE (init); - DECL_INITIAL (decl) = init = NULL_TREE; - } if (type != error_mark_node && IS_AGGR_TYPE (type) && DECL_NAME (decl)) { --- 8252,8257 ---- *************** static tree *** 8515,8520 **** --- 8520,8526 ---- start_cleanup_fn () { static int counter = 0; + int old_interface_only = interface_only; int old_interface_unknown = interface_unknown; char name[32]; tree parmtypes; *************** start_cleanup_fn () *** 8526,8531 **** --- 8532,8538 ---- /* No need to mangle this. */ push_lang_context (lang_name_c); + interface_only = 0; interface_unknown = 1; /* Build the parameter-types. */ *************** start_cleanup_fn () *** 8567,8572 **** --- 8574,8580 ---- start_function (/*specs=*/NULL_TREE, fndecl, NULL_TREE, SF_PRE_PARSED); interface_unknown = old_interface_unknown; + interface_only = old_interface_only; pop_lang_context (); *************** grokdeclarator (declarator, declspecs, d *** 10063,10068 **** --- 10071,10086 ---- next = 0; break; + case TEMPLATE_DECL: + /* Sometimes, we see a template-name used as part of a + decl-specifier like in + std::allocator alloc; + Handle that gracefully. */ + error ("invalid use of template-name '%E' in a declarator", + decl); + return error_mark_node; + break; + default: internal_error ("`%D' as declarator", decl); } *************** grokdeclarator (declarator, declspecs, d *** 10703,10721 **** type = create_array_type_for_decl (dname, type, size); - /* VLAs never work as fields. */ - if (decl_context == FIELD && !processing_template_decl - && TREE_CODE (type) == ARRAY_TYPE - && TYPE_DOMAIN (type) != NULL_TREE - && !TREE_CONSTANT (TYPE_MAX_VALUE (TYPE_DOMAIN (type)))) - { - error ("size of member `%D' is not constant", dname); - /* Proceed with arbitrary constant size, so that offset - computations don't get confused. */ - type = create_array_type_for_decl (dname, TREE_TYPE (type), - integer_one_node); - } - ctype = NULL_TREE; } break; --- 10721,10726 ---- *************** grokdeclarator (declarator, declspecs, d *** 11022,11029 **** pop_decl_namespace (); else if (friendp && (TREE_COMPLEXITY (declarator) < 2)) /* Don't fall out into global scope. Hides real bug? --eichin */ ; ! else if (! IS_AGGR_TYPE_CODE ! (TREE_CODE (TREE_OPERAND (declarator, 0)))) ; else if (TREE_COMPLEXITY (declarator) == current_class_depth) { --- 11027,11035 ---- pop_decl_namespace (); else if (friendp && (TREE_COMPLEXITY (declarator) < 2)) /* Don't fall out into global scope. Hides real bug? --eichin */ ; ! else if (!TREE_OPERAND (declarator, 0) ! || !IS_AGGR_TYPE_CODE ! (TREE_CODE (TREE_OPERAND (declarator, 0)))) ; else if (TREE_COMPLEXITY (declarator) == current_class_depth) { *************** grokdeclarator (declarator, declspecs, d *** 11203,11208 **** --- 11209,11222 ---- type = error_mark_node; } + if (decl_context == FIELD + && !processing_template_decl + && variably_modified_type_p (type)) + { + error ("data member may not have variably modified type `%T'", type); + type = error_mark_node; + } + if (explicitp == 1 || (explicitp && friendp)) { /* [dcl.fct.spec] The explicit specifier shall only be used in *************** grokdeclarator (declarator, declspecs, d *** 11342,11350 **** bad_specifiers (decl, "type", virtualp, quals != NULL_TREE, inlinep, friendp, raises != NULL_TREE); - if (initialized) - error ("typedef declaration includes an initializer"); - return decl; } --- 11356,11361 ---- *************** finish_destructor_body () *** 14107,14112 **** --- 14118,14127 ---- { tree exprstmt; + /* Any return from a destructor will end up here; that way all base + and member cleanups will be run when the function returns. */ + add_stmt (build_stmt (LABEL_STMT, dtor_label)); + /* And perform cleanups for our bases and members. */ perform_base_cleanups (); *************** void *** 14182,14195 **** finish_function_body (compstmt) tree compstmt; { ! if (processing_template_decl) ! /* Do nothing now. */; ! else if (DECL_DESTRUCTOR_P (current_function_decl)) ! /* Any return from a destructor will end up here. Put it before the ! cleanups so that an explicit return doesn't duplicate them. */ ! add_stmt (build_stmt (LABEL_STMT, dtor_label)); ! ! /* Close the block; in a destructor, run the member cleanups. */ finish_compound_stmt (0, compstmt); if (processing_template_decl) --- 14197,14203 ---- finish_function_body (compstmt) tree compstmt; { ! /* Close the block. */ finish_compound_stmt (0, compstmt); if (processing_template_decl) diff -Nrc3pad gcc-3.2/gcc/cp/decl2.c gcc-3.2.1/gcc/cp/decl2.c *** gcc-3.2/gcc/cp/decl2.c Fri Jul 26 23:22:59 2002 --- gcc-3.2.1/gcc/cp/decl2.c Sat Nov 2 10:28:42 2002 *************** int flag_implicit_templates = 1; *** 172,177 **** --- 172,182 ---- int flag_implicit_inline_templates = 1; + /* Nonzero means warn about things that will change when compiling + with an ABI-compliant compiler. */ + + int warn_abi = 0; + /* Nonzero means warn about implicit declarations. */ int warn_implicit = 1; *************** cxx_decode_option (argc, argv) *** 600,606 **** if (p[0] == 'n' && p[1] == 'o' && p[2] == '-') setting = 0, p += 3; ! if (!strcmp (p, "implicit")) warn_implicit = setting; else if (!strcmp (p, "long-long")) warn_long_long = setting; --- 605,613 ---- if (p[0] == 'n' && p[1] == 'o' && p[2] == '-') setting = 0, p += 3; ! if (!strcmp (p, "abi")) ! warn_abi = setting; ! else if (!strcmp (p, "implicit")) warn_implicit = setting; else if (!strcmp (p, "long-long")) warn_long_long = setting; *************** grokfield (declarator, declspecs, init, *** 1512,1518 **** /* friend or constructor went bad. */ return value; if (TREE_TYPE (value) == error_mark_node) ! return error_mark_node; /* Pass friendly classes back. */ if (TREE_CODE (value) == VOID_TYPE) --- 1519,1531 ---- /* friend or constructor went bad. */ return value; if (TREE_TYPE (value) == error_mark_node) ! return error_mark_node; ! ! if (TREE_CODE (value) == TYPE_DECL && init) ! { ! error ("typedef `%D' is initialized (use __typeof__ instead)", value); ! init = NULL_TREE; ! } /* Pass friendly classes back. */ if (TREE_CODE (value) == VOID_TYPE) *************** finish_anon_union (anon_union_decl) *** 1968,1993 **** return; } ! main_decl = build_anon_union_vars (anon_union_decl, ! &DECL_ANON_UNION_ELEMS (anon_union_decl), ! static_p, external_p); ! ! if (main_decl == NULL_TREE) { ! warning ("anonymous aggregate with no members"); ! return; ! } ! if (static_p) ! { ! make_decl_rtl (main_decl, 0); ! COPY_DECL_RTL (main_decl, anon_union_decl); ! expand_anon_union_decl (anon_union_decl, ! NULL_TREE, ! DECL_ANON_UNION_ELEMS (anon_union_decl)); } ! else ! add_decl_stmt (anon_union_decl); } /* Finish processing a builtin type TYPE. It's name is NAME, --- 1981,2011 ---- return; } ! if (!processing_template_decl) { ! main_decl ! = build_anon_union_vars (anon_union_decl, ! &DECL_ANON_UNION_ELEMS (anon_union_decl), ! static_p, external_p); ! ! if (main_decl == NULL_TREE) ! { ! warning ("anonymous aggregate with no members"); ! return; ! } ! if (static_p) ! { ! make_decl_rtl (main_decl, 0); ! COPY_DECL_RTL (main_decl, anon_union_decl); ! expand_anon_union_decl (anon_union_decl, ! NULL_TREE, ! DECL_ANON_UNION_ELEMS (anon_union_decl)); ! return; ! } } ! ! add_decl_stmt (anon_union_decl); } /* Finish processing a builtin type TYPE. It's name is NAME, *************** build_expr_from_tree (t) *** 3783,3792 **** case ALIGNOF_EXPR: { tree r = build_expr_from_tree (TREE_OPERAND (t, 0)); ! if (!TYPE_P (r)) ! return TREE_CODE (t) == SIZEOF_EXPR ? expr_sizeof (r) : c_alignof_expr (r); ! else ! return TREE_CODE (t) == SIZEOF_EXPR ? c_sizeof (r) : c_alignof (r); } case MODOP_EXPR: --- 3801,3808 ---- case ALIGNOF_EXPR: { tree r = build_expr_from_tree (TREE_OPERAND (t, 0)); ! return (TREE_CODE (t) == SIZEOF_EXPR ! ? finish_sizeof (r) : finish_alignof (r)); } case MODOP_EXPR: *************** mark_used (decl) *** 5179,5185 **** TREE_USED (decl) = 1; if (processing_template_decl) return; ! assemble_external (decl); /* Is it a synthesized method that needs to be synthesized? */ if (TREE_CODE (decl) == FUNCTION_DECL --- 5195,5202 ---- TREE_USED (decl) = 1; if (processing_template_decl) return; ! if (!skip_evaluation) ! assemble_external (decl); /* Is it a synthesized method that needs to be synthesized? */ if (TREE_CODE (decl) == FUNCTION_DECL diff -Nrc3pad gcc-3.2/gcc/cp/init.c gcc-3.2.1/gcc/cp/init.c *** gcc-3.2/gcc/cp/init.c Wed Jul 3 15:02:09 2002 --- gcc-3.2.1/gcc/cp/init.c Fri Oct 11 18:10:59 2002 *************** build_field_list (t, list, uses_unions_p *** 348,353 **** --- 348,355 ---- { tree fields; + *uses_unions_p = 0; + /* Note whether or not T is a union. */ if (TREE_CODE (t) == UNION_TYPE) *uses_unions_p = 1; *************** expand_member_init (exp, name, init) *** 1094,1100 **** } else { ! field = lookup_field (type, name, 1, 0); if (! member_init_ok_or_else (field, type, name)) return NULL_TREE; --- 1096,1105 ---- } else { ! if (TREE_CODE (name) == IDENTIFIER_NODE) ! field = lookup_field (type, name, 1, 0); ! else ! field = name; if (! member_init_ok_or_else (field, type, name)) return NULL_TREE; diff -Nrc3pad gcc-3.2/gcc/cp/lex.c gcc-3.2.1/gcc/cp/lex.c *** gcc-3.2/gcc/cp/lex.c Thu May 23 17:57:44 2002 --- gcc-3.2.1/gcc/cp/lex.c Mon Oct 21 18:38:39 2002 *************** extern YYSTYPE yylval; /* the semantic *** 90,99 **** int warn_traditional = 0; int flag_digraphs = 1; ! /* the declaration found for the last IDENTIFIER token read in. ! yylex must look this up to detect typedefs, which get token type TYPENAME, ! so it is left around in case the identifier is not a typedef but is ! used in a context which makes it a reference to a variable. */ tree lastiddecl; /* Array for holding counts of the numbers of tokens seen. */ --- 90,100 ---- int warn_traditional = 0; int flag_digraphs = 1; ! /* the declaration found for the last IDENTIFIER token read in. yylex ! must look this up to detect typedefs, which get token type ! tTYPENAME, so it is left around in case the identifier is not a ! typedef but is used in a context which makes it a reference to a ! variable. */ tree lastiddecl; /* Array for holding counts of the numbers of tokens seen. */ *************** yyprint (file, yychar, yylval) *** 739,745 **** switch (yychar) { case IDENTIFIER: ! case TYPENAME: case TYPESPEC: case PTYPENAME: case PFUNCNAME: --- 740,746 ---- switch (yychar) { case IDENTIFIER: ! case tTYPENAME: case TYPESPEC: case PTYPENAME: case PFUNCNAME: *************** check_for_missing_semicolon (type) *** 977,983 **** if ((yychar > 255 && yychar != SCSPEC && yychar != IDENTIFIER ! && yychar != TYPENAME && yychar != CV_QUALIFIER && yychar != SELFNAME) || yychar == 0 /* EOF */) --- 978,984 ---- if ((yychar > 255 && yychar != SCSPEC && yychar != IDENTIFIER ! && yychar != tTYPENAME && yychar != CV_QUALIFIER && yychar != SELFNAME) || yychar == 0 /* EOF */) *************** do_identifier (token, parsing, args) *** 1194,1200 **** tree args; { register tree id; ! int lexing = (parsing == 1); if (! lexing) id = lookup_name (token, 0); --- 1195,1201 ---- tree args; { register tree id; ! int lexing = (parsing == 1 || parsing == 3); if (! lexing) id = lookup_name (token, 0); *************** do_identifier (token, parsing, args) *** 1216,1222 **** /* Remember that this name has been used in the class definition, as per [class.scope0] */ ! if (id && parsing) maybe_note_name_used_in_class (token, id); if (id == error_mark_node) --- 1217,1223 ---- /* Remember that this name has been used in the class definition, as per [class.scope0] */ ! if (id && parsing && parsing != 3) maybe_note_name_used_in_class (token, id); if (id == error_mark_node) diff -Nrc3pad gcc-3.2/gcc/cp/mangle.c gcc-3.2.1/gcc/cp/mangle.c *** gcc-3.2/gcc/cp/mangle.c Fri Jul 26 23:22:58 2002 --- gcc-3.2.1/gcc/cp/mangle.c Fri Oct 18 08:11:44 2002 *************** static struct globals *** 93,98 **** --- 93,105 ---- /* An array of the current substitution candidates, in the order we've seen them. */ varray_type substitutions; + + /* The entity that is being mangled. */ + tree entity; + + /* True if the mangling will be different in a future version of the + ABI. */ + bool need_abi_warning; } G; /* Indices into subst_identifiers. These are identifiers used in *************** static const char *mangle_decl_string PA *** 186,193 **** /* Control functions. */ ! static inline void start_mangling PARAMS ((void)); ! static inline const char *finish_mangling PARAMS ((void)); static tree mangle_special_for_type PARAMS ((tree, const char *)); /* Foreign language functions. */ --- 193,200 ---- /* Control functions. */ ! static inline void start_mangling PARAMS ((tree)); ! static inline const char *finish_mangling PARAMS ((bool)); static tree mangle_special_for_type PARAMS ((tree, const char *)); /* Foreign language functions. */ *************** write_prefix (node) *** 884,889 **** --- 891,900 ---- template_info = CLASSTYPE_TEMPLATE_INFO (node); } + /* In G++ 3.2, the name of the template parameter was used. */ + if (TREE_CODE (node) == TEMPLATE_TYPE_PARM) + G.need_abi_warning = true; + if (template_info != NULL) /* Templated. */ { *************** write_template_prefix (node) *** 955,960 **** --- 966,975 ---- if (find_substitution (substitution)) return; + /* In G++ 3.2, the name of the template template parameter was used. */ + if (TREE_CODE (TREE_TYPE (template)) == TEMPLATE_TEMPLATE_PARM) + G.need_abi_warning = true; + write_prefix (context); write_unqualified_name (decl); *************** write_expression (expr) *** 1823,1828 **** --- 1838,1847 ---- write_template_arg_literal (expr); else if (DECL_P (expr)) { + /* G++ 3.2 incorrectly mangled non-type template arguments of + enumeration type using their names. */ + if (code == CONST_DECL) + G.need_abi_warning = 1; write_char ('L'); write_mangled_name (expr); write_char ('E'); *************** write_expression (expr) *** 1878,1884 **** 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: --- 1897,1908 ---- if (TREE_CODE (TREE_OPERAND (expr, 1)) == IDENTIFIER_NODE) write_source_name (TREE_OPERAND (expr, 1)); else ! { ! /* G++ 3.2 incorrectly put out both the "sr" code and ! the nested name of the qualified name. */ ! G.need_abi_warning = 1; ! write_encoding (TREE_OPERAND (expr, 1)); ! } break; default: *************** write_template_arg (node) *** 1983,1988 **** --- 2007,2016 ---- write_template_template_arg (node); else if (DECL_P (node)) { + /* G++ 3.2 incorrectly mangled non-type template arguments of + enumeration type using their names. */ + if (code == CONST_DECL) + G.need_abi_warning = 1; write_char ('L'); write_char ('Z'); write_encoding (node); *************** write_substitution (seq_id) *** 2152,2167 **** /* Start mangling a new name or type. */ static inline void ! start_mangling () { obstack_free (&G.name_obstack, obstack_base (&G.name_obstack)); } /* Done with mangling. Return the generated mangled name. */ static inline const char * ! finish_mangling () { /* Clear all the substitutions. */ VARRAY_POP_ALL (G.substitutions); --- 2180,2202 ---- /* Start mangling a new name or type. */ static inline void ! start_mangling (tree entity) { + G.entity = entity; + G.need_abi_warning = false; obstack_free (&G.name_obstack, obstack_base (&G.name_obstack)); } /* Done with mangling. Return the generated mangled name. */ static inline const char * ! finish_mangling (bool warn) { + if (warn_abi && warn && G.need_abi_warning) + warning ("the mangled name of `%D' will change in a future " + "version of GCC", + G.entity); + /* Clear all the substitutions. */ VARRAY_POP_ALL (G.substitutions); *************** mangle_decl_string (decl) *** 2197,2203 **** { const char *result; ! start_mangling (); if (TREE_CODE (decl) == TYPE_DECL) write_type (TREE_TYPE (decl)); --- 2232,2238 ---- { const char *result; ! start_mangling (decl); if (TREE_CODE (decl) == TYPE_DECL) write_type (TREE_TYPE (decl)); *************** mangle_decl_string (decl) *** 2224,2230 **** write_string (" *INTERNAL* "); } ! result = finish_mangling (); if (DEBUG_MANGLE) fprintf (stderr, "mangle_decl_string = '%s'\n\n", result); return result; --- 2259,2265 ---- write_string (" *INTERNAL* "); } ! result = finish_mangling (/*warn=*/true); if (DEBUG_MANGLE) fprintf (stderr, "mangle_decl_string = '%s'\n\n", result); return result; *************** mangle_type_string (type) *** 2249,2257 **** { const char *result; ! start_mangling (); write_type (type); ! result = finish_mangling (); if (DEBUG_MANGLE) fprintf (stderr, "mangle_type_string = '%s'\n\n", result); return result; --- 2284,2292 ---- { const char *result; ! start_mangling (type); write_type (type); ! result = finish_mangling (/*warn=*/false); if (DEBUG_MANGLE) fprintf (stderr, "mangle_type_string = '%s'\n\n", result); return result; *************** mangle_special_for_type (type, code) *** 2279,2285 **** /* We don't have an actual decl here for the special component, so we can't just process the . Instead, fake it. */ ! start_mangling (); /* Start the mangling. */ write_string ("_Z"); --- 2314,2320 ---- /* We don't have an actual decl here for the special component, so we can't just process the . Instead, fake it. */ ! start_mangling (type); /* Start the mangling. */ write_string ("_Z"); *************** mangle_special_for_type (type, code) *** 2287,2293 **** /* Add the type. */ write_type (type); ! result = finish_mangling (); if (DEBUG_MANGLE) fprintf (stderr, "mangle_special_for_type = %s\n\n", result); --- 2322,2328 ---- /* Add the type. */ write_type (type); ! result = finish_mangling (/*warn=*/false); if (DEBUG_MANGLE) fprintf (stderr, "mangle_special_for_type = %s\n\n", result); *************** mangle_ctor_vtbl_for_type (type, binfo) *** 2354,2360 **** { const char *result; ! start_mangling (); write_string ("_Z"); write_string ("TC"); --- 2389,2395 ---- { const char *result; ! start_mangling (type); write_string ("_Z"); write_string ("TC"); *************** mangle_ctor_vtbl_for_type (type, binfo) *** 2363,2369 **** write_char ('_'); write_type (BINFO_TYPE (binfo)); ! result = finish_mangling (); if (DEBUG_MANGLE) fprintf (stderr, "mangle_ctor_vtbl_for_type = %s\n\n", result); return get_identifier (result); --- 2398,2404 ---- write_char ('_'); write_type (BINFO_TYPE (binfo)); ! result = finish_mangling (/*warn=*/false); if (DEBUG_MANGLE) fprintf (stderr, "mangle_ctor_vtbl_for_type = %s\n\n", result); return get_identifier (result); *************** mangle_thunk (fn_decl, offset, vcall_off *** 2387,2393 **** { const char *result; ! start_mangling (); write_string ("_Z"); /* The for virtual thunks is Tv, for non-virtual --- 2422,2428 ---- { const char *result; ! start_mangling (fn_decl); write_string ("_Z"); /* The for virtual thunks is Tv, for non-virtual *************** mangle_thunk (fn_decl, offset, vcall_off *** 2413,2419 **** /* Scoped name. */ write_encoding (fn_decl); ! result = finish_mangling (); if (DEBUG_MANGLE) fprintf (stderr, "mangle_thunk = %s\n\n", result); return get_identifier (result); --- 2448,2454 ---- /* Scoped name. */ write_encoding (fn_decl); ! result = finish_mangling (/*warn=*/false); if (DEBUG_MANGLE) fprintf (stderr, "mangle_thunk = %s\n\n", result); return get_identifier (result); *************** tree *** 2454,2460 **** mangle_guard_variable (variable) tree variable; { ! start_mangling (); write_string ("_ZGV"); if (strncmp (IDENTIFIER_POINTER (DECL_NAME (variable)), "_ZGR", 4) == 0) /* The name of a guard variable for a reference temporary should refer --- 2489,2495 ---- mangle_guard_variable (variable) tree variable; { ! start_mangling (variable); write_string ("_ZGV"); if (strncmp (IDENTIFIER_POINTER (DECL_NAME (variable)), "_ZGR", 4) == 0) /* The name of a guard variable for a reference temporary should refer *************** mangle_guard_variable (variable) *** 2462,2468 **** write_string (IDENTIFIER_POINTER (DECL_NAME (variable)) + 4); else write_name (variable, /*ignore_local_scope=*/0); ! return get_identifier (finish_mangling ()); } /* Return an identifier for the name of a temporary variable used to --- 2497,2503 ---- write_string (IDENTIFIER_POINTER (DECL_NAME (variable)) + 4); else write_name (variable, /*ignore_local_scope=*/0); ! return get_identifier (finish_mangling (/*warn=*/false)); } /* Return an identifier for the name of a temporary variable used to *************** tree *** 2473,2482 **** mangle_ref_init_variable (variable) tree variable; { ! start_mangling (); write_string ("_ZGR"); write_name (variable, /*ignore_local_scope=*/0); ! return get_identifier (finish_mangling ()); } --- 2508,2517 ---- mangle_ref_init_variable (variable) tree variable; { ! start_mangling (variable); write_string ("_ZGR"); write_name (variable, /*ignore_local_scope=*/0); ! return get_identifier (finish_mangling (/*warn=*/false)); } diff -Nrc3pad gcc-3.2/gcc/cp/method.c gcc-3.2.1/gcc/cp/method.c *** gcc-3.2/gcc/cp/method.c Mon Apr 29 14:54:52 2002 --- gcc-3.2.1/gcc/cp/method.c Wed Oct 16 18:53:27 2002 *************** do_build_assign_ref (fndecl) *** 688,694 **** comp = build (COMPONENT_REF, TREE_TYPE (field), comp, field); init = build (COMPONENT_REF, ! build_qualified_type (TREE_TYPE (field), cvquals), init, field); if (DECL_NAME (field)) --- 688,694 ---- comp = build (COMPONENT_REF, TREE_TYPE (field), comp, field); init = build (COMPONENT_REF, ! cp_build_qualified_type (TREE_TYPE (field), cvquals), init, field); if (DECL_NAME (field)) diff -Nrc3pad gcc-3.2/gcc/cp/parse.c gcc-3.2.1/gcc/cp/parse.c *** gcc-3.2/gcc/cp/parse.c Wed Aug 14 09:46:23 2002 --- gcc-3.2.1/gcc/cp/parse.c Tue Nov 19 18:27:03 2002 *************** *** 5,11 **** #define YYBISON 1 /* Identify Bison output. */ #define IDENTIFIER 257 ! #define TYPENAME 258 #define SELFNAME 259 #define PFUNCNAME 260 #define SCSPEC 261 --- 5,11 ---- #define YYBISON 1 /* Identify Bison output. */ #define IDENTIFIER 257 ! #define tTYPENAME 258 #define SELFNAME 259 #define PFUNCNAME 260 #define SCSPEC 261 *************** extern void yyprint PARAMS ((FILE *, i *** 324,334 **** ! #define YYFINAL 1830 #define YYFLAG -32768 #define YYNTBASE 114 ! #define YYTRANSLATE(x) ((unsigned)(x) <= 343 ? yytranslate[x] : 404) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, --- 324,334 ---- ! #define YYFINAL 1833 #define YYFLAG -32768 #define YYNTBASE 114 ! #define YYTRANSLATE(x) ((unsigned)(x) <= 343 ? yytranslate[x] : 407) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, *************** static const short yyprhs[] = { 0, *** 413,468 **** 1377, 1379, 1382, 1385, 1388, 1391, 1393, 1395, 1397, 1399, 1402, 1405, 1409, 1413, 1417, 1422, 1424, 1427, 1430, 1432, 1434, 1437, 1440, 1443, 1445, 1448, 1451, 1455, 1457, 1460, ! 1463, 1465, 1467, 1469, 1471, 1476, 1481, 1486, 1491, 1493, ! 1495, 1497, 1499, 1503, 1505, 1509, 1511, 1515, 1516, 1521, ! 1522, 1529, 1533, 1534, 1539, 1541, 1545, 1549, 1550, 1555, ! 1559, 1560, 1562, 1564, 1567, 1574, 1576, 1580, 1581, 1583, ! 1588, 1595, 1600, 1602, 1604, 1606, 1608, 1610, 1614, 1615, ! 1618, 1620, 1623, 1627, 1632, 1634, 1636, 1640, 1645, 1649, ! 1655, 1659, 1663, 1667, 1668, 1672, 1676, 1680, 1681, 1684, ! 1687, 1688, 1695, 1696, 1702, 1705, 1708, 1711, 1712, 1713, ! 1714, 1726, 1728, 1729, 1731, 1732, 1734, 1736, 1739, 1742, ! 1745, 1748, 1751, 1754, 1758, 1763, 1767, 1770, 1774, 1779, ! 1781, 1784, 1786, 1789, 1792, 1795, 1798, 1802, 1806, 1809, ! 1810, 1813, 1817, 1819, 1824, 1826, 1830, 1832, 1834, 1837, ! 1840, 1844, 1848, 1849, 1851, 1855, 1858, 1861, 1863, 1866, ! 1869, 1872, 1875, 1878, 1881, 1884, 1886, 1889, 1892, 1896, ! 1898, 1901, 1904, 1909, 1914, 1917, 1919, 1925, 1930, 1932, ! 1933, 1935, 1939, 1940, 1942, 1946, 1948, 1950, 1952, 1954, ! 1959, 1964, 1969, 1974, 1979, 1983, 1988, 1993, 1998, 2003, ! 2007, 2010, 2012, 2014, 2018, 2020, 2024, 2027, 2029, 2036, ! 2037, 2040, 2042, 2045, 2047, 2050, 2054, 2058, 2060, 2064, ! 2066, 2069, 2073, 2077, 2080, 2083, 2087, 2089, 2094, 2099, ! 2103, 2107, 2110, 2112, 2114, 2117, 2119, 2121, 2124, 2127, ! 2129, 2132, 2136, 2140, 2143, 2146, 2150, 2152, 2156, 2160, ! 2163, 2166, 2170, 2172, 2177, 2181, 2186, 2190, 2192, 2195, ! 2198, 2201, 2204, 2207, 2210, 2213, 2215, 2218, 2223, 2228, ! 2231, 2233, 2235, 2237, 2239, 2242, 2247, 2251, 2255, 2258, ! 2261, 2264, 2267, 2269, 2272, 2275, 2278, 2281, 2285, 2287, ! 2290, 2294, 2299, 2302, 2305, 2308, 2311, 2314, 2317, 2322, ! 2325, 2327, 2330, 2333, 2337, 2339, 2343, 2346, 2350, 2353, ! 2356, 2360, 2362, 2366, 2371, 2373, 2376, 2380, 2383, 2386, ! 2388, 2392, 2395, 2398, 2400, 2403, 2407, 2409, 2413, 2420, ! 2425, 2430, 2434, 2440, 2444, 2448, 2452, 2455, 2457, 2459, ! 2462, 2465, 2468, 2469, 2471, 2473, 2476, 2480, 2481, 2486, ! 2488, 2489, 2490, 2496, 2498, 2499, 2503, 2505, 2508, 2510, ! 2513, 2514, 2519, 2521, 2522, 2523, 2529, 2530, 2531, 2539, ! 2540, 2541, 2542, 2543, 2556, 2557, 2558, 2566, 2567, 2573, ! 2574, 2582, 2583, 2588, 2591, 2594, 2597, 2601, 2608, 2617, ! 2628, 2637, 2650, 2661, 2672, 2677, 2681, 2684, 2687, 2689, ! 2691, 2693, 2695, 2697, 2698, 2699, 2705, 2706, 2707, 2713, ! 2715, 2718, 2719, 2720, 2721, 2727, 2729, 2731, 2735, 2739, ! 2742, 2745, 2748, 2751, 2754, 2756, 2759, 2760, 2762, 2763, ! 2765, 2767, 2768, 2770, 2772, 2776, 2781, 2789, 2791, 2795, ! 2796, 2798, 2800, 2802, 2805, 2808, 2811, 2813, 2816, 2819, ! 2820, 2824, 2826, 2828, 2830, 2833, 2836, 2839, 2844, 2847, ! 2850, 2853, 2856, 2859, 2862, 2864, 2867, 2869, 2872, 2874, ! 2876, 2877, 2878, 2880, 2886, 2890, 2891, 2895, 2896, 2897, ! 2902, 2905, 2907, 2909, 2911, 2915, 2916, 2920, 2924, 2928, ! 2930, 2931, 2935, 2939, 2943, 2947, 2951, 2955, 2959, 2963, ! 2967, 2971, 2975, 2979, 2983, 2987, 2991, 2995, 2999, 3003, ! 3007, 3011, 3015, 3019, 3023, 3028, 3032, 3036, 3040, 3044, ! 3049, 3053, 3057, 3063, 3069, 3074, 3078 }; static const short yyrhs[] = { -1, --- 413,468 ---- 1377, 1379, 1382, 1385, 1388, 1391, 1393, 1395, 1397, 1399, 1402, 1405, 1409, 1413, 1417, 1422, 1424, 1427, 1430, 1432, 1434, 1437, 1440, 1443, 1445, 1448, 1451, 1455, 1457, 1460, ! 1463, 1465, 1467, 1469, 1471, 1473, 1475, 1477, 1482, 1487, ! 1492, 1497, 1499, 1501, 1503, 1505, 1509, 1511, 1515, 1517, ! 1521, 1522, 1527, 1528, 1535, 1539, 1540, 1545, 1547, 1551, ! 1555, 1556, 1561, 1565, 1566, 1568, 1570, 1573, 1580, 1582, ! 1586, 1587, 1589, 1594, 1601, 1606, 1608, 1610, 1612, 1614, ! 1616, 1620, 1621, 1624, 1626, 1629, 1633, 1638, 1640, 1642, ! 1646, 1651, 1655, 1661, 1665, 1669, 1673, 1674, 1678, 1682, ! 1686, 1687, 1690, 1693, 1694, 1701, 1702, 1708, 1711, 1714, ! 1717, 1718, 1719, 1720, 1732, 1734, 1735, 1737, 1738, 1740, ! 1742, 1745, 1748, 1751, 1754, 1757, 1760, 1764, 1769, 1773, ! 1776, 1780, 1785, 1787, 1790, 1792, 1795, 1798, 1801, 1804, ! 1808, 1812, 1815, 1816, 1819, 1823, 1825, 1830, 1832, 1836, ! 1838, 1840, 1843, 1846, 1850, 1854, 1855, 1857, 1861, 1864, ! 1867, 1869, 1872, 1875, 1878, 1881, 1884, 1887, 1890, 1892, ! 1895, 1898, 1902, 1904, 1907, 1910, 1915, 1920, 1923, 1925, ! 1931, 1936, 1938, 1939, 1941, 1945, 1946, 1948, 1952, 1954, ! 1956, 1958, 1960, 1965, 1970, 1975, 1980, 1985, 1989, 1994, ! 1999, 2004, 2009, 2013, 2016, 2018, 2020, 2024, 2026, 2030, ! 2033, 2035, 2042, 2043, 2046, 2048, 2051, 2053, 2056, 2060, ! 2064, 2066, 2070, 2072, 2075, 2079, 2083, 2086, 2089, 2093, ! 2095, 2100, 2105, 2109, 2113, 2116, 2118, 2120, 2123, 2125, ! 2127, 2130, 2133, 2135, 2138, 2142, 2146, 2149, 2152, 2156, ! 2158, 2162, 2166, 2169, 2172, 2176, 2178, 2183, 2187, 2192, ! 2196, 2198, 2201, 2204, 2207, 2210, 2213, 2216, 2219, 2221, ! 2224, 2229, 2234, 2237, 2239, 2241, 2243, 2245, 2248, 2253, ! 2257, 2261, 2264, 2267, 2270, 2273, 2275, 2278, 2281, 2284, ! 2287, 2291, 2293, 2296, 2300, 2305, 2308, 2311, 2314, 2317, ! 2320, 2323, 2328, 2331, 2333, 2336, 2339, 2343, 2345, 2349, ! 2352, 2356, 2359, 2362, 2366, 2368, 2372, 2377, 2379, 2382, ! 2386, 2389, 2392, 2394, 2398, 2401, 2404, 2406, 2409, 2413, ! 2415, 2419, 2426, 2431, 2436, 2440, 2446, 2450, 2454, 2458, ! 2461, 2463, 2465, 2468, 2471, 2474, 2475, 2477, 2479, 2482, ! 2486, 2487, 2492, 2494, 2495, 2496, 2502, 2504, 2505, 2509, ! 2511, 2514, 2516, 2519, 2520, 2525, 2527, 2528, 2529, 2535, ! 2536, 2537, 2545, 2546, 2547, 2548, 2549, 2562, 2563, 2564, ! 2572, 2573, 2579, 2580, 2588, 2589, 2594, 2597, 2600, 2603, ! 2607, 2614, 2623, 2634, 2643, 2656, 2667, 2678, 2683, 2687, ! 2690, 2693, 2695, 2697, 2699, 2701, 2703, 2704, 2705, 2711, ! 2712, 2713, 2719, 2721, 2724, 2725, 2726, 2727, 2733, 2735, ! 2737, 2741, 2745, 2748, 2751, 2754, 2757, 2760, 2762, 2765, ! 2766, 2768, 2769, 2771, 2773, 2774, 2776, 2778, 2782, 2787, ! 2795, 2797, 2801, 2802, 2804, 2806, 2808, 2811, 2814, 2817, ! 2819, 2822, 2825, 2826, 2830, 2832, 2834, 2836, 2839, 2842, ! 2845, 2850, 2853, 2856, 2859, 2862, 2865, 2868, 2870, 2873, ! 2875, 2878, 2880, 2882, 2883, 2884, 2886, 2892, 2896, 2897, ! 2901, 2902, 2903, 2908, 2911, 2913, 2915, 2917, 2921, 2922, ! 2926, 2930, 2934, 2936, 2937, 2941, 2945, 2949, 2953, 2957, ! 2961, 2965, 2969, 2973, 2977, 2981, 2985, 2989, 2993, 2997, ! 3001, 3005, 3009, 3013, 3017, 3021, 3025, 3029, 3034, 3038, ! 3042, 3046, 3050, 3055, 3059, 3063, 3069, 3075, 3080, 3084 }; static const short yyrhs[] = { -1, *************** static const short yyrhs[] = { -1, *** 475,557 **** 126, 117, 111, 0, 0, 46, 61, 127, 117, 111, 0, 128, 0, 130, 63, 0, 132, 0, 120, 124, 0, 0, 46, 170, 67, 129, 135, 63, 0, 48, ! 312, 0, 48, 326, 312, 0, 48, 326, 213, 0, ! 48, 134, 170, 0, 48, 326, 170, 0, 48, 326, 134, 170, 0, 0, 48, 46, 133, 135, 63, 0, ! 60, 56, 0, 134, 60, 56, 0, 213, 0, 312, ! 0, 326, 312, 0, 326, 213, 0, 99, 0, 136, 99, 0, 0, 50, 77, 138, 141, 78, 0, 50, 77, 78, 0, 137, 0, 139, 0, 145, 0, 141, ! 62, 145, 0, 170, 0, 0, 272, 142, 0, 47, ! 142, 0, 137, 272, 142, 0, 143, 0, 143, 67, ! 229, 0, 390, 0, 390, 67, 208, 0, 144, 0, 144, 67, 191, 0, 140, 147, 0, 140, 1, 0, 155, 152, 0, 148, 0, 146, 0, 136, 118, 155, 119, 152, 0, 136, 118, 148, 119, 0, 120, 147, ! 0, 240, 63, 0, 233, 239, 63, 0, 230, 238, ! 63, 0, 264, 63, 0, 240, 63, 0, 233, 239, ! 63, 0, 230, 238, 63, 0, 233, 63, 0, 173, 63, 0, 230, 63, 0, 1, 63, 0, 1, 111, ! 0, 1, 109, 0, 63, 0, 393, 0, 224, 0, 166, 0, 0, 165, 0, 165, 63, 0, 0, 109, ! 0, 0, 167, 150, 403, 61, 154, 199, 0, 161, ! 151, 153, 0, 161, 151, 361, 0, 161, 151, 1, ! 0, 0, 317, 5, 95, 157, 381, 110, 299, 396, ! 0, 317, 5, 49, 299, 396, 0, 0, 326, 317, ! 5, 95, 158, 381, 110, 299, 396, 0, 326, 317, ! 5, 49, 299, 396, 0, 0, 317, 186, 95, 159, ! 381, 110, 299, 396, 0, 317, 186, 49, 299, 396, ! 0, 0, 326, 317, 186, 95, 160, 381, 110, 299, ! 396, 0, 326, 317, 186, 49, 299, 396, 0, 230, ! 227, 0, 233, 309, 0, 309, 0, 233, 156, 0, ! 156, 0, 5, 95, 381, 110, 299, 396, 0, 95, ! 5, 110, 95, 381, 110, 299, 396, 0, 5, 49, ! 299, 396, 0, 95, 5, 110, 49, 299, 396, 0, ! 186, 95, 381, 110, 299, 396, 0, 186, 49, 299, ! 396, 0, 233, 162, 0, 162, 0, 230, 227, 0, ! 233, 309, 0, 309, 0, 233, 156, 0, 156, 0, ! 26, 3, 0, 164, 257, 0, 164, 95, 201, 110, 0, 164, 49, 0, 65, 168, 0, 0, 0, 169, 0, 168, 62, 169, 0, 168, 1, 0, 95, 201, 110, 0, 49, 0, 171, 95, 201, 110, 0, 171, ! 49, 0, 305, 95, 201, 110, 0, 305, 49, 0, ! 319, 95, 201, 110, 0, 319, 49, 0, 1, 0, 3, 0, 4, 0, 5, 0, 59, 0, 60, 0, 3, 0, 59, 0, 60, 0, 106, 0, 105, 0, ! 107, 0, 0, 50, 182, 236, 63, 174, 183, 0, 0, 50, 182, 230, 227, 175, 183, 0, 0, 50, ! 182, 309, 176, 183, 0, 0, 50, 182, 156, 177, ! 183, 0, 0, 7, 50, 182, 236, 63, 178, 183, 0, 0, 7, 50, 182, 230, 227, 179, 183, 0, ! 0, 7, 50, 182, 309, 180, 183, 0, 0, 7, 50, 182, 156, 181, 183, 0, 0, 0, 59, 77, 189, 188, 187, 0, 4, 77, 189, 188, 187, 0, 186, 0, 184, 0, 170, 77, 189, 78, 187, 0, 5, 77, 189, 188, 187, 0, 0, 78, 0, 80, 0, 0, 190, 0, 191, 0, 190, 62, 191, 0, ! 229, 0, 59, 0, 326, 59, 0, 208, 0, 317, 50, 170, 0, 82, 0, 81, 0, 89, 0, 90, 0, 112, 0, 200, 0, 207, 0, 49, 0, 95, 193, 110, 0, 49, 0, 95, 197, 110, 0, 0, ! 197, 0, 1, 0, 0, 371, 227, 241, 250, 67, ! 198, 258, 0, 193, 0, 111, 0, 334, 332, 111, ! 0, 334, 332, 1, 111, 0, 334, 1, 111, 0, 207, 62, 207, 0, 207, 62, 1, 0, 200, 62, 207, 0, 200, 62, 1, 0, 207, 0, 200, 0, 218, 0, 120, 206, 0, 83, 206, 0, 73, 206, 0, 91, 206, 0, 192, 206, 0, 70, 170, 0, ! 14, 202, 0, 14, 95, 229, 110, 0, 30, 202, ! 0, 30, 95, 229, 110, 0, 220, 298, 0, 220, ! 298, 204, 0, 220, 203, 298, 0, 220, 203, 298, 204, 0, 220, 95, 229, 110, 0, 220, 95, 229, 110, 204, 0, 220, 203, 95, 229, 110, 0, 220, 203, 95, 229, 110, 204, 0, 221, 206, 0, 221, 96, 113, 206, 0, 221, 96, 193, 113, 206, 0, 35, 206, 0, 36, 206, 0, 95, 201, 110, 0, 61, 201, 111, 0, 95, 201, 110, 0, 49, 0, ! 95, 236, 110, 0, 67, 258, 0, 95, 229, 110, 0, 205, 95, 229, 110, 0, 202, 0, 205, 202, ! 0, 205, 61, 259, 270, 111, 0, 206, 0, 207, 86, 207, 0, 207, 87, 207, 0, 207, 81, 207, 0, 207, 82, 207, 0, 207, 83, 207, 0, 207, 84, 207, 0, 207, 85, 207, 0, 207, 79, 207, --- 475,557 ---- 126, 117, 111, 0, 0, 46, 61, 127, 117, 111, 0, 128, 0, 130, 63, 0, 132, 0, 120, 124, 0, 0, 46, 170, 67, 129, 135, 63, 0, 48, ! 315, 0, 48, 329, 315, 0, 48, 329, 213, 0, ! 48, 134, 170, 0, 48, 329, 170, 0, 48, 329, 134, 170, 0, 0, 48, 46, 133, 135, 63, 0, ! 60, 56, 0, 134, 60, 56, 0, 213, 0, 315, ! 0, 329, 315, 0, 329, 213, 0, 99, 0, 136, 99, 0, 0, 50, 77, 138, 141, 78, 0, 50, 77, 78, 0, 137, 0, 139, 0, 145, 0, 141, ! 62, 145, 0, 170, 0, 0, 275, 142, 0, 47, ! 142, 0, 137, 275, 142, 0, 143, 0, 143, 67, ! 229, 0, 393, 0, 393, 67, 208, 0, 144, 0, 144, 67, 191, 0, 140, 147, 0, 140, 1, 0, 155, 152, 0, 148, 0, 146, 0, 136, 118, 155, 119, 152, 0, 136, 118, 148, 119, 0, 120, 147, ! 0, 243, 63, 0, 233, 242, 63, 0, 230, 241, ! 63, 0, 267, 63, 0, 243, 63, 0, 233, 242, ! 63, 0, 230, 241, 63, 0, 233, 63, 0, 173, 63, 0, 230, 63, 0, 1, 63, 0, 1, 111, ! 0, 1, 109, 0, 63, 0, 396, 0, 224, 0, 166, 0, 0, 165, 0, 165, 63, 0, 0, 109, ! 0, 0, 167, 150, 406, 61, 154, 199, 0, 161, ! 151, 153, 0, 161, 151, 364, 0, 161, 151, 1, ! 0, 0, 320, 5, 95, 157, 384, 110, 302, 399, ! 0, 320, 5, 49, 302, 399, 0, 0, 329, 320, ! 5, 95, 158, 384, 110, 302, 399, 0, 329, 320, ! 5, 49, 302, 399, 0, 0, 320, 186, 95, 159, ! 384, 110, 302, 399, 0, 320, 186, 49, 302, 399, ! 0, 0, 329, 320, 186, 95, 160, 384, 110, 302, ! 399, 0, 329, 320, 186, 49, 302, 399, 0, 230, ! 227, 0, 233, 312, 0, 312, 0, 233, 156, 0, ! 156, 0, 5, 95, 384, 110, 302, 399, 0, 95, ! 5, 110, 95, 384, 110, 302, 399, 0, 5, 49, ! 302, 399, 0, 95, 5, 110, 49, 302, 399, 0, ! 186, 95, 384, 110, 302, 399, 0, 186, 49, 302, ! 399, 0, 233, 162, 0, 162, 0, 230, 227, 0, ! 233, 312, 0, 312, 0, 233, 156, 0, 156, 0, ! 26, 3, 0, 164, 260, 0, 164, 95, 201, 110, 0, 164, 49, 0, 65, 168, 0, 0, 0, 169, 0, 168, 62, 169, 0, 168, 1, 0, 95, 201, 110, 0, 49, 0, 171, 95, 201, 110, 0, 171, ! 49, 0, 308, 95, 201, 110, 0, 308, 49, 0, ! 322, 95, 201, 110, 0, 322, 49, 0, 1, 0, 3, 0, 4, 0, 5, 0, 59, 0, 60, 0, 3, 0, 59, 0, 60, 0, 106, 0, 105, 0, ! 107, 0, 0, 50, 182, 239, 63, 174, 183, 0, 0, 50, 182, 230, 227, 175, 183, 0, 0, 50, ! 182, 312, 176, 183, 0, 0, 50, 182, 156, 177, ! 183, 0, 0, 7, 50, 182, 239, 63, 178, 183, 0, 0, 7, 50, 182, 230, 227, 179, 183, 0, ! 0, 7, 50, 182, 312, 180, 183, 0, 0, 7, 50, 182, 156, 181, 183, 0, 0, 0, 59, 77, 189, 188, 187, 0, 4, 77, 189, 188, 187, 0, 186, 0, 184, 0, 170, 77, 189, 78, 187, 0, 5, 77, 189, 188, 187, 0, 0, 78, 0, 80, 0, 0, 190, 0, 191, 0, 190, 62, 191, 0, ! 229, 0, 59, 0, 329, 59, 0, 208, 0, 320, 50, 170, 0, 82, 0, 81, 0, 89, 0, 90, 0, 112, 0, 200, 0, 207, 0, 49, 0, 95, 193, 110, 0, 49, 0, 95, 197, 110, 0, 0, ! 197, 0, 1, 0, 0, 374, 227, 244, 253, 67, ! 198, 261, 0, 193, 0, 111, 0, 337, 335, 111, ! 0, 337, 335, 1, 111, 0, 337, 1, 111, 0, 207, 62, 207, 0, 207, 62, 1, 0, 200, 62, 207, 0, 200, 62, 1, 0, 207, 0, 200, 0, 218, 0, 120, 206, 0, 83, 206, 0, 73, 206, 0, 91, 206, 0, 192, 206, 0, 70, 170, 0, ! 236, 202, 0, 236, 95, 229, 110, 0, 237, 202, ! 0, 237, 95, 229, 110, 0, 220, 301, 0, 220, ! 301, 204, 0, 220, 203, 301, 0, 220, 203, 301, 204, 0, 220, 95, 229, 110, 0, 220, 95, 229, 110, 204, 0, 220, 203, 95, 229, 110, 0, 220, 203, 95, 229, 110, 204, 0, 221, 206, 0, 221, 96, 113, 206, 0, 221, 96, 193, 113, 206, 0, 35, 206, 0, 36, 206, 0, 95, 201, 110, 0, 61, 201, 111, 0, 95, 201, 110, 0, 49, 0, ! 95, 239, 110, 0, 67, 261, 0, 95, 229, 110, 0, 205, 95, 229, 110, 0, 202, 0, 205, 202, ! 0, 205, 61, 262, 273, 111, 0, 206, 0, 207, 86, 207, 0, 207, 87, 207, 0, 207, 81, 207, 0, 207, 82, 207, 0, 207, 83, 207, 0, 207, 84, 207, 0, 207, 85, 207, 0, 207, 79, 207, *************** static const short yyrhs[] = { -1, *** 559,565 **** 77, 207, 0, 207, 78, 207, 0, 207, 75, 207, 0, 207, 74, 207, 0, 207, 73, 207, 0, 207, 71, 207, 0, 207, 72, 207, 0, 207, 70, 207, ! 0, 207, 69, 207, 0, 207, 68, 376, 65, 207, 0, 207, 67, 207, 0, 207, 66, 207, 0, 64, 0, 64, 207, 0, 206, 0, 208, 86, 208, 0, 208, 87, 208, 0, 208, 81, 208, 0, 208, 82, --- 559,565 ---- 77, 207, 0, 207, 78, 207, 0, 207, 75, 207, 0, 207, 74, 207, 0, 207, 73, 207, 0, 207, 71, 207, 0, 207, 72, 207, 0, 207, 70, 207, ! 0, 207, 69, 207, 0, 207, 68, 379, 65, 207, 0, 207, 67, 207, 0, 207, 66, 207, 0, 64, 0, 64, 207, 0, 206, 0, 208, 86, 208, 0, 208, 87, 208, 0, 208, 81, 208, 0, 208, 82, *************** static const short yyrhs[] = { -1, *** 569,779 **** 208, 75, 208, 0, 208, 74, 208, 0, 208, 73, 208, 0, 208, 71, 208, 0, 208, 72, 208, 0, 208, 70, 208, 0, 208, 69, 208, 0, 208, 68, ! 376, 65, 208, 0, 208, 67, 208, 0, 208, 66, ! 208, 0, 64, 0, 64, 208, 0, 91, 391, 170, ! 0, 91, 391, 184, 0, 211, 0, 402, 0, 3, 0, 59, 0, 60, 0, 0, 6, 77, 210, 189, ! 188, 0, 402, 77, 210, 189, 188, 0, 50, 170, 77, 189, 188, 0, 50, 6, 77, 189, 188, 0, ! 50, 402, 77, 189, 188, 0, 209, 0, 4, 0, ! 5, 0, 215, 0, 251, 215, 0, 209, 0, 83, 214, 0, 73, 214, 0, 95, 214, 110, 0, 3, ! 77, 189, 188, 0, 60, 77, 190, 188, 0, 311, 0, 209, 0, 216, 0, 95, 214, 110, 0, 209, 0, 10, 0, 222, 0, 223, 0, 11, 0, 95, 193, 110, 0, 95, 214, 110, 0, 95, 1, 110, ! 0, 0, 95, 219, 337, 110, 0, 209, 95, 201, 110, 0, 209, 49, 0, 218, 95, 201, 110, 0, 218, 49, 0, 37, 95, 207, 62, 229, 110, 0, 218, 96, 193, 113, 0, 218, 89, 0, 218, 90, ! 0, 42, 0, 9, 95, 201, 110, 0, 315, 0, 52, 77, 229, 78, 95, 193, 110, 0, 53, 77, 229, 78, 95, 193, 110, 0, 54, 77, 229, 78, 95, 193, 110, 0, 55, 77, 229, 78, 95, 193, 110, 0, 51, 95, 193, 110, 0, 51, 95, 229, ! 110, 0, 326, 3, 0, 326, 211, 0, 326, 402, ! 0, 314, 0, 314, 95, 201, 110, 0, 314, 49, 0, 225, 212, 0, 225, 212, 95, 201, 110, 0, ! 225, 212, 49, 0, 225, 213, 0, 225, 314, 0, 225, 213, 95, 201, 110, 0, 225, 213, 49, 0, ! 225, 314, 95, 201, 110, 0, 225, 314, 49, 0, 225, 91, 8, 49, 0, 225, 8, 56, 91, 8, ! 49, 0, 225, 1, 0, 41, 0, 326, 41, 0, ! 40, 0, 326, 221, 0, 44, 0, 45, 0, 12, 0, 223, 12, 0, 0, 218, 94, 0, 218, 93, ! 0, 236, 238, 63, 0, 230, 238, 63, 0, 233, ! 239, 63, 0, 230, 63, 0, 233, 63, 0, 120, ! 226, 0, 303, 0, 309, 0, 49, 0, 228, 49, ! 0, 234, 330, 0, 300, 330, 0, 236, 330, 0, ! 234, 0, 300, 0, 234, 0, 231, 0, 233, 236, ! 0, 236, 232, 0, 236, 235, 232, 0, 233, 236, ! 232, 0, 233, 236, 235, 0, 233, 236, 235, 232, ! 0, 7, 0, 232, 237, 0, 232, 7, 0, 300, 0, 7, 0, 233, 9, 0, 233, 7, 0, 233, ! 251, 0, 236, 0, 300, 236, 0, 236, 235, 0, ! 300, 236, 235, 0, 237, 0, 235, 237, 0, 235, ! 251, 0, 251, 0, 264, 0, 8, 0, 306, 0, ! 29, 95, 193, 110, 0, 29, 95, 229, 110, 0, ! 31, 95, 193, 110, 0, 31, 95, 229, 110, 0, ! 8, 0, 9, 0, 264, 0, 246, 0, 238, 62, ! 242, 0, 247, 0, 239, 62, 242, 0, 248, 0, ! 240, 62, 242, 0, 0, 121, 95, 223, 110, 0, ! 0, 227, 241, 250, 67, 243, 258, 0, 227, 241, ! 250, 0, 0, 250, 67, 245, 258, 0, 250, 0, ! 227, 241, 244, 0, 309, 241, 244, 0, 0, 309, ! 241, 249, 244, 0, 156, 241, 250, 0, 0, 251, ! 0, 252, 0, 251, 252, 0, 32, 95, 95, 253, ! 110, 110, 0, 254, 0, 253, 62, 254, 0, 0, ! 255, 0, 255, 95, 3, 110, 0, 255, 95, 3, ! 62, 201, 110, 0, 255, 95, 201, 110, 0, 170, ! 0, 7, 0, 8, 0, 9, 0, 170, 0, 256, ! 62, 170, 0, 0, 67, 258, 0, 207, 0, 61, ! 111, 0, 61, 259, 111, 0, 61, 259, 62, 111, ! 0, 1, 0, 258, 0, 259, 62, 258, 0, 96, ! 207, 113, 258, 0, 170, 65, 258, 0, 259, 62, ! 170, 65, 258, 0, 104, 151, 153, 0, 104, 151, ! 361, 0, 104, 151, 1, 0, 0, 261, 260, 152, ! 0, 103, 207, 109, 0, 103, 1, 109, 0, 0, ! 263, 262, 0, 263, 1, 0, 0, 15, 170, 61, ! 265, 295, 111, 0, 0, 15, 61, 266, 295, 111, ! 0, 15, 170, 0, 15, 324, 0, 47, 319, 0, ! 0, 0, 0, 276, 277, 61, 267, 282, 111, 250, ! 268, 263, 269, 261, 0, 275, 0, 0, 62, 0, ! 0, 62, 0, 38, 0, 272, 7, 0, 272, 8, ! 0, 272, 9, 0, 272, 38, 0, 272, 251, 0, ! 272, 170, 0, 272, 317, 170, 0, 272, 326, 317, ! 170, 0, 272, 326, 170, 0, 272, 185, 0, 272, ! 317, 185, 0, 272, 326, 317, 185, 0, 273, 0, ! 272, 172, 0, 274, 0, 273, 61, 0, 273, 65, ! 0, 274, 61, 0, 274, 65, 0, 272, 172, 61, ! 0, 272, 172, 65, 0, 272, 61, 0, 0, 65, ! 391, 0, 65, 391, 278, 0, 279, 0, 278, 62, ! 391, 279, 0, 280, 0, 281, 391, 280, 0, 319, ! 0, 305, 0, 39, 391, 0, 7, 391, 0, 281, ! 39, 391, 0, 281, 7, 391, 0, 0, 284, 0, ! 282, 283, 284, 0, 282, 283, 0, 39, 65, 0, ! 285, 0, 284, 285, 0, 286, 63, 0, 286, 111, ! 0, 163, 65, 0, 163, 97, 0, 163, 26, 0, ! 163, 61, 0, 63, 0, 120, 285, 0, 140, 285, ! 0, 140, 230, 63, 0, 393, 0, 230, 287, 0, ! 233, 288, 0, 309, 241, 250, 257, 0, 156, 241, ! 250, 257, 0, 65, 207, 0, 1, 0, 233, 162, ! 241, 250, 257, 0, 162, 241, 250, 257, 0, 130, ! 0, 0, 289, 0, 287, 62, 290, 0, 0, 292, ! 0, 288, 62, 294, 0, 291, 0, 292, 0, 293, ! 0, 294, 0, 303, 241, 250, 257, 0, 4, 65, ! 207, 250, 0, 309, 241, 250, 257, 0, 156, 241, ! 250, 257, 0, 3, 65, 207, 250, 0, 65, 207, ! 250, 0, 303, 241, 250, 257, 0, 4, 65, 207, ! 250, 0, 309, 241, 250, 257, 0, 3, 65, 207, ! 250, 0, 65, 207, 250, 0, 296, 271, 0, 271, ! 0, 297, 0, 296, 62, 297, 0, 170, 0, 170, ! 67, 207, 0, 371, 327, 0, 371, 0, 95, 229, ! 110, 96, 193, 113, 0, 0, 299, 9, 0, 9, ! 0, 300, 9, 0, 251, 0, 300, 251, 0, 95, ! 201, 110, 0, 95, 381, 110, 0, 49, 0, 95, ! 1, 110, 0, 303, 0, 251, 303, 0, 83, 300, ! 302, 0, 73, 300, 302, 0, 83, 302, 0, 73, ! 302, 0, 325, 299, 302, 0, 304, 0, 304, 301, ! 299, 396, 0, 304, 96, 193, 113, 0, 304, 96, ! 113, 0, 95, 302, 110, 0, 317, 316, 0, 316, ! 0, 316, 0, 326, 316, 0, 305, 0, 307, 0, ! 326, 307, 0, 317, 316, 0, 309, 0, 251, 309, ! 0, 83, 300, 308, 0, 73, 300, 308, 0, 83, ! 308, 0, 73, 308, 0, 325, 299, 308, 0, 217, ! 0, 83, 300, 308, 0, 73, 300, 308, 0, 83, ! 310, 0, 73, 310, 0, 325, 299, 308, 0, 311, ! 0, 217, 301, 299, 396, 0, 95, 310, 110, 0, ! 217, 96, 193, 113, 0, 217, 96, 113, 0, 313, ! 0, 326, 313, 0, 326, 209, 0, 317, 216, 0, ! 317, 213, 0, 317, 212, 0, 317, 209, 0, 317, ! 212, 0, 313, 0, 326, 313, 0, 236, 95, 201, ! 110, 0, 236, 95, 214, 110, 0, 236, 228, 0, ! 4, 0, 5, 0, 184, 0, 318, 0, 317, 318, ! 0, 317, 50, 323, 56, 0, 317, 3, 56, 0, ! 317, 59, 56, 0, 4, 56, 0, 5, 56, 0, ! 60, 56, 0, 184, 56, 0, 320, 0, 326, 320, ! 0, 321, 170, 0, 321, 184, 0, 321, 323, 0, ! 321, 50, 323, 0, 322, 0, 321, 322, 0, 321, ! 323, 56, 0, 321, 50, 323, 56, 0, 4, 56, ! 0, 5, 56, 0, 184, 56, 0, 59, 56, 0, ! 3, 56, 0, 60, 56, 0, 170, 77, 189, 188, ! 0, 326, 316, 0, 307, 0, 326, 307, 0, 317, ! 83, 0, 326, 317, 83, 0, 56, 0, 83, 299, ! 327, 0, 83, 299, 0, 73, 299, 327, 0, 73, ! 299, 0, 325, 299, 0, 325, 299, 327, 0, 328, ! 0, 96, 193, 113, 0, 328, 96, 193, 113, 0, ! 330, 0, 251, 330, 0, 83, 300, 329, 0, 83, ! 329, 0, 83, 300, 0, 83, 0, 73, 300, 329, ! 0, 73, 329, 0, 73, 300, 0, 73, 0, 325, ! 299, 0, 325, 299, 329, 0, 331, 0, 95, 329, ! 110, 0, 331, 95, 381, 110, 299, 396, 0, 331, ! 49, 299, 396, 0, 331, 96, 193, 113, 0, 331, ! 96, 113, 0, 95, 382, 110, 299, 396, 0, 205, ! 299, 396, 0, 228, 299, 396, 0, 96, 193, 113, ! 0, 96, 113, 0, 345, 0, 333, 0, 332, 345, ! 0, 332, 333, 0, 1, 63, 0, 0, 335, 0, ! 336, 0, 335, 336, 0, 34, 256, 63, 0, 0, ! 403, 61, 338, 199, 0, 337, 0, 0, 0, 16, ! 341, 195, 342, 343, 0, 339, 0, 0, 344, 403, ! 346, 0, 339, 0, 403, 346, 0, 226, 0, 193, ! 63, 0, 0, 340, 17, 347, 343, 0, 340, 0, ! 0, 0, 18, 348, 195, 349, 343, 0, 0, 0, ! 19, 350, 343, 18, 351, 194, 63, 0, 0, 0, ! 0, 0, 20, 352, 95, 374, 353, 196, 63, 354, ! 376, 110, 355, 343, 0, 0, 0, 21, 356, 95, ! 197, 110, 357, 343, 0, 0, 22, 207, 65, 358, ! 345, 0, 0, 22, 207, 13, 207, 65, 359, 345, ! 0, 0, 23, 65, 360, 345, 0, 24, 63, 0, ! 25, 63, 0, 26, 63, 0, 26, 193, 63, 0, ! 121, 375, 95, 223, 110, 63, 0, 121, 375, 95, ! 223, 65, 377, 110, 63, 0, 121, 375, 95, 223, ! 65, 377, 65, 377, 110, 63, 0, 121, 375, 95, ! 223, 56, 377, 110, 63, 0, 121, 375, 95, 223, ! 65, 377, 65, 377, 65, 380, 110, 63, 0, 121, ! 375, 95, 223, 56, 377, 65, 380, 110, 63, 0, ! 121, 375, 95, 223, 65, 377, 56, 380, 110, 63, ! 0, 27, 83, 193, 63, 0, 27, 170, 63, 0, ! 373, 345, 0, 373, 111, 0, 63, 0, 364, 0, ! 132, 0, 131, 0, 128, 0, 0, 0, 97, 362, ! 153, 363, 367, 0, 0, 0, 97, 365, 339, 366, ! 367, 0, 368, 0, 367, 368, 0, 0, 0, 0, ! 98, 369, 372, 370, 339, 0, 234, 0, 300, 0, ! 95, 13, 110, 0, 95, 390, 110, 0, 3, 65, ! 0, 59, 65, 0, 4, 65, 0, 5, 65, 0, ! 376, 63, 0, 226, 0, 61, 199, 0, 0, 9, ! 0, 0, 193, 0, 1, 0, 0, 378, 0, 379, ! 0, 378, 62, 379, 0, 12, 95, 193, 110, 0, ! 96, 170, 113, 12, 95, 193, 110, 0, 223, 0, ! 380, 62, 223, 0, 0, 382, 0, 229, 0, 386, ! 0, 387, 13, 0, 386, 13, 0, 229, 13, 0, ! 13, 0, 386, 65, 0, 229, 65, 0, 0, 67, ! 384, 385, 0, 102, 0, 258, 0, 388, 0, 390, ! 383, 0, 387, 389, 0, 387, 392, 0, 387, 392, ! 67, 258, 0, 386, 62, 0, 229, 62, 0, 231, ! 227, 0, 234, 227, 0, 236, 227, 0, 231, 330, ! 0, 231, 0, 233, 309, 0, 390, 0, 390, 383, ! 0, 388, 0, 229, 0, 0, 0, 309, 0, 3, ! 394, 3, 395, 63, 0, 77, 189, 188, 0, 0, ! 95, 201, 110, 0, 0, 0, 64, 95, 398, 110, ! 0, 64, 49, 0, 229, 0, 1, 0, 397, 0, ! 398, 62, 397, 0, 0, 83, 299, 399, 0, 73, ! 299, 399, 0, 325, 299, 399, 0, 43, 0, 0, ! 400, 83, 401, 0, 400, 84, 401, 0, 400, 85, ! 401, 0, 400, 81, 401, 0, 400, 82, 401, 0, ! 400, 73, 401, 0, 400, 71, 401, 0, 400, 72, ! 401, 0, 400, 91, 401, 0, 400, 62, 401, 0, ! 400, 76, 401, 0, 400, 77, 401, 0, 400, 78, ! 401, 0, 400, 75, 401, 0, 400, 66, 401, 0, ! 400, 67, 401, 0, 400, 79, 401, 0, 400, 80, ! 401, 0, 400, 89, 401, 0, 400, 90, 401, 0, ! 400, 70, 401, 0, 400, 69, 401, 0, 400, 112, ! 401, 0, 400, 68, 65, 401, 0, 400, 74, 401, ! 0, 400, 93, 401, 0, 400, 86, 401, 0, 400, ! 49, 401, 0, 400, 96, 113, 401, 0, 400, 41, ! 401, 0, 400, 40, 401, 0, 400, 41, 96, 113, ! 401, 0, 400, 40, 96, 113, 401, 0, 400, 371, ! 399, 401, 0, 400, 1, 401, 0, 0 }; #endif --- 569,780 ---- 208, 75, 208, 0, 208, 74, 208, 0, 208, 73, 208, 0, 208, 71, 208, 0, 208, 72, 208, 0, 208, 70, 208, 0, 208, 69, 208, 0, 208, 68, ! 379, 65, 208, 0, 208, 67, 208, 0, 208, 66, ! 208, 0, 64, 0, 64, 208, 0, 91, 394, 170, ! 0, 91, 394, 184, 0, 211, 0, 405, 0, 3, 0, 59, 0, 60, 0, 0, 6, 77, 210, 189, ! 188, 0, 405, 77, 210, 189, 188, 0, 50, 170, 77, 189, 188, 0, 50, 6, 77, 189, 188, 0, ! 50, 405, 77, 189, 188, 0, 209, 0, 4, 0, ! 5, 0, 215, 0, 254, 215, 0, 209, 0, 83, 214, 0, 73, 214, 0, 95, 214, 110, 0, 3, ! 77, 189, 188, 0, 60, 77, 190, 188, 0, 314, 0, 209, 0, 216, 0, 95, 214, 110, 0, 209, 0, 10, 0, 222, 0, 223, 0, 11, 0, 95, 193, 110, 0, 95, 214, 110, 0, 95, 1, 110, ! 0, 0, 95, 219, 340, 110, 0, 209, 95, 201, 110, 0, 209, 49, 0, 218, 95, 201, 110, 0, 218, 49, 0, 37, 95, 207, 62, 229, 110, 0, 218, 96, 193, 113, 0, 218, 89, 0, 218, 90, ! 0, 42, 0, 9, 95, 201, 110, 0, 318, 0, 52, 77, 229, 78, 95, 193, 110, 0, 53, 77, 229, 78, 95, 193, 110, 0, 54, 77, 229, 78, 95, 193, 110, 0, 55, 77, 229, 78, 95, 193, 110, 0, 51, 95, 193, 110, 0, 51, 95, 229, ! 110, 0, 329, 3, 0, 329, 211, 0, 329, 405, ! 0, 317, 0, 317, 95, 201, 110, 0, 317, 49, 0, 225, 212, 0, 225, 212, 95, 201, 110, 0, ! 225, 212, 49, 0, 225, 213, 0, 225, 317, 0, 225, 213, 95, 201, 110, 0, 225, 213, 49, 0, ! 225, 317, 95, 201, 110, 0, 225, 317, 49, 0, 225, 91, 8, 49, 0, 225, 8, 56, 91, 8, ! 49, 0, 225, 1, 0, 41, 0, 329, 41, 0, ! 40, 0, 329, 221, 0, 44, 0, 45, 0, 12, 0, 223, 12, 0, 0, 218, 94, 0, 218, 93, ! 0, 239, 241, 63, 0, 230, 241, 63, 0, 233, ! 242, 63, 0, 230, 63, 0, 233, 63, 0, 120, ! 226, 0, 306, 0, 312, 0, 49, 0, 228, 49, ! 0, 234, 333, 0, 303, 333, 0, 239, 333, 0, ! 234, 0, 303, 0, 234, 0, 231, 0, 233, 239, ! 0, 239, 232, 0, 239, 235, 232, 0, 233, 239, ! 232, 0, 233, 239, 235, 0, 233, 239, 235, 232, ! 0, 7, 0, 232, 240, 0, 232, 7, 0, 303, 0, 7, 0, 233, 9, 0, 233, 7, 0, 233, ! 254, 0, 239, 0, 303, 239, 0, 239, 235, 0, ! 303, 239, 235, 0, 240, 0, 235, 240, 0, 235, ! 254, 0, 254, 0, 14, 0, 30, 0, 29, 0, ! 267, 0, 8, 0, 309, 0, 238, 95, 193, 110, ! 0, 238, 95, 229, 110, 0, 31, 95, 193, 110, ! 0, 31, 95, 229, 110, 0, 8, 0, 9, 0, ! 267, 0, 249, 0, 241, 62, 245, 0, 250, 0, ! 242, 62, 245, 0, 251, 0, 243, 62, 245, 0, ! 0, 121, 95, 223, 110, 0, 0, 227, 244, 253, ! 67, 246, 261, 0, 227, 244, 253, 0, 0, 253, ! 67, 248, 261, 0, 253, 0, 227, 244, 247, 0, ! 312, 244, 247, 0, 0, 312, 244, 252, 247, 0, ! 156, 244, 253, 0, 0, 254, 0, 255, 0, 254, ! 255, 0, 32, 95, 95, 256, 110, 110, 0, 257, ! 0, 256, 62, 257, 0, 0, 258, 0, 258, 95, ! 3, 110, 0, 258, 95, 3, 62, 201, 110, 0, ! 258, 95, 201, 110, 0, 170, 0, 7, 0, 8, ! 0, 9, 0, 170, 0, 259, 62, 170, 0, 0, ! 67, 261, 0, 207, 0, 61, 111, 0, 61, 262, ! 111, 0, 61, 262, 62, 111, 0, 1, 0, 261, ! 0, 262, 62, 261, 0, 96, 207, 113, 261, 0, ! 170, 65, 261, 0, 262, 62, 170, 65, 261, 0, ! 104, 151, 153, 0, 104, 151, 364, 0, 104, 151, ! 1, 0, 0, 264, 263, 152, 0, 103, 207, 109, ! 0, 103, 1, 109, 0, 0, 266, 265, 0, 266, ! 1, 0, 0, 15, 170, 61, 268, 298, 111, 0, ! 0, 15, 61, 269, 298, 111, 0, 15, 170, 0, ! 15, 327, 0, 47, 322, 0, 0, 0, 0, 279, ! 280, 61, 270, 285, 111, 253, 271, 266, 272, 264, ! 0, 278, 0, 0, 62, 0, 0, 62, 0, 38, ! 0, 275, 7, 0, 275, 8, 0, 275, 9, 0, ! 275, 38, 0, 275, 254, 0, 275, 170, 0, 275, ! 320, 170, 0, 275, 329, 320, 170, 0, 275, 329, ! 170, 0, 275, 185, 0, 275, 320, 185, 0, 275, ! 329, 320, 185, 0, 276, 0, 275, 172, 0, 277, ! 0, 276, 61, 0, 276, 65, 0, 277, 61, 0, ! 277, 65, 0, 275, 172, 61, 0, 275, 172, 65, ! 0, 275, 61, 0, 0, 65, 394, 0, 65, 394, ! 281, 0, 282, 0, 281, 62, 394, 282, 0, 283, ! 0, 284, 394, 283, 0, 322, 0, 308, 0, 39, ! 394, 0, 7, 394, 0, 284, 39, 394, 0, 284, ! 7, 394, 0, 0, 287, 0, 285, 286, 287, 0, ! 285, 286, 0, 39, 65, 0, 288, 0, 287, 288, ! 0, 289, 63, 0, 289, 111, 0, 163, 65, 0, ! 163, 97, 0, 163, 26, 0, 163, 61, 0, 63, ! 0, 120, 288, 0, 140, 288, 0, 140, 230, 63, ! 0, 396, 0, 230, 290, 0, 233, 291, 0, 312, ! 244, 253, 260, 0, 156, 244, 253, 260, 0, 65, ! 207, 0, 1, 0, 233, 162, 244, 253, 260, 0, ! 162, 244, 253, 260, 0, 130, 0, 0, 292, 0, ! 290, 62, 293, 0, 0, 295, 0, 291, 62, 297, ! 0, 294, 0, 295, 0, 296, 0, 297, 0, 306, ! 244, 253, 260, 0, 4, 65, 207, 253, 0, 312, ! 244, 253, 260, 0, 156, 244, 253, 260, 0, 3, ! 65, 207, 253, 0, 65, 207, 253, 0, 306, 244, ! 253, 260, 0, 4, 65, 207, 253, 0, 312, 244, ! 253, 260, 0, 3, 65, 207, 253, 0, 65, 207, ! 253, 0, 299, 274, 0, 274, 0, 300, 0, 299, ! 62, 300, 0, 170, 0, 170, 67, 207, 0, 374, ! 330, 0, 374, 0, 95, 229, 110, 96, 193, 113, ! 0, 0, 302, 9, 0, 9, 0, 303, 9, 0, ! 254, 0, 303, 254, 0, 95, 201, 110, 0, 95, ! 384, 110, 0, 49, 0, 95, 1, 110, 0, 306, ! 0, 254, 306, 0, 83, 303, 305, 0, 73, 303, ! 305, 0, 83, 305, 0, 73, 305, 0, 328, 302, ! 305, 0, 307, 0, 307, 304, 302, 399, 0, 307, ! 96, 193, 113, 0, 307, 96, 113, 0, 95, 305, ! 110, 0, 320, 319, 0, 319, 0, 319, 0, 329, ! 319, 0, 308, 0, 310, 0, 329, 310, 0, 320, ! 319, 0, 312, 0, 254, 312, 0, 83, 303, 311, ! 0, 73, 303, 311, 0, 83, 311, 0, 73, 311, ! 0, 328, 302, 311, 0, 217, 0, 83, 303, 311, ! 0, 73, 303, 311, 0, 83, 313, 0, 73, 313, ! 0, 328, 302, 311, 0, 314, 0, 217, 304, 302, ! 399, 0, 95, 313, 110, 0, 217, 96, 193, 113, ! 0, 217, 96, 113, 0, 316, 0, 329, 316, 0, ! 329, 209, 0, 320, 216, 0, 320, 213, 0, 320, ! 212, 0, 320, 209, 0, 320, 212, 0, 316, 0, ! 329, 316, 0, 239, 95, 201, 110, 0, 239, 95, ! 214, 110, 0, 239, 228, 0, 4, 0, 5, 0, ! 184, 0, 321, 0, 320, 321, 0, 320, 50, 326, ! 56, 0, 320, 3, 56, 0, 320, 59, 56, 0, ! 4, 56, 0, 5, 56, 0, 60, 56, 0, 184, ! 56, 0, 323, 0, 329, 323, 0, 324, 170, 0, ! 324, 184, 0, 324, 326, 0, 324, 50, 326, 0, ! 325, 0, 324, 325, 0, 324, 326, 56, 0, 324, ! 50, 326, 56, 0, 4, 56, 0, 5, 56, 0, ! 184, 56, 0, 59, 56, 0, 3, 56, 0, 60, ! 56, 0, 170, 77, 189, 188, 0, 329, 319, 0, ! 310, 0, 329, 310, 0, 320, 83, 0, 329, 320, ! 83, 0, 56, 0, 83, 302, 330, 0, 83, 302, ! 0, 73, 302, 330, 0, 73, 302, 0, 328, 302, ! 0, 328, 302, 330, 0, 331, 0, 96, 193, 113, ! 0, 331, 96, 193, 113, 0, 333, 0, 254, 333, ! 0, 83, 303, 332, 0, 83, 332, 0, 83, 303, ! 0, 83, 0, 73, 303, 332, 0, 73, 332, 0, ! 73, 303, 0, 73, 0, 328, 302, 0, 328, 302, ! 332, 0, 334, 0, 95, 332, 110, 0, 334, 95, ! 384, 110, 302, 399, 0, 334, 49, 302, 399, 0, ! 334, 96, 193, 113, 0, 334, 96, 113, 0, 95, ! 385, 110, 302, 399, 0, 205, 302, 399, 0, 228, ! 302, 399, 0, 96, 193, 113, 0, 96, 113, 0, ! 348, 0, 336, 0, 335, 348, 0, 335, 336, 0, ! 1, 63, 0, 0, 338, 0, 339, 0, 338, 339, ! 0, 34, 259, 63, 0, 0, 406, 61, 341, 199, ! 0, 340, 0, 0, 0, 16, 344, 195, 345, 346, ! 0, 342, 0, 0, 347, 406, 349, 0, 342, 0, ! 406, 349, 0, 226, 0, 193, 63, 0, 0, 343, ! 17, 350, 346, 0, 343, 0, 0, 0, 18, 351, ! 195, 352, 346, 0, 0, 0, 19, 353, 346, 18, ! 354, 194, 63, 0, 0, 0, 0, 0, 20, 355, ! 95, 377, 356, 196, 63, 357, 379, 110, 358, 346, ! 0, 0, 0, 21, 359, 95, 197, 110, 360, 346, ! 0, 0, 22, 207, 65, 361, 348, 0, 0, 22, ! 207, 13, 207, 65, 362, 348, 0, 0, 23, 65, ! 363, 348, 0, 24, 63, 0, 25, 63, 0, 26, ! 63, 0, 26, 193, 63, 0, 121, 378, 95, 223, ! 110, 63, 0, 121, 378, 95, 223, 65, 380, 110, ! 63, 0, 121, 378, 95, 223, 65, 380, 65, 380, ! 110, 63, 0, 121, 378, 95, 223, 56, 380, 110, ! 63, 0, 121, 378, 95, 223, 65, 380, 65, 380, ! 65, 383, 110, 63, 0, 121, 378, 95, 223, 56, ! 380, 65, 383, 110, 63, 0, 121, 378, 95, 223, ! 65, 380, 56, 383, 110, 63, 0, 27, 83, 193, ! 63, 0, 27, 170, 63, 0, 376, 348, 0, 376, ! 111, 0, 63, 0, 367, 0, 132, 0, 131, 0, ! 128, 0, 0, 0, 97, 365, 153, 366, 370, 0, ! 0, 0, 97, 368, 342, 369, 370, 0, 371, 0, ! 370, 371, 0, 0, 0, 0, 98, 372, 375, 373, ! 342, 0, 234, 0, 303, 0, 95, 13, 110, 0, ! 95, 393, 110, 0, 3, 65, 0, 59, 65, 0, ! 4, 65, 0, 5, 65, 0, 379, 63, 0, 226, ! 0, 61, 199, 0, 0, 9, 0, 0, 193, 0, ! 1, 0, 0, 381, 0, 382, 0, 381, 62, 382, ! 0, 12, 95, 193, 110, 0, 96, 170, 113, 12, ! 95, 193, 110, 0, 223, 0, 383, 62, 223, 0, ! 0, 385, 0, 229, 0, 389, 0, 390, 13, 0, ! 389, 13, 0, 229, 13, 0, 13, 0, 389, 65, ! 0, 229, 65, 0, 0, 67, 387, 388, 0, 102, ! 0, 261, 0, 391, 0, 393, 386, 0, 390, 392, ! 0, 390, 395, 0, 390, 395, 67, 261, 0, 389, ! 62, 0, 229, 62, 0, 231, 227, 0, 234, 227, ! 0, 239, 227, 0, 231, 333, 0, 231, 0, 233, ! 312, 0, 393, 0, 393, 386, 0, 391, 0, 229, ! 0, 0, 0, 312, 0, 3, 397, 3, 398, 63, ! 0, 77, 189, 188, 0, 0, 95, 201, 110, 0, ! 0, 0, 64, 95, 401, 110, 0, 64, 49, 0, ! 229, 0, 1, 0, 400, 0, 401, 62, 400, 0, ! 0, 83, 302, 402, 0, 73, 302, 402, 0, 328, ! 302, 402, 0, 43, 0, 0, 403, 83, 404, 0, ! 403, 84, 404, 0, 403, 85, 404, 0, 403, 81, ! 404, 0, 403, 82, 404, 0, 403, 73, 404, 0, ! 403, 71, 404, 0, 403, 72, 404, 0, 403, 91, ! 404, 0, 403, 62, 404, 0, 403, 76, 404, 0, ! 403, 77, 404, 0, 403, 78, 404, 0, 403, 75, ! 404, 0, 403, 66, 404, 0, 403, 67, 404, 0, ! 403, 79, 404, 0, 403, 80, 404, 0, 403, 89, ! 404, 0, 403, 90, 404, 0, 403, 70, 404, 0, ! 403, 69, 404, 0, 403, 112, 404, 0, 403, 68, ! 65, 404, 0, 403, 74, 404, 0, 403, 93, 404, ! 0, 403, 86, 404, 0, 403, 49, 404, 0, 403, ! 96, 113, 404, 0, 403, 41, 404, 0, 403, 40, ! 404, 0, 403, 41, 96, 113, 404, 0, 403, 40, ! 96, 113, 404, 0, 403, 374, 402, 404, 0, 403, ! 1, 404, 0, 0 }; #endif *************** static const short yyrline[] = { 0, *** 797,878 **** 958, 961, 968, 976, 978, 981, 983, 986, 988, 991, 995, 997, 998, 999, 1000, 1003, 1005, 1006, 1009, 1011, 1012, 1015, 1020, 1020, 1024, 1024, 1027, 1027, 1030, 1030, ! 1034, 1034, 1039, 1039, 1042, 1042, 1045, 1047, 1051, 1059, ! 1063, 1066, 1069, 1071, 1076, 1082, 1092, 1094, 1102, 1105, ! 1108, 1111, 1115, 1118, 1124, 1130, 1131, 1143, 1146, 1148, ! 1150, 1152, 1156, 1159, 1162, 1167, 1171, 1176, 1180, 1183, ! 1184, 1188, 1205, 1211, 1214, 1216, 1217, 1218, 1221, 1225, ! 1228, 1230, 1234, 1237, 1240, 1244, 1247, 1249, 1251, 1253, ! 1256, 1258, 1260, 1263, 1265, 1271, 1274, 1277, 1280, 1283, ! 1288, 1291, 1294, 1298, 1300, 1304, 1308, 1310, 1314, 1317, ! 1322, 1325, 1327, 1337, 1351, 1356, 1362, 1364, 1366, 1379, ! 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396, 1398, 1400, ! 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420, ! 1422, 1426, 1428, 1430, 1434, 1437, 1439, 1441, 1443, 1445, ! 1447, 1449, 1451, 1453, 1455, 1457, 1459, 1461, 1463, 1465, ! 1467, 1469, 1471, 1473, 1475, 1479, 1481, 1483, 1487, 1490, ! 1492, 1493, 1494, 1495, 1496, 1499, 1512, 1515, 1519, 1522, ! 1524, 1529, 1531, 1532, 1535, 1537, 1545, 1547, 1549, 1551, ! 1555, 1558, 1562, 1566, 1567, 1568, 1572, 1580, 1581, 1582, ! 1592, 1598, 1600, 1603, 1605, 1616, 1621, 1623, 1625, 1627, ! 1629, 1632, 1634, 1636, 1639, 1641, 1652, 1653, 1657, 1661, ! 1665, 1669, 1671, 1675, 1677, 1679, 1687, 1689, 1691, 1693, ! 1697, 1699, 1701, 1703, 1708, 1710, 1712, 1714, 1717, 1719, ! 1721, 1765, 1768, 1772, 1775, 1779, 1782, 1787, 1789, 1793, ! 1801, 1804, 1811, 1817, 1821, 1823, 1828, 1830, 1837, 1839, ! 1843, 1847, 1853, 1857, 1860, 1864, 1867, 1877, 1880, 1884, ! 1888, 1891, 1894, 1897, 1900, 1906, 1912, 1914, 1935, 1938, ! 1943, 1948, 1956, 1966, 1970, 1973, 1976, 1981, 1984, 1986, ! 1988, 1996, 1999, 2001, 2003, 2006, 2009, 2024, 2043, 2046, ! 2048, 2051, 2053, 2057, 2059, 2063, 2065, 2069, 2072, 2076, ! 2081, 2082, 2095, 2102, 2103, 2109, 2114, 2119, 2127, 2128, ! 2135, 2138, 2142, 2145, 2149, 2154, 2157, 2161, 2164, 2166, ! 2168, 2170, 2177, 2179, 2180, 2181, 2185, 2188, 2192, 2195, ! 2202, 2204, 2207, 2210, 2213, 2219, 2222, 2225, 2227, 2229, ! 2233, 2239, 2244, 2250, 2252, 2257, 2260, 2264, 2266, 2268, ! 2272, 2276, 2282, 2285, 2291, 2294, 2297, 2303, 2320, 2339, ! 2344, 2349, 2357, 2359, 2362, 2364, 2369, 2371, 2373, 2375, ! 2377, 2379, 2383, 2389, 2394, 2399, 2406, 2412, 2417, 2424, ! 2431, 2437, 2444, 2452, 2459, 2470, 2481, 2489, 2497, 2506, ! 2509, 2512, 2516, 2518, 2522, 2525, 2529, 2533, 2537, 2539, ! 2543, 2554, 2568, 2569, 2570, 2571, 2574, 2583, 2590, 2598, ! 2600, 2605, 2607, 2609, 2611, 2613, 2615, 2618, 2628, 2633, ! 2637, 2662, 2668, 2670, 2672, 2674, 2685, 2690, 2692, 2698, ! 2701, 2708, 2718, 2721, 2728, 2738, 2740, 2743, 2745, 2748, ! 2752, 2757, 2761, 2764, 2767, 2772, 2775, 2779, 2782, 2784, ! 2788, 2790, 2797, 2799, 2802, 2805, 2810, 2814, 2819, 2829, ! 2832, 2836, 2840, 2843, 2846, 2855, 2858, 2860, 2862, 2868, ! 2870, 2879, 2882, 2884, 2886, 2888, 2892, 2895, 2898, 2900, ! 2902, 2904, 2908, 2911, 2922, 2932, 2934, 2935, 2939, 2947, ! 2949, 2957, 2960, 2962, 2964, 2966, 2970, 2973, 2976, 2978, ! 2980, 2982, 2986, 2989, 2992, 2994, 2996, 2998, 3000, 3002, ! 3006, 3013, 3017, 3022, 3026, 3031, 3033, 3037, 3040, 3042, ! 3046, 3048, 3049, 3052, 3054, 3056, 3060, 3063, 3070, 3081, ! 3087, 3093, 3097, 3099, 3103, 3117, 3119, 3121, 3125, 3133, ! 3146, 3149, 3156, 3169, 3175, 3177, 3178, 3179, 3187, 3192, ! 3201, 3202, 3206, 3209, 3215, 3221, 3224, 3226, 3228, 3230, ! 3234, 3238, 3242, 3245, 3249, 3251, 3260, 3263, 3265, 3267, ! 3269, 3271, 3273, 3275, 3277, 3281, 3285, 3289, 3293, 3295, ! 3297, 3299, 3301, 3303, 3305, 3307, 3309, 3317, 3319, 3320, ! 3321, 3324, 3330, 3332, 3337, 3339, 3342, 3353, 3357, 3361, ! 3366, 3371, 3373, 3377, 3379, 3381, 3387, 3389, 3393, 3397, ! 3399, 3402, 3407, 3410, 3416, 3418, 3420, 3422, 3427, 3430, ! 3432, 3434, 3436, 3439, 3441, 3443, 3446, 3448, 3451, 3452, ! 3455, 3456, 3459, 3460, 3462, 3464, 3466, 3468, 3473, 3476, ! 3479, 3482, 3485, 3488, 3491, 3497, 3499, 3501, 3505, 3508, ! 3510, 3512, 3515, 3519, 3523, 3525, 3528, 3532, 3534, 3537, ! 3539, 3540, 3551, 3555, 3557, 3560, 3562, 3565, 3582, 3590, ! 3593, 3595, 3597, 3601, 3604, 3605, 3613, 3616, 3619, 3622, ! 3623, 3629, 3632, 3635, 3637, 3641, 3644, 3648, 3651, 3661, ! 3666, 3667, 3674, 3677, 3680, 3682, 3685, 3687, 3697, 3711, ! 3715, 3718, 3720, 3724, 3728, 3731, 3734, 3736, 3740, 3742, ! 3749, 3755, 3758, 3762, 3765, 3768, 3773, 3777, 3782, 3784, ! 3787, 3792, 3798, 3814, 3822, 3825, 3828, 3831, 3834, 3837, ! 3839, 3843, 3849, 3853, 3856, 3860, 3863, 3865, 3867, 3873, ! 3886, 3894, 3897, 3899, 3901, 3903, 3905, 3907, 3909, 3911, ! 3913, 3915, 3917, 3919, 3921, 3923, 3925, 3927, 3929, 3931, ! 3933, 3935, 3937, 3939, 3941, 3943, 3945, 3947, 3949, 3951, ! 3953, 3955, 3957, 3959, 3961, 3963, 3970 }; #endif --- 798,879 ---- 958, 961, 968, 976, 978, 981, 983, 986, 988, 991, 995, 997, 998, 999, 1000, 1003, 1005, 1006, 1009, 1011, 1012, 1015, 1020, 1020, 1024, 1024, 1027, 1027, 1030, 1030, ! 1034, 1035, 1040, 1041, 1044, 1045, 1048, 1051, 1055, 1063, ! 1067, 1070, 1073, 1075, 1080, 1086, 1096, 1098, 1106, 1109, ! 1112, 1115, 1119, 1122, 1128, 1134, 1135, 1147, 1150, 1152, ! 1154, 1156, 1160, 1163, 1166, 1171, 1175, 1180, 1184, 1187, ! 1188, 1192, 1209, 1215, 1218, 1220, 1221, 1222, 1225, 1229, ! 1232, 1234, 1238, 1241, 1244, 1248, 1251, 1253, 1255, 1257, ! 1260, 1262, 1265, 1269, 1272, 1279, 1282, 1285, 1288, 1291, ! 1296, 1299, 1302, 1306, 1308, 1312, 1316, 1318, 1322, 1325, ! 1330, 1333, 1335, 1345, 1359, 1364, 1370, 1372, 1374, 1387, ! 1390, 1392, 1394, 1396, 1398, 1400, 1402, 1404, 1406, 1408, ! 1410, 1412, 1414, 1416, 1418, 1420, 1422, 1424, 1426, 1428, ! 1430, 1434, 1436, 1438, 1442, 1445, 1447, 1449, 1451, 1453, ! 1455, 1457, 1459, 1461, 1463, 1465, 1467, 1469, 1471, 1473, ! 1475, 1477, 1479, 1481, 1483, 1487, 1489, 1491, 1495, 1498, ! 1500, 1501, 1502, 1503, 1504, 1507, 1520, 1523, 1527, 1530, ! 1532, 1537, 1539, 1540, 1543, 1545, 1553, 1555, 1557, 1559, ! 1563, 1566, 1570, 1574, 1575, 1576, 1580, 1588, 1589, 1590, ! 1600, 1606, 1608, 1611, 1613, 1624, 1629, 1631, 1633, 1635, ! 1637, 1640, 1642, 1644, 1647, 1649, 1660, 1661, 1665, 1669, ! 1673, 1677, 1679, 1683, 1685, 1687, 1695, 1697, 1699, 1701, ! 1705, 1707, 1709, 1711, 1716, 1718, 1720, 1722, 1725, 1727, ! 1729, 1773, 1776, 1780, 1783, 1787, 1790, 1795, 1797, 1801, ! 1809, 1812, 1819, 1825, 1829, 1831, 1836, 1838, 1845, 1847, ! 1851, 1855, 1861, 1865, 1868, 1872, 1875, 1885, 1888, 1892, ! 1896, 1899, 1902, 1905, 1908, 1914, 1920, 1922, 1943, 1946, ! 1951, 1956, 1964, 1974, 1978, 1981, 1984, 1989, 1992, 1994, ! 1996, 2000, 2004, 2008, 2016, 2019, 2021, 2023, 2027, 2031, ! 2046, 2065, 2068, 2070, 2073, 2075, 2079, 2081, 2085, 2087, ! 2091, 2094, 2098, 2103, 2104, 2117, 2124, 2125, 2131, 2136, ! 2141, 2149, 2150, 2157, 2160, 2164, 2167, 2171, 2176, 2179, ! 2183, 2186, 2188, 2190, 2192, 2199, 2201, 2202, 2203, 2207, ! 2210, 2214, 2217, 2224, 2226, 2229, 2232, 2235, 2241, 2244, ! 2247, 2249, 2251, 2255, 2261, 2266, 2272, 2274, 2279, 2282, ! 2286, 2288, 2290, 2294, 2298, 2304, 2307, 2313, 2316, 2319, ! 2325, 2342, 2361, 2366, 2371, 2379, 2381, 2384, 2386, 2391, ! 2393, 2395, 2397, 2399, 2401, 2405, 2411, 2416, 2421, 2428, ! 2434, 2439, 2446, 2453, 2459, 2466, 2474, 2481, 2492, 2503, ! 2511, 2519, 2528, 2531, 2534, 2538, 2540, 2544, 2547, 2551, ! 2555, 2559, 2561, 2565, 2576, 2590, 2591, 2592, 2593, 2596, ! 2605, 2612, 2620, 2622, 2627, 2629, 2631, 2633, 2635, 2637, ! 2640, 2650, 2655, 2659, 2684, 2690, 2692, 2694, 2696, 2707, ! 2712, 2714, 2720, 2723, 2730, 2740, 2743, 2750, 2760, 2762, ! 2765, 2767, 2770, 2774, 2779, 2783, 2786, 2789, 2794, 2797, ! 2801, 2804, 2806, 2810, 2812, 2819, 2821, 2824, 2827, 2832, ! 2836, 2841, 2851, 2854, 2858, 2862, 2865, 2868, 2877, 2880, ! 2882, 2884, 2890, 2892, 2901, 2904, 2906, 2908, 2910, 2914, ! 2917, 2920, 2922, 2924, 2926, 2930, 2933, 2944, 2954, 2956, ! 2957, 2961, 2969, 2971, 2979, 2982, 2984, 2986, 2988, 2992, ! 2995, 2998, 3000, 3002, 3004, 3008, 3011, 3014, 3016, 3018, ! 3020, 3022, 3024, 3028, 3035, 3039, 3044, 3048, 3053, 3055, ! 3059, 3062, 3064, 3068, 3070, 3071, 3074, 3076, 3078, 3082, ! 3085, 3092, 3103, 3109, 3115, 3119, 3121, 3125, 3139, 3141, ! 3143, 3147, 3155, 3168, 3171, 3178, 3191, 3197, 3199, 3200, ! 3201, 3209, 3214, 3223, 3224, 3228, 3231, 3237, 3243, 3246, ! 3248, 3250, 3252, 3256, 3260, 3264, 3267, 3271, 3273, 3282, ! 3285, 3287, 3289, 3291, 3293, 3295, 3297, 3299, 3303, 3307, ! 3311, 3315, 3317, 3319, 3321, 3323, 3325, 3327, 3329, 3331, ! 3339, 3341, 3342, 3343, 3346, 3352, 3354, 3359, 3361, 3364, ! 3375, 3379, 3383, 3388, 3393, 3395, 3399, 3401, 3403, 3409, ! 3411, 3415, 3419, 3421, 3424, 3429, 3432, 3438, 3440, 3442, ! 3444, 3449, 3452, 3454, 3456, 3458, 3461, 3463, 3465, 3468, ! 3470, 3473, 3474, 3477, 3478, 3481, 3482, 3484, 3486, 3488, ! 3490, 3495, 3498, 3501, 3504, 3507, 3510, 3513, 3519, 3521, ! 3523, 3527, 3530, 3532, 3534, 3537, 3541, 3545, 3547, 3550, ! 3554, 3556, 3559, 3561, 3562, 3573, 3577, 3579, 3582, 3584, ! 3587, 3604, 3612, 3615, 3617, 3619, 3623, 3626, 3627, 3635, ! 3638, 3641, 3644, 3645, 3651, 3654, 3657, 3659, 3663, 3666, ! 3670, 3673, 3683, 3688, 3689, 3696, 3699, 3702, 3704, 3707, ! 3709, 3719, 3733, 3737, 3740, 3742, 3746, 3750, 3753, 3756, ! 3758, 3762, 3764, 3771, 3777, 3780, 3784, 3787, 3790, 3795, ! 3799, 3804, 3806, 3809, 3814, 3820, 3836, 3844, 3847, 3850, ! 3853, 3856, 3859, 3861, 3865, 3871, 3875, 3878, 3882, 3885, ! 3887, 3889, 3895, 3908, 3916, 3919, 3921, 3923, 3925, 3927, ! 3929, 3931, 3933, 3935, 3937, 3939, 3941, 3943, 3945, 3947, ! 3949, 3951, 3953, 3955, 3957, 3959, 3961, 3963, 3965, 3967, ! 3969, 3971, 3973, 3975, 3977, 3979, 3981, 3983, 3985, 3992 }; #endif *************** static const short yyrline[] = { 0, *** 880,886 **** #if YYDEBUG != 0 || defined (YYERROR_VERBOSE) static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER", ! "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT", "VAR_FUNC_NAME","STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO", "FOR","SWITCH","CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD", "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART", --- 881,887 ---- #if YYDEBUG != 0 || defined (YYERROR_VERBOSE) static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER", ! "tTYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT", "VAR_FUNC_NAME","STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO", "FOR","SWITCH","CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD", "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART", *************** static const char * const yytname[] = { *** 915,930 **** "direct_notype_declarator","primary","@23","new","delete","boolean.literal", "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id", "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs", ! "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls", ! "nomods_initdecls","maybeasm","initdcl","@24","initdcl0_innards","@25","initdcl0", ! "notype_initdcl0","nomods_initdcl0","@26","maybe_attribute","attributes","attribute", ! "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init", ! "init","initlist","pending_inline","pending_inlines","defarg_again","pending_defargs", ! "structsp","@27","@28","@29","@30","@31","maybecomma","maybecomma_warn","aggr", ! "class_head","class_head_apparent_template","class_head_decl","class_head_defn", ! "maybe_base_class_list","base_class_list","base_class","base_class.1","base_class_access_list", ! "opt.component_decl_list","access_specifier","component_decl_list","component_decl", ! "component_decl_1","components","notype_components","component_declarator0", "component_declarator","after_type_component_declarator0","notype_component_declarator0", "after_type_component_declarator","notype_component_declarator","enumlist_opt", "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers", --- 916,931 ---- "direct_notype_declarator","primary","@23","new","delete","boolean.literal", "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id", "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs", ! "reserved_typespecquals","sizeof","alignof","typeof","typespec","typespecqual_reserved", ! "initdecls","notype_initdecls","nomods_initdecls","maybeasm","initdcl","@24", ! "initdcl0_innards","@25","initdcl0","notype_initdcl0","nomods_initdcl0","@26", ! "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word", ! "identifiers_or_typenames","maybe_init","init","initlist","pending_inline","pending_inlines", ! "defarg_again","pending_defargs","structsp","@27","@28","@29","@30","@31","maybecomma", ! "maybecomma_warn","aggr","class_head","class_head_apparent_template","class_head_decl", ! "class_head_defn","maybe_base_class_list","base_class_list","base_class","base_class.1", ! "base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list", ! "component_decl","component_decl_1","components","notype_components","component_declarator0", "component_declarator","after_type_component_declarator0","notype_component_declarator0", "after_type_component_declarator","notype_component_declarator","enumlist_opt", "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers", *************** static const short yyr1[] = { 0, *** 993,1048 **** 228, 228, 229, 229, 229, 229, 229, 230, 230, 231, 231, 231, 231, 231, 231, 232, 232, 232, 233, 233, 233, 233, 233, 234, 234, 234, 234, 235, 235, 235, ! 235, 236, 236, 236, 236, 236, 236, 236, 237, 237, ! 237, 238, 238, 239, 239, 240, 240, 241, 241, 243, ! 242, 242, 245, 244, 244, 246, 247, 249, 248, 248, ! 250, 250, 251, 251, 252, 253, 253, 254, 254, 254, ! 254, 254, 255, 255, 255, 255, 256, 256, 257, 257, ! 258, 258, 258, 258, 258, 259, 259, 259, 259, 259, ! 260, 260, 260, 261, 261, 262, 262, 263, 263, 263, ! 265, 264, 266, 264, 264, 264, 264, 267, 268, 269, ! 264, 264, 270, 270, 271, 271, 272, 272, 272, 272, ! 272, 272, 273, 273, 273, 273, 274, 274, 274, 275, ! 275, 275, 276, 276, 276, 276, 276, 276, 276, 277, ! 277, 277, 278, 278, 279, 279, 280, 280, 281, 281, ! 281, 281, 282, 282, 282, 282, 283, 284, 284, 285, ! 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, ! 286, 286, 286, 286, 286, 286, 286, 286, 286, 287, ! 287, 287, 288, 288, 288, 289, 289, 290, 290, 291, ! 291, 292, 292, 292, 292, 293, 293, 294, 294, 294, ! 295, 295, 296, 296, 297, 297, 298, 298, 298, 299, ! 299, 300, 300, 300, 300, 301, 301, 301, 301, 302, ! 302, 303, 303, 303, 303, 303, 303, 304, 304, 304, ! 304, 304, 304, 305, 305, 306, 306, 306, 307, 308, ! 308, 309, 309, 309, 309, 309, 309, 310, 310, 310, ! 310, 310, 310, 311, 311, 311, 311, 311, 311, 311, ! 311, 312, 312, 313, 313, 314, 314, 315, 315, 315, ! 316, 316, 316, 317, 317, 317, 317, 317, 318, 318, ! 318, 318, 319, 319, 320, 320, 320, 320, 321, 321, ! 321, 321, 322, 322, 322, 322, 322, 322, 323, 324, ! 324, 324, 325, 325, 326, 327, 327, 327, 327, 327, ! 327, 327, 328, 328, 329, 329, 330, 330, 330, 330, ! 330, 330, 330, 330, 330, 330, 330, 331, 331, 331, ! 331, 331, 331, 331, 331, 331, 331, 332, 332, 332, ! 332, 333, 334, 334, 335, 335, 336, 338, 337, 339, ! 341, 342, 340, 343, 344, 343, 345, 345, 346, 346, ! 347, 346, 346, 348, 349, 346, 350, 351, 346, 352, ! 353, 354, 355, 346, 356, 357, 346, 358, 346, 359, ! 346, 360, 346, 346, 346, 346, 346, 346, 346, 346, ! 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, ! 346, 346, 346, 362, 363, 361, 365, 366, 364, 367, ! 367, 367, 369, 370, 368, 371, 371, 372, 372, 373, ! 373, 373, 373, 374, 374, 374, 375, 375, 376, 376, ! 376, 377, 377, 378, 378, 379, 379, 380, 380, 381, ! 381, 381, 382, 382, 382, 382, 382, 382, 382, 384, ! 383, 385, 385, 386, 386, 386, 386, 386, 387, 387, ! 388, 388, 388, 388, 388, 388, 389, 389, 390, 390, ! 391, 392, 392, 393, 394, 394, 395, 395, 396, 396, ! 396, 397, 397, 398, 398, 399, 399, 399, 399, 400, ! 401, 402, 402, 402, 402, 402, 402, 402, 402, 402, ! 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, ! 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, ! 402, 402, 402, 402, 402, 402, 403 }; static const short yyr2[] = { 0, --- 994,1049 ---- 228, 228, 229, 229, 229, 229, 229, 230, 230, 231, 231, 231, 231, 231, 231, 232, 232, 232, 233, 233, 233, 233, 233, 234, 234, 234, 234, 235, 235, 235, ! 235, 236, 237, 238, 239, 239, 239, 239, 239, 239, ! 239, 240, 240, 240, 241, 241, 242, 242, 243, 243, ! 244, 244, 246, 245, 245, 248, 247, 247, 249, 250, ! 252, 251, 251, 253, 253, 254, 254, 255, 256, 256, ! 257, 257, 257, 257, 257, 258, 258, 258, 258, 259, ! 259, 260, 260, 261, 261, 261, 261, 261, 262, 262, ! 262, 262, 262, 263, 263, 263, 264, 264, 265, 265, ! 266, 266, 266, 268, 267, 269, 267, 267, 267, 267, ! 270, 271, 272, 267, 267, 273, 273, 274, 274, 275, ! 275, 275, 275, 275, 275, 276, 276, 276, 276, 277, ! 277, 277, 278, 278, 278, 279, 279, 279, 279, 279, ! 279, 279, 280, 280, 280, 281, 281, 282, 282, 283, ! 283, 284, 284, 284, 284, 285, 285, 285, 285, 286, ! 287, 287, 288, 288, 288, 288, 288, 288, 288, 288, ! 288, 288, 288, 289, 289, 289, 289, 289, 289, 289, ! 289, 289, 290, 290, 290, 291, 291, 291, 292, 292, ! 293, 293, 294, 294, 295, 295, 295, 295, 296, 296, ! 297, 297, 297, 298, 298, 299, 299, 300, 300, 301, ! 301, 301, 302, 302, 303, 303, 303, 303, 304, 304, ! 304, 304, 305, 305, 306, 306, 306, 306, 306, 306, ! 307, 307, 307, 307, 307, 307, 308, 308, 309, 309, ! 309, 310, 311, 311, 312, 312, 312, 312, 312, 312, ! 313, 313, 313, 313, 313, 313, 314, 314, 314, 314, ! 314, 314, 314, 314, 315, 315, 316, 316, 317, 317, ! 318, 318, 318, 319, 319, 319, 320, 320, 320, 320, ! 320, 321, 321, 321, 321, 322, 322, 323, 323, 323, ! 323, 324, 324, 324, 324, 325, 325, 325, 325, 325, ! 325, 326, 327, 327, 327, 328, 328, 329, 330, 330, ! 330, 330, 330, 330, 330, 331, 331, 332, 332, 333, ! 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, ! 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, ! 335, 335, 335, 335, 336, 337, 337, 338, 338, 339, ! 341, 340, 342, 344, 345, 343, 346, 347, 346, 348, ! 348, 349, 349, 350, 349, 349, 351, 352, 349, 353, ! 354, 349, 355, 356, 357, 358, 349, 359, 360, 349, ! 361, 349, 362, 349, 363, 349, 349, 349, 349, 349, ! 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, ! 349, 349, 349, 349, 349, 349, 365, 366, 364, 368, ! 369, 367, 370, 370, 370, 372, 373, 371, 374, 374, ! 375, 375, 376, 376, 376, 376, 377, 377, 377, 378, ! 378, 379, 379, 379, 380, 380, 381, 381, 382, 382, ! 383, 383, 384, 384, 384, 385, 385, 385, 385, 385, ! 385, 385, 387, 386, 388, 388, 389, 389, 389, 389, ! 389, 390, 390, 391, 391, 391, 391, 391, 391, 392, ! 392, 393, 393, 394, 395, 395, 396, 397, 397, 398, ! 398, 399, 399, 399, 400, 400, 401, 401, 402, 402, ! 402, 402, 403, 404, 405, 405, 405, 405, 405, 405, ! 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, ! 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, ! 405, 405, 405, 405, 405, 405, 405, 405, 405, 406 }; static const short yyr2[] = { 0, *************** static const short yyr2[] = { 0, *** 1089,4029 **** 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 1, 2, 2, 1, 1, 2, 2, 2, 1, 2, 2, 3, 1, 2, 2, ! 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, ! 1, 1, 3, 1, 3, 1, 3, 0, 4, 0, ! 6, 3, 0, 4, 1, 3, 3, 0, 4, 3, ! 0, 1, 1, 2, 6, 1, 3, 0, 1, 4, ! 6, 4, 1, 1, 1, 1, 1, 3, 0, 2, ! 1, 2, 3, 4, 1, 1, 3, 4, 3, 5, ! 3, 3, 3, 0, 3, 3, 3, 0, 2, 2, ! 0, 6, 0, 5, 2, 2, 2, 0, 0, 0, ! 11, 1, 0, 1, 0, 1, 1, 2, 2, 2, ! 2, 2, 2, 3, 4, 3, 2, 3, 4, 1, ! 2, 1, 2, 2, 2, 2, 3, 3, 2, 0, ! 2, 3, 1, 4, 1, 3, 1, 1, 2, 2, ! 3, 3, 0, 1, 3, 2, 2, 1, 2, 2, ! 2, 2, 2, 2, 2, 1, 2, 2, 3, 1, ! 2, 2, 4, 4, 2, 1, 5, 4, 1, 0, ! 1, 3, 0, 1, 3, 1, 1, 1, 1, 4, ! 4, 4, 4, 4, 3, 4, 4, 4, 4, 3, ! 2, 1, 1, 3, 1, 3, 2, 1, 6, 0, ! 2, 1, 2, 1, 2, 3, 3, 1, 3, 1, ! 2, 3, 3, 2, 2, 3, 1, 4, 4, 3, ! 3, 2, 1, 1, 2, 1, 1, 2, 2, 1, ! 2, 3, 3, 2, 2, 3, 1, 3, 3, 2, ! 2, 3, 1, 4, 3, 4, 3, 1, 2, 2, ! 2, 2, 2, 2, 2, 1, 2, 4, 4, 2, ! 1, 1, 1, 1, 2, 4, 3, 3, 2, 2, ! 2, 2, 1, 2, 2, 2, 2, 3, 1, 2, ! 3, 4, 2, 2, 2, 2, 2, 2, 4, 2, ! 1, 2, 2, 3, 1, 3, 2, 3, 2, 2, ! 3, 1, 3, 4, 1, 2, 3, 2, 2, 1, ! 3, 2, 2, 1, 2, 3, 1, 3, 6, 4, ! 4, 3, 5, 3, 3, 3, 2, 1, 1, 2, ! 2, 2, 0, 1, 1, 2, 3, 0, 4, 1, ! 0, 0, 5, 1, 0, 3, 1, 2, 1, 2, ! 0, 4, 1, 0, 0, 5, 0, 0, 7, 0, ! 0, 0, 0, 12, 0, 0, 7, 0, 5, 0, ! 7, 0, 4, 2, 2, 2, 3, 6, 8, 10, ! 8, 12, 10, 10, 4, 3, 2, 2, 1, 1, ! 1, 1, 1, 0, 0, 5, 0, 0, 5, 1, ! 2, 0, 0, 0, 5, 1, 1, 3, 3, 2, ! 2, 2, 2, 2, 1, 2, 0, 1, 0, 1, ! 1, 0, 1, 1, 3, 4, 7, 1, 3, 0, ! 1, 1, 1, 2, 2, 2, 1, 2, 2, 0, ! 3, 1, 1, 1, 2, 2, 2, 4, 2, 2, ! 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, ! 0, 0, 1, 5, 3, 0, 3, 0, 0, 4, ! 2, 1, 1, 1, 3, 0, 3, 3, 3, 1, ! 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 4, 3, 3, 3, 3, 4, ! 3, 3, 5, 5, 4, 3, 0 }; static const short yydefact[] = { 3, ! 12, 12, 5, 0, 4, 0, 313, 671, 672, 0, ! 420, 433, 612, 0, 11, 0, 0, 0, 10, 517, ! 890, 0, 0, 0, 178, 705, 16, 314, 315, 88, ! 0, 0, 871, 0, 47, 0, 0, 13, 27, 0, 29, 8, 52, 53, 0, 18, 15, 95, 118, 92, ! 0, 673, 182, 334, 311, 335, 647, 0, 409, 0, ! 408, 424, 0, 446, 614, 463, 432, 0, 530, 532, ! 512, 540, 419, 636, 434, 637, 116, 333, 658, 634, ! 0, 674, 610, 0, 89, 0, 312, 85, 87, 86, ! 189, 0, 679, 189, 680, 189, 316, 178, 151, 152, ! 153, 154, 155, 503, 505, 0, 701, 0, 506, 0, 0, 0, 0, 152, 153, 154, 155, 25, 0, 0, ! 0, 0, 0, 0, 0, 507, 683, 0, 689, 0, 0, 0, 39, 0, 0, 33, 0, 0, 49, 0, ! 0, 189, 681, 0, 313, 614, 0, 645, 640, 0, ! 0, 0, 644, 0, 0, 0, 0, 334, 0, 325, ! 0, 0, 0, 333, 610, 30, 0, 28, 3, 48, 0, 68, 420, 0, 0, 8, 71, 67, 70, 95, ! 0, 0, 0, 432, 96, 14, 0, 461, 0, 0, ! 479, 93, 83, 682, 618, 0, 0, 610, 84, 0, ! 0, 0, 114, 0, 442, 399, 627, 400, 633, 0, ! 610, 422, 421, 82, 117, 410, 0, 444, 423, 115, ! 416, 439, 440, 411, 426, 428, 431, 441, 0, 79, ! 464, 518, 519, 520, 521, 539, 160, 159, 161, 523, ! 531, 183, 527, 522, 0, 0, 533, 534, 535, 536, ! 871, 0, 613, 425, 615, 0, 458, 313, 672, 0, ! 314, 703, 182, 664, 665, 661, 639, 675, 0, 313, ! 315, 660, 638, 659, 635, 0, 891, 891, 891, 891, ! 891, 891, 891, 0, 891, 891, 891, 891, 891, 891, ! 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, ! 891, 891, 891, 891, 891, 891, 0, 891, 816, 424, ! 817, 886, 316, 612, 338, 341, 388, 0, 0, 0, ! 0, 0, 384, 382, 355, 386, 387, 0, 0, 0, ! 0, 0, 314, 307, 0, 0, 199, 198, 0, 200, ! 201, 0, 0, 202, 0, 0, 190, 191, 0, 257, ! 0, 285, 196, 337, 225, 0, 0, 339, 340, 0, ! 193, 406, 424, 407, 666, 367, 357, 0, 0, 878, ! 0, 0, 189, 0, 515, 501, 0, 0, 0, 702, ! 700, 283, 0, 203, 260, 204, 0, 0, 0, 0, ! 0, 468, 3, 23, 31, 697, 693, 694, 696, 698, ! 695, 151, 152, 153, 0, 154, 155, 685, 686, 690, ! 687, 684, 0, 313, 323, 324, 322, 663, 662, 35, ! 34, 51, 0, 168, 0, 0, 424, 166, 17, 0, ! 0, 189, 641, 615, 643, 0, 642, 152, 153, 309, ! 310, 329, 614, 0, 651, 328, 0, 650, 0, 336, ! 314, 315, 0, 0, 0, 327, 326, 655, 0, 0, ! 12, 0, 178, 9, 9, 74, 0, 69, 0, 0, ! 75, 78, 0, 460, 462, 132, 101, 804, 99, 390, ! 100, 135, 0, 0, 133, 94, 0, 847, 224, 0, ! 223, 842, 865, 0, 406, 424, 407, 0, 841, 843, ! 872, 854, 0, 0, 657, 0, 0, 879, 614, 0, ! 625, 620, 0, 624, 0, 0, 0, 0, 0, 610, ! 461, 0, 81, 0, 610, 632, 0, 413, 414, 0, ! 80, 461, 418, 417, 412, 429, 430, 448, 447, 189, ! 537, 538, 151, 154, 524, 528, 526, 0, 541, 508, ! 427, 461, 677, 610, 102, 0, 0, 0, 0, 678, ! 610, 108, 611, 0, 646, 672, 704, 182, 926, 0, ! 922, 0, 921, 919, 901, 906, 907, 891, 913, 912, ! 898, 899, 897, 916, 905, 902, 903, 904, 908, 909, ! 895, 896, 892, 893, 894, 918, 910, 911, 900, 917, ! 891, 914, 426, 610, 610, 0, 610, 0, 891, 189, ! 0, 0, 232, 0, 234, 247, 248, 0, 0, 0, ! 0, 0, 0, 308, 231, 228, 227, 229, 0, 0, ! 0, 0, 0, 337, 0, 927, 0, 226, 187, 188, ! 331, 0, 230, 0, 0, 258, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 348, 0, 350, ! 353, 354, 392, 391, 0, 0, 0, 0, 0, 236, ! 608, 0, 244, 389, 381, 0, 0, 871, 370, 373, ! 374, 0, 0, 401, 724, 720, 0, 0, 610, 610, ! 610, 403, 727, 0, 670, 405, 0, 0, 404, 369, ! 0, 0, 364, 383, 195, 365, 385, 667, 0, 366, ! 0, 0, 186, 186, 0, 176, 0, 424, 174, 516, ! 605, 602, 0, 515, 603, 515, 0, 284, 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 436, 437, 438, 474, 475, 476, 473, ! 0, 466, 469, 0, 3, 0, 688, 189, 691, 0, ! 43, 44, 0, 57, 0, 0, 0, 61, 65, 54, ! 870, 424, 57, 869, 63, 179, 164, 162, 179, 186, ! 332, 0, 649, 648, 336, 0, 652, 0, 20, 22, ! 95, 9, 9, 77, 76, 0, 137, 0, 927, 91, ! 90, 485, 0, 481, 480, 0, 619, 616, 846, 860, ! 849, 724, 720, 0, 861, 610, 864, 866, 0, 0, ! 862, 0, 863, 617, 845, 859, 848, 844, 873, 856, ! 867, 857, 850, 855, 656, 0, 670, 0, 654, 621, ! 615, 623, 622, 614, 0, 0, 0, 0, 0, 0, ! 610, 631, 0, 456, 455, 443, 630, 0, 879, 0, ! 626, 415, 445, 457, 461, 0, 525, 529, 671, 672, ! 871, 871, 673, 542, 543, 545, 871, 548, 547, 0, ! 0, 459, 879, 840, 189, 189, 676, 189, 879, 840, ! 610, 105, 610, 111, 891, 891, 915, 920, 886, 886, ! 886, 0, 925, 0, 0, 0, 0, 0, 0, 0, ! 0, 424, 0, 0, 0, 344, 0, 342, 343, 0, ! 0, 255, 192, 313, 671, 672, 314, 315, 0, 0, ! 486, 513, 0, 306, 305, 831, 830, 0, 303, 302, ! 300, 301, 299, 298, 297, 295, 296, 293, 294, 288, ! 289, 290, 291, 292, 286, 287, 0, 0, 0, 0, ! 0, 0, 0, 238, 252, 0, 0, 237, 610, 610, ! 0, 610, 607, 712, 0, 0, 0, 0, 0, 372, ! 0, 376, 0, 378, 0, 614, 723, 722, 715, 719, ! 718, 870, 0, 0, 737, 0, 0, 879, 402, 879, ! 725, 610, 840, 0, 724, 720, 0, 0, 610, 0, ! 614, 0, 0, 0, 0, 197, 0, 874, 181, 185, ! 317, 179, 172, 170, 179, 0, 504, 516, 601, 0, ! 222, 221, 220, 219, 282, 281, 0, 279, 278, 276, ! 277, 275, 274, 273, 270, 271, 272, 268, 269, 263, ! 264, 265, 266, 267, 261, 262, 468, 0, 0, 26, ! 0, 0, 692, 0, 40, 46, 45, 59, 56, 49, ! 57, 0, 50, 0, 0, 58, 523, 0, 169, 179, ! 179, 167, 180, 331, 330, 19, 21, 73, 95, 449, ! 805, 150, 156, 143, 157, 158, 0, 0, 139, 0, ! 0, 0, 0, 482, 0, 134, 614, 723, 719, 724, ! 720, 0, 614, 634, 0, 610, 725, 0, 724, 720, ! 0, 337, 0, 666, 0, 868, 0, 0, 881, 0, ! 0, 0, 0, 453, 629, 628, 452, 186, 550, 549, ! 871, 871, 871, 0, 576, 672, 0, 566, 0, 0, ! 0, 579, 0, 131, 126, 0, 182, 580, 583, 0, ! 0, 558, 0, 129, 570, 104, 0, 0, 0, 0, ! 110, 0, 879, 840, 879, 840, 924, 923, 888, 887, ! 889, 318, 356, 233, 235, 0, 362, 363, 0, 0, ! 0, 0, 343, 346, 748, 0, 0, 0, 0, 256, ! 0, 347, 349, 352, 250, 249, 240, 0, 239, 254, ! 0, 0, 709, 707, 0, 710, 0, 245, 0, 0, ! 189, 379, 0, 0, 0, 716, 615, 721, 717, 728, ! 610, 736, 734, 735, 0, 726, 879, 0, 732, 0, ! 668, 669, 724, 720, 0, 368, 877, 177, 179, 179, ! 175, 606, 604, 502, 0, 467, 465, 313, 0, 24, ! 32, 699, 60, 55, 62, 66, 64, 165, 163, 72, ! 812, 0, 141, 0, 145, 0, 147, 0, 149, 0, ! 97, 0, 483, 615, 723, 719, 724, 720, 0, 610, ! 639, 725, 0, 0, 669, 364, 365, 667, 366, 858, ! 852, 853, 851, 883, 882, 884, 0, 0, 0, 0, ! 615, 0, 0, 450, 184, 0, 552, 551, 546, 610, ! 840, 575, 0, 567, 580, 568, 461, 461, 564, 565, ! 562, 563, 610, 840, 313, 671, 0, 448, 127, 571, ! 581, 586, 587, 448, 448, 0, 0, 448, 125, 572, ! 584, 448, 0, 461, 0, 559, 560, 561, 461, 610, ! 320, 319, 321, 610, 107, 0, 113, 0, 0, 0, ! 0, 0, 0, 743, 0, 489, 0, 487, 259, 304, ! 0, 241, 242, 251, 253, 708, 706, 713, 711, 0, ! 246, 0, 0, 371, 375, 377, 879, 730, 610, 731, ! 173, 171, 280, 0, 470, 472, 813, 806, 810, 142, ! 140, 0, 0, 0, 743, 484, 723, 719, 0, 725, ! 343, 0, 880, 614, 454, 0, 544, 879, 0, 0, ! 569, 479, 479, 879, 0, 0, 0, 461, 461, 0, ! 461, 461, 0, 461, 0, 557, 509, 0, 479, 879, ! 879, 610, 610, 351, 0, 0, 0, 0, 0, 215, ! 749, 0, 744, 745, 488, 0, 0, 243, 714, 380, ! 319, 733, 879, 0, 0, 811, 144, 146, 148, 98, ! 724, 720, 0, 615, 0, 885, 451, 121, 610, 610, ! 840, 574, 578, 124, 610, 461, 461, 595, 479, 313, ! 671, 0, 582, 588, 589, 448, 448, 479, 479, 0, ! 479, 585, 498, 573, 103, 109, 879, 879, 358, 359, ! 360, 361, 477, 0, 0, 0, 739, 750, 757, 738, ! 0, 746, 490, 609, 729, 471, 0, 814, 614, 879, ! 879, 0, 879, 594, 591, 593, 0, 0, 461, 461, ! 461, 590, 592, 577, 0, 106, 112, 0, 747, 742, ! 218, 0, 216, 741, 740, 313, 671, 672, 751, 764, ! 767, 770, 775, 0, 0, 0, 0, 0, 0, 0, ! 0, 314, 799, 807, 0, 827, 803, 802, 801, 0, ! 759, 0, 0, 424, 763, 758, 800, 927, 0, 0, ! 927, 119, 122, 610, 123, 461, 461, 600, 479, 479, ! 500, 0, 499, 494, 478, 217, 820, 822, 823, 0, ! 0, 755, 0, 0, 0, 782, 784, 785, 786, 0, ! 0, 0, 0, 0, 0, 0, 821, 927, 398, 828, ! 0, 760, 396, 448, 0, 397, 0, 448, 0, 0, ! 761, 798, 797, 818, 819, 815, 879, 599, 597, 596, ! 598, 0, 0, 511, 207, 0, 752, 765, 754, 0, ! 927, 0, 0, 0, 778, 927, 787, 0, 796, 41, ! 155, 36, 155, 0, 37, 808, 0, 394, 395, 0, ! 0, 0, 393, 755, 120, 497, 496, 92, 95, 214, ! 0, 424, 0, 755, 755, 768, 0, 743, 825, 771, ! 0, 0, 0, 927, 783, 795, 42, 38, 812, 0, ! 762, 0, 495, 208, 448, 753, 766, 0, 756, 826, ! 0, 824, 776, 780, 779, 809, 832, 832, 0, 493, ! 491, 492, 461, 205, 0, 0, 211, 0, 210, 755, ! 927, 0, 0, 0, 833, 834, 0, 788, 0, 0, ! 769, 772, 777, 781, 0, 0, 0, 0, 0, 0, ! 832, 0, 212, 206, 0, 0, 0, 838, 0, 791, ! 835, 0, 0, 789, 0, 0, 836, 0, 0, 0, ! 0, 0, 0, 213, 773, 0, 839, 793, 794, 0, ! 790, 755, 0, 0, 774, 837, 792, 0, 0, 0 }; ! static const short yydefgoto[] = { 1828, ! 461, 2, 462, 171, 810, 345, 187, 3, 4, 38, ! 141, 775, 393, 39, 776, 1172, 1608, 41, 413, 1655, ! 780, 42, 43, 423, 44, 1173, 787, 1088, 788, 789, ! 790, 46, 178, 179, 47, 819, 190, 186, 479, 1435, ! 48, 49, 904, 1194, 910, 1196, 50, 1175, 1176, 191, ! 192, 820, 480, 1118, 1119, 731, 1120, 241, 51, 1101, ! 1100, 799, 796, 1270, 1269, 1045, 1042, 140, 1099, 52, ! 243, 53, 1039, 641, 346, 347, 348, 349, 633, 1766, ! 1687, 1768, 1721, 1805, 1481, 384, 1028, 350, 679, 988, ! 351, 385, 386, 353, 354, 373, 55, 265, 781, 442, ! 160, 56, 57, 355, 636, 356, 357, 358, 359, 821, ! 360, 1611, 538, 700, 361, 1178, 493, 224, 494, 362, ! 225, 507, 226, 204, 217, 63, 521, 539, 1446, 874, ! 1333, 205, 218, 64, 552, 875, 65, 66, 771, 772, ! 773, 1544, 485, 951, 952, 1719, 1684, 1633, 1575, 67, ! 736, 375, 901, 1533, 1634, 1219, 732, 68, 69, 70, ! 71, 72, 252, 894, 895, 896, 897, 1180, 1375, 1181, ! 1182, 1183, 1360, 1370, 1361, 1523, 1362, 1363, 1524, 1525, ! 733, 734, 735, 680, 1018, 364, 198, 519, 512, 207, ! 74, 75, 76, 148, 149, 163, 78, 136, 365, 366, ! 367, 80, 388, 82, 899, 127, 128, 129, 558, 109, ! 83, 389, 993, 994, 1013, 1009, 703, 1546, 1547, 1482, ! 1483, 1484, 1548, 1394, 1549, 1615, 1640, 1724, 1690, 1691, ! 1550, 1616, 1714, 1641, 1725, 1642, 1748, 1643, 1751, 1795, ! 1822, 1644, 1770, 1734, 1771, 1696, 481, 817, 1291, 1617, ! 1658, 1739, 1428, 1429, 1495, 1621, 1723, 1558, 1618, 1730, ! 1661, 958, 1774, 1775, 1776, 1799, 498, 1014, 854, 1148, ! 1323, 500, 501, 502, 850, 503, 154, 852, 1185, 92, ! 722, 859, 1326, 1327, 609, 86, 569, 87, 941 }; ! static const short yypact[] = { 328, ! 341,-32768,-32768, 3488,-32768, 234, 133, 67, 529, 17, ! 83,-32768,-32768, 1705,-32768, 124, 270, 335,-32768,-32768, ! -32768, 1478, 1390, 915, 350,-32768,-32768, 408, 678,-32768, ! 2285, 2285,-32768, 3932,-32768, 3488, 343,-32768,-32768, 446, ! -32768, 469,-32768,-32768, 2227,-32768,-32768, 418, 1135, 509, ! 475, 544,-32768,-32768,-32768,-32768, 650, 2982,-32768, 5910, ! -32768, 2501, 196,-32768, 576,-32768,-32768, 1262, 707, 871, ! -32768, 560, 8070,-32768,-32768,-32768, 1292,-32768,-32768,-32768, ! 1614,-32768,-32768, 611,-32768, 3619, 573,-32768,-32768,-32768, ! 12299, 637,-32768, 12299,-32768, 12299,-32768,-32768,-32768, 67, ! 529, 408, 591,-32768, 594, 544,-32768, 1470,-32768, 357, ! 12392, 12392, 562,-32768,-32768,-32768,-32768,-32768, 443, 616, ! 679, 774, 787, 626, 641,-32768,-32768, 2047,-32768, 1675, ! 67, 529,-32768, 408, 591,-32768, 757, 1030, 653, 6664, ! 654, 12299,-32768, 12299, 638, 5665, 2687,-32768,-32768, 1847, ! 1634, 2687,-32768, 1749, 4985, 4985, 3932, 630, 643,-32768, ! 650, 997, 649, 655,-32768,-32768, 770,-32768, 686,-32768, ! 5499,-32768,-32768, 350, 3028, 728,-32768,-32768,-32768, 418, ! 5219, 6757, 601, 743,-32768,-32768, 739, 576, 834, 165, ! 59, 779,-32768,-32768,-32768, 9925, 11344,-32768,-32768, 5849, ! 5849, 6738, 1292, 1037,-32768,-32768, 772,-32768,-32768, 2163, ! -32768,-32768,-32768,-32768,-32768, 2501, 1064,-32768, 576, 1292, ! -32768,-32768,-32768, 1971, 2501,-32768, 576,-32768, 5219,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 773, ! 878, 544,-32768, 576, 2088, 1812,-32768,-32768,-32768,-32768, ! -32768, 786,-32768, 1087, 576, 357,-32768, 913, 775, 1374, ! 932,-32768, 180,-32768,-32768,-32768,-32768,-32768, 6161,-32768, ! 591,-32768,-32768,-32768,-32768, 2482,-32768, 760, 765,-32768, ! -32768,-32768,-32768, 810,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768, 780,-32768,-32768, 1087, ! 8070, 1275,-32768, 788,-32768,-32768,-32768, 13509, 13602, 13695, ! 13695, 790,-32768,-32768,-32768,-32768,-32768, 807, 844, 847, ! 872, 877, 1161, 12857, 1823, 13695,-32768,-32768, 13695,-32768, ! -32768, 13695, 10223,-32768, 13695, 176, 846,-32768, 13695,-32768, ! 12950,-32768, 13764, 193, 1140, 6509, 13043,-32768, 944, 3722, ! -32768, 2845, 6234, 5296,-32768, 309,-32768, 1105, 3550, 867, ! 176, 176, 12299, 6664, 1586,-32768, 909, 1823, 932,-32768, ! -32768, 13137, 862, 918,-32768, 8947, 884, 1779, 3953, 885, ! 908, 1784, 686,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768, 616, 679, 774, 1823, 787, 626, 910, 641,-32768, ! 968,-32768, 3235, 909, 67, 529,-32768,-32768,-32768,-32768, ! -32768,-32768, 4576,-32768, 5219, 7127, 2506,-32768,-32768, 176, ! 612, 12299,-32768, 5665,-32768, 2967,-32768, 950, 954,-32768, ! -32768,-32768, 997, 2687,-32768,-32768, 2687,-32768, 927,-32768, ! -32768,-32768, 997, 997, 997,-32768,-32768,-32768, 6161, 90, ! 931, 934,-32768,-32768,-32768,-32768, 6664,-32768, 1095, 1123, ! -32768,-32768, 770,-32768, 576,-32768,-32768,-32768,-32768, 987, ! -32768,-32768, 10786, 13137,-32768,-32768, 952,-32768, 918, 964, ! 8947, 527, 2491, 6757, 2491, 2551, 5791, 993,-32768, 394, ! 6068, 1011, 1040, 788,-32768, 1023, 344, 94, 7400, 7134, ! -32768,-32768, 7134,-32768, 7255, 7255, 6738, 7511, 1014,-32768, ! 576, 5219,-32768, 11437,-32768,-32768, 7264, 1971, 2501, 5219, ! -32768, 576,-32768,-32768, 1971,-32768, 576, 1111,-32768, 12299, ! -32768,-32768, 909, 932, 773,-32768,-32768, 2088, 2185,-32768, ! 1087, 576,-32768,-32768,-32768, 1070, 1073, 1098, 1096,-32768, ! -32768,-32768,-32768, 5665,-32768, 896,-32768, 369,-32768, 1066, ! -32768, 1069,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768, 1087,-32768,-32768, 277,-32768, 664,-32768, 12299, ! 13137, 10223,-32768, 10223,-32768,-32768,-32768, 13137, 12392, 8184, ! 8184, 8184, 8184, 13764,-32768,-32768,-32768,-32768, 1067, 13230, ! 13230, 10223, 1077, 139, 1090,-32768, 1093,-32768,-32768,-32768, ! 1203, 12299,-32768, 10316, 10223,-32768, 12857, 12857, 10879, 12857, ! 12857, 12857, 12857, 12857, 12857, 12857, 12857, 12857, 12857, 12857, ! 12857, 12857, 12857, 12857, 12857, 12857, 12857,-32768, 13137,-32768, ! -32768,-32768,-32768,-32768, 13137, 13137, 13137, 12392, 6402, 531, ! 364, 11530,-32768,-32768,-32768, 1152, 1374, 1208, 380, 392, ! 396, 3365, 664,-32768, 2894, 2894, 4282, 11623, 1116, 1170, ! -32768,-32768, 777, 12017, 419,-32768, 430, 357,-32768,-32768, ! 13137, 1374,-32768,-32768, 408,-32768,-32768,-32768, 462, 573, ! 13137, 1169,-32768,-32768, 176,-32768, 5219, 2900,-32768,-32768, ! 1157,-32768, 1126, 1186,-32768, 1586, 910, 13742,-32768, 11065, ! 11158, 13137, 13137, 10879, 13137, 13137, 13137, 13137, 13137, 13137, ! 13137, 13137, 13137, 13137, 13137, 13137, 13137, 13137, 13137, 13137, ! 13137, 13137, 13137,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! 62,-32768, 1155, 1147, 686, 3235, 1212, 12299,-32768, 1211, ! -32768,-32768, 1030, 1511, 1210, 1251, 505, 1229, 1232,-32768, ! -32768, 4013, 1262,-32768, 1240,-32768,-32768,-32768,-32768,-32768, ! -32768, 176,-32768,-32768, 1196, 1200,-32768, 1249,-32768,-32768, ! 418,-32768,-32768,-32768,-32768, 97,-32768, 600,-32768,-32768, ! -32768,-32768, 10111, 13742,-32768, 1209,-32768,-32768,-32768,-32768, ! -32768, 2645, 2645, 2829,-32768,-32768,-32768,-32768, 2163, 611, ! -32768, 12111,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! 1040, 1258,-32768,-32768,-32768, 12485, 1170, 477,-32768,-32768, ! 7400,-32768,-32768, 7511, 7134, 7134, 7358, 7358, 7511, 430, ! -32768,-32768, 7264,-32768, 1260,-32768,-32768, 1219, 94, 7400, ! -32768, 1971,-32768,-32768, 576, 1255, 773,-32768, 679, 774, ! -32768,-32768, 641, 1274,-32768,-32768, 332,-32768,-32768, 1998, ! 3281,-32768, 94, 7790, 12299, 12299,-32768, 12299, 94, 7790, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1932, 1932, ! 1932, 799,-32768, 176, 1227, 1236, 1246, 9008, 1247, 1253, ! 1286, 6593, 1287, 1288, 1294,-32768, 1263,-32768,-32768, 1266, ! 1320,-32768,-32768, 1317, 677, 710, 447, 266, 13137, 1322, ! -32768, 1326, 1281, 13764, 13764,-32768,-32768, 1332, 5100, 5905, ! 6882, 4134, 3314, 5301, 5516, 2347, 2347, 2166, 2166, 998, ! 998, 546, 546, 546,-32768,-32768, 1295, 1298, 1291, 1310, ! 1313, 1314, 8184, 531,-32768, 10786, 13137,-32768,-32768,-32768, ! 13137,-32768,-32768, 1334, 13695, 1318, 1348, 1366, 1395,-32768, ! 13137,-32768, 13137,-32768, 13137, 2325, 3715,-32768,-32768, 3715, ! -32768, 207, 1335, 1337,-32768, 1341, 8184, 94,-32768, 94, ! 4901,-32768, 7790, 11716, 9408, 9408, 9733, 1338, 12950, 1349, ! 2039, 3130, 3953, 1339, 1350, 1073, 1354,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768, 13137,-32768, 1823,-32768, 1357, ! -32768, 13742,-32768, 13742, 13742, 13742, 1406, 4423, 7809, 8235, ! 8315, 5343, 5559, 5973, 2589, 2589, 2589, 2715, 2715, 2087, ! 2087, 733, 733, 733,-32768,-32768, 1784, 1362, 13323,-32768, ! 1365, 1414,-32768, 176,-32768,-32768,-32768,-32768,-32768,-32768, ! 2264, 4576,-32768, 8184, 12299,-32768, 1055, 12857,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 418,-32768, ! -32768,-32768, 616,-32768, 787, 626, 13137, 272,-32768, 479, ! 539, 550, 1418,-32768, 102,-32768, 4087, 3378, 3378, 3890, ! 3890, 2829, 5156, 188, 2163,-32768, 4482, 3399, 12205, 12205, ! 9829, 362, 1378, 421, 2120,-32768, 10786, 10412,-32768, 4197, ! 1222, 1222, 1397,-32768,-32768,-32768, 1423,-32768,-32768,-32768, ! -32768,-32768,-32768, 1554,-32768, 1002, 1009,-32768, 13137, 7526, ! 3788,-32768, 3788, 287, 287, 147, 558, 7560, 6194, 80, ! 4379,-32768, 200, 287,-32768,-32768, 1381, 176, 176, 176, ! -32768, 1385, 94, 7790, 94, 7790,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768, 8184,-32768,-32768, 1405, 1411, ! 1417, 1422, 1196,-32768,-32768, 8790, 10786, 10507, 1402,-32768, ! 12857,-32768,-32768,-32768,-32768,-32768, 652, 1409,-32768,-32768, ! 1415, 191, 1045, 1045, 1408, 1045, 13137,-32768, 13695, 1518, ! 12299,-32768, 1426, 1431, 1436,-32768, 2325,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768, 2325,-32768, 94, 1437,-32768, 1420, ! -32768,-32768, 4697, 4697, 4829,-32768,-32768,-32768,-32768,-32768, ! -32768, 13742,-32768,-32768, 13137,-32768,-32768, 204, 1439,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768, 13764,-32768,-32768,-32768, ! 1453, 1445,-32768, 835,-32768, 13137,-32768, 13137,-32768, 13137, ! -32768, 10600,-32768, 4087, 3378, 3378, 4943, 4943, 5618,-32768, ! 474, 4482, 4087, 1455, 976, 533, 617, 750, 359,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768, 208, 1916, 1916, 592, ! 592, 592, 10786,-32768,-32768, 2185,-32768,-32768,-32768,-32768, ! 7790, 13742, 243,-32768, 3442,-32768, 576, 576,-32768,-32768, ! -32768,-32768,-32768, 7790, 525, 813, 13137, 1111,-32768, 1501, ! -32768,-32768,-32768, 713, 873, 1614, 1634, 886, 287, 1504, ! -32768, 920, 1509, 576, 4758,-32768,-32768,-32768, 576,-32768, ! -32768, 1524,-32768,-32768,-32768, 1473,-32768, 1474, 1477, 13137, ! 13137, 13137, 13137, 98, 10786,-32768, 1523,-32768,-32768, 13764, ! 13137,-32768, 652,-32768,-32768,-32768,-32768,-32768,-32768, 1479, ! -32768, 1548, 176,-32768,-32768,-32768, 94,-32768,-32768,-32768, ! -32768,-32768, 13742, 13137,-32768,-32768,-32768, 1453,-32768,-32768, ! -32768, 1488, 1489, 1491, 98,-32768, 5095, 5095, 430, 6030, ! 831, 4197,-32768, 592,-32768, 10786,-32768, 94, 1492, 563, ! -32768, 1536, 1536, 94, 1495, 13137, 13137, 8701, 576, 7655, ! 576, 576, 4182, 576, 7666,-32768,-32768, 5058, 1536, 94, ! 94,-32768,-32768,-32768, 1498, 1499, 1513, 1514, 1823,-32768, ! -32768, 9638, 1573,-32768,-32768, 10786, 1517,-32768,-32768,-32768, ! -32768,-32768, 94, 1521, 1516,-32768,-32768,-32768,-32768,-32768, ! 7222, 7222, 6887, 3139, 3139,-32768,-32768,-32768,-32768,-32768, ! 7790,-32768,-32768,-32768,-32768, 8701, 8701,-32768, 1536, 692, ! 928, 13137,-32768,-32768,-32768, 1111, 1111, 1536, 1536, 896, ! 1536,-32768,-32768,-32768,-32768,-32768, 94, 94,-32768,-32768, ! -32768,-32768,-32768, 1151, 229, 9526,-32768,-32768,-32768,-32768, ! 11827,-32768,-32768,-32768,-32768,-32768, 7918,-32768, 3139, 94, ! 94, 1522, 94,-32768,-32768,-32768, 13137, 13137, 8701, 576, ! 576,-32768,-32768,-32768, 9257,-32768,-32768, 1823,-32768,-32768, ! -32768, 285,-32768,-32768,-32768, 1569, 999, 1010,-32768,-32768, ! -32768,-32768,-32768, 13137, 1570, 1580, 1588, 12578, 503, 1823, ! 1237, 809,-32768,-32768, 12671, 1640,-32768,-32768,-32768, 1589, ! -32768, 3220, 6460, 7050, 1648,-32768,-32768, 1555, 1557, 1558, ! -32768,-32768,-32768,-32768,-32768, 8701, 8701,-32768, 1536, 1536, ! -32768, 11251,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 688, ! 688, 1609, 1576, 1577, 7950,-32768,-32768,-32768,-32768, 1612, ! 13137, 1613, 1615, 1627, 2056, 2073,-32768,-32768,-32768,-32768, ! 1593,-32768,-32768, 1111, 1181,-32768, 1193, 1111, 12764, 1239, ! -32768,-32768,-32768,-32768,-32768,-32768, 94,-32768,-32768,-32768, ! -32768, 1587, 8812, 1585,-32768, 12392,-32768,-32768,-32768, 1680, ! -32768, 10018, 12392, 13137,-32768,-32768,-32768, 1637,-32768,-32768, ! 1645,-32768, 1627, 2056,-32768,-32768, 770,-32768,-32768, 13416, ! 13416, 10693,-32768, 1609,-32768,-32768,-32768, 509, 418,-32768, ! 1596, 776, 5219, 1609, 1609,-32768, 11922, 98,-32768,-32768, ! 1649, 1607, 9046,-32768,-32768,-32768,-32768,-32768, 1453, 104, ! -32768, 192,-32768,-32768, 1111,-32768,-32768, 703,-32768,-32768, ! 9155,-32768,-32768,-32768,-32768, 1453, 106, 106, 1658,-32768, ! -32768,-32768, 576,-32768, 13137, 1660,-32768, 1664,-32768, 1609, ! -32768, 1638, 1823, 336, 1667,-32768, 247,-32768, 1669, 1629, ! -32768,-32768,-32768,-32768, 13137, 1628, 770, 1677, 106, 770, ! 106, 1682,-32768,-32768, 10972, 1633, 1735, 944, 273,-32768, ! -32768, 304, 361,-32768, 10786, 1639,-32768, 1656, 770, 1693, ! 1694, 770, 1697,-32768,-32768, 13137, 944,-32768,-32768, 330, ! -32768, 1609, 1652, 1700,-32768,-32768,-32768, 1767, 1769,-32768 }; static const short yypgoto[] = {-32768, ! 1771,-32768, -332, 1598, -403, 10, -3, 1773,-32768, 1741, ! -32768,-32768,-32768, -1462,-32768, 587,-32768, -1459,-32768, 125, ! 1018, 61, -387,-32768,-32768, 92,-32768, -715,-32768,-32768, ! 694, 60, 1635, 1346, 1631,-32768, 86, -176, -800,-32768, ! 0, -36,-32768,-32768,-32768,-32768,-32768, 635,-32768,-32768, ! -32768,-32768,-32768,-32768, 524, -14,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1723, -749, 8141, ! -159, -5, -666, -192, -29, 1679, -601,-32768, 268,-32768, ! 184,-32768, -1562,-32768, -1361, 111, 741, -300,-32768, -942, ! 7969, 4024, 7158, -106, 5315, 1528, -340, -54, -69, 1497, ! -134, -68, 121,-32768,-32768,-32768, -349,-32768, -165,-32768, ! -32768, -1508, -19, -351, 7501, 11, 28, -141, 76, 219, ! -211, -1, -154, -174, -171, 15, 129, -198,-32768, -385, ! -32768,-32768,-32768,-32768,-32768, 570, 1352, 3403,-32768, 753, ! -32768,-32768, -1304, -467, 1012,-32768,-32768,-32768,-32768, 36, ! -32768,-32768,-32768,-32768,-32768,-32768, 1100, -386,-32768,-32768, ! -32768,-32768,-32768,-32768, 500, 673,-32768,-32768,-32768, 467, ! -1056,-32768,-32768,-32768,-32768,-32768,-32768, 668,-32768, 389, ! 1119,-32768, 808, 1178, 5568, 21, 1653, 1285, 1874,-32768, ! -518,-32768, 73, 763, 1841, -129, 296, -100, 5866, 1503, ! -32768, 6920, 2735, 137, -17, -107,-32768, 1736, -49,-32768, ! 6371, 4103, -213,-32768, 1272, 214,-32768,-32768, 329,-32768, ! -32768, 393, 1242,-32768, -1520,-32768,-32768,-32768, -1527,-32768, ! -1455, 153,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768, 143,-32768,-32768,-32768, ! -32768,-32768, 148, -1351,-32768,-32768, -52,-32768,-32768,-32768, ! -32768, -735, -1638,-32768, 99, -1311, -775, -166, 1038,-32768, ! -32768,-32768,-32768, -413,-32768, -401, -203,-32768, 123,-32768, ! -32768, 666, 451,-32768, 395,-32768, 2167, -239, -756 }; ! #define YYLAST 13851 ! static const short yytable[] = { 105, ! 37, 460, 62, 468, 529, 126, 469, 119, 1057, 794, ! 470, 705, 266, 36, 58, 825, 1111, 613, 615, 717, ! 559, 795, 412, 215, 73, 445, 448, 457, 716, 499, ! 898, 59, 37, 312, 62, 786, 793, 421, 203, 717, ! 943, 1229, 551, 62, 180, 36, 58, 549, 716, 1102, ! 646, 147, 152, 240, 175, 181, 73, 1040, 216, 183, ! 774, 811, 1123, 59, 371, 73, 372, 419, 420, 534, ! 536, 254, 59, 1500, 528, 263, 1496, 1096, 411, 60, ! 184, 266, 418, 535, 310, 546, 107, 794, 1607, 363, ! 1585, 1609, 363, 97, 363, 45, 1659, 228, 603, 851, ! 1676, 684, 563, 424, 177, 176, 311, 482, 684, 363, ! 363, 60, 430, 408, 1344, 684, 1346, 1772, 1373, 1777, ! 182, 1689, 93, 1077, 1376, 483, 85, 45, 1187, 720, ! 1732, 1479, 98, 1103, 1192, -876, 45, 1706, 427, 440, ! 363, 266, 363, 94, 705, 215, 884, 1512, 1513, 720, ! 425, 603, 1803, 484, 161, 857, 273, 858, 85, 1757, ! 73, 203, 1673, 1302, 1534, 477, 902, 59, 1758, 62, ! 465, 1078, 1349, 62, 180, 444, 447, 188, 723, 724, ! 216, 58, 380, 1729, 175, 181, 1741, 668, 1769, 183, ! 1374, 73, 1760, 1689, 496, 73, 1746, 1747, 59, 808, ! 429, 1773, 59, 1689, 1689, 257, 1110, 1350, 1480, 91, ! 184, 1351, 1303, 1759, 1566, 426, 497, 268, 111, 829, ! 510, 513, 61, 1572, 1573, -137, 1574, 624, 561, -137, ! 545, 547, 45, 669, 177, 176, -633, 800, 801, 694, ! 1735, 668, 1783, 1352, 268, 557, 60, 1258, -327, 1689, ! 182, 228, -137, 639, 61, 640, -137, 229, 230, 228, ! 228, 478, 1377, 61, 1607, 1424, 45, 1609, 830, 1442, ! 568, 831, 1293, 268, 562, 161, 161, 161, 1755, 377, ! 131, 132, -633, -633, 1402, 856, 268, 669, 478, 228, ! 690, 1580, 1268, 85, 1825, 1271, 88, -633, 95, 1121, ! 1405, 1689, 1790, 681, 309, 689, 489, 816, 457, 254, ! 1378, 1791, 782, 1425, 15, 1784, 942, 1443, -448, 96, ! 625, 143, 161, 876, 1680, 1681, 378, -1, 273, 164, ! -155, 883, -136, 1294, 1809, 379, 135, 726, 1162, 1581, ! -2, 363, 89, 725, 90, 228, 268, 1580, 532, -448, ! 1288, 1289, 1450, -448, 310, 777, 1792, 710, 61, 262, ! 8, 9, 254, 737, 112, 1809, 1750, 131, 132, 717, ! 1163, 363, 728, 534, 536, 1283, 311, 770, 383, 390, ! 534, 268, 1810, 457, 727, 445, 448, 882, 888, 61, ! 737, 1809, 694, 61, 73, 1636, 536, -448, 228, 1091, ! 1787, 59, 802, 711, 1496, 797, 845, -312, 1108, 1109, ! -334, 1376, 268, 1811, 495, 134, 135, 913, 1386, 26, ! 1388, 792, 134, 135, 216, 1812, 139, -610, 1000, 113, ! 363, -610, 377, 8, 9, 313, 989, 167, 856, 1824, ! 1002, 273, 1081, 497, 1004, 1788, 990, 559, 536, 426, ! 164, 164, 164, -312, -312, 846, -334, -334, 847, 991, ! 1488, 273, 228, 914, 506, 62, 813, 1019, -312, -658, ! 1813, -327, 559, 835, 1001, 841, 843, 181, 1802, 378, ! -610, 183, -610, -610, 142, -610, 1003, 73, 379, 135, ! 1005, 1335, 216, 1286, 59, 254, -610, 164, -610, 792, ! 1820, 323, 184, 394, 268, 99, 114, 115, 168, 395, ! 886, -154, 262, -610, -610, -658, -658, 26, 1230, 1421, ! 1422, 497, -632, 142, 268, 1149, 185, 1295, -610, 169, ! -658, 228, 1041, 887, 189, 865, 866, 193, 363, 829, ! 954, 955, 182, 959, 960, 961, 962, 963, 964, 965, ! 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, ! 976, 116, 117, 228, 228, 1449, 1092, 170, -632, -632, ! 228, 1150, 268, 1296, 309, 702, 706, 709, 1455, 985, ! 924, -313, 1093, -632, 95, 1651, 228, 1297, 830, 1456, ! 40, 831, 61, -870, 489, 8, 9, 986, 1299, 194, ! 1112, 432, 1113, 889, 890, 96, 1353, 18, 363, 1104, ! 363, 1510, 363, 270, 8, 9, 10, 363, 932, 932, ! 932, 932, 40, 18, 251, 987, 681, -313, -313, 950, ! 363, 666, 667, 1298, 1107, 161, 161, 161, 228, 370, ! 363, 495, -313, 363, 1300, 898, 143, 26, 1114, 313, ! 134, 135, 1354, 21, 376, 26, 392, 1511, 1115, 1116, ! -138, -138, 229, 471, 1328, -311, 885, 131, 132, 28, ! 271, 396, 998, 642, 1329, 782, 363, 310, 794, 1320, ! 1322, 400, 1087, 717, 268, 61, 1330, 1159, 1160, 639, ! 795, 640, 716, 1164, 1117, 792, 401, 1036, 195, 311, ! 985, 33, 496, 174, 786, 793, 837, 1043, 702, 706, ! 709, -311, -311, 1086, 432, 1007, 1010, 497, 986, 495, ! 603, 489, 134, 135, 497, 1551, -311, 534, 646, 457, ! 422, 1202, 93, 143, 397, 1562, 1685, 499, -399, -327, ! 15, -152, 268, 499, 196, 197, 987, 1401, 1084, 1396, ! 1398, 1764, 450, 94, 144, 94, 1567, 474, 458, 414, ! 415, 416, 10, 228, -653, 95, 126, 247, 432, 1089, ! 266, 248, 843, -399, -153, 1121, 363, -399, 1097, 489, ! 273, 317, 1686, 222, 223, 489, 96, 489, 489, 1551, ! 14, 878, 412, 720, 153, 717, -7, 1765, -659, 21, ! 1122, 377, 131, 132, 1317, 472, 260, 18, 950, -399, ! 164, 164, 164, 20, 489, 261, 271, 898, 762, 763, ! 195, 489, 23, 554, 694, 1022, 170, 228, 268, 398, ! 95, 489, 792, 473, 1398, 1112, 476, 1113, 889, 890, ! 496, 486, 399, 268, -659, -659, 550, 33, 378, 540, ! 96, 96, 1128, 1129, 497, 570, 499, 379, 135, -659, ! 572, 1551, 497, 142, 1174, 1445, 196, 524, 93, 555, ! 856, 1023, 1024, 1657, 578, 1188, 1189, 1457, 1190, -336, ! 857, 567, 611, 1114, 618, 142, 929, 1151, 1152, 94, ! 26, 1282, 601, 1115, 1116, 1177, 457, 309, -400, 62, ! 15, 619, 792, 363, 363, 1319, 363, 642, 792, 435, ! 1171, -130, 273, 15, 437, 495, 957, 228, 131, 132, ! 620, 73, 495, 621, 497, -336, -336, 1485, 59, 1117, ! 497, 249, 1290, -400, 1727, 250, 490, -400, 541, 1551, ! -330, 1761, 542, 979, 911, -128, -130, 15, 622, 996, ! -130, 95, 489, 623, 161, 684, 1731, 1336, 1337, 1338, ! 133, 721, 161, 153, 553, 1016, 489, 228, 553, -400, ! 26, 739, 96, 134, 135, 268, 1179, 1551, 1507, 740, ! -128, 932, -130, 93, -128, 1232, 778, 560, -336, 432, ! 912, 1287, 1568, 764, 765, 1381, 1382, 1383, 457, 270, ! 445, 448, 10, -336, 94, 706, 268, -336, 142, 445, ! 448, 957, 131, 132, 1551, 932, -128, 766, 1553, 1406, ! 1407, 792, 1409, 779, -336, 496, 94, 499, 18, 499, ! 96, 565, 270, 415, 416, 10, 805, -336, -336, 21, ! -336, -6, -336, 497, 809, 1007, 1010, 497, 131, 132, ! 1340, 818, 495, 563, 93, 451, 452, 95, 268, 1806, ! 495, 827, 770, 1638, 26, 95, 266, 134, 135, 453, ! -336, -336, 21, 828, 1639, 94, 1089, -869, 96, 454, ! 663, 664, 665, 666, 667, -336, 96, 33, 28, 271, ! 792, 455, 932, 363, 222, 223, 1341, 489, 522, 523, ! 26, 14, 844, 134, 135, 273, 853, 414, 8, 9, ! 10, 489, 497, 489, 1400, 489, -56, 989, 18, 61, ! 33, -56, 495, 872, 20, 530, 531, 990, 495, 164, ! 792, 540, -56, 23, 1174, 855, 1174, 164, 15, 496, ! 991, 1358, 1368, 794, 1174, 706, 905, 21, 932, 906, ! 1305, 1306, 497, 907, 712, 1620, 522, 814, 1359, 1305, ! 1306, 497, 15, 261, 271, 1177, -448, 1177, 268, 62, ! 268, 62, 908, 1177, 499, 1177, 936, 216, 915, 62, ! 1171, 916, 1171, 1345, 530, 815, 938, 499, 670, 489, ! 1171, 73, 792, 73, 792, 33, -448, -448, 59, 939, ! 59, 73, 942, 1397, 932, -875, 803, 997, 59, 804, ! 1017, 1413, 1578, 1579, 497, 999, 497, 273, 1019, 1246, ! 1491, 807, -194, 1046, 826, 8, 9, 489, 671, 672, ! 253, 1038, 673, 674, 675, 676, 1047, 142, -194, 363, ! -194, 495, 522, 1708, 1246, 495, 1179, 1048, 1179, 1079, ! 161, 161, 161, 18, 530, 1709, 1179, 1080, 1235, 161, ! 161, 161, 857, 792, 99, 100, 101, 1083, 232, 233, ! 234, 268, 435, 1085, 268, 437, 1122, 26, 131, 132, ! 134, 135, 133, 1007, 1010, 497, 1090, 1397, 20, 565, ! 161, 1260, 26, 18, 1328, 1094, 1654, 266, 1095, 235, ! 522, 1713, 1347, 1348, 1329, -330, 1098, 792, 1358, 1105, ! 495, 1106, 1379, 1199, 1200, 1201, 1330, 26, 1126, 15, ! 102, 103, 236, -448, 1147, 1359, 1154, 1437, 1438, 497, ! 26, 1155, 1158, 134, 135, 1161, 1203, 1814, 1174, 792, ! 1246, 377, 8, 9, 499, 1204, 1246, 604, 1151, 1152, ! 495, 925, 792, -448, -448, 1205, 1207, 605, -448, 495, ! 263, 497, 1208, 1209, 1210, 1211, 237, 238, 239, 1177, ! 857, 1212, 1213, 62, 497, 1214, 99, 114, 115, 556, ! 1215, -151, 146, 146, 1171, 162, 1217, 1218, 378, 61, ! 1220, 61, 120, 121, 122, 73, 1221, 379, 135, 61, ! 8, 9, 59, 1224, 1222, 563, 489, 1223, 489, 977, ! 489, 219, 495, 227, 495, 978, 21, 980, 981, 244, ! 1225, 567, 1226, 1227, 255, 164, 164, 164, 18, 1237, ! 1239, 1174, 116, 117, 164, 164, 164, 1665, 1240, 1670, ! 932, 1667, 1241, 1242, 1250, 26, 1251, 1261, 123, 124, ! 1179, 1035, 26, 1252, 1157, 134, 135, 568, 1262, 1266, ! 1246, 1037, 1177, 1267, 1543, 164, 62, 1274, 1246, 1328, ! 1275, 1277, 377, 8, 9, 1280, 1281, 1171, 1301, 1329, ! 99, 114, 115, 495, 511, 514, 1459, 1315, 73, 1334, ! 1380, 1330, 1461, 1462, 1384, 59, 1459, 1464, 434, 1390, ! 1462, 792, 268, 434, 1410, 1391, 443, 443, 162, 792, ! 603, 1392, 1399, 402, 403, 404, 1393, 1246, 1403, 378, ! 1408, 1437, 1438, 497, 1404, 1412, 1246, 495, 379, 135, ! 159, 497, 1420, 219, 489, 1414, 116, 117, 118, 475, ! 1415, 1740, 1743, 1179, 1156, 1416, 1419, 1606, 1426, 1614, ! 1427, 509, 509, 518, 1430, 792, 120, 889, 890, 495, ! 1605, 1612, 1460, 1635, 1441, 1465, 26, 227, 1186, 406, ! 407, 73, 495, 1466, 1191, 268, 537, 497, 59, -699, ! 445, 448, 1472, 1473, 1652, 1653, 1474, 1486, 99, 114, ! 115, 1489, 1664, 61, 1664, 153, 1490, 1497, 1498, 268, ! 1499, 1509, 483, 1614, 1515, 227, 1479, 1539, 1540, 26, ! 1557, 216, 123, 124, 1605, 1612, 258, 8, 259, 10, ! 564, 1798, 1541, 1542, 1798, 73, 1613, 803, 804, 1554, ! 1556, 1624, 59, 1637, 1646, 807, 270, 131, 132, 10, ! 1702, 1705, 1647, 1817, 116, 117, 1798, 730, 1660, 228, ! 1648, 1662, 446, 449, 1570, 1571, 21, 1475, 1476, 1477, ! 1478, 227, 255, 260, 1671, 1672, 1674, 1675, 1487, -927, ! 1692, 1693, 261, 29, 1697, 1699, 21, 120, 121, 122, ! 1613, 395, 1700, 1253, 1722, 1254, 61, 1707, 1718, 1738, ! 1614, 1722, 28, 271, 443, 1716, 262, 1726, 159, 1736, ! 1737, 1605, 1612, 1745, 33, 1744, 311, 99, 100, 101, ! 363, 1752, 73, 311, 227, 255, 1753, 1246, 1246, 59, ! 1778, 495, 1781, 1606, 33, 1614, 1782, 1231, 1789, 495, ! 865, 866, 1785, 123, 124, 1793, 1605, 1612, 1794, 1800, ! 1797, 1243, 1807, 1244, 1804, 1245, 1808, 73, 1815, 1722, ! 1816, 99, 438, 439, 59, 1818, 1819, 228, 1786, 1821, ! 26, 1826, 1827, 102, 103, 104, 1829, 1613, 1830, 61, ! 1, 311, 1246, 467, 5, 495, 166, 219, 227, 489, ! 1704, 414, 8, 9, 10, 1284, 99, 114, 115, 161, ! 767, 768, 769, 1082, 862, 434, 532, 863, 434, 511, ! 514, 464, 1613, 1742, 162, 162, 162, 102, 117, 466, ! 564, 881, 812, 1369, 99, 100, 101, 1431, 1610, 1279, ! 374, 21, 431, 61, 1688, 99, 114, 115, 260, 1276, ! 161, 161, 161, 1049, 1125, 1447, 1339, 261, 271, 635, ! 610, 1468, 116, 117, 77, 219, 1371, 227, 255, 258, ! 131, 132, 10, 1532, 1050, 1273, 984, 1292, 1385, 525, ! 1387, 861, 691, 410, 861, 1650, 864, 864, 518, 33, ! 102, 103, 475, 1763, 1584, 1552, 77, 940, 880, 1749, ! 537, 116, 117, 475, 1762, 77, 1756, 1801, 1146, 21, ! 435, 437, 1506, 0, 0, 0, 260, 0, 208, 565, ! 220, 0, 537, 475, 309, 261, 29, 0, 0, 0, ! 61, 309, 0, 0, 0, 0, 1452, 1453, 1698, 8, ! 9, 0, 1418, 0, 13, 0, 0, 0, 0, 262, ! 0, 206, 0, 0, 0, 131, 132, 33, 0, 0, ! 563, 0, 0, 1467, 0, 61, 0, 18, 1469, 0, ! 446, 806, 0, 1720, 537, 0, 0, 0, 0, 957, ! 1720, 0, 0, 443, 164, 443, 1008, 1011, 0, 309, ! 0, 26, 0, 0, 134, 135, 0, 533, 222, 223, ! 428, 162, 162, 443, 0, 14, 433, 26, 1328, 0, ! 134, 135, 0, 0, 1610, 0, 443, 0, 1329, 0, ! 120, 889, 890, 0, 604, 164, 164, 164, 20, 0, ! 1330, 77, 446, 449, 605, 77, 0, 23, 1720, 0, ! 0, 208, 220, 0, 0, 0, 0, 1518, 1519, 0, ! 1528, 1529, 1780, 1531, 0, 0, 1432, 0, 1433, 0, ! 1434, 270, 131, 132, 10, 0, 1006, 1006, 1006, 402, ! 403, 404, 1796, 0, 206, 1031, 123, 124, 99, 114, ! 115, 0, 957, 0, 0, 0, 0, 803, 804, 208, ! 18, 0, 0, 0, 807, 99, 114, 115, 0, 227, ! 0, 21, 1492, 1823, 0, 1564, 1565, 694, 0, 0, ! 543, 100, 101, 0, 26, 0, 405, 28, 271, 0, ! 0, 0, 206, 1008, 1011, 406, 407, 0, 635, 0, ! 635, 1263, 0, 1508, 116, 1701, 511, 514, 0, 1514, ! 0, 1264, 1316, 8, 9, 10, 0, 446, 937, 33, ! 0, 116, 1703, 1265, 698, 1535, 1536, 378, 1628, 1629, ! 1630, 635, 0, 227, 244, 0, 544, 103, 0, 862, ! 863, 511, 514, 0, 0, 0, 0, 881, 1555, 323, ! 714, 0, 21, 0, 1494, 258, 8, 9, 10, 759, ! 760, 761, 762, 763, 0, 26, 0, 0, 28, 271, ! 0, 0, 0, 1127, 1127, 1133, 0, 120, 889, 890, ! 0, 891, 0, 1133, 0, 1678, 1679, 0, 0, 0, ! 1030, 0, 1576, 1577, 0, 21, 0, 162, 0, 0, ! 33, 0, 260, 0, 729, 0, 861, 861, 864, 864, ! 518, 261, 29, 892, 880, 1622, 1623, 172, 1625, 145, ! 8, 9, 10, 173, 12, 13, 475, 0, 0, 0, ! 26, 14, 0, 123, 124, 262, 661, 662, 663, 664, ! 665, 666, 667, 33, 0, 16, 0, 17, 18, 19, ! 0, 0, 0, 0, 20, 208, 99, 114, 115, 21, ! 232, 233, 234, 23, 433, 0, 174, 0, 1248, 0, ! 0, 1249, 26, 227, 0, 28, 29, 145, 131, 132, ! 10, 0, 1256, 13, 0, 18, 1008, 1011, 206, 31, ! 0, 235, 0, 0, 0, 0, 0, 77, 0, 32, ! 0, 0, 0, 0, 0, 0, 18, 33, 0, 0, ! 0, 34, 116, 117, 0, 35, 0, 21, 131, 132, ! 159, 0, 1779, 208, 838, 208, 208, 0, 1143, 0, ! 26, 849, 1715, 28, 29, 0, 0, 0, 0, 433, ! 0, 0, 1030, 0, 0, 0, 18, 31, 1247, 0, ! 0, 1247, 208, 0, 446, 806, 206, 32, 206, 206, ! 208, 0, 1255, 694, 0, 33, 1031, 1031, 1031, 34, ! 26, 0, 860, 134, 135, 0, 0, 0, 0, 0, ! 0, 860, 0, 0, 0, 206, 0, 695, 0, 1248, ! 1249, 1008, 1011, 206, 433, 0, 0, 696, 1256, 0, ! 1008, 1011, 862, 863, 511, 514, 0, 0, 0, 697, ! 698, 881, 0, 511, 514, 659, 660, 661, 662, 663, ! 664, 665, 666, 667, 0, 862, 863, 881, 0, 0, ! 0, 0, 244, 0, 571, 573, 574, 575, 576, 577, ! 0, 579, 580, 581, 582, 583, 584, 585, 586, 587, ! 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, ! 598, 599, 600, 0, 602, 0, 0, 0, 0, 1304, ! 1304, 1133, 1133, 1133, 414, 8, 566, 10, 1313, 0, ! 1133, 1133, 1133, 145, 8, 9, 10, 0, 0, 0, ! 0, 0, 1331, 1331, 1332, 0, 0, 221, 222, 223, ! 0, 0, 221, 222, 223, 14, 0, 0, 0, 0, ! 14, 162, 446, 937, 21, 0, 0, 0, 0, 0, ! 219, 260, 18, 21, 1008, 1011, 0, 18, 20, 694, ! 261, 271, 0, 20, 0, 0, 26, 23, 0, 28, ! 29, 0, 23, 145, 8, 9, 10, 221, 222, 223, ! 0, 0, 0, 832, 567, 14, 0, 208, 798, 0, ! 0, 0, 33, 833, 0, 0, 1248, 1249, 1008, 1011, ! 0, 33, 18, 1256, 0, 834, 698, 0, 20, 862, ! 863, 511, 514, 21, 0, 0, 881, 23, 0, 694, ! 206, 0, 0, 0, 0, 0, 26, 0, 0, 28, ! 29, 0, 511, 514, 1031, 1031, 1031, 0, 0, 0, ! 0, 0, 0, 832, 0, 0, 0, 446, 449, 0, ! 0, 0, 208, 833, 0, 0, 446, 1314, 0, 0, ! 0, 33, 0, 0, 0, 842, 698, 145, 8, 9, ! 10, 0, 0, 13, 0, 0, 1304, 1304, 1133, 1133, ! 1133, 0, 0, 1313, 0, 206, 159, 755, 756, 757, ! 758, 759, 760, 761, 762, 763, 18, 0, 0, 1444, ! 1444, 1332, 0, 0, 0, 0, 0, 21, 0, 145, ! 131, 132, 10, 694, 0, 253, 0, 0, 475, 475, ! 26, 433, 0, 28, 29, 0, 0, 0, 1248, 1249, ! 0, 1256, 0, 0, 0, 0, 0, 832, 18, 0, ! 433, 862, 863, 0, 881, 475, 0, 833, 0, 21, ! 475, 0, 0, 0, 860, 33, 0, 860, 81, 834, ! 698, 1184, 26, 0, 917, 28, 29, 0, 108, 0, ! 0, 0, 0, 860, 0, 0, 0, 0, 137, 31, ! 446, 806, 0, 0, 0, 150, 150, 918, 150, 32, ! 81, 0, 1008, 1011, 0, 923, 0, 33, 0, 81, ! 0, 34, 0, 0, 0, 511, 514, 0, 1504, 1504, ! 0, 1505, 210, 0, 81, 757, 758, 759, 760, 761, ! 762, 763, 245, 0, 446, 806, 0, 108, 0, 475, ! 475, 0, 475, 475, 0, 475, 0, 0, 276, 0, ! 108, 0, 0, 0, 0, 368, 0, 0, 368, 0, ! 368, 145, 8, 9, 10, 173, 12, 13, 0, 0, ! 0, 488, 0, 14, 108, 0, 0, 0, 131, 132, ! 0, 0, 1559, 1559, 1559, 0, 0, 16, 0, 17, ! 18, 0, 0, 0, 0, 0, 20, 475, 475, 0, ! 0, 21, 137, 0, 81, 23, 368, 694, 368, 0, ! 150, 150, 0, 0, 26, 436, 150, 28, 29, 150, ! 150, 150, 0, 694, 0, 0, 0, 131, 132, 0, ! 26, 1130, 13, 134, 135, 81, 221, 222, 223, 81, ! 0, 1131, 0, 0, 14, 210, 81, 695, 0, 33, ! 475, 475, 475, 1132, 698, 18, 0, 696, 0, 0, ! 0, 18, 0, 0, 210, 210, 210, 20, 0, 697, ! 698, 0, 694, 0, 0, 0, 23, 0, 0, 26, 0, 0, 134, 135, 0, 0, 0, 0, 0, 0, ! 0, 0, 1044, 210, 219, 227, 695, 433, 0, 414, ! 131, 132, 10, 0, 0, 0, 696, 475, 475, 0, ! 548, 0, 0, 0, 145, 8, 9, 10, 697, 698, ! 108, 0, 0, 0, 511, 514, 0, 0, 0, 0, ! 860, 0, 0, 150, 0, 0, 860, 0, 0, 21, ! 0, 1184, 0, 1184, 0, 0, 260, 0, 1365, 1372, ! 518, 1184, 0, 0, 21, 261, 271, 0, 0, 0, ! 145, 8, 9, 10, 173, 12, 13, 26, 0, 0, ! 28, 29, 14, 0, 199, 108, 606, 0, 0, 567, ! 0, 1364, 0, 0, 200, 0, 16, 33, 17, 18, ! 19, 864, 864, 864, 201, 20, 0, 0, 0, 0, ! 21, 0, 33, 227, 23, 0, 202, 174, 0, 0, ! 0, 1197, 1198, 26, 0, 0, 28, 29, 0, 0, ! 108, 0, 0, 0, 692, 0, 606, 606, 707, 0, ! 31, 0, 0, 0, 0, 0, 0, 368, 81, 0, ! 32, 0, 0, 0, 475, 0, 0, 0, 33, 0, ! 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, ! 0, 0, 414, 8, 9, 10, 0, 0, 0, 0, ! 0, 0, 8, 9, 433, 0, 0, 137, 0, 0, ! 0, 0, 0, 433, 0, 0, 0, 108, 0, 210, ! 108, 0, 0, 0, 0, 1143, 368, 0, 150, 0, ! 18, 0, 21, 0, 0, 0, 0, 860, 150, 260, ! 0, 150, 0, 0, 0, 1365, 860, 694, 261, 271, ! 0, 0, 0, 150, 26, 0, 0, 134, 135, 0, ! 0, 81, 0, 0, 860, 860, 0, 446, 1314, 0, ! 0, 1501, 262, 0, 0, 1184, 0, 0, 1364, 0, ! 33, 1502, 145, 8, 9, 10, 0, 210, 839, 210, ! 210, 707, 0, 1503, 698, 839, 0, 270, 415, 416, ! 10, 0, 0, 210, 210, 0, 0, 210, 0, 210, ! 210, 210, 870, 0, 0, 0, 210, 0, 0, 0, ! 0, 210, 21, 0, 210, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 368, 26, 0, 21, 28, 29, ! 0, 1165, 1663, 7, 8, 1166, 10, 173, 12, 13, ! 26, 0, 200, 28, 271, 14, 0, 0, 150, 0, ! 1527, 0, 201, 0, 0, 1527, 0, 0, 1184, 16, ! 33, 17, 18, 19, 202, 0, 0, 860, 20, -553, ! 0, 0, 0, 21, 0, 33, 0, 23, 1167, 0, ! 174, 0, 0, 1526, 0, 0, 26, 0, 0, 28, ! 29, 0, 922, 1168, 368, 1169, 0, 0, 0, 0, ! 0, 0, 0, 31, 108, 108, 108, 108, 0, 0, ! 0, 0, 0, 32, 0, 0, 0, 414, 131, 132, ! 10, 33, 0, 0, 0, 1170, 368, 860, 860, 0, ! 145, 8, 9, 10, 0, 0, 253, 655, 656, 657, ! 658, -553, 659, 660, 661, 662, 663, 664, 665, 666, ! 667, 414, 8, 9, 10, 0, 0, 21, 0, 18, ! 0, 0, 0, 108, 260, 606, 0, 0, 0, 0, ! 21, 0, 0, 261, 271, 0, 694, 692, 0, 606, ! 606, 707, 860, 26, 0, 0, 28, 29, 1032, 0, ! 0, 21, 1034, 0, 1355, 1356, 9, 10, 260, 0, ! 832, 0, 208, 1668, 208, 33, 0, 261, 271, 0, ! 833, 210, 0, 0, 0, 0, 0, 231, 33, 0, ! 0, 0, 834, 698, 0, 0, 0, 0, 0, 0, ! 0, 567, 0, 0, 21, 206, 0, 206, 6, 33, ! 7, 8, 9, 10, 11, 12, 13, 26, 0, 0, ! 28, 29, 14, 0, 1451, 0, 1357, 0, 0, 0, ! 137, 0, 368, 0, 200, 15, 16, 137, 17, 18, ! 19, 0, 0, 0, 201, 20, 210, 245, 0, 0, ! 21, 0, 33, 22, 23, 24, 202, 25, 0, 0, ! 0, 0, 0, 26, 27, 0, 28, 29, 231, 0, ! 30, 0, 713, 8, 9, 10, 0, 0, 0, 0, ! 31, 0, 0, 208, 231, 0, 210, 210, 1135, 0, ! 32, 0, 0, 0, 1138, 0, 1135, 0, 33, 0, ! 0, 0, 34, 0, 0, 0, 35, 0, 0, 323, ! 714, 0, 21, 0, 0, 210, 206, 0, 870, 210, ! 210, 870, 870, 870, 0, 26, 0, 210, 715, 135, ! 0, 0, 0, 0, 210, 0, 0, 0, 0, 277, ! 0, 231, 8, 9, 0, 0, 12, 13, 0, 231, ! 0, 0, 0, 14, 0, 81, 0, 0, 108, 368, ! 368, 0, 368, 0, 108, 0, 231, 16, 0, 17, ! 18, 0, 0, 606, 606, 606, 20, 231, 278, 279, ! 0, 0, 0, 0, 0, 23, 606, 280, 0, 0, ! 0, 0, 0, 0, 26, 0, 0, 134, 135, 0, ! 281, 0, 0, 0, 282, 283, 284, 285, 286, 287, ! 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, ! 298, 299, 300, 301, 302, 0, 0, 303, 304, 305, ! 0, 306, 0, 0, 307, 0, 0, 108, 131, 132, ! 0, 0, 685, 253, 270, 415, 416, 10, 0, 686, ! 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 606, 606, 0, 0, 606, 0, 18, 0, 0, 0, ! 0, 108, 0, 0, 0, 606, 0, 108, 0, 1032, ! 1032, 1032, 0, 694, 21, 606, 0, 1138, 0, 0, ! 26, 687, 0, 134, 135, 0, 0, 26, 0, 0, ! 28, 271, 0, 0, 0, 0, 0, 695, 1165, 0, ! 7, 8, 1166, 10, 173, 12, 13, 696, 0, 0, ! 0, 0, 14, 0, 0, 0, 0, 0, 0, 697, ! 698, 0, 688, 0, 0, 0, 16, 0, 17, 18, ! 19, 0, 0, 0, 0, 20, 108, 0, 108, 368, ! 21, 0, 0, 0, 23, 1167, 231, 174, 0, 0, ! 0, 0, 0, 26, 0, 231, 28, 29, 0, 0, ! 1168, 0, 1169, 0, 0, 0, 0, 0, 0, 0, ! 31, 210, 210, 210, 210, 210, 1135, 870, 0, 0, ! 32, 210, 0, 1135, 1135, 1135, 0, 231, 33, 1138, ! 0, 0, 1170, 0, 108, 870, 870, 870, 0, 0, ! 0, 0, 145, 8, 9, 10, 0, 0, 13, 0, ! 0, 137, 0, 0, 150, 81, 0, 81, 0, 0, ! 0, 231, 1366, 81, 0, 81, 0, 0, 0, 0, ! 231, 18, 0, 0, 0, 0, 0, 0, 108, 0, ! 108, 0, 21, 0, 145, 131, 132, 10, 694, 231, ! 108, 0, 0, 0, 0, 26, 0, 0, 28, 29, ! 0, 0, 0, 0, 0, 713, 8, 9, 10, 0, ! 0, 0, 1130, 18, 0, 0, 231, 606, 606, 0, ! 606, 0, 1131, 0, 21, 368, 0, 0, 0, 0, ! 33, 606, 0, 0, 1132, 698, 0, 26, 0, 606, ! 28, 29, 323, 714, 0, 21, 0, 606, 606, 707, ! 0, 0, 0, 0, 155, 0, 0, 0, 26, 0, ! 0, 134, 135, 0, 156, 145, 8, 9, 10, 221, ! 222, 223, 33, 0, 0, 0, 157, 14, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, ! 210, 870, 870, 1439, 18, 0, 210, 210, 0, 0, 20, 0, 0, 0, 0, 21, 0, 0, 0, 23, ! 0, 694, 870, 870, 870, 870, 870, 0, 26, 0, ! 0, 28, 29, 0, 0, 108, 0, 0, 0, 1366, ! 0, 0, 0, 0, 0, 832, 0, 0, 108, 145, ! 8, 9, 10, 0, 0, 833, 0, 0, 0, 0, ! 0, 1463, 0, 33, 0, 0, 84, 834, 698, 81, ! 0, 0, 0, 0, 352, 0, 110, 352, 18, 352, ! 0, 0, 0, 0, 0, 130, 138, 0, 0, 21, ! 0, 0, 0, 151, 151, 694, 151, 0, 84, 0, ! 0, 0, 26, 0, 0, 28, 29, 84, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, ! 151, 0, 84, 0, 0, 352, 0, 352, 0, 833, ! 246, 870, 870, 0, 870, 256, 108, 33, 870, 0, ! 0, 834, 698, 0, 414, 131, 1530, 10, 256, 0, ! 0, 0, 0, 369, 210, 0, 369, 1324, 369, 150, ! 8, 9, 81, 0, 12, 13, 654, 655, 656, 657, ! 658, 14, 659, 660, 661, 662, 663, 664, 665, 666, ! 667, 0, 0, 0, 21, 16, 0, 17, 18, 0, ! 0, 260, 0, 0, 20, 870, 870, 1439, 870, 870, ! 261, 271, 84, 23, 369, 108, 369, 0, 151, 151, ! 0, 0, 26, 0, 151, 134, 135, 151, 151, 151, ! 0, 0, 0, 231, 567, 0, 231, 0, 0, 0, ! 0, 0, 33, 84, 0, 0, 0, 84, 0, 0, ! 0, 0, 231, 151, 84, 8, 9, 0, 173, 12, ! 13, 108, 0, 870, 488, 0, 14, 0, 0, 0, ! 0, 0, 151, 151, 151, 0, 0, 0, 0, 0, ! 16, 0, 17, 18, 0, 0, 0, 0, 0, 20, ! 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, ! 694, 151, 0, 0, 0, 0, 0, 26, 0, 0, ! 134, 135, 0, 616, 617, 0, 210, 839, 210, 0, ! 0, 0, 0, 0, 695, 0, 0, 352, 0, 626, ! 0, 0, 627, 0, 696, 628, 0, 0, 638, 0, ! 0, 151, 643, 0, 0, 0, 697, 698, 0, 1165, ! 683, 7, 8, 1166, 10, 173, 12, 13, 0, 0, ! 0, 0, 0, 14, 0, 0, 352, 0, 0, 0, ! 0, 0, 0, 1135, 0, 0, 0, 16, 231, 17, ! 18, 19, 0, 256, 608, 0, 20, -554, 0, 0, ! 0, 21, 0, 0, 0, 23, 1167, 0, 174, 0, ! 0, 0, 0, 231, 26, 0, 0, 28, 29, 0, ! 0, 1168, 0, 1169, 1135, 1135, 1135, 0, 0, 0, ! 0, 31, 0, 0, 0, 352, 0, 210, 256, 0, ! 0, 32, 693, 0, 608, 608, 708, 0, 0, 33, ! 0, 719, 0, 1170, 0, 369, 84, 0, 0, 0, ! 0, 0, 0, 0, 145, 8, 9, 10, 0, -554, ! 563, 719, 746, 747, 748, 749, 750, 751, 752, 753, ! 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, ! 0, 0, 0, 18, 0, 783, 0, 0, 0, 0, ! 0, 0, 0, 0, 21, 256, 0, 151, 256, 231, ! 694, 0, 0, 0, 369, 231, 151, 26, 0, 0, ! 28, 29, 0, 0, 0, 0, 151, 0, 0, 151, ! 0, 0, 0, 0, 832, 0, 0, 0, 0, 0, ! 0, 151, 0, 352, 833, 0, 0, 0, 0, 84, ! 0, 0, 33, 0, 0, 0, 834, 698, 0, 8, ! 9, 0, 173, 12, 13, 0, 0, 0, 0, 0, ! 14, 0, 0, 0, 0, 151, 840, 151, 151, 708, ! 0, 0, 0, 840, 16, 0, 17, 18, 0, 0, ! 0, 151, 151, 20, 0, 151, 0, 151, 151, 151, ! 608, 0, 784, 0, 151, 785, 0, 0, 0, 151, ! 0, 26, 151, 352, 134, 135, 0, 0, 0, 0, ! 0, 0, 369, 0, 0, 0, 0, 0, 0, 231, ! 0, 900, 0, 626, 627, 0, 0, 231, 0, 0, ! 0, 0, 0, 0, 0, 352, 151, 0, 0, 0, ! 352, 352, 0, 352, 352, 352, 352, 352, 352, 352, ! 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, ! 352, 0, 0, 0, 0, 0, 0, 0, 0, 270, ! 131, 132, 10, 0, 0, 13, 231, 0, 0, 0, ! 0, 0, 369, 0, 0, 231, 0, 0, 0, 0, ! 0, 0, 256, 256, 256, 256, 0, 0, 18, 0, ! 0, 0, 0, 231, 231, 0, 0, 0, 0, 21, ! 0, 0, 0, 0, 369, 694, 0, 0, 0, 0, ! 0, 0, 26, 0, 0, 28, 271, 0, 1165, 0, ! 7, 8, 1166, 10, 173, 12, 13, 0, 0, 1263, ! 0, 0, 14, 0, 0, 0, 0, 0, 0, 1264, ! 0, 256, 0, 608, 0, 0, 16, 33, 17, 18, ! 19, 1265, 698, 0, 0, 20, -556, 608, 608, 708, ! 21, 352, 0, 0, 23, 1167, 1033, 174, 0, 0, 0, 0, 0, 26, 0, 0, 28, 29, 0, 0, ! 1168, 719, 1169, 0, 0, 0, 0, 0, 0, 151, ! 31, 270, 8, 9, 10, 173, 12, 13, 0, 0, ! 32, 488, 0, 14, 0, 0, 231, 0, 33, 0, ! 0, 0, 1170, 0, 0, 0, 0, 16, 0, 17, ! 18, 0, 0, 0, 0, 0, 20, 0, -556, 0, ! 0, 21, 0, 0, 0, 23, 0, 694, 783, 0, ! 369, 0, 0, 0, 26, 0, 130, 28, 271, 0, ! 0, 0, 0, 0, 151, 246, 0, 0, 0, 0, ! 0, 1263, 0, 0, 131, 132, 231, 231, 0, 563, ! 0, 1264, 0, 0, 0, 0, 0, 0, 0, 33, ! 900, 0, 0, 1265, 698, 0, 0, 0, 352, 352, ! 0, 352, 18, 0, 151, 151, 840, 0, 0, 0, ! 0, 0, 0, 0, 1145, 270, 8, 9, 10, 694, ! 0, 13, 0, 0, 0, 0, 26, 0, 0, 134, ! 135, 231, 0, 151, 0, 0, 608, 151, 151, 608, ! 608, 608, 0, 695, 18, 151, 0, 0, 0, 0, ! 0, 0, 151, 696, 0, 21, 0, 145, 131, 132, ! 10, 694, 0, 13, 0, 697, 698, 0, 26, 0, ! 0, 28, 271, 84, 0, 0, 256, 369, 369, 0, ! 369, 0, 256, 0, 0, 1307, 18, 0, 1238, 0, ! 0, 608, 608, 608, 0, 1308, 0, 21, 0, 0, ! 0, 0, 0, 33, 608, 0, 0, 1309, 698, 0, ! 26, 0, 0, 28, 29, 0, 0, 0, 626, 627, ! 0, 0, 0, 0, 0, 0, 0, 155, 1165, 0, ! 7, 8, 1166, 10, 173, 12, 13, 156, 0, 0, ! 0, 0, 14, 0, 0, 33, 0, 0, 0, 157, ! 0, 0, 0, 0, 0, 256, 16, 0, 17, 18, ! 19, 0, 0, 0, 0, 20, -555, 0, 8, 9, ! 21, 0, 0, 253, 23, 1167, 0, 174, 608, 608, ! 0, 0, 608, 26, 0, 0, 28, 29, 352, 256, ! 1168, 352, 1169, 608, 0, 256, 18, 1033, 1033, 1033, ! 31, 0, 0, 608, 0, 719, 0, 0, 0, 0, ! 32, 0, 0, 694, 0, 0, 0, 0, 33, 0, ! 26, 0, 1170, 134, 135, 0, 0, 0, 270, 8, ! 9, 10, 626, 627, 0, 0, 0, 1501, -555, 651, ! 652, 653, 654, 655, 656, 657, 658, 1502, 659, 660, ! 661, 662, 663, 664, 665, 666, 667, 18, 0, 1503, ! 698, 0, 0, 0, 256, 0, 256, 369, 21, 0, ! 0, 0, 0, 0, 694, 0, 0, 0, 0, 0, ! 0, 26, 0, 0, 28, 271, 0, 0, 0, 0, ! 0, 145, 8, 9, 10, 0, 0, 0, 1307, 151, ! 151, 151, 151, 151, 840, 608, 0, 0, 1308, 151, ! 0, 1145, 1145, 1145, 352, 0, 33, 719, 0, 0, ! 1309, 698, 256, 608, 608, 608, 0, 0, 0, 0, ! 0, 21, 1411, 0, 352, 0, 900, 0, 0, 138, ! 0, 0, 151, 84, 26, 84, 0, 28, 29, 0, ! 1367, 84, 0, 84, 0, 0, 0, 0, 0, 0, ! 0, 200, 0, 0, 0, 0, 256, 0, 256, 8, ! 9, 201, 0, 12, 253, 0, 0, 0, 256, 33, ! 14, 0, 0, 202, 0, 0, 0, 0, 54, 0, ! 0, 0, 0, 0, 16, 0, 17, 18, 0, 0, ! 0, 0, 0, 20, 0, 608, 608, 0, 608, 0, ! 0, 0, 23, 369, 694, 54, 54, 0, 158, 608, ! 54, 26, 0, 0, 134, 135, 0, 608, 0, 54, ! 0, 0, 0, 0, 0, 608, 608, 708, 695, 0, ! 0, 0, 54, 0, 54, 656, 657, 658, 696, 659, ! 660, 661, 662, 663, 664, 665, 666, 667, 0, 0, ! 697, 698, 0, 0, 0, 264, 900, 0, 272, 0, ! 0, 0, 0, 0, 0, 0, 151, 151, 151, 608, ! 608, 708, 0, 0, 151, 151, 750, 751, 752, 753, ! 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, ! 608, 608, 608, 608, 608, 0, 0, 0, 900, 0, ! 0, 0, 0, 256, 0, 0, 0, 1367, 0, 0, ! 0, 417, 417, 0, 54, 0, 256, 0, 0, 0, ! 54, 54, 0, 0, 264, 272, 54, 0, 0, 158, ! 158, 158, 0, 0, 0, 0, 456, 84, 0, 0, ! 0, 0, 0, 0, 0, 54, 0, 0, 0, 54, ! 0, 0, 0, 0, 0, 54, 54, 0, 0, 6, ! 0, 7, 8, 9, 10, 11, 12, 13, 0, 0, ! 0, 0, 0, 14, 54, 54, 158, 0, 0, 0, ! 0, 0, 0, 0, 264, 0, 0, 16, 0, 17, ! 18, 0, 0, 0, 0, 0, 20, 0, 0, 608, ! 608, 21, 608, 54, 256, 23, 608, 0, 463, 0, ! 0, 0, 0, 0, 26, 0, 0, 28, 29, 0, ! 0, 30, 151, 0, 0, 0, 0, 151, 0, 0, ! 84, 31, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 32, 0, 54, 0, 0, 0, 0, 0, 33, ! 264, 657, 658, 34, 659, 660, 661, 662, 663, 664, ! 665, 666, 667, 608, 608, 708, 608, 608, 0, 0, ! 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, ! 270, 8, 9, 10, 173, 12, 13, 0, 638, 0, ! 488, 0, 14, 751, 752, 753, 754, 755, 756, 757, ! 758, 759, 760, 761, 762, 763, 16, 0, 17, 18, ! 269, 0, 0, 0, 0, 20, 0, 634, 0, 256, ! 21, 608, 0, 0, 23, 0, 694, 145, 131, 132, ! 10, 0, 0, 26, 417, 0, 28, 271, 0, 0, ! 0, 0, 264, 0, 0, 0, 0, 0, 54, 0, ! 1307, 0, 0, 0, 0, 0, 18, 0, 0, 0, ! 1308, 0, 264, 1656, 0, 0, 0, 21, 33, 0, ! 0, 0, 1309, 698, 151, 840, 151, 0, 0, 0, ! 26, 0, 0, 28, 29, 0, 0, 417, 0, 0, ! 0, 0, 459, 626, 627, 0, 0, 31, 0, 54, ! 0, 0, 0, 0, 0, 0, 0, 32, 54, 0, ! 264, 0, 0, 0, 0, 33, 0, 456, 54, 34, ! 0, 54, 0, 0, 0, 508, 0, 456, 456, 456, ! 0, 1145, 0, 54, 0, 0, 0, 0, 527, 0, ! 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, -419, 8, 9, -419, -419, 12, 253, ! 0, 0, 0, 0, 0, 14, 0, 54, 54, 54, ! 54, 0, 1145, 1145, 1145, 54, 0, 0, 0, 16, ! 0, 17, 18, 54, 54, 151, 0, 54, 20, 158, ! 158, 158, 456, -419, 0, 0, 54, 23, 0, 694, ! 0, 54, 0, 0, 54, 0, 26, 0, 0, 134, ! 135, 145, 8, 9, 10, 0, 0, 13, 0, 0, ! 0, 0, 0, 695, 0, 0, 0, 0, 0, 79, ! 0, 0, 0, 696, 0, 0, 0, 0, 54, 0, ! 18, -419, 0, 0, 0, 697, 698, 0, 0, 0, ! 0, 21, 0, 0, 0, 0, 79, 79, 0, 79, ! 0, 79, 0, 0, 26, 0, 0, 28, 29, 0, ! 79, 0, 145, 8, 9, 10, 212, 12, 213, 0, ! 0, 200, 0, 79, 14, 79, 634, 0, 634, 0, ! 0, 201, 0, 0, 0, 0, 0, 0, 16, 33, ! 17, 18, 0, 202, 634, 634, 634, 20, 0, 274, ! 0, 0, 21, 0, 0, 0, 23, 0, 0, 634, ! 0, 0, 0, 0, 0, 26, 0, 0, 28, 29, ! 0, 0, 214, 0, 0, 652, 653, 654, 655, 656, ! 657, 658, 31, 659, 660, 661, 662, 663, 664, 665, ! 666, 667, 32, 0, 0, 0, 0, 0, 0, 0, ! 33, 0, 0, 0, 34, 79, 264, 0, 0, 0, ! 0, 79, 79, 0, 0, 0, 274, 79, 634, 0, ! 79, 79, 79, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 8, 9, 0, 79, 0, 563, 0, ! 79, 54, 0, 0, 0, 0, 79, 79, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, ! 0, 18, 0, 0, 0, 79, 79, 79, 0, 0, ! 145, 8, 9, 10, 173, 12, 13, 0, 694, 0, ! 848, 0, 14, 0, 0, 26, 0, 873, 134, 135, ! 417, 0, 879, 0, 79, 0, 16, 417, 17, 18, ! 0, 0, 1501, 0, 0, 20, 54, 0, 0, 0, ! 21, 0, 1502, 0, 23, 0, 0, 0, 0, 0, ! 0, 903, 0, 26, 1503, 698, 28, 29, 909, 0, ! 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, ! 31, 0, 0, 0, 0, 0, 54, 54, 158, 0, ! 32, 0, 0, 264, 272, 0, 1142, 0, 33, 0, ! 0, 0, 34, 145, 131, 132, 10, 0, 0, 563, ! 634, 919, 920, 0, 921, 54, 0, 0, 456, 54, ! 54, 456, 456, 456, 0, 0, 0, 54, 0, 0, ! 0, 0, 18, 0, 54, 0, 1355, 8, 1166, 10, ! 212, 12, 213, 21, 0, 0, 0, 0, 14, 0, ! 0, 0, 0, 0, 0, 54, 26, 0, 0, 28, ! 29, 0, 16, 0, 17, 18, 0, 0, 0, 0, ! 0, 20, 0, 31, 718, 0, 21, 131, 132, 79, ! 23, 222, 223, 32, 0, 0, 0, 0, 14, 26, ! 0, 33, 28, 29, 718, 34, 0, 0, 1357, 0, ! 0, 0, 0, 0, 0, 18, 31, 1020, 1021, 0, ! 0, 20, 1020, 0, 0, 0, 32, 0, 0, 0, ! 23, 0, 694, 0, 33, 0, 0, 0, 1170, 26, ! 79, 0, 134, 135, 0, 0, 0, 0, 0, 79, ! 0, 0, 0, 0, 0, 0, 695, 0, 0, 79, ! 0, 0, 79, 0, 0, 0, 696, 0, 0, 0, ! 0, 0, 0, 0, 79, 0, 0, 0, 704, 698, ! 0, 0, 79, 0, 0, 0, 0, 0, 0, 634, ! 634, 634, 0, 0, 0, 456, 264, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 79, 79, ! 79, 79, 0, 0, 0, 0, 79, 0, 0, 0, ! 0, 0, 0, 0, 79, 79, 0, 0, 79, 0, ! 79, 79, 79, 0, 0, 0, 0, 79, 0, 0, ! 0, 0, 79, 0, 0, 79, 0, 0, 0, 0, ! 0, 0, 0, 1137, 165, 8, 9, 0, 0, 12, ! 13, 0, 0, 0, 0, 0, 14, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 211, 79, ! 16, 0, 17, 18, 0, 0, 0, 0, 1153, 20, ! 0, 54, 54, 54, 158, 158, 158, 456, 23, 264, ! 0, 54, 264, 1142, 1142, 1142, 0, 26, 0, 272, ! 134, 135, 145, 8, 9, 10, 212, 12, 213, 0, ! 0, 0, 0, 0, 14, 0, 0, 0, 1193, 0, ! 1195, 0, 0, 0, 158, 54, 0, 54, 16, 0, ! 17, 18, 54, 54, 0, 54, 983, 20, 0, 0, ! 0, 0, 21, 0, 0, 0, 23, 0, 0, 0, ! 0, 0, 8, 9, 0, 26, 12, 13, 28, 29, ! 0, 0, 1666, 14, 0, 165, 165, 165, 0, 0, ! 0, 0, 31, 0, 0, 0, 0, 16, 0, 17, ! 18, 0, 32, 0, 0, 0, 20, 0, 0, 0, ! 33, 211, 0, 0, 34, 23, 1233, 1234, 718, 1236, ! 0, 0, 0, 0, 26, 0, 0, 134, 135, 677, ! 211, 211, 520, 0, 0, 0, 0, 456, 456, 456, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, ! 0, 0, 79, 0, 0, 0, 131, 132, 0, 211, ! 222, 223, 0, 678, 0, 0, 0, 14, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, ! 54, 456, 456, 456, 18, 0, 54, 54, 0, 0, ! 20, 0, 0, 0, 0, 0, 0, 0, 0, 23, ! 0, 694, 0, 0, 0, 0, 0, 0, 26, 0, ! 0, 134, 135, 0, 0, 0, 0, 79, 0, 54, ! 0, 0, 0, 0, 0, 695, 145, 8, 9, 10, ! 173, 12, 13, 0, 0, 696, 0, 0, 14, 0, ! 264, 272, 607, 0, 0, 0, 0, 697, 698, 54, ! 0, 0, 16, 0, 17, 18, 0, 79, 79, 79, ! 0, 20, 0, 1312, 0, 274, 21, 1144, 0, 0, ! 23, 0, 0, 0, 0, 0, 0, 0, 0, 26, ! 0, 0, 28, 29, 0, 0, 79, 0, 0, 0, ! 79, 79, 701, 701, 701, 0, 31, 0, 79, 0, ! 145, 8, 9, 10, 0, 79, 32, 0, 0, 0, ! 0, 0, 0, 0, 33, 0, 0, 0, 34, 145, ! 8, 9, 10, 212, 12, 213, 79, 0, 0, 18, ! 0, 14, 0, 0, 54, 0, 0, 264, 0, 54, ! 21, 0, 54, 0, 0, 16, 0, 17, 18, 0, ! 0, 0, 0, 26, 20, 211, 28, 29, 0, 21, ! 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, ! 515, 0, 26, 0, 0, 28, 29, 0, 1417, 0, ! 516, 0, 0, 0, 0, 0, 0, 0, 33, 31, ! 0, 0, 517, 0, 0, 0, 0, 0, 0, 32, ! 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, ! 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 836, 0, 836, 836, 701, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 1440, 0, 211, ! 211, 0, 0, 211, 0, 520, 520, 520, 871, 0, ! 8, 9, 211, 173, 12, 13, 0, 211, 718, 488, ! 211, 14, 0, 0, 0, 0, 0, 1448, 0, 0, ! 0, 0, 0, 0, 0, 16, 0, 17, 18, 0, ! 1454, 0, 0, 0, 20, 0, 54, 54, 54, 0, ! 0, 0, 0, 23, 0, 694, 0, 0, 0, 0, ! 0, 0, 26, 0, 0, 134, 135, 1470, 0, 0, ! 0, 1471, 0, 653, 654, 655, 656, 657, 658, 1501, ! 659, 660, 661, 662, 663, 664, 665, 666, 667, 1502, ! 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, ! 0, 1503, 698, 1142, 0, 0, 1493, 0, 0, 0, ! 0, 0, 79, 79, 79, 79, 79, 79, 0, 0, ! 267, 0, 79, 275, 1144, 1144, 1144, 0, 0, 0, ! 1318, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 1142, 1142, 1142, 267, 0, 381, ! 0, 0, 0, 0, 0, 79, 79, 54, 79, 1537, ! 1538, 0, 0, 79, 79, 0, 79, 0, 0, 0, ! 0, 992, 145, 8, 9, 10, 221, 222, 223, 0, ! 0, 0, 0, 0, 14, 701, 701, 701, 0, 0, ! 0, 0, 0, 0, 701, 0, 1560, 1561, 0, 0, ! 0, 18, 1563, 0, 0, 0, 0, 20, 0, 0, ! 0, 0, 21, 0, 0, 0, 23, 211, 694, 0, ! 209, 0, 0, 0, 0, 26, 0, 0, 28, 29, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, ! 209, 209, 200, 0, 0, 0, 0, 0, 0, 526, ! 8, 9, 201, 212, 12, 213, 145, 8, 9, 10, ! 33, 14, 253, 0, 1669, 0, 0, 0, 209, 0, ! 0, 0, 0, 0, 0, 16, 0, 17, 18, 0, ! 0, 0, 836, 0, 20, 18, 0, 0, 0, 79, ! 79, 79, 0, 23, 0, 275, 21, 79, 79, 0, ! 0, 0, 26, 0, 0, 134, 135, 0, 0, 26, ! 0, 1677, 28, 29, 0, 267, 0, 0, 0, 0, ! 0, 0, 836, 836, 1136, 0, 200, 0, 0, 0, ! 79, 0, 1136, 0, 0, 0, 201, 0, 0, 0, ! 0, 0, 0, 0, 33, 8, 9, 0, 202, 0, ! 13, 211, 274, 0, 871, 211, 211, 871, 871, 871, ! 79, 0, 0, 211, 0, 0, 0, 0, 0, 0, ! 211, 0, 0, 18, 0, 0, 0, 145, 8, 9, ! 10, 0, 0, 13, 0, 0, 145, 8, 9, 10, ! 694, 0, 563, 0, 0, 0, 0, 26, 0, 0, ! 134, 135, 0, 0, 0, 0, 18, 267, 275, 607, ! 607, 607, 0, 0, 1501, 18, 0, 21, 0, 0, ! 0, 0, 701, 0, 1502, 0, 21, 267, 275, 0, ! 26, 0, 0, 28, 29, 0, 1503, 698, 0, 26, ! 0, 0, 28, 29, 0, 79, 0, 515, 0, 0, ! 79, 0, 0, 79, 0, 0, 200, 516, 0, 0, ! 0, 0, 0, 0, 209, 33, 201, 0, 0, 517, ! 0, 0, 0, 491, 33, 0, 0, 0, 202, 0, ! 270, 8, 9, 10, 0, 0, 13, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 701, 701, 0, 0, ! 701, 0, 0, 0, 0, 0, 0, 0, 0, 18, ! 0, 701, 0, 0, 0, 701, 701, 701, 0, 0, ! 21, 701, 145, 8, 9, 10, 0, 0, 0, 0, ! 0, 0, 209, 26, 209, 209, 28, 271, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 209, 209, ! 867, 18, 209, 0, 209, 209, 209, 209, 0, 0, ! 868, 209, 21, 0, 0, 0, 209, 0, 33, 209, ! 0, 0, 869, 0, 0, 26, 0, 0, 28, 29, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 200, 0, 0, 0, 0, 79, 79, 79, ! 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, ! 33, 0, 0, 0, 202, 0, 0, 836, 836, 836, ! 1136, 1136, 1136, 1310, 0, 0, 0, 836, 0, 1136, ! 1136, 1136, 0, 270, 8, 9, 10, 0, 0, 0, ! 0, 871, 871, 871, 0, 0, 0, 0, 145, 131, ! 1343, 10, 0, 0, 1144, 0, 0, 0, 0, 738, ! 165, 0, 18, 0, 0, 0, 0, 0, 211, 0, ! 0, 0, 0, 21, 0, 0, 0, 18, 0, 0, ! 0, 0, 1355, 1356, 9, 10, 26, 0, 21, 28, ! 271, 0, 0, 0, 0, 1144, 1144, 1144, 0, 0, ! 0, 26, 0, 867, 28, 29, 0, 0, 79, 0, ! 0, 0, 0, 868, 0, 0, 0, 0, 155, 0, ! 0, 33, 21, 992, 992, 869, 992, 0, 156, 0, ! 0, 387, 391, 0, 0, 26, 33, 701, 28, 29, ! 157, 0, 0, 0, 1357, 701, 267, 275, 0, 0, ! 0, 0, 200, 701, 701, 701, 0, 0, 0, 0, ! 824, 491, 201, 0, 0, 0, 209, 0, 0, 0, ! 33, 0, 0, 0, 202, 0, 0, 1520, 1521, 9, ! 10, 0, 0, 0, 0, 0, 0, 0, 1520, 131, ! 132, 10, 0, 0, 836, 836, 836, 1310, 1310, 1310, ! 0, 0, 836, 836, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 492, 21, 871, 871, ! 871, 871, 871, 0, 0, 0, 0, 0, 21, 0, ! 26, 209, 0, 28, 29, 211, 0, 0, 0, 1522, ! 0, 26, 0, 0, 28, 29, 0, 200, 0, 0, ! 1522, 0, 0, 0, 0, 0, 0, 201, 31, 0, ! 0, 0, 0, 0, 0, 33, 0, 0, 32, 202, ! 0, 209, 209, 1134, 0, 0, 33, 0, 267, 275, ! 34, 1134, 0, 0, 0, 0, 0, 0, 491, 0, ! 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, ! 209, 0, 0, 209, 209, 209, 209, 209, 209, 526, ! 0, 0, 209, 8, 9, 0, 173, 12, 13, 209, ! 0, 824, 488, 0, 14, 0, 0, 1310, 1310, 0, ! 1310, 0, 0, 0, 871, 0, 0, 0, 16, 275, ! 17, 18, 0, 0, 0, 0, 491, 20, 0, 0, ! 211, 0, 491, 0, 491, 491, 23, 0, 0, 0, ! 0, 0, 0, 637, 0, 26, 0, 0, 134, 135, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 491, 0, 0, 0, 0, 0, 0, 491, 0, ! 0, 1310, 1310, 1310, 1310, 1310, 0, 0, 491, 747, ! 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, ! 758, 759, 760, 761, 762, 763, 0, 1052, 1054, 1055, ! 1056, 0, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, ! 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, ! 1076, 8, 9, 791, 173, 12, 13, 0, 0, 1310, ! 1619, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 18, ! 0, 267, 275, 267, 0, 20, 0, 0, 0, 0, ! 0, 0, 1694, 0, 23, 0, 0, 0, 0, 0, ! 0, 0, 0, 26, 0, 0, 134, 135, 0, 0, ! 824, 0, 211, 0, 211, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, ! 0, 791, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 491, 1695, 742, 743, 744, 745, 746, ! 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, ! 757, 758, 759, 760, 761, 762, 763, 0, 0, 520, ! 0, 0, 0, 0, 0, 0, 209, 209, 209, 209, ! 209, 1134, 209, 0, 1311, 0, 209, 267, 1134, 1134, ! 1134, 0, 0, 0, 275, 0, 0, 0, 0, 0, ! 209, 209, 209, 8, 9, 0, 0, 12, 253, 0, ! 520, 520, 520, 0, 14, 0, 0, 0, 0, 0, ! 0, 0, 0, 211, 0, 0, 0, 209, 16, 0, ! 17, 18, 0, 0, 0, 0, 1216, 20, 0, 0, ! 0, 0, 926, 0, 927, 0, 23, 0, 0, 930, ! 931, 933, 934, 935, 0, 26, 0, 0, 134, 135, ! 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 824, 491, 953, 0, 0, 0, 0, ! 0, 0, 0, 0, 106, 0, 0, 0, 491, 0, ! 491, 0, 491, 125, 106, 0, 0, 0, 0, 0, ! 0, 106, 106, 0, 106, 0, 0, 0, 982, 0, ! 0, 0, 0, 0, 0, 0, 0, 8, 9, 0, ! 0, 12, 13, 0, 0, 0, 0, 1012, 14, 0, ! 0, 0, 0, 1272, 1012, 0, 0, 0, 242, 0, ! 0, 0, 16, 0, 17, 18, 0, 0, 0, 0, ! 0, 20, 0, 209, 209, 209, 209, 209, 1134, 0, ! 23, 209, 209, 0, 0, 0, 491, 0, 0, 26, ! 0, 0, 134, 135, 0, 0, 0, 209, 209, 209, ! 209, 209, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 209, 0, 0, 0, 409, 0, ! 125, 0, 0, 0, 491, 0, 0, 106, 106, 0, ! 0, 0, 0, 0, 0, 526, 106, 106, 0, 0, ! 106, 106, 106, 0, 441, 106, 106, 106, 0, 0, ! 0, 0, 0, 0, 824, 824, 748, 749, 750, 751, ! 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, ! 762, 763, 0, 0, 0, 0, 1342, 0, 0, 0, ! 699, 699, 699, 0, 1012, 0, 0, 0, 0, 0, ! 0, 0, 1012, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 209, 209, 1311, 209, ! 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 824, 824, 0, 0, 0, 209, ! 0, 0, 0, 0, 0, 242, 106, 749, 750, 751, ! 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, ! 762, 763, 0, 0, 492, 0, 0, 0, 0, 106, ! 492, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 209, 209, 1134, 209, 209, 0, 0, 0, 0, 0, ! 0, 0, 1423, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 106, 491, 0, 491, 0, 491, 0, 824, ! 0, 699, 0, 699, 699, 699, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, ! 0, 0, 0, 1228, 0, 0, 0, 0, 0, 0, ! 824, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 106, 0, 106, 106, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 1458, 0, 0, 953, 0, 0, ! 0, 0, 0, 492, 0, 0, 0, 1012, 0, 0, ! 0, 209, 0, 209, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 824, 106, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 106, 0, 106, 0, 0, 0, ! 0, 491, 0, 0, 106, 0, 0, 106, 1134, 0, ! 0, 0, 791, 0, 1285, 0, 0, 0, 0, 106, ! 0, 0, 0, 824, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 1516, 1517, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, ! 1134, 1134, 1012, 0, 0, 0, 0, 0, 0, 0, ! 0, 1012, 209, 824, 0, 0, 0, 0, 0, 0, ! 1325, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 699, 699, 699, 0, 0, 0, 0, ! 0, 0, 1029, 0, 0, 0, 0, 0, 0, 1569, ! 0, 0, 0, 0, 0, 0, 0, 0, 242, 893, ! 0, 0, 0, 0, 492, 0, 492, 0, 0, 0, ! 0, 0, 0, 0, 106, 0, 1389, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 1626, 1627, 0, 0, 0, 0, ! 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 106, 0, 106, 0, ! 0, 1645, 0, 0, 0, 0, 0, 0, 0, 0, ! 699, 0, 0, 0, 0, 1012, 742, 743, 744, 745, ! 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, ! 756, 757, 758, 759, 760, 761, 762, 763, 0, 1683, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 699, 699, 699, 0, 0, 0, 0, 0, 0, 1012, ! 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 106, 0, 0, 0, 0, 491, 0, 0, 0, ! 0, 0, 106, 106, 0, 106, 106, 0, 0, 0, ! 0, 492, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 1733, 0, 0, 492, 742, 743, 744, 745, 746, ! 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, ! 757, 758, 759, 760, 761, 762, 763, 742, 743, 744, ! 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, ! 755, 756, 757, 758, 759, 760, 761, 762, 763, 0, ! 699, 0, 1395, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, ! 1717, 0, 0, 106, 125, 0, 0, 0, 0, 0, ! 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, ! 0, 0, 1325, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 893, 0, ! 0, 0, 824, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 699, 699, 0, 0, 699, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 699, ! 0, 0, 0, 1029, 1029, 1029, 0, 0, 0, 699, ! 0, 0, 0, 1012, 0, 0, 0, 0, 741, 0, ! 0, 492, 742, 743, 744, 745, 746, 747, 748, 749, ! 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, ! 760, 761, 762, 763, 0, 0, 0, 0, 0, 0, ! 893, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 791, 0, 106, ! 106, 106, 106, 0, 0, 0, 0, 0, 0, 1206, ! 0, 0, 106, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, ! 759, 760, 761, 762, 763, 699, 699, 699, 699, 699, ! 699, 699, 0, 0, 0, 699, 0, 1029, 1029, 1029, ! 1754, 742, 743, 744, 745, 746, 747, 748, 749, 750, ! 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, ! 761, 762, 763, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 106, 106, 0, 0, ! 106, 0, 0, 0, 0, 1767, 0, 270, 8, 9, ! 10, 106, 12, 314, 315, 316, 317, 0, 318, 14, ! 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 319, 17, 18, 19, 0, 320, ! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327, ! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332, ! 26, 0, 637, 28, 271, 699, 0, -209, 382, 0, ! 0, 0, 0, 699, 335, 0, 0, 336, 0, 0, ! 0, 699, 699, 699, 0, 337, 338, 339, 0, 0, ! 0, 0, 0, 340, 341, 342, 0, 0, 0, 343, ! 0, 0, 0, 0, 0, 0, 0, 1631, 0, -510, ! -510, -510, -510, -510, -510, -510, 344, 0, 0, -510, ! 0, -510, 699, 699, 699, 699, 699, 699, 0, 0, ! 699, 699, -510, 0, -510, 0, 0, 0, -510, 0, ! 0, 0, 0, 0, -510, 0, 0, 0, 0, -510, ! 0, 0, 0, -510, 893, -510, 0, 106, 0, 0, ! 106, 0, -510, 0, 0, -510, -510, -510, -510, -510, ! 0, -510, -510, -510, -510, -510, -510, -510, -510, -510, ! -510, -510, -510, -510, -510, -510, -510, -510, -510, -510, ! -510, -510, -510, -510, 0, -510, -510, -510, 0, -510, ! -510, -510, -510, -510, 0, 0, 0, 0, 0, 1632, ! -510, 0, 0, 0, 0, -510, -510, -510, 0, -510, ! 0, 0, 0, 106, 106, 0, 106, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, ! 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, ! 0, 0, 0, 106, 106, 699, 699, 0, 699, 0, ! 270, 8, 9, 10, 0, 12, 314, 315, 316, 317, ! 0, 318, 14, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 893, 0, 16, 319, 17, 18, ! 19, 0, 320, 321, 322, 20, 0, 323, 324, 325, ! 21, 326, 327, 0, 23, 0, 694, 0, 328, 329, ! 330, 331, 332, 26, 0, 0, 28, 271, 0, 699, ! 699, 699, 699, 699, 0, 0, 893, 335, 0, 0, ! 1025, 0, 0, 0, 0, 0, 0, 0, 337, 338, ! 1026, 0, 0, 0, 0, 0, 340, 341, 342, 0, ! 0, 0, 1027, 698, 0, 0, 0, 106, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, ! 0, 0, 0, 0, 0, 0, 1582, 699, -927, -927, ! -927, -927, -927, -927, -927, -927, -927, -927, 0, -927, ! -927, -927, 0, -927, -927, -927, -927, -927, -927, -927, ! -927, -927, -927, -927, -927, -927, -927, -927, -927, 0, ! -927, -927, -927, -927, 0, -927, -927, -927, -927, -927, ! -927, -927, -927, -927, 0, 0, -927, -927, -927, -927, ! -927, -927, 0, 0, -927, -927, -927, 0, -927, -927, ! 0, 0, 0, 0, 0, -927, 0, 0, -927, 0, ! 0, 0, 0, 106, 0, 106, -927, -927, -927, 0, ! 0, 0, 0, 0, -927, -927, -927, 0, 0, 0, ! -927, 0, -927, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 1583, -927, 1545, 0, ! -927, -927, -927, -927, -927, -927, -927, -927, -927, -927, ! 0, -927, -927, -927, 0, -927, -927, -927, -927, -927, ! -927, -927, -927, -927, -927, -927, -927, -927, -927, -927, ! -927, 0, -927, -927, -927, -927, 0, -927, -927, -927, ! -927, -927, -927, -927, -927, -927, 0, 0, -927, -927, ! -927, -927, -927, -927, 0, 0, -927, -927, -927, 0, ! -927, -927, 0, 0, 0, 0, 0, -927, 0, 0, ! -927, 0, 0, 0, 0, 0, 0, 0, -927, -927, ! -927, 0, 0, 0, 0, 0, -927, -927, -927, 0, ! 0, 0, -927, 629, -927, 270, 8, 9, 10, 173, ! 12, 314, 315, 316, 317, 488, 318, 14, 0, -927, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 319, 17, 18, 19, 0, 320, 321, 322, ! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23, ! 0, 694, 0, 328, 329, 330, 331, 332, 26, 0, ! 0, 28, 271, -345, 0, 0, 382, 0, 0, 0, ! 0, 0, 335, 0, 0, 1025, 0, 0, 0, 0, ! 0, 0, 0, 337, 338, 1026, 0, 0, 0, 0, ! 0, 340, 341, 342, 0, 0, 0, 1027, 698, 629, ! 0, 145, 8, 9, 10, 173, 12, 314, 315, 316, ! 317, 488, 318, 14, 344, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 16, 319, 17, ! 18, 19, 0, 320, 321, 322, 20, 0, 323, 324, ! 325, 21, 326, 327, 0, 23, 0, 694, 0, 328, ! 329, 330, 331, 332, 26, 0, 0, 28, 29, -345, ! 0, 0, 382, 0, 0, 0, 0, 0, 335, 0, ! 0, 1139, 0, 0, 0, 0, 0, 0, 0, 337, ! 338, 1140, 0, 0, 0, 0, 0, 340, 341, 342, ! 0, 0, 0, 1141, 698, 487, 0, 270, 8, 9, ! 10, 173, 12, 314, 315, 316, 317, 488, 318, 14, ! 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 319, 17, 18, 19, 0, 320, ! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327, ! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332, ! 26, 0, 0, 28, 271, 0, 0, 0, 382, 0, ! 0, 0, 0, 0, 335, 0, 0, 336, 0, 0, ! 0, 0, 0, 0, 0, 337, 338, 339, 0, 0, ! 0, 0, 0, 340, 341, 342, 0, 0, 956, 343, ! 270, 8, 9, 10, 173, 12, 314, 315, 316, 317, ! 0, 318, 14, 0, -840, 0, 344, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 16, 319, 17, 18, ! 19, 0, 320, 321, 322, 20, 0, 323, 324, 325, ! 21, 326, 327, 0, 23, 0, 0, 0, 328, 329, ! 330, 331, 332, 26, 0, 0, 28, 271, 1728, 0, ! -829, 382, 0, 0, 0, 0, 0, 335, 0, 0, ! 336, 0, 0, 0, 0, 0, 0, 0, 337, 338, ! 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, ! 0, 822, 343, 944, 945, 946, 10, 0, 12, 504, ! 315, 316, 317, 0, 318, 14, 0, 0, 0, 344, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, ! 319, 17, 0, 19, 0, 320, 321, 322, 20, 0, ! 323, 324, 325, 21, 326, 327, 0, 23, 0, 0, ! 0, 328, 329, 330, 331, 332, 26, 0, 0, 947, ! 948, 823, 0, 0, 382, 0, 0, 0, 0, 0, ! 335, 0, 0, 336, 0, 0, 0, 0, 0, 0, ! 0, 337, 338, 339, 0, 0, 0, 0, 0, 340, ! 341, 342, 0, 0, 0, 343, 949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 1124, 344, 629, 0, 270, 8, 9, 10, 0, ! 12, 314, 315, 316, 317, 0, 318, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 319, 17, 18, 19, 0, 320, 321, 322, ! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23, ! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0, ! 0, 28, 271, -345, 0, 0, 382, 0, 0, 0, ! 0, 0, 335, 0, 0, 630, 0, 0, 0, 0, ! 0, 0, 0, 337, 338, 631, 0, 0, 0, 0, ! 0, 340, 341, 342, 0, 0, 822, 632, 944, 945, ! 946, 10, 0, 12, 504, 315, 316, 317, 0, 318, ! 14, 0, 0, 0, 344, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 16, 319, 17, 0, 19, 0, ! 320, 321, 322, 20, 0, 323, 324, 325, 21, 326, ! 327, 0, 23, 0, 0, 0, 328, 329, 330, 331, ! 332, 26, 0, 0, 947, 948, 823, 0, 0, 382, ! 0, 0, 0, 0, 0, 335, 0, 0, 336, 0, ! 0, 0, 0, 0, 0, 0, 337, 338, 339, 0, ! 0, 0, 0, 0, 340, 341, 342, 0, 0, 0, ! 343, 949, 822, 0, 270, 8, 9, 10, 0, 12, ! 504, 315, 316, 317, 0, 318, 14, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 16, 319, 17, 0, 19, 0, 320, 321, 322, 20, ! 0, 323, 324, 325, 21, 326, 327, 0, 23, 0, ! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0, ! 28, 271, 823, 0, 0, 382, 0, 0, 0, 0, ! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0, ! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0, ! 340, 341, 342, 0, 0, 0, 343, 822, 0, 944, ! 945, 946, 10, 1321, 12, 504, 315, 316, 317, 0, ! 318, 14, 0, 344, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 319, 17, 0, 19, ! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21, ! 326, 327, 0, 23, 0, 0, 0, 328, 329, 330, ! 331, 332, 26, 0, 0, 947, 948, 823, 0, 0, ! 382, 0, 0, 0, 0, 0, 335, 0, 0, 336, ! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339, ! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0, ! 822, 343, 944, 945, 946, 10, 0, 12, 504, 315, ! 316, 317, 0, 318, 14, 0, 0, -514, 344, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 16, 319, ! 17, 0, 19, 0, 320, 321, 322, 20, 0, 323, ! 324, 325, 21, 326, 327, 0, 23, 0, 0, 0, ! 328, 329, 330, 331, 332, 26, 0, 0, 947, 948, ! 823, 0, 0, 382, 0, 0, 0, 0, 0, 335, ! 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, ! 337, 338, 339, 0, 0, 0, 0, 0, 340, 341, ! 342, 0, 0, 629, 343, 145, 8, 9, 10, 0, ! 12, 314, 315, 316, 317, 0, 318, 14, 0, 0, ! 1436, 344, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 319, 17, 18, 19, 0, 320, 321, 322, ! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23, ! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0, ! 0, 28, 29, -345, 0, 0, 382, 0, 0, 0, ! 0, 0, 335, 0, 0, 1710, 0, 0, 0, 0, ! 0, 0, 0, 337, 338, 1711, 0, 0, 0, 0, ! 0, 340, 341, 342, 0, 0, 822, 1712, 270, 8, ! 9, 10, 0, 12, 504, 315, 316, 317, 0, 318, ! 14, 0, 0, 0, 344, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 16, 319, 17, 0, 19, 0, ! 320, 321, 322, 20, 0, 323, 324, 325, 21, 326, ! 327, 0, 23, 0, 0, 0, 328, 329, 330, 331, ! 332, 26, 0, 0, 28, 271, 823, 0, 0, 382, ! 0, 0, 0, 0, 0, 335, 0, 0, 336, 0, ! 0, 0, 0, 0, 0, 0, 337, 338, 339, 0, ! 0, 0, 0, 0, 340, 341, 342, 0, 0, 956, ! 343, 270, 8, 9, 10, 0, 12, 504, 315, 316, ! 317, 0, 318, 14, 0, 0, 0, 344, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 16, 319, 17, ! 0, 19, 0, 320, 321, 322, 20, 0, 323, 324, ! 325, 21, 326, 327, 0, 23, 0, 0, 0, 328, ! 329, 330, 331, 332, 26, 0, 0, 28, 271, 0, ! 0, 0, 382, -829, 0, 0, 0, 0, 335, 0, ! 0, 336, 0, 0, 0, 0, 0, 0, 0, 337, ! 338, 339, 0, 0, 0, 0, 0, 340, 341, 342, ! 0, 0, 956, 343, 270, 8, 9, 10, 0, 12, ! 504, 315, 316, 317, 0, 318, 14, 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 16, 319, 17, 0, 19, 0, 320, 321, 322, 20, ! 0, 323, 324, 325, 21, 326, 327, 0, 23, 0, ! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0, ! 28, 271, 0, 0, 0, 382, 0, 0, 0, 0, ! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0, ! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0, ! 340, 341, 342, 0, 0, 1051, 343, 270, 8, 9, ! 10, 0, 12, 504, 315, 316, 317, 0, 318, 14, ! 0, -829, 0, 344, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 319, 17, 0, 19, 0, 320, ! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327, ! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332, ! 26, 0, 0, 28, 271, 0, 0, 0, 382, 0, ! 0, 0, 0, 0, 335, 0, 0, 336, 0, 0, ! 0, 0, 0, 0, 0, 337, 338, 339, 0, 0, ! 0, 0, 0, 340, 341, 342, 0, 0, 1053, 343, ! 270, 8, 9, 10, 0, 12, 504, 315, 316, 317, ! 0, 318, 14, 0, 0, 0, 344, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 16, 319, 17, 0, ! 19, 0, 320, 321, 322, 20, 0, 323, 324, 325, ! 21, 326, 327, 0, 23, 0, 0, 0, 328, 329, ! 330, 331, 332, 26, 0, 0, 28, 271, 0, 0, ! 0, 382, 0, 0, 0, 0, 0, 335, 0, 0, ! 336, 0, 0, 0, 0, 0, 0, 0, 337, 338, ! 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, ! 0, 1682, 343, 270, 8, 9, 10, 0, 12, 504, ! 315, 316, 317, 0, 318, 14, 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, ! 319, 17, 0, 19, 0, 320, 321, 322, 20, 0, ! 323, 324, 325, 21, 326, 327, 0, 23, 0, 0, ! 0, 328, 329, 330, 331, 332, 26, 0, 0, 28, ! 271, 0, 0, 0, 382, 0, 0, 0, 0, 0, ! 335, 0, 0, 336, 0, 0, 0, 0, 0, 0, ! 0, 337, 338, 339, 0, 0, 0, 0, 0, 340, ! 341, 342, 0, 0, 0, 343, 270, 8, 9, 10, ! 0, 12, 504, 315, 316, 317, 0, 318, 14, 0, ! 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 16, 319, 17, 0, 19, 0, 320, 321, ! 322, 20, 0, 323, 324, 325, 21, 326, 327, 0, ! 23, 0, 0, 0, 328, 329, 330, 331, 332, 26, ! 0, 0, 28, 271, 0, 0, 0, 382, 0, 0, ! 0, 0, 0, 335, 0, 0, 336, 0, 0, 0, ! 0, 0, 0, 0, 337, 338, 339, 0, 0, 0, ! 0, 0, 340, 341, 342, 0, 0, 0, 343, 270, ! 8, 9, 10, 0, 12, 504, 315, 316, 317, 0, ! 318, 14, 0, 0, 0, 344, 505, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 319, 17, 0, 19, ! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21, ! 326, 327, 0, 23, 0, 0, 0, 328, 329, 330, ! 331, 332, 26, 0, 0, 28, 271, 0, 0, 0, ! 382, 0, 0, 0, 0, 0, 335, 0, 0, 336, ! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339, ! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0, ! 0, 343, 270, 8, 9, 10, 0, 12, 504, 315, ! 316, 317, 0, 318, 14, 0, 0, 0, 344, 877, ! 0, 0, 0, 0, 0, 0, 0, 0, 16, 319, ! 17, 0, 19, 0, 320, 321, 322, 20, 0, 323, ! 324, 325, 21, 326, 327, 0, 23, 0, 0, 0, ! 328, 329, 330, 331, 332, 26, 0, 0, 28, 271, ! 0, 0, 0, 382, 0, 0, 0, 0, 0, 335, ! 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, ! 337, 338, 339, 0, 0, 0, 0, 0, 340, 341, ! 342, 0, 0, 0, 343, 270, 8, 9, 10, 0, ! 12, 504, 315, 316, 317, 0, 318, 14, 0, 0, ! 0, 344, 995, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 319, 17, 0, 19, 0, 320, 321, 322, ! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23, ! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0, ! 0, 28, 271, 0, 0, 0, 382, 0, 0, 0, ! 0, 0, 335, 0, 0, 336, 0, 0, 0, 0, ! 0, 0, 0, 337, 338, 339, 0, 0, 0, 0, ! 0, 340, 341, 342, 0, 0, 0, 343, 270, 8, ! 9, 10, 0, 12, 504, 315, 316, 317, 0, 318, ! 14, 0, 0, 0, 344, 1015, 0, 0, 0, 0, ! 0, 0, 0, 0, 16, 319, 17, 0, 19, 0, ! 320, 321, 322, 20, 0, 323, 324, 325, 21, 326, ! 327, 0, 23, 0, 0, 0, 328, 329, 330, 331, ! 332, 26, 0, 0, 28, 271, 0, 0, 0, 382, ! 0, 0, 0, 0, 0, 335, 0, 0, 336, 0, ! 0, 0, 0, 0, 0, 0, 337, 338, 339, 0, ! 0, 0, 0, 0, 340, 341, 342, 0, 0, 0, ! 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 344, 1259, 1586, ! 1587, 1588, 10, 173, 12, 314, 315, 316, 317, 0, ! 318, 14, 1589, 0, 1590, 1591, 1592, 1593, 1594, 1595, ! 1596, 1597, 1598, 1599, 15, 16, 319, 17, 18, 19, ! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21, ! 326, 327, 1600, 23, 1601, 0, 0, 328, 329, 330, ! 331, 332, 26, 0, 0, 1602, 271, 1215, 0, 1603, ! 382, 0, 0, 0, 0, 0, 335, 0, 0, 336, ! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339, ! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0, ! 0, 343, 0, 1604, 1586, 1587, 1588, 10, 173, 12, ! 314, 315, 316, 317, 0, 318, 14, 1589, 344, 1590, ! 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 15, ! 16, 319, 17, 18, 19, 0, 320, 321, 322, 20, ! 0, 323, 324, 325, 21, 326, 327, 1600, 23, 1601, ! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0, ! 1602, 271, 0, 0, 1603, 382, 0, 0, 0, 0, ! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0, ! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0, ! 340, 341, 342, 0, 0, 0, 343, 0, 1604, 270, ! 8, 9, 10, 173, 12, 314, 315, 316, 317, 488, ! 318, 14, 0, 344, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 319, 17, 18, 19, ! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21, ! 326, 327, 0, 23, 0, 694, 0, 328, 329, 330, ! 331, 332, 26, 0, 0, 28, 271, 0, 0, 0, ! 382, 0, 0, 0, 0, 0, 335, 0, 0, 1025, ! 0, 0, 0, 0, 0, 0, 0, 337, 338, 1026, ! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0, ! 0, 1027, 698, 145, 8, 9, 10, 173, 12, 314, ! 315, 316, 317, 488, 318, 14, 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, ! 319, 17, 18, 19, 0, 320, 321, 322, 20, 0, ! 323, 324, 325, 21, 326, 327, 0, 23, 0, 694, ! 0, 328, 329, 330, 331, 332, 26, 0, 0, 28, ! 29, 0, 0, 0, 382, 0, 0, 0, 0, 0, ! 335, 0, 0, 1139, 0, 0, 0, 0, 0, 0, ! 0, 337, 338, 1140, 0, 0, 0, 0, 0, 340, ! 341, 342, 0, 0, 0, 1141, 698, 145, 8, 9, ! 10, 0, 12, 314, 315, 316, 317, 0, 318, 14, ! 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 319, 17, 18, 19, 0, 320, ! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327, ! 0, 23, 0, 694, 0, 328, 329, 330, 331, 332, ! 26, 0, 0, 28, 29, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 335, 0, 0, 1139, 0, 0, ! 0, 0, 0, 0, 0, 337, 338, 1140, 0, 0, ! 0, 0, 0, 340, 341, 342, 0, 0, 0, 1141, ! 698, 270, 8, 9, 10, 0, 12, 314, 315, 316, ! 317, 0, 318, 14, 0, 0, 344, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 16, 319, 17, ! 18, 19, 0, 320, 321, 322, 20, 0, 323, 324, ! 325, 21, 326, 327, 0, 23, 0, 0, 0, 328, ! 329, 330, 331, 332, 26, 0, 0, 333, 271, 0, ! 0, 0, 334, 0, 0, 0, 0, 0, 335, 0, ! 0, 336, 0, 0, 0, 0, 0, 0, 0, 337, ! 338, 339, 0, 0, 0, 0, 0, 340, 341, 342, ! 0, 0, 0, 343, 270, 8, 9, 10, 0, 12, ! 314, 315, 316, 317, 0, 318, 14, 0, 0, 0, ! 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 16, 319, 17, 18, 19, 0, 320, 321, 322, 20, ! 0, 323, 324, 325, 21, 326, 327, 0, 23, 0, ! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0, ! 28, 271, 0, 0, 0, 382, 0, 0, 0, 0, ! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0, ! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0, ! 340, 341, 342, 0, 0, 0, 343, 270, 8, 9, ! 10, 0, 12, 504, 315, 316, 317, 0, 318, 14, ! 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 319, 17, 18, 19, 0, 320, ! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327, ! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332, ! 26, 0, 0, 28, 271, 0, 0, 0, 382, 0, ! 0, 0, 0, 0, 335, 0, 0, 630, 0, 0, ! 0, 0, 0, 0, 0, 337, 338, 631, 0, 0, ! 0, 0, 0, 340, 341, 342, 0, 0, 0, 632, ! 270, 8, 9, 10, 0, 12, 504, 315, 316, 317, ! 0, 318, 14, 0, 0, 0, 344, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 16, 319, 17, 0, ! 19, 0, 320, 321, 322, 20, 0, 323, 324, 325, ! 21, 326, 327, 0, 23, 0, 0, 0, 328, 329, ! 330, 331, 332, 26, 0, 0, 28, 271, 0, 0, ! 1649, 382, 0, 0, 0, 0, 0, 335, 0, 0, ! 336, 0, 0, 0, 0, 0, 0, 0, 337, 338, ! 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, ! 0, 0, 343, 270, 8, 9, 10, 173, 12, 314, ! 315, 316, 317, 0, 318, 14, 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, ! 319, 17, 18, 19, 0, 320, 321, 322, 20, 0, ! 323, 324, 325, 21, 326, 327, 0, 23, 0, 0, ! 0, 328, 329, 330, 331, 332, 26, 0, 0, 28, ! 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 335, 0, 0, 336, 0, 0, 0, 0, 0, 0, ! 0, 337, 338, 339, 0, 0, 0, 0, 0, 340, ! 341, 342, 0, 0, 0, 343, 145, 8, 9, 10, ! 0, 12, 504, 315, 316, 317, 0, 318, 14, 0, ! 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 16, 319, 17, 18, 19, 0, 320, 321, ! 322, 20, 0, 323, 324, 325, 21, 326, 327, 0, ! 23, 0, 0, 0, 328, 329, 330, 331, 332, 26, ! 0, 0, 28, 29, 0, 0, 0, 382, 0, 0, ! 0, 0, 0, 335, 0, 0, 1710, 0, 0, 0, ! 0, 0, 0, 0, 337, 338, 1711, 0, 0, 0, ! 0, 0, 340, 341, 342, 0, 0, 0, 1712, 270, ! 8, 9, 10, 0, 12, 504, 315, 316, 317, 0, ! 318, 14, 0, 0, 0, 344, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 319, 17, 0, 19, ! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21, ! 326, 327, 0, 23, 0, 0, 0, 328, 329, 330, ! 331, 332, 26, 0, 0, 28, 271, 0, 0, 0, ! 334, 0, 0, 0, 0, 0, 335, 0, 0, 336, ! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339, ! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0, ! 0, 343, 270, 8, 9, 10, 0, 12, 504, 315, ! 316, 317, 0, 318, 14, 0, 0, 0, 344, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 16, 319, ! 17, 0, 19, 0, 320, 321, 322, 20, 0, 323, ! 324, 325, 21, 326, 327, 0, 23, 0, 0, 0, ! 328, 329, 330, 331, 332, 26, 0, 0, 28, 271, ! 644, 0, 0, 0, 0, 0, 0, 0, 0, 335, ! 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, ! 337, 338, 339, 0, 0, 0, 0, 0, 340, 341, ! 342, 0, 0, 0, 645, 270, 8, 9, 10, 0, ! 12, 504, 315, 316, 317, 0, 318, 14, 0, 0, ! 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 319, 17, 0, 19, 0, 320, 321, 322, ! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23, ! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0, ! 0, 28, 271, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 335, 0, 0, 336, 0, 0, 0, 0, ! 0, 0, 0, 337, 338, 339, 0, 0, 0, 0, ! 0, 340, 341, 342, 0, 0, 0, 343, 682, 270, ! 8, 9, 10, 0, 12, 504, 315, 316, 317, 0, ! 318, 14, 0, 0, 344, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 319, 17, 0, 19, ! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21, ! 326, 327, 0, 23, 0, 0, 0, 328, 329, 330, ! 331, 332, 26, 0, 0, 28, 271, 0, 0, 0, ! 382, 0, 0, 0, 0, 0, 335, 0, 0, 336, ! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339, ! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0, ! 0, 343, 270, 8, 9, 10, 0, 12, 504, 315, ! 316, 317, 0, 318, 14, 0, 0, 0, 344, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 16, 319, ! 17, 18, 19, 0, 320, 321, 322, 20, 0, 323, ! 324, 325, 21, 326, 327, 0, 23, 0, 0, 0, ! 328, 329, 330, 331, 332, 26, 0, 0, 28, 271, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, ! 0, 0, 630, 0, 0, 0, 0, 0, 0, 0, ! 337, 338, 631, 0, 0, 0, 0, 0, 340, 341, ! 342, 0, 0, 0, 632, 1278, 8, 9, 10, 0, ! 12, 504, 315, 316, 317, 0, 318, 14, 0, 0, ! 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 319, 17, 0, 19, 0, 320, 321, 322, ! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23, ! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0, ! 0, 28, 271, 0, 0, 0, 382, 0, 0, 0, ! 0, 0, 335, 0, 0, 336, 0, 0, 0, 0, ! 0, 0, 0, 337, 338, 339, 0, 0, 0, 0, ! 0, 340, 341, 342, 0, 0, 0, 343, 145, 8, ! 9, 10, 0, 12, 314, 315, 316, 317, 0, 318, ! 14, 0, 0, 0, 344, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 16, 319, 17, 18, 19, 0, ! 320, 321, 322, 20, 0, 323, 324, 325, 21, 326, ! 327, 0, 23, 0, 0, 0, 328, 329, 330, 331, ! 332, 26, 0, 0, 28, 29, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 335, 0, 0, 1710, 0, ! 0, 0, 0, 0, 0, 0, 337, 338, 1711, 0, ! 0, 0, 0, 0, 340, 341, 342, 0, 0, 0, ! 1712, 270, 8, 9, 10, 0, 12, 504, 315, 316, ! 317, 0, 318, 14, 0, 0, 0, 344, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 16, 319, 17, ! 0, 19, 0, 320, 321, 322, 20, 0, 323, 324, ! 325, 21, 326, 327, 0, 23, 0, 0, 0, 328, ! 329, 330, 331, 332, 26, 0, 0, 28, 271, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 335, 0, ! 0, 336, 0, 0, 0, 0, 0, 0, 0, 337, ! 338, 339, 0, 0, 0, 0, 0, 340, 341, 342, ! 0, 0, 0, 612, 270, 8, 9, 10, 0, 12, ! 504, 315, 316, 317, 0, 318, 14, 0, 0, 0, ! 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 16, 319, 17, 0, 19, 0, 320, 321, 322, 20, ! 0, 323, 324, 325, 21, 326, 327, 0, 23, 0, ! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0, ! 28, 271, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0, ! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0, ! 340, 341, 342, 0, 0, 0, 614, 270, 8, 9, ! 10, 0, 12, 504, 315, 316, 317, 0, 318, 14, ! 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 319, 17, 0, 19, 0, 320, ! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327, ! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332, ! 26, 0, 0, 28, 271, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 335, 0, 0, 336, 0, 0, ! 0, 0, 0, 0, 0, 337, 338, 339, 0, 0, ! 0, 0, 0, 340, 341, 342, 0, 0, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 344, 742, 743, 744, ! 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, ! 755, 756, 757, 758, 759, 760, 761, 762, 763, 647, ! 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, ! 658, 0, 659, 660, 661, 662, 663, 664, 665, 666, ! 667 }; static const short yycheck[] = { 14, ! 4, 167, 4, 180, 216, 23, 181, 22, 744, 423, ! 182, 363, 81, 4, 4, 483, 817, 318, 319, 369, ! 260, 423, 130, 60, 4, 155, 156, 162, 369, 196, ! 549, 4, 36, 86, 36, 423, 423, 138, 58, 389, ! 642, 984, 254, 45, 45, 36, 36, 251, 389, 799, ! 351, 31, 32, 68, 45, 45, 36, 724, 60, 45, ! 393, 465, 819, 36, 94, 45, 96, 137, 138, 224, ! 225, 73, 45, 1435, 216, 81, 1428, 793, 128, 4, ! 45, 150, 137, 225, 86, 245, 14, 501, 1551, 91, ! 1546, 1551, 94, 77, 96, 4, 1605, 62, 310, 501, ! 1621, 12, 9, 140, 45, 45, 86, 49, 12, 111, ! 112, 36, 142, 128, 1171, 12, 1173, 12, 39, 1758, ! 45, 1642, 56, 62, 1181, 67, 4, 36, 904, 369, ! 1693, 34, 50, 800, 910, 3, 45, 1658, 140, 154, ! 142, 210, 144, 77, 496, 182, 532, 1452, 1453, 389, ! 140, 363, 1791, 95, 34, 507, 84, 64, 36, 56, ! 140, 181, 1618, 62, 1469, 1, 552, 140, 65, 171, ! 171, 110, 26, 175, 175, 155, 156, 49, 371, 372, ! 182, 171, 110, 1692, 175, 175, 1714, 49, 1751, 175, ! 111, 171, 1, 1714, 196, 175, 1724, 1725, 171, 110, ! 141, 96, 175, 1724, 1725, 77, 110, 61, 111, 77, ! 175, 65, 111, 110, 1519, 140, 196, 81, 95, 13, ! 200, 201, 4, 1528, 1529, 61, 1531, 334, 49, 65, ! 245, 246, 141, 95, 175, 175, 49, 430, 431, 49, ! 1696, 49, 1770, 97, 108, 260, 171, 1023, 110, 1770, ! 175, 216, 61, 78, 36, 80, 65, 62, 63, 224, ! 225, 97, 63, 45, 1727, 62, 175, 1727, 62, 62, ! 276, 65, 1, 137, 95, 155, 156, 157, 1734, 3, ! 4, 5, 95, 96, 1227, 95, 150, 95, 97, 254, ! 360, 63, 1042, 171, 1822, 1045, 63, 110, 56, 818, ! 110, 1822, 56, 356, 86, 360, 196, 473, 443, 311, ! 111, 65, 413, 110, 28, 1771, 110, 110, 32, 77, ! 335, 56, 202, 522, 1629, 1630, 50, 0, 256, 34, ! 65, 530, 61, 62, 62, 59, 60, 374, 7, 111, ! 0, 343, 109, 373, 111, 310, 210, 63, 220, 63, ! 1100, 1101, 110, 67, 356, 405, 110, 49, 140, 83, ! 4, 5, 364, 378, 95, 62, 1728, 4, 5, 719, ! 39, 373, 374, 528, 529, 1091, 356, 392, 111, 112, ! 535, 245, 110, 518, 374, 515, 516, 529, 548, 171, ! 405, 62, 49, 175, 374, 111, 551, 111, 363, 786, ! 65, 374, 432, 95, 1756, 425, 13, 49, 812, 813, ! 49, 1468, 276, 110, 196, 59, 60, 49, 1194, 56, ! 1196, 423, 59, 60, 426, 65, 77, 9, 49, 95, ! 432, 13, 3, 4, 5, 77, 73, 95, 95, 110, ! 49, 369, 775, 423, 49, 110, 83, 687, 603, 374, ! 155, 156, 157, 95, 96, 62, 95, 96, 65, 96, ! 1403, 389, 427, 95, 197, 467, 467, 49, 110, 49, ! 110, 110, 712, 493, 95, 495, 496, 467, 1790, 50, ! 62, 467, 64, 65, 77, 67, 95, 467, 59, 60, ! 95, 1158, 494, 1095, 467, 497, 78, 202, 80, 501, ! 1812, 40, 467, 61, 368, 3, 4, 5, 63, 67, ! 540, 65, 83, 95, 96, 95, 96, 56, 986, 1269, ! 1270, 501, 49, 77, 388, 49, 109, 49, 110, 61, ! 110, 496, 725, 548, 26, 515, 516, 63, 540, 13, ! 647, 648, 467, 650, 651, 652, 653, 654, 655, 656, ! 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, ! 667, 59, 60, 528, 529, 1341, 62, 99, 95, 96, ! 535, 95, 436, 95, 356, 362, 363, 364, 1354, 49, ! 610, 49, 78, 110, 56, 83, 551, 49, 62, 65, ! 4, 65, 374, 67, 484, 4, 5, 67, 49, 56, ! 1, 77, 3, 4, 5, 77, 49, 32, 610, 802, ! 612, 49, 614, 3, 4, 5, 6, 619, 620, 621, ! 622, 623, 36, 32, 65, 95, 679, 95, 96, 644, ! 632, 86, 87, 95, 811, 515, 516, 517, 603, 3, ! 642, 423, 110, 645, 95, 1164, 56, 56, 49, 77, ! 59, 60, 95, 43, 61, 56, 95, 95, 59, 60, ! 61, 62, 62, 63, 73, 49, 538, 4, 5, 59, ! 60, 56, 687, 62, 83, 776, 678, 679, 1092, 1147, ! 1148, 56, 783, 1033, 548, 467, 95, 891, 892, 78, ! 1092, 80, 1033, 897, 95, 697, 56, 712, 49, 679, ! 49, 91, 704, 50, 1092, 1092, 493, 727, 495, 496, ! 497, 95, 96, 783, 77, 695, 696, 697, 67, 501, ! 932, 611, 59, 60, 704, 1482, 110, 882, 1029, 864, ! 78, 924, 56, 56, 56, 1511, 49, 904, 26, 110, ! 28, 65, 606, 910, 95, 96, 95, 96, 778, 1217, ! 1218, 49, 110, 77, 77, 77, 65, 188, 110, 3, ! 4, 5, 6, 728, 110, 56, 784, 61, 77, 784, ! 839, 65, 792, 61, 65, 1294, 778, 65, 793, 669, ! 708, 12, 95, 8, 9, 675, 77, 677, 678, 1546, ! 15, 524, 900, 1033, 32, 1145, 111, 95, 49, 43, ! 818, 3, 4, 5, 1145, 63, 50, 32, 823, 97, ! 515, 516, 517, 38, 704, 59, 60, 1336, 86, 87, ! 49, 711, 47, 49, 49, 49, 99, 792, 692, 56, ! 56, 721, 834, 95, 1302, 1, 3, 3, 4, 5, ! 842, 63, 56, 707, 95, 96, 61, 91, 50, 77, ! 77, 77, 832, 833, 834, 96, 1023, 59, 60, 110, ! 96, 1618, 842, 77, 901, 1333, 95, 96, 56, 95, ! 95, 95, 96, 65, 65, 905, 906, 65, 908, 49, ! 1232, 83, 95, 49, 95, 77, 619, 867, 868, 77, ! 56, 1084, 113, 59, 60, 901, 1031, 679, 26, 901, ! 28, 95, 904, 905, 906, 1145, 908, 62, 910, 147, ! 901, 26, 840, 28, 152, 697, 649, 882, 4, 5, ! 77, 901, 704, 77, 904, 95, 96, 1395, 901, 95, ! 910, 61, 1109, 61, 1691, 65, 196, 65, 61, 1696, ! 110, 1742, 65, 676, 49, 26, 61, 28, 77, 682, ! 65, 56, 842, 77, 834, 12, 1692, 1161, 1162, 1163, ! 46, 95, 842, 201, 56, 698, 856, 932, 56, 97, ! 56, 110, 77, 59, 60, 839, 901, 1734, 1446, 62, ! 61, 983, 97, 56, 65, 987, 77, 56, 13, 77, ! 95, 1098, 65, 110, 110, 1188, 1189, 1190, 1133, 3, ! 1130, 1131, 6, 28, 77, 792, 870, 32, 77, 1139, ! 1140, 744, 4, 5, 1771, 1017, 97, 110, 1486, 1233, ! 1234, 1023, 1236, 56, 49, 1027, 77, 1194, 32, 1196, ! 77, 269, 3, 4, 5, 6, 110, 62, 63, 43, ! 65, 111, 67, 1023, 111, 1025, 1026, 1027, 4, 5, ! 49, 65, 834, 9, 56, 59, 60, 56, 922, 1795, ! 842, 110, 1077, 65, 56, 56, 1135, 59, 60, 73, ! 95, 96, 43, 110, 65, 77, 1091, 67, 77, 83, ! 83, 84, 85, 86, 87, 110, 77, 91, 59, 60, ! 1092, 95, 1094, 1095, 8, 9, 95, 987, 62, 63, ! 56, 15, 110, 59, 60, 1033, 67, 3, 4, 5, ! 6, 1001, 1092, 1003, 1221, 1005, 62, 73, 32, 901, ! 91, 67, 904, 110, 38, 62, 63, 83, 910, 834, ! 1132, 77, 78, 47, 1171, 113, 1173, 842, 28, 1141, ! 96, 1178, 1179, 1557, 1181, 932, 77, 43, 1150, 77, ! 1130, 1131, 1132, 56, 50, 1557, 62, 63, 1178, 1139, ! 1140, 1141, 28, 59, 60, 1171, 32, 1173, 1032, 1171, ! 1034, 1173, 77, 1179, 1341, 1181, 110, 1179, 113, 1181, ! 1171, 113, 1173, 1173, 62, 63, 110, 1354, 49, 1079, ! 1181, 1171, 1194, 1173, 1196, 91, 62, 63, 1171, 110, ! 1173, 1181, 110, 1218, 1206, 3, 444, 56, 1181, 447, ! 95, 1241, 62, 63, 1194, 8, 1196, 1145, 49, 1006, ! 1413, 459, 62, 67, 484, 4, 5, 1117, 89, 90, ! 9, 63, 93, 94, 95, 96, 111, 77, 78, 1241, ! 80, 1023, 62, 63, 1031, 1027, 1171, 62, 1173, 95, ! 1130, 1131, 1132, 32, 62, 63, 1181, 111, 991, 1139, ! 1140, 1141, 1614, 1265, 3, 4, 5, 56, 7, 8, ! 9, 1135, 510, 63, 1138, 513, 1294, 56, 4, 5, ! 59, 60, 46, 1263, 1264, 1265, 77, 1302, 38, 527, ! 1170, 1024, 56, 32, 73, 67, 60, 1366, 67, 38, ! 62, 63, 1174, 1175, 83, 110, 67, 1309, 1345, 110, ! 1092, 63, 1184, 919, 920, 921, 95, 56, 110, 28, ! 59, 60, 61, 32, 67, 1345, 67, 1307, 1308, 1309, ! 56, 113, 78, 59, 60, 62, 110, 1805, 1375, 1341, ! 1127, 3, 4, 5, 1511, 110, 1133, 73, 1328, 1329, ! 1132, 611, 1354, 62, 63, 110, 110, 83, 67, 1141, ! 1366, 1341, 110, 78, 78, 78, 105, 106, 107, 1375, ! 1722, 78, 110, 1375, 1354, 110, 3, 4, 5, 6, ! 61, 65, 31, 32, 1375, 34, 65, 62, 50, 1171, ! 110, 1173, 3, 4, 5, 1375, 65, 59, 60, 1181, ! 4, 5, 1375, 113, 110, 9, 1296, 110, 1298, 669, ! 1300, 60, 1194, 62, 1196, 675, 43, 677, 678, 68, ! 111, 83, 110, 110, 73, 1130, 1131, 1132, 32, 96, ! 113, 1468, 59, 60, 1139, 1140, 1141, 1612, 91, 1614, ! 1442, 1613, 77, 49, 110, 56, 110, 110, 59, 60, ! 1375, 711, 56, 113, 885, 59, 60, 1463, 110, 110, ! 1247, 721, 1468, 110, 1479, 1170, 1468, 111, 1255, 73, ! 65, 110, 3, 4, 5, 111, 63, 1468, 61, 83, ! 3, 4, 5, 1265, 200, 201, 1358, 110, 1468, 67, ! 110, 95, 1364, 1365, 110, 1468, 1368, 1369, 147, 95, ! 1372, 1503, 1366, 152, 1237, 95, 155, 156, 157, 1511, ! 1722, 95, 111, 3, 4, 5, 95, 1304, 110, 50, ! 113, 1501, 1502, 1503, 110, 8, 1313, 1309, 59, 60, ! 34, 1511, 113, 182, 1424, 110, 59, 60, 61, 188, ! 110, 1707, 1719, 1468, 879, 110, 110, 1551, 110, 1551, ! 98, 200, 201, 202, 110, 1557, 3, 4, 5, 1341, ! 1551, 1551, 62, 1578, 110, 62, 56, 216, 903, 59, ! 60, 1551, 1354, 65, 909, 1439, 225, 1557, 1551, 56, ! 1710, 1711, 110, 110, 1599, 1600, 110, 65, 3, 4, ! 5, 113, 1612, 1375, 1614, 833, 49, 110, 110, 1463, ! 110, 110, 67, 1605, 110, 254, 34, 110, 110, 56, ! 95, 1613, 59, 60, 1605, 1605, 3, 4, 5, 6, ! 269, 1787, 110, 110, 1790, 1605, 1551, 865, 866, 113, ! 110, 110, 1605, 65, 65, 873, 3, 4, 5, 6, ! 1655, 1656, 63, 1809, 59, 60, 1812, 62, 9, 1614, ! 63, 63, 156, 157, 1526, 1527, 43, 1390, 1391, 1392, ! 1393, 310, 311, 50, 17, 111, 110, 110, 1401, 61, ! 95, 95, 59, 60, 63, 63, 43, 3, 4, 5, ! 1605, 67, 56, 1018, 1686, 1020, 1468, 95, 104, 1704, ! 1692, 1693, 59, 60, 343, 109, 83, 18, 202, 63, ! 56, 1692, 1692, 1723, 91, 110, 1686, 3, 4, 5, ! 1712, 63, 1692, 1693, 363, 364, 110, 1504, 1505, 1692, ! 63, 1503, 63, 1727, 91, 1727, 63, 987, 62, 1511, ! 1710, 1711, 95, 59, 60, 67, 1727, 1727, 110, 63, ! 113, 1001, 110, 1003, 63, 1005, 12, 1727, 110, 1751, ! 95, 3, 4, 5, 1727, 63, 63, 1722, 1773, 63, ! 56, 110, 63, 59, 60, 61, 0, 1692, 0, 1551, ! 0, 1751, 1559, 176, 2, 1557, 36, 426, 427, 1669, ! 1656, 3, 4, 5, 6, 1092, 3, 4, 5, 1669, ! 7, 8, 9, 776, 510, 444, 1668, 513, 447, 515, ! 516, 171, 1727, 1718, 453, 454, 455, 59, 60, 175, ! 459, 527, 467, 1179, 3, 4, 5, 1294, 1551, 1079, ! 98, 43, 144, 1605, 1641, 3, 4, 5, 50, 1077, ! 1710, 1711, 1712, 734, 823, 1336, 1164, 59, 60, 343, ! 313, 1375, 59, 60, 4, 494, 1179, 496, 497, 3, ! 4, 5, 6, 1465, 736, 1048, 679, 1117, 1193, 207, ! 1195, 510, 360, 128, 513, 1598, 515, 516, 517, 91, ! 59, 60, 521, 1745, 1546, 1483, 36, 636, 527, 1727, ! 529, 59, 60, 532, 1742, 45, 1739, 1789, 851, 43, ! 1128, 1129, 1442, -1, -1, -1, 50, -1, 58, 1137, ! 60, -1, 551, 552, 1686, 59, 60, -1, -1, -1, ! 1692, 1693, -1, -1, -1, -1, 1347, 1348, 1651, 4, ! 5, -1, 1257, -1, 9, -1, -1, -1, -1, 83, ! -1, 58, -1, -1, -1, 4, 5, 91, -1, -1, ! 9, -1, -1, 1374, -1, 1727, -1, 32, 1379, -1, ! 454, 455, -1, 1686, 603, -1, -1, -1, -1, 1692, ! 1693, -1, -1, 612, 1669, 614, 695, 696, -1, 1751, ! -1, 56, -1, -1, 59, 60, -1, 7, 8, 9, ! 140, 630, 631, 632, -1, 15, 146, 56, 73, -1, ! 59, 60, -1, -1, 1727, -1, 645, -1, 83, -1, ! 3, 4, 5, -1, 73, 1710, 1711, 1712, 38, -1, ! 95, 171, 516, 517, 83, 175, -1, 47, 1751, -1, ! -1, 181, 182, -1, -1, -1, -1, 1458, 1459, -1, ! 1461, 1462, 1765, 1464, -1, -1, 1296, -1, 1298, -1, ! 1300, 3, 4, 5, 6, -1, 695, 696, 697, 3, ! 4, 5, 1785, -1, 181, 704, 59, 60, 3, 4, ! 5, -1, 1795, -1, -1, -1, -1, 1305, 1306, 229, ! 32, -1, -1, -1, 1312, 3, 4, 5, -1, 728, ! -1, 43, 1417, 1816, -1, 1516, 1517, 49, -1, -1, ! 3, 4, 5, -1, 56, -1, 50, 59, 60, -1, ! -1, -1, 229, 832, 833, 59, 60, -1, 612, -1, ! 614, 73, -1, 1448, 59, 60, 832, 833, -1, 1454, ! -1, 83, 3, 4, 5, 6, -1, 631, 632, 91, ! -1, 59, 60, 95, 96, 1470, 1471, 50, 1569, 1570, ! 1571, 645, -1, 792, 793, -1, 59, 60, -1, 865, ! 866, 867, 868, -1, -1, -1, -1, 873, 1493, 40, ! 41, -1, 43, -1, 1424, 3, 4, 5, 6, 83, ! 84, 85, 86, 87, -1, 56, -1, -1, 59, 60, ! -1, -1, -1, 832, 833, 834, -1, 3, 4, 5, ! -1, 7, -1, 842, -1, 1626, 1627, -1, -1, -1, ! 704, -1, 1537, 1538, -1, 43, -1, 856, -1, -1, ! 91, -1, 50, -1, 374, -1, 865, 866, 867, 868, ! 869, 59, 60, 39, 873, 1560, 1561, 1, 1563, 3, ! 4, 5, 6, 7, 8, 9, 885, -1, -1, -1, ! 56, 15, -1, 59, 60, 83, 81, 82, 83, 84, ! 85, 86, 87, 91, -1, 29, -1, 31, 32, 33, ! -1, -1, -1, -1, 38, 425, 3, 4, 5, 43, ! 7, 8, 9, 47, 434, -1, 50, -1, 1007, -1, ! -1, 1010, 56, 932, -1, 59, 60, 3, 4, 5, ! 6, -1, 1021, 9, -1, 32, 1025, 1026, 425, 73, ! -1, 38, -1, -1, -1, -1, -1, 467, -1, 83, ! -1, -1, -1, -1, -1, -1, 32, 91, -1, -1, ! -1, 95, 59, 60, -1, 99, -1, 43, 4, 5, ! 834, -1, 1763, 493, 494, 495, 496, -1, 842, -1, ! 56, 501, 1677, 59, 60, -1, -1, -1, -1, 509, ! -1, -1, 856, -1, -1, -1, 32, 73, 1007, -1, ! -1, 1010, 522, -1, 868, 869, 493, 83, 495, 496, ! 530, -1, 1021, 49, -1, 91, 1025, 1026, 1027, 95, ! 56, -1, 509, 59, 60, -1, -1, -1, -1, -1, ! -1, 518, -1, -1, -1, 522, -1, 73, -1, 1128, ! 1129, 1130, 1131, 530, 564, -1, -1, 83, 1137, -1, ! 1139, 1140, 1128, 1129, 1130, 1131, -1, -1, -1, 95, ! 96, 1137, -1, 1139, 1140, 79, 80, 81, 82, 83, ! 84, 85, 86, 87, -1, 1151, 1152, 1153, -1, -1, ! -1, -1, 1091, -1, 278, 279, 280, 281, 282, 283, ! -1, 285, 286, 287, 288, 289, 290, 291, 292, 293, ! 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, ! 304, 305, 306, -1, 308, -1, -1, -1, -1, 1128, ! 1129, 1130, 1131, 1132, 3, 4, 5, 6, 1137, -1, ! 1139, 1140, 1141, 3, 4, 5, 6, -1, -1, -1, ! -1, -1, 1151, 1152, 1153, -1, -1, 7, 8, 9, ! -1, -1, 7, 8, 9, 15, -1, -1, -1, -1, ! 15, 1170, 1026, 1027, 43, -1, -1, -1, -1, -1, ! 1179, 50, 32, 43, 1263, 1264, -1, 32, 38, 49, ! 59, 60, -1, 38, -1, -1, 56, 47, -1, 59, ! 60, -1, 47, 3, 4, 5, 6, 7, 8, 9, ! -1, -1, -1, 73, 83, 15, -1, 727, 63, -1, ! -1, -1, 91, 83, -1, -1, 1305, 1306, 1307, 1308, ! -1, 91, 32, 1312, -1, 95, 96, -1, 38, 1305, ! 1306, 1307, 1308, 43, -1, -1, 1312, 47, -1, 49, ! 727, -1, -1, -1, -1, -1, 56, -1, -1, 59, ! 60, -1, 1328, 1329, 1263, 1264, 1265, -1, -1, -1, ! -1, -1, -1, 73, -1, -1, -1, 1131, 1132, -1, ! -1, -1, 792, 83, -1, -1, 1140, 1141, -1, -1, ! -1, 91, -1, -1, -1, 95, 96, 3, 4, 5, ! 6, -1, -1, 9, -1, -1, 1305, 1306, 1307, 1308, ! 1309, -1, -1, 1312, -1, 792, 1170, 79, 80, 81, ! 82, 83, 84, 85, 86, 87, 32, -1, -1, 1328, ! 1329, 1330, -1, -1, -1, -1, -1, 43, -1, 3, ! 4, 5, 6, 49, -1, 9, -1, -1, 1347, 1348, ! 56, 861, -1, 59, 60, -1, -1, -1, 1437, 1438, ! -1, 1440, -1, -1, -1, -1, -1, 73, 32, -1, ! 880, 1437, 1438, -1, 1440, 1374, -1, 83, -1, 43, ! 1379, -1, -1, -1, 861, 91, -1, 864, 4, 95, ! 96, 901, 56, -1, 578, 59, 60, -1, 14, -1, ! -1, -1, -1, 880, -1, -1, -1, -1, 24, 73, ! 1264, 1265, -1, -1, -1, 31, 32, 601, 34, 83, ! 36, -1, 1501, 1502, -1, 609, -1, 91, -1, 45, ! -1, 95, -1, -1, -1, 1501, 1502, -1, 1437, 1438, ! -1, 1440, 58, -1, 60, 81, 82, 83, 84, 85, ! 86, 87, 68, -1, 1308, 1309, -1, 73, -1, 1458, ! 1459, -1, 1461, 1462, -1, 1464, -1, -1, 84, -1, ! 86, -1, -1, -1, -1, 91, -1, -1, 94, -1, ! 96, 3, 4, 5, 6, 7, 8, 9, -1, -1, ! -1, 13, -1, 15, 110, -1, -1, -1, 4, 5, ! -1, -1, 1501, 1502, 1503, -1, -1, 29, -1, 31, ! 32, -1, -1, -1, -1, -1, 38, 1516, 1517, -1, ! -1, 43, 138, -1, 140, 47, 142, 49, 144, -1, ! 146, 147, -1, -1, 56, 151, 152, 59, 60, 155, ! 156, 157, -1, 49, -1, -1, -1, 4, 5, -1, ! 56, 73, 9, 59, 60, 171, 7, 8, 9, 175, ! -1, 83, -1, -1, 15, 181, 182, 73, -1, 91, ! 1569, 1570, 1571, 95, 96, 32, -1, 83, -1, -1, ! -1, 32, -1, -1, 200, 201, 202, 38, -1, 95, ! 96, -1, 49, -1, -1, -1, 47, -1, -1, 56, ! -1, -1, 59, 60, -1, -1, -1, -1, -1, -1, ! -1, -1, 63, 229, 1613, 1614, 73, 1127, -1, 3, ! 4, 5, 6, -1, -1, -1, 83, 1626, 1627, -1, ! 246, -1, -1, -1, 3, 4, 5, 6, 95, 96, ! 256, -1, -1, -1, 1710, 1711, -1, -1, -1, -1, ! 1127, -1, -1, 269, -1, -1, 1133, -1, -1, 43, ! -1, 1171, -1, 1173, -1, -1, 50, -1, 1178, 1179, ! 1669, 1181, -1, -1, 43, 59, 60, -1, -1, -1, ! 3, 4, 5, 6, 7, 8, 9, 56, -1, -1, ! 59, 60, 15, -1, 63, 311, 312, -1, -1, 83, ! -1, 1178, -1, -1, 73, -1, 29, 91, 31, 32, ! 33, 1710, 1711, 1712, 83, 38, -1, -1, -1, -1, ! 43, -1, 91, 1722, 47, -1, 95, 50, -1, -1, ! -1, 915, 916, 56, -1, -1, 59, 60, -1, -1, ! 356, -1, -1, -1, 360, -1, 362, 363, 364, -1, ! 73, -1, -1, -1, -1, -1, -1, 373, 374, -1, ! 83, -1, -1, -1, 1763, -1, -1, -1, 91, -1, ! -1, -1, 95, -1, -1, -1, 99, -1, -1, -1, ! -1, -1, 3, 4, 5, 6, -1, -1, -1, -1, ! -1, -1, 4, 5, 1304, -1, -1, 413, -1, -1, ! -1, -1, -1, 1313, -1, -1, -1, 423, -1, 425, ! 426, -1, -1, -1, -1, 1669, 432, -1, 434, -1, ! 32, -1, 43, -1, -1, -1, -1, 1304, 444, 50, ! -1, 447, -1, -1, -1, 1345, 1313, 49, 59, 60, ! -1, -1, -1, 459, 56, -1, -1, 59, 60, -1, ! -1, 467, -1, -1, 1331, 1332, -1, 1711, 1712, -1, ! -1, 73, 83, -1, -1, 1375, -1, -1, 1345, -1, ! 91, 83, 3, 4, 5, 6, -1, 493, 494, 495, ! 496, 497, -1, 95, 96, 501, -1, 3, 4, 5, ! 6, -1, -1, 509, 510, -1, -1, 513, -1, 515, ! 516, 517, 518, -1, -1, -1, 522, -1, -1, -1, ! -1, 527, 43, -1, 530, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 540, 56, -1, 43, 59, 60, ! -1, 1, 63, 3, 4, 5, 6, 7, 8, 9, ! 56, -1, 73, 59, 60, 15, -1, -1, 564, -1, ! 1460, -1, 83, -1, -1, 1465, -1, -1, 1468, 29, ! 91, 31, 32, 33, 95, -1, -1, 1444, 38, 39, ! -1, -1, -1, 43, -1, 91, -1, 47, 48, -1, ! 50, -1, -1, 1460, -1, -1, 56, -1, -1, 59, ! 60, -1, 608, 63, 610, 65, -1, -1, -1, -1, ! -1, -1, -1, 73, 620, 621, 622, 623, -1, -1, ! -1, -1, -1, 83, -1, -1, -1, 3, 4, 5, ! 6, 91, -1, -1, -1, 95, 642, 1504, 1505, -1, ! 3, 4, 5, 6, -1, -1, 9, 74, 75, 76, ! 77, 111, 79, 80, 81, 82, 83, 84, 85, 86, ! 87, 3, 4, 5, 6, -1, -1, 43, -1, 32, ! -1, -1, -1, 679, 50, 681, -1, -1, -1, -1, ! 43, -1, -1, 59, 60, -1, 49, 693, -1, 695, ! 696, 697, 1559, 56, -1, -1, 59, 60, 704, -1, ! -1, 43, 708, -1, 3, 4, 5, 6, 50, -1, ! 73, -1, 1612, 1613, 1614, 91, -1, 59, 60, -1, ! 83, 727, -1, -1, -1, -1, -1, 65, 91, -1, ! -1, -1, 95, 96, -1, -1, -1, -1, -1, -1, ! -1, 83, -1, -1, 43, 1612, -1, 1614, 1, 91, ! 3, 4, 5, 6, 7, 8, 9, 56, -1, -1, ! 59, 60, 15, -1, 63, -1, 65, -1, -1, -1, ! 776, -1, 778, -1, 73, 28, 29, 783, 31, 32, ! 33, -1, -1, -1, 83, 38, 792, 793, -1, -1, ! 43, -1, 91, 46, 47, 48, 95, 50, -1, -1, ! -1, -1, -1, 56, 57, -1, 59, 60, 146, -1, ! 63, -1, 3, 4, 5, 6, -1, -1, -1, -1, ! 73, -1, -1, 1723, 162, -1, 832, 833, 834, -1, ! 83, -1, -1, -1, 840, -1, 842, -1, 91, -1, ! -1, -1, 95, -1, -1, -1, 99, -1, -1, 40, ! 41, -1, 43, -1, -1, 861, 1723, -1, 864, 865, ! 866, 867, 868, 869, -1, 56, -1, 873, 59, 60, ! -1, -1, -1, -1, 880, -1, -1, -1, -1, 1, ! -1, 219, 4, 5, -1, -1, 8, 9, -1, 227, ! -1, -1, -1, 15, -1, 901, -1, -1, 904, 905, ! 906, -1, 908, -1, 910, -1, 244, 29, -1, 31, ! 32, -1, -1, 919, 920, 921, 38, 255, 40, 41, ! -1, -1, -1, -1, -1, 47, 932, 49, -1, -1, ! -1, -1, -1, -1, 56, -1, -1, 59, 60, -1, ! 62, -1, -1, -1, 66, 67, 68, 69, 70, 71, ! 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ! 82, 83, 84, 85, 86, -1, -1, 89, 90, 91, ! -1, 93, -1, -1, 96, -1, -1, 983, 4, 5, ! -1, -1, 1, 9, 3, 4, 5, 6, -1, 8, ! 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 1006, 1007, -1, -1, 1010, -1, 32, -1, -1, -1, ! -1, 1017, -1, -1, -1, 1021, -1, 1023, -1, 1025, ! 1026, 1027, -1, 49, 43, 1031, -1, 1033, -1, -1, ! 56, 50, -1, 59, 60, -1, -1, 56, -1, -1, ! 59, 60, -1, -1, -1, -1, -1, 73, 1, -1, ! 3, 4, 5, 6, 7, 8, 9, 83, -1, -1, ! -1, -1, 15, -1, -1, -1, -1, -1, -1, 95, ! 96, -1, 91, -1, -1, -1, 29, -1, 31, 32, ! 33, -1, -1, -1, -1, 38, 1092, -1, 1094, 1095, ! 43, -1, -1, -1, 47, 48, 434, 50, -1, -1, ! -1, -1, -1, 56, -1, 443, 59, 60, -1, -1, ! 63, -1, 65, -1, -1, -1, -1, -1, -1, -1, ! 73, 1127, 1128, 1129, 1130, 1131, 1132, 1133, -1, -1, ! 83, 1137, -1, 1139, 1140, 1141, -1, 475, 91, 1145, ! -1, -1, 95, -1, 1150, 1151, 1152, 1153, -1, -1, ! -1, -1, 3, 4, 5, 6, -1, -1, 9, -1, ! -1, 1167, -1, -1, 1170, 1171, -1, 1173, -1, -1, ! -1, 509, 1178, 1179, -1, 1181, -1, -1, -1, -1, ! 518, 32, -1, -1, -1, -1, -1, -1, 1194, -1, ! 1196, -1, 43, -1, 3, 4, 5, 6, 49, 537, ! 1206, -1, -1, -1, -1, 56, -1, -1, 59, 60, ! -1, -1, -1, -1, -1, 3, 4, 5, 6, -1, ! -1, -1, 73, 32, -1, -1, 564, 1233, 1234, -1, ! 1236, -1, 83, -1, 43, 1241, -1, -1, -1, -1, ! 91, 1247, -1, -1, 95, 96, -1, 56, -1, 1255, ! 59, 60, 40, 41, -1, 43, -1, 1263, 1264, 1265, ! -1, -1, -1, -1, 73, -1, -1, -1, 56, -1, ! -1, 59, 60, -1, 83, 3, 4, 5, 6, 7, ! 8, 9, 91, -1, -1, -1, 95, 15, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 1304, 1305, ! 1306, 1307, 1308, 1309, 32, -1, 1312, 1313, -1, -1, ! 38, -1, -1, -1, -1, 43, -1, -1, -1, 47, ! -1, 49, 1328, 1329, 1330, 1331, 1332, -1, 56, -1, ! -1, 59, 60, -1, -1, 1341, -1, -1, -1, 1345, ! -1, -1, -1, -1, -1, 73, -1, -1, 1354, 3, ! 4, 5, 6, -1, -1, 83, -1, -1, -1, -1, ! -1, 1367, -1, 91, -1, -1, 4, 95, 96, 1375, ! -1, -1, -1, -1, 91, -1, 14, 94, 32, 96, ! -1, -1, -1, -1, -1, 23, 24, -1, -1, 43, ! -1, -1, -1, 31, 32, 49, 34, -1, 36, -1, ! -1, -1, 56, -1, -1, 59, 60, 45, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, ! 58, -1, 60, -1, -1, 142, -1, 144, -1, 83, ! 68, 1437, 1438, -1, 1440, 73, 1442, 91, 1444, -1, ! -1, 95, 96, -1, 3, 4, 5, 6, 86, -1, ! -1, -1, -1, 91, 1460, -1, 94, 1, 96, 1465, ! 4, 5, 1468, -1, 8, 9, 73, 74, 75, 76, ! 77, 15, 79, 80, 81, 82, 83, 84, 85, 86, ! 87, -1, -1, -1, 43, 29, -1, 31, 32, -1, ! -1, 50, -1, -1, 38, 1501, 1502, 1503, 1504, 1505, ! 59, 60, 140, 47, 142, 1511, 144, -1, 146, 147, ! -1, -1, 56, -1, 152, 59, 60, 155, 156, 157, ! -1, -1, -1, 861, 83, -1, 864, -1, -1, -1, ! -1, -1, 91, 171, -1, -1, -1, 175, -1, -1, ! -1, -1, 880, 181, 182, 4, 5, -1, 7, 8, ! 9, 1557, -1, 1559, 13, -1, 15, -1, -1, -1, ! -1, -1, 200, 201, 202, -1, -1, -1, -1, -1, ! 29, -1, 31, 32, -1, -1, -1, -1, -1, 38, ! -1, -1, -1, -1, -1, -1, -1, -1, 47, -1, ! 49, 229, -1, -1, -1, -1, -1, 56, -1, -1, ! 59, 60, -1, 320, 321, -1, 1612, 1613, 1614, -1, ! -1, -1, -1, -1, 73, -1, -1, 334, -1, 336, ! -1, -1, 339, -1, 83, 342, -1, -1, 345, -1, ! -1, 269, 349, -1, -1, -1, 95, 96, -1, 1, ! 357, 3, 4, 5, 6, 7, 8, 9, -1, -1, ! -1, -1, -1, 15, -1, -1, 373, -1, -1, -1, ! -1, -1, -1, 1669, -1, -1, -1, 29, 1006, 31, ! 32, 33, -1, 311, 312, -1, 38, 39, -1, -1, ! -1, 43, -1, -1, -1, 47, 48, -1, 50, -1, ! -1, -1, -1, 1031, 56, -1, -1, 59, 60, -1, ! -1, 63, -1, 65, 1710, 1711, 1712, -1, -1, -1, ! -1, 73, -1, -1, -1, 432, -1, 1723, 356, -1, ! -1, 83, 360, -1, 362, 363, 364, -1, -1, 91, ! -1, 369, -1, 95, -1, 373, 374, -1, -1, -1, ! -1, -1, -1, -1, 3, 4, 5, 6, -1, 111, ! 9, 389, 70, 71, 72, 73, 74, 75, 76, 77, ! 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, ! -1, -1, -1, 32, -1, 413, -1, -1, -1, -1, ! -1, -1, -1, -1, 43, 423, -1, 425, 426, 1127, ! 49, -1, -1, -1, 432, 1133, 434, 56, -1, -1, ! 59, 60, -1, -1, -1, -1, 444, -1, -1, 447, ! -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, ! -1, 459, -1, 540, 83, -1, -1, -1, -1, 467, ! -1, -1, 91, -1, -1, -1, 95, 96, -1, 4, ! 5, -1, 7, 8, 9, -1, -1, -1, -1, -1, ! 15, -1, -1, -1, -1, 493, 494, 495, 496, 497, ! -1, -1, -1, 501, 29, -1, 31, 32, -1, -1, ! -1, 509, 510, 38, -1, 513, -1, 515, 516, 517, ! 518, -1, 47, -1, 522, 50, -1, -1, -1, 527, ! -1, 56, 530, 610, 59, 60, -1, -1, -1, -1, ! -1, -1, 540, -1, -1, -1, -1, -1, -1, 1247, ! -1, 549, -1, 630, 631, -1, -1, 1255, -1, -1, ! -1, -1, -1, -1, -1, 642, 564, -1, -1, -1, ! 647, 648, -1, 650, 651, 652, 653, 654, 655, 656, ! 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, ! 667, -1, -1, -1, -1, -1, -1, -1, -1, 3, ! 4, 5, 6, -1, -1, 9, 1304, -1, -1, -1, ! -1, -1, 610, -1, -1, 1313, -1, -1, -1, -1, ! -1, -1, 620, 621, 622, 623, -1, -1, 32, -1, ! -1, -1, -1, 1331, 1332, -1, -1, -1, -1, 43, ! -1, -1, -1, -1, 642, 49, -1, -1, -1, -1, ! -1, -1, 56, -1, -1, 59, 60, -1, 1, -1, ! 3, 4, 5, 6, 7, 8, 9, -1, -1, 73, ! -1, -1, 15, -1, -1, -1, -1, -1, -1, 83, ! -1, 679, -1, 681, -1, -1, 29, 91, 31, 32, ! 33, 95, 96, -1, -1, 38, 39, 695, 696, 697, ! 43, 778, -1, -1, 47, 48, 704, 50, -1, -1, ! -1, -1, -1, 56, -1, -1, 59, 60, -1, -1, ! 63, 719, 65, -1, -1, -1, -1, -1, -1, 727, 73, 3, 4, 5, 6, 7, 8, 9, -1, -1, ! 83, 13, -1, 15, -1, -1, 1444, -1, 91, -1, ! -1, -1, 95, -1, -1, -1, -1, 29, -1, 31, ! 32, -1, -1, -1, -1, -1, 38, -1, 111, -1, ! -1, 43, -1, -1, -1, 47, -1, 49, 776, -1, ! 778, -1, -1, -1, 56, -1, 784, 59, 60, -1, ! -1, -1, -1, -1, 792, 793, -1, -1, -1, -1, ! -1, 73, -1, -1, 4, 5, 1504, 1505, -1, 9, ! -1, 83, -1, -1, -1, -1, -1, -1, -1, 91, ! 818, -1, -1, 95, 96, -1, -1, -1, 905, 906, ! -1, 908, 32, -1, 832, 833, 834, -1, -1, -1, ! -1, -1, -1, -1, 842, 3, 4, 5, 6, 49, ! -1, 9, -1, -1, -1, -1, 56, -1, -1, 59, ! 60, 1559, -1, 861, -1, -1, 864, 865, 866, 867, ! 868, 869, -1, 73, 32, 873, -1, -1, -1, -1, ! -1, -1, 880, 83, -1, 43, -1, 3, 4, 5, ! 6, 49, -1, 9, -1, 95, 96, -1, 56, -1, ! -1, 59, 60, 901, -1, -1, 904, 905, 906, -1, ! 908, -1, 910, -1, -1, 73, 32, -1, 995, -1, ! -1, 919, 920, 921, -1, 83, -1, 43, -1, -1, ! -1, -1, -1, 91, 932, -1, -1, 95, 96, -1, ! 56, -1, -1, 59, 60, -1, -1, -1, 1025, 1026, ! -1, -1, -1, -1, -1, -1, -1, 73, 1, -1, ! 3, 4, 5, 6, 7, 8, 9, 83, -1, -1, ! -1, -1, 15, -1, -1, 91, -1, -1, -1, 95, ! -1, -1, -1, -1, -1, 983, 29, -1, 31, 32, ! 33, -1, -1, -1, -1, 38, 39, -1, 4, 5, ! 43, -1, -1, 9, 47, 48, -1, 50, 1006, 1007, ! -1, -1, 1010, 56, -1, -1, 59, 60, 1095, 1017, ! 63, 1098, 65, 1021, -1, 1023, 32, 1025, 1026, 1027, ! 73, -1, -1, 1031, -1, 1033, -1, -1, -1, -1, ! 83, -1, -1, 49, -1, -1, -1, -1, 91, -1, ! 56, -1, 95, 59, 60, -1, -1, -1, 3, 4, ! 5, 6, 1139, 1140, -1, -1, -1, 73, 111, 70, ! 71, 72, 73, 74, 75, 76, 77, 83, 79, 80, ! 81, 82, 83, 84, 85, 86, 87, 32, -1, 95, ! 96, -1, -1, -1, 1092, -1, 1094, 1095, 43, -1, ! -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, ! -1, 56, -1, -1, 59, 60, -1, -1, -1, -1, ! -1, 3, 4, 5, 6, -1, -1, -1, 73, 1127, ! 1128, 1129, 1130, 1131, 1132, 1133, -1, -1, 83, 1137, ! -1, 1139, 1140, 1141, 1221, -1, 91, 1145, -1, -1, ! 95, 96, 1150, 1151, 1152, 1153, -1, -1, -1, -1, ! -1, 43, 1239, -1, 1241, -1, 1164, -1, -1, 1167, ! -1, -1, 1170, 1171, 56, 1173, -1, 59, 60, -1, ! 1178, 1179, -1, 1181, -1, -1, -1, -1, -1, -1, ! -1, 73, -1, -1, -1, -1, 1194, -1, 1196, 4, ! 5, 83, -1, 8, 9, -1, -1, -1, 1206, 91, ! 15, -1, -1, 95, -1, -1, -1, -1, 4, -1, ! -1, -1, -1, -1, 29, -1, 31, 32, -1, -1, ! -1, -1, -1, 38, -1, 1233, 1234, -1, 1236, -1, ! -1, -1, 47, 1241, 49, 31, 32, -1, 34, 1247, ! 36, 56, -1, -1, 59, 60, -1, 1255, -1, 45, ! -1, -1, -1, -1, -1, 1263, 1264, 1265, 73, -1, ! -1, -1, 58, -1, 60, 75, 76, 77, 83, 79, ! 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, ! 95, 96, -1, -1, -1, 81, 1294, -1, 84, -1, ! -1, -1, -1, -1, -1, -1, 1304, 1305, 1306, 1307, ! 1308, 1309, -1, -1, 1312, 1313, 74, 75, 76, 77, ! 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, ! 1328, 1329, 1330, 1331, 1332, -1, -1, -1, 1336, -1, ! -1, -1, -1, 1341, -1, -1, -1, 1345, -1, -1, ! -1, 137, 138, -1, 140, -1, 1354, -1, -1, -1, ! 146, 147, -1, -1, 150, 151, 152, -1, -1, 155, ! 156, 157, -1, -1, -1, -1, 162, 1375, -1, -1, ! -1, -1, -1, -1, -1, 171, -1, -1, -1, 175, ! -1, -1, -1, -1, -1, 181, 182, -1, -1, 1, ! -1, 3, 4, 5, 6, 7, 8, 9, -1, -1, ! -1, -1, -1, 15, 200, 201, 202, -1, -1, -1, ! -1, -1, -1, -1, 210, -1, -1, 29, -1, 31, ! 32, -1, -1, -1, -1, -1, 38, -1, -1, 1437, ! 1438, 43, 1440, 229, 1442, 47, 1444, -1, 50, -1, ! -1, -1, -1, -1, 56, -1, -1, 59, 60, -1, ! -1, 63, 1460, -1, -1, -1, -1, 1465, -1, -1, ! 1468, 73, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 83, -1, 269, -1, -1, -1, -1, -1, 91, ! 276, 76, 77, 95, 79, 80, 81, 82, 83, 84, ! 85, 86, 87, 1501, 1502, 1503, 1504, 1505, -1, -1, ! -1, -1, -1, 1511, -1, -1, -1, -1, -1, -1, ! 3, 4, 5, 6, 7, 8, 9, -1, 1605, -1, ! 13, -1, 15, 75, 76, 77, 78, 79, 80, 81, ! 82, 83, 84, 85, 86, 87, 29, -1, 31, 32, ! 83, -1, -1, -1, -1, 38, -1, 343, -1, 1557, ! 43, 1559, -1, -1, 47, -1, 49, 3, 4, 5, ! 6, -1, -1, 56, 360, -1, 59, 60, -1, -1, ! -1, -1, 368, -1, -1, -1, -1, -1, 374, -1, ! 73, -1, -1, -1, -1, -1, 32, -1, -1, -1, ! 83, -1, 388, 1601, -1, -1, -1, 43, 91, -1, ! -1, -1, 95, 96, 1612, 1613, 1614, -1, -1, -1, ! 56, -1, -1, 59, 60, -1, -1, 413, -1, -1, ! -1, -1, 165, 1710, 1711, -1, -1, 73, -1, 425, ! -1, -1, -1, -1, -1, -1, -1, 83, 434, -1, ! 436, -1, -1, -1, -1, 91, -1, 443, 444, 95, ! -1, 447, -1, -1, -1, 198, -1, 453, 454, 455, ! -1, 1669, -1, 459, -1, -1, -1, -1, 211, -1, ! -1, 467, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, ! -1, -1, -1, -1, -1, 15, -1, 493, 494, 495, ! 496, -1, 1710, 1711, 1712, 501, -1, -1, -1, 29, ! -1, 31, 32, 509, 510, 1723, -1, 513, 38, 515, ! 516, 517, 518, 43, -1, -1, 522, 47, -1, 49, ! -1, 527, -1, -1, 530, -1, 56, -1, -1, 59, ! 60, 3, 4, 5, 6, -1, -1, 9, -1, -1, ! -1, -1, -1, 73, -1, -1, -1, -1, -1, 4, ! -1, -1, -1, 83, -1, -1, -1, -1, 564, -1, ! 32, 91, -1, -1, -1, 95, 96, -1, -1, -1, ! -1, 43, -1, -1, -1, -1, 31, 32, -1, 34, ! -1, 36, -1, -1, 56, -1, -1, 59, 60, -1, ! 45, -1, 3, 4, 5, 6, 7, 8, 9, -1, ! -1, 73, -1, 58, 15, 60, 612, -1, 614, -1, ! -1, 83, -1, -1, -1, -1, -1, -1, 29, 91, ! 31, 32, -1, 95, 630, 631, 632, 38, -1, 84, ! -1, -1, 43, -1, -1, -1, 47, -1, -1, 645, ! -1, -1, -1, -1, -1, 56, -1, -1, 59, 60, ! -1, -1, 63, -1, -1, 71, 72, 73, 74, 75, ! 76, 77, 73, 79, 80, 81, 82, 83, 84, 85, ! 86, 87, 83, -1, -1, -1, -1, -1, -1, -1, ! 91, -1, -1, -1, 95, 140, 692, -1, -1, -1, ! -1, 146, 147, -1, -1, -1, 151, 152, 704, -1, ! 155, 156, 157, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 4, 5, -1, 171, -1, 9, -1, ! 175, 727, -1, -1, -1, -1, 181, 182, 76, 77, ! 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, ! -1, 32, -1, -1, -1, 200, 201, 202, -1, -1, ! 3, 4, 5, 6, 7, 8, 9, -1, 49, -1, ! 13, -1, 15, -1, -1, 56, -1, 520, 59, 60, ! 776, -1, 525, -1, 229, -1, 29, 783, 31, 32, ! -1, -1, 73, -1, -1, 38, 792, -1, -1, -1, ! 43, -1, 83, -1, 47, -1, -1, -1, -1, -1, ! -1, 554, -1, 56, 95, 96, 59, 60, 561, -1, ! -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, ! 73, -1, -1, -1, -1, -1, 832, 833, 834, -1, ! 83, -1, -1, 839, 840, -1, 842, -1, 91, -1, ! -1, -1, 95, 3, 4, 5, 6, -1, -1, 9, ! 856, 604, 605, -1, 607, 861, -1, -1, 864, 865, ! 866, 867, 868, 869, -1, -1, -1, 873, -1, -1, ! -1, -1, 32, -1, 880, -1, 3, 4, 5, 6, ! 7, 8, 9, 43, -1, -1, -1, -1, 15, -1, ! -1, -1, -1, -1, -1, 901, 56, -1, -1, 59, ! 60, -1, 29, -1, 31, 32, -1, -1, -1, -1, ! -1, 38, -1, 73, 369, -1, 43, 4, 5, 374, ! 47, 8, 9, 83, -1, -1, -1, -1, 15, 56, ! -1, 91, 59, 60, 389, 95, -1, -1, 65, -1, ! -1, -1, -1, -1, -1, 32, 73, 700, 701, -1, ! -1, 38, 705, -1, -1, -1, 83, -1, -1, -1, ! 47, -1, 49, -1, 91, -1, -1, -1, 95, 56, ! 425, -1, 59, 60, -1, -1, -1, -1, -1, 434, ! -1, -1, -1, -1, -1, -1, 73, -1, -1, 444, ! -1, -1, 447, -1, -1, -1, 83, -1, -1, -1, ! -1, -1, -1, -1, 459, -1, -1, -1, 95, 96, ! -1, -1, 467, -1, -1, -1, -1, -1, -1, 1025, ! 1026, 1027, -1, -1, -1, 1031, 1032, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 493, 494, ! 495, 496, -1, -1, -1, -1, 501, -1, -1, -1, ! -1, -1, -1, -1, 509, 510, -1, -1, 513, -1, ! 515, 516, 517, -1, -1, -1, -1, 522, -1, -1, ! -1, -1, 527, -1, -1, 530, -1, -1, -1, -1, ! -1, -1, -1, 836, 34, 4, 5, -1, -1, 8, ! 9, -1, -1, -1, -1, -1, 15, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 58, 564, ! 29, -1, 31, 32, -1, -1, -1, -1, 871, 38, ! -1, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 47, 1135, ! -1, 1137, 1138, 1139, 1140, 1141, -1, 56, -1, 1145, ! 59, 60, 3, 4, 5, 6, 7, 8, 9, -1, ! -1, -1, -1, -1, 15, -1, -1, -1, 911, -1, ! 913, -1, -1, -1, 1170, 1171, -1, 1173, 29, -1, ! 31, 32, 1178, 1179, -1, 1181, 95, 38, -1, -1, ! -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, ! -1, -1, 4, 5, -1, 56, 8, 9, 59, 60, ! -1, -1, 63, 15, -1, 155, 156, 157, -1, -1, ! -1, -1, 73, -1, -1, -1, -1, 29, -1, 31, ! 32, -1, 83, -1, -1, -1, 38, -1, -1, -1, ! 91, 181, -1, -1, 95, 47, 989, 990, 693, 992, ! -1, -1, -1, -1, 56, -1, -1, 59, 60, 61, ! 200, 201, 202, -1, -1, -1, -1, 1263, 1264, 1265, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 1022, ! -1, -1, 727, -1, -1, -1, 4, 5, -1, 229, ! 8, 9, -1, 95, -1, -1, -1, 15, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 1304, 1305, ! 1306, 1307, 1308, 1309, 32, -1, 1312, 1313, -1, -1, ! 38, -1, -1, -1, -1, -1, -1, -1, -1, 47, ! -1, 49, -1, -1, -1, -1, -1, -1, 56, -1, ! -1, 59, 60, -1, -1, -1, -1, 792, -1, 1345, ! -1, -1, -1, -1, -1, 73, 3, 4, 5, 6, ! 7, 8, 9, -1, -1, 83, -1, -1, 15, -1, ! 1366, 1367, 312, -1, -1, -1, -1, 95, 96, 1375, ! -1, -1, 29, -1, 31, 32, -1, 832, 833, 834, ! -1, 38, -1, 1136, -1, 840, 43, 842, -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, 56, ! -1, -1, 59, 60, -1, -1, 861, -1, -1, -1, ! 865, 866, 362, 363, 364, -1, 73, -1, 873, -1, ! 3, 4, 5, 6, -1, 880, 83, -1, -1, -1, ! -1, -1, -1, -1, 91, -1, -1, -1, 95, 3, ! 4, 5, 6, 7, 8, 9, 901, -1, -1, 32, ! -1, 15, -1, -1, 1460, -1, -1, 1463, -1, 1465, ! 43, -1, 1468, -1, -1, 29, -1, 31, 32, -1, ! -1, -1, -1, 56, 38, 425, 59, 60, -1, 43, ! -1, -1, -1, 47, -1, -1, -1, -1, -1, -1, ! 73, -1, 56, -1, -1, 59, 60, -1, 1251, -1, ! 83, -1, -1, -1, -1, -1, -1, -1, 91, 73, ! -1, -1, 95, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, ! -1, 95, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 493, -1, 495, 496, 497, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, 1310, -1, 509, ! 510, -1, -1, 513, -1, 515, 516, 517, 518, -1, ! 4, 5, 522, 7, 8, 9, -1, 527, 1033, 13, ! 530, 15, -1, -1, -1, -1, -1, 1340, -1, -1, ! -1, -1, -1, -1, -1, 29, -1, 31, 32, -1, ! 1353, -1, -1, -1, 38, -1, 1612, 1613, 1614, -1, ! -1, -1, -1, 47, -1, 49, -1, -1, -1, -1, ! -1, -1, 56, -1, -1, 59, 60, 1380, -1, -1, ! -1, 1384, -1, 72, 73, 74, 75, 76, 77, 73, ! 79, 80, 81, 82, 83, 84, 85, 86, 87, 83, ! -1, -1, -1, -1, -1, -1, -1, 58, -1, -1, ! -1, 95, 96, 1669, -1, -1, 1419, -1, -1, -1, ! -1, -1, 1127, 1128, 1129, 1130, 1131, 1132, -1, -1, ! 81, -1, 1137, 84, 1139, 1140, 1141, -1, -1, -1, ! 1145, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 1710, 1711, 1712, 108, -1, 110, ! -1, -1, -1, -1, -1, 1170, 1171, 1723, 1173, 1472, ! 1473, -1, -1, 1178, 1179, -1, 1181, -1, -1, -1, ! -1, 681, 3, 4, 5, 6, 7, 8, 9, -1, ! -1, -1, -1, -1, 15, 695, 696, 697, -1, -1, ! -1, -1, -1, -1, 704, -1, 1509, 1510, -1, -1, ! -1, 32, 1515, -1, -1, -1, -1, 38, -1, -1, ! -1, -1, 43, -1, -1, -1, 47, 727, 49, -1, ! 181, -1, -1, -1, -1, 56, -1, -1, 59, 60, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 200, ! 201, 202, 73, -1, -1, -1, -1, -1, -1, 210, ! 4, 5, 83, 7, 8, 9, 3, 4, 5, 6, ! 91, 15, 9, -1, 95, -1, -1, -1, 229, -1, ! -1, -1, -1, -1, -1, 29, -1, 31, 32, -1, ! -1, -1, 792, -1, 38, 32, -1, -1, -1, 1304, ! 1305, 1306, -1, 47, -1, 256, 43, 1312, 1313, -1, ! -1, -1, 56, -1, -1, 59, 60, -1, -1, 56, ! -1, 1624, 59, 60, -1, 276, -1, -1, -1, -1, ! -1, -1, 832, 833, 834, -1, 73, -1, -1, -1, ! 1345, -1, 842, -1, -1, -1, 83, -1, -1, -1, ! -1, -1, -1, -1, 91, 4, 5, -1, 95, -1, ! 9, 861, 1367, -1, 864, 865, 866, 867, 868, 869, ! 1375, -1, -1, 873, -1, -1, -1, -1, -1, -1, ! 880, -1, -1, 32, -1, -1, -1, 3, 4, 5, ! 6, -1, -1, 9, -1, -1, 3, 4, 5, 6, ! 49, -1, 9, -1, -1, -1, -1, 56, -1, -1, ! 59, 60, -1, -1, -1, -1, 32, 368, 369, 919, ! 920, 921, -1, -1, 73, 32, -1, 43, -1, -1, ! -1, -1, 932, -1, 83, -1, 43, 388, 389, -1, ! 56, -1, -1, 59, 60, -1, 95, 96, -1, 56, ! -1, -1, 59, 60, -1, 1460, -1, 73, -1, -1, ! 1465, -1, -1, 1468, -1, -1, 73, 83, -1, -1, ! -1, -1, -1, -1, 425, 91, 83, -1, -1, 95, ! -1, -1, -1, 196, 91, -1, -1, -1, 95, -1, ! 3, 4, 5, 6, -1, -1, 9, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 1006, 1007, -1, -1, ! 1010, -1, -1, -1, -1, -1, -1, -1, -1, 32, ! -1, 1021, -1, -1, -1, 1025, 1026, 1027, -1, -1, ! 43, 1031, 3, 4, 5, 6, -1, -1, -1, -1, ! -1, -1, 493, 56, 495, 496, 59, 60, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 509, 510, ! 73, 32, 513, -1, 515, 516, 517, 518, -1, -1, ! 83, 522, 43, -1, -1, -1, 527, -1, 91, 530, ! -1, -1, 95, -1, -1, 56, -1, -1, 59, 60, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 73, -1, -1, -1, -1, 1612, 1613, 1614, ! -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, ! 91, -1, -1, -1, 95, -1, -1, 1127, 1128, 1129, ! 1130, 1131, 1132, 1133, -1, -1, -1, 1137, -1, 1139, ! 1140, 1141, -1, 3, 4, 5, 6, -1, -1, -1, ! -1, 1151, 1152, 1153, -1, -1, -1, -1, 3, 4, ! 5, 6, -1, -1, 1669, -1, -1, -1, -1, 382, ! 1170, -1, 32, -1, -1, -1, -1, -1, 1178, -1, ! -1, -1, -1, 43, -1, -1, -1, 32, -1, -1, ! -1, -1, 3, 4, 5, 6, 56, -1, 43, 59, ! 60, -1, -1, -1, -1, 1710, 1711, 1712, -1, -1, ! -1, 56, -1, 73, 59, 60, -1, -1, 1723, -1, ! -1, -1, -1, 83, -1, -1, -1, -1, 73, -1, ! -1, 91, 43, 1233, 1234, 95, 1236, -1, 83, -1, ! -1, 111, 112, -1, -1, 56, 91, 1247, 59, 60, ! 95, -1, -1, -1, 65, 1255, 707, 708, -1, -1, ! -1, -1, 73, 1263, 1264, 1265, -1, -1, -1, -1, ! 483, 484, 83, -1, -1, -1, 727, -1, -1, -1, ! 91, -1, -1, -1, 95, -1, -1, 3, 4, 5, ! 6, -1, -1, -1, -1, -1, -1, -1, 3, 4, ! 5, 6, -1, -1, 1304, 1305, 1306, 1307, 1308, 1309, ! -1, -1, 1312, 1313, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 196, 43, 1328, 1329, ! 1330, 1331, 1332, -1, -1, -1, -1, -1, 43, -1, ! 56, 792, -1, 59, 60, 1345, -1, -1, -1, 65, ! -1, 56, -1, -1, 59, 60, -1, 73, -1, -1, ! 65, -1, -1, -1, -1, -1, -1, 83, 73, -1, ! -1, -1, -1, -1, -1, 91, -1, -1, 83, 95, ! -1, 832, 833, 834, -1, -1, 91, -1, 839, 840, ! 95, 842, -1, -1, -1, -1, -1, -1, 611, -1, ! -1, -1, -1, -1, -1, 618, -1, -1, -1, -1, ! 861, -1, -1, 864, 865, 866, 867, 868, 869, 870, ! -1, -1, 873, 4, 5, -1, 7, 8, 9, 880, ! -1, 644, 13, -1, 15, -1, -1, 1437, 1438, -1, ! 1440, -1, -1, -1, 1444, -1, -1, -1, 29, 900, ! 31, 32, -1, -1, -1, -1, 669, 38, -1, -1, ! 1460, -1, 675, -1, 677, 678, 47, -1, -1, -1, ! -1, -1, -1, 343, -1, 56, -1, -1, 59, 60, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 704, -1, -1, -1, -1, -1, -1, 711, -1, ! -1, 1501, 1502, 1503, 1504, 1505, -1, -1, 721, 71, ! 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ! 82, 83, 84, 85, 86, 87, -1, 740, 741, 742, ! 743, -1, 745, 746, 747, 748, 749, 750, 751, 752, ! 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, ! 763, 4, 5, 423, 7, 8, 9, -1, -1, 1559, ! 13, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, -1, 31, 32, ! -1, 1032, 1033, 1034, -1, 38, -1, -1, -1, -1, ! -1, -1, 13, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, 59, 60, -1, -1, ! 823, -1, 1612, -1, 1614, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 842, ! -1, 501, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 856, 65, 66, 67, 68, 69, 70, ! 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, ! 81, 82, 83, 84, 85, 86, 87, -1, -1, 1669, ! -1, -1, -1, -1, -1, -1, 1127, 1128, 1129, 1130, ! 1131, 1132, 1133, -1, 1135, -1, 1137, 1138, 1139, 1140, ! 1141, -1, -1, -1, 1145, -1, -1, -1, -1, -1, ! 1151, 1152, 1153, 4, 5, -1, -1, 8, 9, -1, ! 1710, 1711, 1712, -1, 15, -1, -1, -1, -1, -1, ! -1, -1, -1, 1723, -1, -1, -1, 1178, 29, -1, ! 31, 32, -1, -1, -1, -1, 949, 38, -1, -1, ! -1, -1, 612, -1, 614, -1, 47, -1, -1, 619, ! 620, 621, 622, 623, -1, 56, -1, -1, 59, 60, ! -1, -1, 632, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 986, 987, 645, -1, -1, -1, -1, ! -1, -1, -1, -1, 14, -1, -1, -1, 1001, -1, ! 1003, -1, 1005, 23, 24, -1, -1, -1, -1, -1, ! -1, 31, 32, -1, 34, -1, -1, -1, 678, -1, ! -1, -1, -1, -1, -1, -1, -1, 4, 5, -1, ! -1, 8, 9, -1, -1, -1, -1, 697, 15, -1, ! -1, -1, -1, 1046, 704, -1, -1, -1, 68, -1, ! -1, -1, 29, -1, 31, 32, -1, -1, -1, -1, ! -1, 38, -1, 1304, 1305, 1306, 1307, 1308, 1309, -1, ! 47, 1312, 1313, -1, -1, -1, 1079, -1, -1, 56, ! -1, -1, 59, 60, -1, -1, -1, 1328, 1329, 1330, ! 1331, 1332, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 1345, -1, -1, -1, 128, -1, ! 130, -1, -1, -1, 1117, -1, -1, 137, 138, -1, ! -1, -1, -1, -1, -1, 1366, 146, 147, -1, -1, ! 150, 151, 152, -1, 154, 155, 156, 157, -1, -1, ! -1, -1, -1, -1, 1147, 1148, 72, 73, 74, 75, ! 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, ! 86, 87, -1, -1, -1, -1, 1169, -1, -1, -1, ! 362, 363, 364, -1, 834, -1, -1, -1, -1, -1, ! -1, -1, 842, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 1437, 1438, 1439, 1440, ! -1, -1, -1, 1444, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 1217, 1218, -1, -1, -1, 1460, ! -1, -1, -1, -1, -1, 245, 246, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, ! 86, 87, -1, -1, 904, -1, -1, -1, -1, 269, ! 910, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 1501, 1502, 1503, 1504, 1505, -1, -1, -1, -1, -1, ! -1, -1, 1275, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 312, 1296, -1, 1298, -1, 1300, -1, 1302, ! -1, 493, -1, 495, 496, 497, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 1559, -1, ! -1, -1, -1, 983, -1, -1, -1, -1, -1, -1, ! 1333, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 360, -1, 362, 363, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 1357, -1, -1, 1017, -1, -1, ! -1, -1, -1, 1023, -1, -1, -1, 1027, -1, -1, ! -1, 1612, -1, 1614, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 1395, 413, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 434, -1, 436, -1, -1, -1, ! -1, 1424, -1, -1, 444, -1, -1, 447, 1669, -1, ! -1, -1, 1092, -1, 1094, -1, -1, -1, -1, 459, ! -1, -1, -1, 1446, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 1456, 1457, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 1710, ! 1711, 1712, 1132, -1, -1, -1, -1, -1, -1, -1, ! -1, 1141, 1723, 1486, -1, -1, -1, -1, -1, -1, ! 1150, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 695, 696, 697, -1, -1, -1, -1, ! -1, -1, 704, -1, -1, -1, -1, -1, -1, 1522, ! -1, -1, -1, -1, -1, -1, -1, -1, 548, 549, ! -1, -1, -1, -1, 1194, -1, 1196, -1, -1, -1, ! -1, -1, -1, -1, 564, -1, 1206, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 1567, 1568, -1, -1, -1, -1, ! -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 606, -1, 608, -1, ! -1, 1594, -1, -1, -1, -1, -1, -1, -1, -1, ! 792, -1, -1, -1, -1, 1265, 66, 67, 68, 69, ! 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, ! 80, 81, 82, 83, 84, 85, 86, 87, -1, 1632, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 832, 833, 834, -1, -1, -1, -1, -1, -1, 1309, ! 842, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 681, -1, -1, -1, -1, 1669, -1, -1, -1, ! -1, -1, 692, 693, -1, 695, 696, -1, -1, -1, ! -1, 1341, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 1694, -1, -1, 1354, 66, 67, 68, 69, 70, ! 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, ! 81, 82, 83, 84, 85, 86, 87, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, ! 932, -1, 113, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 776, -1, -1, -1, ! 109, -1, -1, 783, 784, -1, -1, -1, -1, -1, ! -1, -1, -1, 793, -1, -1, -1, -1, -1, -1, ! -1, -1, 1442, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 818, -1, ! -1, -1, 1805, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 1006, 1007, -1, -1, 1010, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 1021, ! -1, -1, -1, 1025, 1026, 1027, -1, -1, -1, 1031, ! -1, -1, -1, 1503, -1, -1, -1, -1, 62, -1, ! -1, 1511, 66, 67, 68, 69, 70, 71, 72, 73, ! 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, ! 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, ! 900, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, 1557, -1, 919, ! 920, 921, 922, -1, -1, -1, -1, -1, -1, 62, ! -1, -1, 932, 66, 67, 68, 69, 70, 71, 72, ! 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, ! 83, 84, 85, 86, 87, 1127, 1128, 1129, 1130, 1131, ! 1132, 1133, -1, -1, -1, 1137, -1, 1139, 1140, 1141, ! 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, ! 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 1006, 1007, -1, -1, ! 1010, -1, -1, -1, -1, 1, -1, 3, 4, 5, ! 6, 1021, 8, 9, 10, 11, 12, -1, 14, 15, ! -1, 1031, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, ! 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, ! -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, ! 56, -1, 1712, 59, 60, 1247, -1, 63, 64, -1, ! -1, -1, -1, 1255, 70, -1, -1, 73, -1, -1, ! -1, 1263, 1264, 1265, -1, 81, 82, 83, -1, -1, ! -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, ! -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, ! 4, 5, 6, 7, 8, 9, 112, -1, -1, 13, ! -1, 15, 1304, 1305, 1306, 1307, 1308, 1309, -1, -1, ! 1312, 1313, 26, -1, 28, -1, -1, -1, 32, -1, ! -1, -1, -1, -1, 38, -1, -1, -1, -1, 43, ! -1, -1, -1, 47, 1164, 49, -1, 1167, -1, -1, ! 1170, -1, 56, -1, -1, 59, 60, 61, 62, 63, ! -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, ! 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, ! 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, ! 94, 95, 96, 97, -1, -1, -1, -1, -1, 103, ! 104, -1, -1, -1, -1, 109, 110, 111, -1, 113, ! -1, -1, -1, 1233, 1234, -1, 1236, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, 1247, -1, -1, ! -1, -1, -1, -1, -1, 1255, -1, -1, -1, -1, ! -1, -1, -1, 1263, 1264, 1437, 1438, -1, 1440, -1, ! 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, ! -1, 14, 15, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 1294, -1, 29, 30, 31, 32, ! 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, ! 43, 44, 45, -1, 47, -1, 49, -1, 51, 52, ! 53, 54, 55, 56, -1, -1, 59, 60, -1, 1501, ! 1502, 1503, 1504, 1505, -1, -1, 1336, 70, -1, -1, ! 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, ! 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, ! -1, -1, 95, 96, -1, -1, -1, 1367, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 112, ! -1, -1, -1, -1, -1, -1, 1, 1559, 3, 4, ! 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, ! 15, 16, -1, 18, 19, 20, 21, 22, 23, 24, ! 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, ! 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, ! 45, 46, 47, 48, -1, -1, 51, 52, 53, 54, ! 55, 56, -1, -1, 59, 60, 61, -1, 63, 64, ! -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, ! -1, -1, -1, 1463, -1, 1465, 81, 82, 83, -1, ! -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, ! 95, -1, 97, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 111, 112, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, 46, 47, 48, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, -1, ! 63, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, ! -1, -1, 95, 1, 97, 3, 4, 5, 6, 7, ! 8, 9, 10, 11, 12, 13, 14, 15, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, ! 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, ! -1, 49, -1, 51, 52, 53, 54, 55, 56, -1, ! -1, 59, 60, 61, -1, -1, 64, -1, -1, -1, ! -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, ! -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, ! -1, 89, 90, 91, -1, -1, -1, 95, 96, 1, ! -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, ! 12, 13, 14, 15, 112, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, ! 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, ! 42, 43, 44, 45, -1, 47, -1, 49, -1, 51, ! 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, ! -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, ! -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, ! 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, ! -1, -1, -1, 95, 96, 1, -1, 3, 4, 5, ! 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ! 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, ! 56, -1, -1, 59, 60, -1, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, 1, 95, ! 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ! -1, 14, 15, -1, 110, -1, 112, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, -1, ! 63, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, ! -1, 1, 95, 3, 4, 5, 6, -1, 8, 9, ! 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, ! 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, ! 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, ! -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, ! 60, 61, -1, -1, 64, -1, -1, -1, -1, -1, ! 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, ! -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, ! 90, 91, -1, -1, -1, 95, 96, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 111, 112, 1, -1, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, ! -1, 89, 90, 91, -1, -1, 1, 95, 3, 4, ! 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, ! 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 29, 30, 31, -1, 33, -1, ! 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, ! 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, ! 55, 56, -1, -1, 59, 60, 61, -1, -1, 64, ! -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, ! -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, ! -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, ! 95, 96, 1, -1, 3, 4, 5, 6, -1, 8, ! 9, 10, 11, 12, -1, 14, 15, 112, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, ! -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, ! -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, ! 59, 60, 61, -1, -1, 64, -1, -1, -1, -1, ! -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, ! -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, ! 89, 90, 91, -1, -1, -1, 95, 1, -1, 3, ! 4, 5, 6, 102, 8, 9, 10, 11, 12, -1, ! 14, 15, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, --- 1090,3941 ---- 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 1, 2, 2, 1, 1, 2, 2, 2, 1, 2, 2, 3, 1, 2, 2, ! 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, ! 4, 1, 1, 1, 1, 3, 1, 3, 1, 3, ! 0, 4, 0, 6, 3, 0, 4, 1, 3, 3, ! 0, 4, 3, 0, 1, 1, 2, 6, 1, 3, ! 0, 1, 4, 6, 4, 1, 1, 1, 1, 1, ! 3, 0, 2, 1, 2, 3, 4, 1, 1, 3, ! 4, 3, 5, 3, 3, 3, 0, 3, 3, 3, ! 0, 2, 2, 0, 6, 0, 5, 2, 2, 2, ! 0, 0, 0, 11, 1, 0, 1, 0, 1, 1, ! 2, 2, 2, 2, 2, 2, 3, 4, 3, 2, ! 3, 4, 1, 2, 1, 2, 2, 2, 2, 3, ! 3, 2, 0, 2, 3, 1, 4, 1, 3, 1, ! 1, 2, 2, 3, 3, 0, 1, 3, 2, 2, ! 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, ! 2, 3, 1, 2, 2, 4, 4, 2, 1, 5, ! 4, 1, 0, 1, 3, 0, 1, 3, 1, 1, ! 1, 1, 4, 4, 4, 4, 4, 3, 4, 4, ! 4, 4, 3, 2, 1, 1, 3, 1, 3, 2, ! 1, 6, 0, 2, 1, 2, 1, 2, 3, 3, ! 1, 3, 1, 2, 3, 3, 2, 2, 3, 1, ! 4, 4, 3, 3, 2, 1, 1, 2, 1, 1, ! 2, 2, 1, 2, 3, 3, 2, 2, 3, 1, ! 3, 3, 2, 2, 3, 1, 4, 3, 4, 3, ! 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, ! 4, 4, 2, 1, 1, 1, 1, 2, 4, 3, ! 3, 2, 2, 2, 2, 1, 2, 2, 2, 2, ! 3, 1, 2, 3, 4, 2, 2, 2, 2, 2, ! 2, 4, 2, 1, 2, 2, 3, 1, 3, 2, ! 3, 2, 2, 3, 1, 3, 4, 1, 2, 3, ! 2, 2, 1, 3, 2, 2, 1, 2, 3, 1, ! 3, 6, 4, 4, 3, 5, 3, 3, 3, 2, ! 1, 1, 2, 2, 2, 0, 1, 1, 2, 3, ! 0, 4, 1, 0, 0, 5, 1, 0, 3, 1, ! 2, 1, 2, 0, 4, 1, 0, 0, 5, 0, ! 0, 7, 0, 0, 0, 0, 12, 0, 0, 7, ! 0, 5, 0, 7, 0, 4, 2, 2, 2, 3, ! 6, 8, 10, 8, 12, 10, 10, 4, 3, 2, ! 2, 1, 1, 1, 1, 1, 0, 0, 5, 0, ! 0, 5, 1, 2, 0, 0, 0, 5, 1, 1, ! 3, 3, 2, 2, 2, 2, 2, 1, 2, 0, ! 1, 0, 1, 1, 0, 1, 1, 3, 4, 7, ! 1, 3, 0, 1, 1, 1, 2, 2, 2, 1, ! 2, 2, 0, 3, 1, 1, 1, 2, 2, 2, ! 4, 2, 2, 2, 2, 2, 2, 1, 2, 1, ! 2, 1, 1, 0, 0, 1, 5, 3, 0, 3, ! 0, 0, 4, 2, 1, 1, 1, 3, 0, 3, ! 3, 3, 1, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, ! 3, 3, 4, 3, 3, 5, 5, 4, 3, 0 }; static const short yydefact[] = { 3, ! 12, 12, 5, 0, 4, 0, 313, 674, 675, 0, ! 420, 436, 615, 0, 11, 434, 0, 0, 10, 520, ! 893, 0, 0, 0, 178, 708, 16, 314, 315, 88, ! 0, 0, 874, 0, 47, 0, 0, 13, 27, 0, 29, 8, 52, 53, 0, 18, 15, 95, 118, 92, ! 0, 676, 182, 334, 311, 335, 650, 0, 409, 0, ! 408, 0, 424, 0, 449, 617, 466, 435, 0, 533, ! 535, 515, 543, 419, 639, 437, 640, 116, 333, 661, ! 637, 0, 677, 613, 0, 89, 0, 312, 85, 87, ! 86, 189, 0, 682, 189, 683, 189, 316, 178, 151, ! 152, 153, 154, 155, 506, 508, 0, 704, 0, 509, 0, 0, 0, 152, 153, 154, 155, 25, 0, 0, ! 0, 0, 0, 0, 0, 510, 686, 0, 692, 0, 0, 0, 39, 0, 0, 33, 0, 0, 49, 0, ! 0, 189, 684, 0, 313, 617, 0, 648, 643, 0, ! 0, 0, 647, 0, 0, 0, 0, 334, 0, 325, ! 0, 0, 0, 333, 613, 30, 0, 28, 3, 48, 0, 68, 420, 0, 0, 8, 71, 67, 70, 95, ! 0, 0, 0, 435, 96, 14, 0, 464, 0, 0, ! 482, 93, 83, 685, 621, 0, 0, 613, 84, 0, ! 0, 0, 114, 0, 445, 399, 630, 400, 636, 0, ! 613, 422, 421, 82, 117, 410, 0, 447, 423, 115, ! 0, 416, 442, 443, 411, 426, 428, 431, 444, 0, ! 79, 467, 521, 522, 523, 524, 542, 160, 159, 161, ! 526, 534, 183, 530, 525, 0, 0, 536, 537, 538, ! 539, 874, 0, 616, 425, 618, 0, 461, 313, 675, ! 0, 314, 706, 182, 667, 668, 664, 642, 678, 0, ! 313, 315, 663, 641, 662, 638, 0, 894, 894, 894, ! 894, 894, 894, 894, 0, 894, 894, 894, 894, 894, ! 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, ! 894, 894, 894, 894, 894, 894, 894, 0, 894, 819, ! 424, 820, 889, 316, 615, 338, 341, 388, 432, 433, ! 0, 0, 0, 384, 382, 355, 386, 387, 0, 0, ! 0, 0, 0, 314, 307, 0, 0, 199, 198, 0, ! 200, 201, 0, 0, 202, 0, 0, 190, 191, 0, ! 257, 0, 285, 196, 337, 225, 0, 0, 339, 340, ! 0, 193, 406, 0, 0, 424, 407, 669, 367, 357, ! 0, 0, 881, 0, 0, 189, 0, 518, 504, 0, ! 0, 0, 705, 703, 283, 0, 203, 260, 204, 0, ! 0, 0, 471, 3, 23, 31, 700, 696, 697, 699, ! 701, 698, 151, 152, 153, 0, 154, 155, 688, 689, ! 693, 690, 687, 0, 313, 323, 324, 322, 666, 665, ! 35, 34, 51, 0, 168, 0, 0, 424, 166, 17, ! 0, 0, 189, 644, 618, 646, 0, 645, 152, 153, ! 309, 310, 329, 617, 0, 654, 328, 0, 653, 0, ! 336, 314, 315, 0, 0, 0, 327, 326, 658, 0, ! 0, 12, 0, 178, 9, 9, 74, 0, 69, 0, ! 0, 75, 78, 0, 463, 465, 132, 101, 807, 99, ! 390, 100, 135, 0, 0, 133, 94, 0, 850, 224, ! 0, 223, 845, 868, 0, 406, 424, 407, 0, 844, ! 846, 875, 857, 0, 0, 660, 0, 0, 882, 617, ! 0, 628, 623, 0, 627, 0, 0, 0, 0, 0, ! 613, 464, 0, 81, 0, 613, 635, 0, 413, 414, ! 0, 80, 464, 0, 0, 418, 417, 412, 429, 430, ! 451, 450, 189, 540, 541, 151, 154, 527, 531, 529, ! 0, 544, 511, 427, 464, 680, 613, 102, 0, 0, ! 0, 0, 681, 613, 108, 614, 0, 649, 675, 707, ! 182, 929, 0, 925, 0, 924, 922, 904, 909, 910, ! 894, 916, 915, 901, 902, 900, 919, 908, 905, 906, ! 907, 911, 912, 898, 899, 895, 896, 897, 921, 913, ! 914, 903, 920, 894, 917, 426, 613, 613, 0, 613, ! 0, 894, 189, 0, 247, 248, 0, 0, 0, 0, ! 0, 0, 308, 231, 228, 227, 229, 0, 0, 0, ! 0, 0, 337, 0, 930, 0, 226, 187, 188, 331, ! 0, 230, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 348, 0, 350, 353, + 354, 392, 391, 0, 0, 0, 0, 0, 236, 611, + 0, 244, 389, 381, 0, 0, 874, 370, 373, 374, + 0, 0, 401, 727, 723, 0, 0, 613, 613, 613, + 403, 730, 0, 232, 0, 234, 0, 673, 405, 0, + 0, 404, 369, 0, 0, 364, 383, 195, 365, 385, + 670, 0, 366, 0, 0, 186, 186, 0, 176, 0, + 424, 174, 519, 608, 605, 0, 518, 606, 518, 0, + 284, 440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 441, 477, 478, 479, ! 476, 0, 469, 472, 0, 3, 0, 691, 189, 694, ! 0, 43, 44, 0, 57, 0, 0, 0, 61, 65, ! 54, 873, 424, 57, 872, 63, 179, 164, 162, 179, ! 186, 332, 0, 652, 651, 336, 0, 655, 0, 20, ! 22, 95, 9, 9, 77, 76, 0, 137, 0, 930, ! 91, 90, 488, 0, 484, 483, 0, 622, 619, 849, ! 863, 852, 727, 723, 0, 864, 613, 867, 869, 0, ! 0, 865, 0, 866, 620, 848, 862, 851, 847, 876, ! 859, 870, 860, 853, 858, 659, 0, 673, 0, 657, ! 624, 618, 626, 625, 617, 0, 0, 0, 0, 0, ! 0, 613, 634, 0, 459, 458, 446, 633, 0, 882, ! 0, 629, 415, 448, 460, 438, 439, 464, 0, 528, ! 532, 674, 675, 874, 874, 676, 545, 546, 548, 874, ! 551, 550, 0, 0, 462, 882, 843, 189, 189, 679, ! 189, 882, 843, 613, 105, 613, 111, 894, 894, 918, ! 923, 889, 889, 889, 0, 928, 0, 0, 0, 0, ! 0, 0, 424, 0, 0, 0, 344, 0, 342, 343, ! 0, 0, 255, 192, 313, 674, 675, 314, 315, 0, ! 0, 489, 516, 0, 306, 305, 834, 833, 0, 303, ! 302, 300, 301, 299, 298, 297, 295, 296, 293, 294, ! 288, 289, 290, 291, 292, 286, 287, 0, 0, 0, ! 0, 0, 0, 0, 238, 252, 0, 0, 237, 613, ! 613, 0, 613, 610, 715, 0, 0, 0, 0, 0, ! 372, 0, 376, 0, 378, 0, 617, 726, 725, 718, ! 722, 721, 873, 0, 0, 740, 0, 0, 882, 402, ! 882, 728, 613, 843, 0, 0, 0, 727, 723, 0, ! 0, 613, 0, 617, 0, 0, 0, 0, 197, 0, ! 877, 181, 185, 317, 179, 172, 170, 179, 0, 507, ! 519, 604, 0, 222, 221, 220, 219, 282, 281, 0, ! 279, 278, 276, 277, 275, 274, 273, 270, 271, 272, ! 268, 269, 263, 264, 265, 266, 267, 261, 262, 471, ! 0, 0, 26, 0, 0, 695, 0, 40, 46, 45, ! 59, 56, 49, 57, 0, 50, 0, 0, 58, 526, ! 0, 169, 179, 179, 167, 180, 331, 330, 19, 21, ! 73, 95, 452, 808, 150, 156, 143, 157, 158, 0, ! 0, 139, 0, 0, 0, 0, 485, 0, 134, 617, ! 726, 722, 727, 723, 0, 617, 637, 0, 613, 728, ! 0, 727, 723, 0, 337, 0, 669, 0, 871, 0, ! 0, 884, 0, 0, 0, 0, 456, 632, 631, 455, ! 186, 553, 552, 874, 874, 874, 0, 579, 675, 0, ! 569, 0, 0, 0, 582, 0, 131, 126, 0, 182, ! 583, 586, 0, 0, 561, 0, 129, 573, 104, 0, ! 0, 0, 0, 110, 0, 882, 843, 882, 843, 927, ! 926, 891, 890, 892, 318, 356, 0, 362, 363, 0, ! 0, 0, 0, 343, 346, 751, 0, 0, 0, 0, ! 256, 0, 347, 349, 352, 250, 249, 240, 0, 239, ! 254, 0, 0, 712, 710, 0, 713, 0, 245, 0, ! 0, 189, 379, 0, 0, 0, 719, 618, 724, 720, ! 731, 613, 739, 737, 738, 0, 729, 882, 0, 735, ! 0, 233, 235, 671, 672, 727, 723, 0, 368, 880, ! 177, 179, 179, 175, 609, 607, 505, 0, 470, 468, ! 313, 0, 24, 32, 702, 60, 55, 62, 66, 64, ! 165, 163, 72, 815, 0, 141, 0, 145, 0, 147, ! 0, 149, 0, 97, 0, 486, 618, 726, 722, 727, ! 723, 0, 613, 642, 728, 0, 0, 672, 364, 365, ! 670, 366, 861, 855, 856, 854, 886, 885, 887, 0, ! 0, 0, 0, 618, 0, 0, 453, 184, 0, 555, ! 554, 549, 613, 843, 578, 0, 570, 583, 571, 464, ! 464, 567, 568, 565, 566, 613, 843, 313, 674, 0, ! 451, 127, 574, 584, 589, 590, 451, 451, 0, 0, ! 451, 125, 575, 587, 451, 0, 464, 0, 562, 563, ! 564, 464, 613, 320, 319, 321, 613, 107, 0, 113, ! 0, 0, 0, 0, 0, 0, 746, 0, 492, 0, ! 490, 259, 304, 0, 241, 242, 251, 253, 711, 709, ! 716, 714, 0, 246, 0, 0, 371, 375, 377, 882, ! 733, 613, 734, 173, 171, 280, 0, 473, 475, 816, ! 809, 813, 142, 140, 0, 0, 0, 746, 487, 726, ! 722, 0, 728, 343, 0, 883, 617, 457, 0, 547, ! 882, 0, 0, 572, 482, 482, 882, 0, 0, 0, ! 464, 464, 0, 464, 464, 0, 464, 0, 560, 512, ! 0, 482, 882, 882, 613, 613, 351, 0, 0, 0, ! 0, 0, 215, 752, 0, 747, 748, 491, 0, 0, ! 243, 717, 380, 319, 736, 882, 0, 0, 814, 144, ! 146, 148, 98, 727, 723, 0, 618, 0, 888, 454, ! 121, 613, 613, 843, 577, 581, 124, 613, 464, 464, ! 598, 482, 313, 674, 0, 585, 591, 592, 451, 451, ! 482, 482, 0, 482, 588, 501, 576, 103, 109, 882, ! 882, 358, 359, 360, 361, 480, 0, 0, 0, 742, ! 753, 760, 741, 0, 749, 493, 612, 732, 474, 0, ! 817, 617, 882, 882, 0, 882, 597, 594, 596, 0, ! 0, 464, 464, 464, 593, 595, 580, 0, 106, 112, ! 0, 750, 745, 218, 0, 216, 744, 743, 313, 674, ! 675, 754, 767, 770, 773, 778, 0, 0, 0, 0, ! 0, 0, 0, 0, 314, 802, 810, 0, 830, 806, ! 805, 804, 0, 762, 0, 0, 424, 766, 761, 803, ! 930, 0, 0, 930, 119, 122, 613, 123, 464, 464, ! 603, 482, 482, 503, 0, 502, 497, 481, 217, 823, ! 825, 826, 0, 0, 758, 0, 0, 0, 785, 787, ! 788, 789, 0, 0, 0, 0, 0, 0, 0, 824, ! 930, 398, 831, 0, 763, 396, 451, 0, 397, 0, ! 451, 0, 0, 764, 801, 800, 821, 822, 818, 882, ! 602, 600, 599, 601, 0, 0, 514, 207, 0, 755, ! 768, 757, 0, 930, 0, 0, 0, 781, 930, 790, ! 0, 799, 41, 155, 36, 155, 0, 37, 811, 0, ! 394, 395, 0, 0, 0, 393, 758, 120, 500, 499, ! 92, 95, 214, 0, 424, 0, 758, 758, 771, 0, ! 746, 828, 774, 0, 0, 0, 930, 786, 798, 42, ! 38, 815, 0, 765, 0, 498, 208, 451, 756, 769, ! 0, 759, 829, 0, 827, 779, 783, 782, 812, 835, ! 835, 0, 496, 494, 495, 464, 205, 0, 0, 211, ! 0, 210, 758, 930, 0, 0, 0, 836, 837, 0, ! 791, 0, 0, 772, 775, 780, 784, 0, 0, 0, ! 0, 0, 0, 835, 0, 212, 206, 0, 0, 0, ! 841, 0, 794, 838, 0, 0, 792, 0, 0, 839, ! 0, 0, 0, 0, 0, 0, 213, 776, 0, 842, ! 796, 797, 0, 793, 758, 0, 0, 777, 840, 795, ! 0, 0, 0 }; ! static const short yydefgoto[] = { 1831, ! 462, 2, 463, 171, 811, 346, 187, 3, 4, 38, ! 141, 776, 394, 39, 777, 1175, 1611, 41, 414, 1658, ! 781, 42, 43, 424, 44, 1176, 788, 1091, 789, 790, ! 791, 46, 178, 179, 47, 820, 190, 186, 480, 1438, ! 48, 49, 907, 1197, 913, 1199, 50, 1178, 1179, 191, ! 192, 821, 481, 1121, 1122, 734, 1123, 242, 51, 1104, ! 1103, 800, 797, 1273, 1272, 1048, 1045, 140, 1102, 52, ! 244, 53, 1042, 640, 347, 348, 349, 350, 632, 1769, ! 1690, 1771, 1724, 1808, 1484, 387, 1031, 351, 678, 989, ! 352, 388, 389, 354, 355, 376, 55, 266, 782, 443, ! 160, 56, 57, 356, 635, 357, 358, 359, 360, 822, ! 361, 1614, 541, 699, 362, 1181, 494, 225, 495, 363, ! 226, 364, 365, 62, 508, 227, 204, 217, 64, 522, ! 542, 1449, 875, 1336, 205, 218, 65, 555, 876, 66, ! 67, 772, 773, 774, 1547, 486, 952, 953, 1722, 1687, ! 1636, 1578, 68, 739, 378, 904, 1536, 1637, 1220, 735, ! 69, 70, 71, 72, 73, 253, 897, 898, 899, 900, ! 1183, 1378, 1184, 1185, 1186, 1363, 1373, 1364, 1526, 1365, ! 1366, 1527, 1528, 736, 737, 738, 679, 1019, 367, 198, ! 520, 513, 207, 75, 76, 77, 148, 149, 163, 79, ! 136, 368, 369, 370, 81, 391, 83, 902, 127, 128, ! 129, 561, 110, 84, 392, 994, 995, 1014, 1010, 702, ! 1549, 1550, 1485, 1486, 1487, 1551, 1397, 1552, 1618, 1643, ! 1727, 1693, 1694, 1553, 1619, 1717, 1644, 1728, 1645, 1751, ! 1646, 1754, 1798, 1825, 1647, 1773, 1737, 1774, 1699, 482, ! 818, 1294, 1620, 1661, 1742, 1431, 1432, 1498, 1624, 1726, ! 1561, 1621, 1733, 1664, 959, 1777, 1778, 1779, 1802, 499, ! 1015, 855, 1151, 1326, 501, 502, 503, 851, 504, 154, ! 853, 1188, 93, 725, 860, 1329, 1330, 612, 87, 572, ! 88, 942 }; ! static const short yypact[] = { 166, ! 189,-32768,-32768, 2909,-32768, 58, 121, 405, 440, 60, ! 158,-32768,-32768, 1066,-32768,-32768, 107, 228,-32768,-32768, ! -32768, 1235, 1578, 1102, 254,-32768,-32768, 281, 504,-32768, ! 1072, 1072,-32768, 2487,-32768, 2909, 304,-32768,-32768, 351, ! -32768, 152,-32768,-32768, 4624,-32768,-32768, 315, 911, 401, ! 371, 442,-32768,-32768,-32768,-32768, 529, 2462,-32768, 7370, ! -32768, 409, 3123, 867,-32768, 477,-32768,-32768, 996, 577, ! 724,-32768, 458, 7869,-32768,-32768,-32768, 830,-32768,-32768, ! -32768, 826,-32768,-32768, 2245,-32768, 6505, 449,-32768,-32768, ! -32768, 11743, 533,-32768, 11743,-32768, 11743,-32768,-32768,-32768, ! 405, 440, 281, 495,-32768, 505, 442,-32768, 1885,-32768, ! 331, 11836, 464,-32768,-32768,-32768,-32768,-32768, 94, 535, ! 508, 572, 617, 545, 553,-32768,-32768, 1913,-32768, 1588, ! 405, 440,-32768, 281, 495,-32768, 1376, 3330, 563, 13256, ! 565, 11743,-32768, 11743, 645, 7187, 2200,-32768,-32768, 1396, ! 3508, 2200,-32768, 1697, 5083, 5083, 2487, 607, 618,-32768, ! 529, 327, 620, 632,-32768,-32768, 742,-32768, 649,-32768, ! 6188,-32768,-32768, 254, 5248, 663,-32768,-32768,-32768, 315, ! 1800, 13317, 878, 707,-32768,-32768, 689, 477, 783, 162, ! 407, 729,-32768,-32768,-32768, 9182, 10694,-32768,-32768, 6052, ! 6052, 7434, 830, 893,-32768,-32768, 629,-32768,-32768, 1596, ! -32768,-32768,-32768,-32768,-32768, 3123, 918,-32768, 477, 830, ! 11836,-32768,-32768,-32768, 1297, 3123,-32768, 477,-32768, 1800, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! 722, 877, 442,-32768, 477, 2005, 1719,-32768,-32768,-32768, ! -32768,-32768, 748,-32768, 2045, 477, 331,-32768, 740, 443, ! 1315, 745,-32768, 196,-32768,-32768,-32768,-32768,-32768, 6289, ! -32768, 495,-32768,-32768,-32768,-32768, 2473,-32768, 730, 737, ! -32768,-32768,-32768,-32768, 785,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768, 705,-32768,-32768, + 2045, 7869, 342,-32768, 757,-32768,-32768,-32768,-32768,-32768, + 12953, 12953, 762,-32768,-32768,-32768,-32768,-32768, 765, 806, + 822, 824, 836, 1108, 12301, 1833, 12953,-32768,-32768, 12953, + -32768,-32768, 12953, 9480,-32768, 12953, 364, 865,-32768, 12953, + -32768, 12394,-32768, 8489, 288, 1023, 3814, 12487,-32768, 907, + 485,-32768, 991, 13046, 13139, 5389, 5285,-32768, 435,-32768, + 1469, 2101, 869, 364, 364, 11743, 13256, 973,-32768, 904, + 1833, 745,-32768,-32768, 12581, 855, 906,-32768, 13413, 874, + 1819, 2400, 1613, 649,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768, 535, 508, 572, 1833, 617, 545, 909, 553, + -32768, 933,-32768, 3467, 904, 405, 440,-32768,-32768,-32768, + -32768,-32768,-32768, 5180,-32768, 1800, 7547, 857,-32768,-32768, + 364, 588, 11743,-32768, 7187,-32768, 3944,-32768, 948, 953, + -32768,-32768,-32768, 327, 2200,-32768,-32768, 2200,-32768, 929, + -32768,-32768,-32768, 327, 327, 327,-32768,-32768,-32768, 6289, + 86, 931, 935,-32768,-32768,-32768,-32768, 13256,-32768, 930, + 975,-32768,-32768, 742,-32768, 477,-32768,-32768,-32768,-32768, + 979,-32768,-32768, 10136, 12581,-32768,-32768, 939,-32768, 906, + 943, 13413, 383, 2035, 13317, 2035, 2020, 6996, 949,-32768, + 253, 2838, 1006, 1012, 757,-32768, 950, 498, 74, 7877, + 6382,-32768,-32768, 6382,-32768, 6600, 6600, 7434, 8192, 955, + -32768, 477, 1800,-32768, 10787,-32768,-32768, 6649, 1297, 3123, + 1800,-32768, 477, 978, 983,-32768,-32768, 1297,-32768, 477, + 1070,-32768, 11743,-32768,-32768, 904, 745, 722,-32768,-32768, + 2005, 1677,-32768, 2045, 477,-32768,-32768,-32768, 1018, 1031, + 1058, 1047,-32768,-32768,-32768,-32768, 7187,-32768, 1005,-32768, + 564,-32768, 1024,-32768, 1029,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768, 2045,-32768,-32768, 685,-32768, ! 640,-32768, 11743, 12581,-32768,-32768, 12581, 11836, 8172, 8172, ! 8172, 8172, 8489,-32768,-32768,-32768,-32768, 1034, 12674, 12674, ! 9480, 1054, 192, 1077,-32768, 1082,-32768,-32768,-32768, 1150, ! 11743,-32768, 9573, 9480,-32768, 12301, 12301, 10229, 12301, 12301, ! 12301, 12301, 12301, 12301, 12301, 12301, 12301, 12301, 12301, 12301, ! 12301, 12301, 12301, 12301, 12301, 12301,-32768, 12581,-32768,-32768, ! -32768,-32768,-32768, 12581, 12581, 12581, 11836, 3924, 597, 815, ! 10880,-32768,-32768,-32768, 1101, 1315, 1169, 567, 603, 687, ! 2587, 640,-32768, 2359, 2359, 3337, 10973, 1085, 1133,-32768, ! -32768, 741, 9480,-32768, 9480,-32768, 11367, 1236,-32768, 876, ! 331,-32768,-32768, 12581, 1315,-32768,-32768, 281,-32768,-32768, ! -32768, 393, 449, 12581, 1132,-32768,-32768, 364,-32768, 1800, ! 2987,-32768,-32768, 1130,-32768, 1098, 1149,-32768, 973, 909, ! 13484,-32768, 10415, 10508, 12581, 12581, 10229, 12581, 12581, 12581, ! 12581, 12581, 12581, 12581, 12581, 12581, 12581, 12581, 12581, 12581, ! 12581, 12581, 12581, 12581, 12581, 12581,-32768,-32768,-32768,-32768, ! -32768, 129,-32768, 1118, 1115, 649, 3467, 1173, 11743,-32768, ! 1168,-32768,-32768, 3330, 1704, 1155, 1196, 613, 1170, 1177, ! -32768,-32768, 4050, 996,-32768, 1179,-32768,-32768,-32768,-32768, ! -32768,-32768, 364,-32768,-32768, 1126, 1138,-32768, 1184,-32768, ! -32768, 315,-32768,-32768,-32768,-32768, 90,-32768, 528,-32768, ! -32768,-32768,-32768, 9368, 13484,-32768, 1140,-32768,-32768,-32768, ! -32768,-32768, 1898, 1898, 4226,-32768,-32768,-32768,-32768, 1596, ! 2245,-32768, 11461,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768, 1012, 1192,-32768,-32768,-32768, 11929, 1133, 692,-32768, ! -32768, 7877,-32768,-32768, 8192, 6382, 6382, 6823, 6823, 8192, ! 876,-32768,-32768, 6649,-32768, 1193,-32768,-32768, 1151, 74, ! 7877,-32768, 1297,-32768,-32768,-32768,-32768, 477, 1188, 722, ! -32768, 508, 572,-32768,-32768, 553, 1189,-32768,-32768, 137, ! -32768,-32768, 2177, 6742,-32768, 74, 6934, 11743, 11743,-32768, ! 11743, 74, 6934,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768, 1425, 1425, 1425, 1008,-32768, 364, 1159, 13439, 1160, ! 1161, 1194, 5788, 1197, 1201, 1204,-32768, 1164,-32768,-32768, ! 1174, 1222,-32768,-32768, 1221, 363, 469, 392, 866, 12581, ! 1223,-32768, 1225, 1187, 8489, 8489,-32768,-32768, 1234, 13312, ! 8944, 7399, 5868, 5598, 5991, 4656, 3360, 3360, 2388, 2388, ! 1732, 1732, 998, 998, 998,-32768,-32768, 1200, 1203, 1202, ! 1191, 1212, 1214, 8172, 597,-32768, 10136, 12581,-32768,-32768, ! -32768, 12581,-32768,-32768, 1229, 12953, 1213, 1245, 1262, 1296, ! -32768, 12581,-32768, 12581,-32768, 12581, 2708, 2624,-32768,-32768, ! 2624,-32768, 139, 1240, 1243,-32768, 1242, 8172, 74,-32768, ! 74, 3264,-32768, 6934, 11066, 1247, 1249, 11555, 11555, 8848, ! 1251, 12394, 1255, 2119, 4340, 2400, 1304, 1256, 1031, 1263, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 12581,-32768, ! 1833,-32768, 1261,-32768, 13484,-32768, 13484, 13484, 13484, 1313, ! 7561, 5576, 8216, 7900, 5890, 4525, 5728, 3691, 3691, 3691, ! 2502, 2502, 1761, 1761, 1049, 1049, 1049,-32768,-32768, 1613, ! 1273, 12767,-32768, 1278, 1321,-32768, 364,-32768,-32768,-32768, ! -32768,-32768,-32768, 1737, 5180,-32768, 8172, 11743,-32768, 1112, ! 12301,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768, 315,-32768,-32768,-32768, 535,-32768, 617, 545, 12581, ! 202,-32768, 699, 702, 709, 1329,-32768, 111,-32768, 4503, ! 2134, 2134, 3038, 3038, 4226, 4977, 83, 1596,-32768, 3179, ! 4413, 11649, 11649, 9072, 224, 1284, 356, 3050,-32768, 10136, ! 9669,-32768, 6619, 2666, 2666, 3164,-32768,-32768,-32768, 1331, ! -32768,-32768,-32768,-32768,-32768,-32768, 2093,-32768, 1043, 1217, ! -32768, 12581, 8459, 8037,-32768, 8037, 216, 216, 514, 772, ! 5485, 7528, 79, 7166,-32768, 227, 216,-32768,-32768, 1286, ! 364, 364, 364,-32768, 1294, 74, 6934, 74, 6934,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768, 8172,-32768,-32768, 1310, ! 1312, 1316, 1320, 1126,-32768,-32768, 13347, 10136, 9764, 1299, ! -32768, 12301,-32768,-32768,-32768,-32768,-32768, 616, 1298,-32768, ! -32768, 1308, 229, 601, 601, 1307, 601, 12581,-32768, 12953, ! 1416, 11743,-32768, 1317, 1335, 1338,-32768, 2708,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768, 2708,-32768, 74, 1341,-32768, ! 1339,-32768,-32768,-32768,-32768, 4406, 4406, 4903,-32768,-32768, ! -32768,-32768,-32768,-32768, 13484,-32768,-32768, 12581,-32768,-32768, ! 230, 1343,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8489, ! -32768,-32768,-32768, 1356, 1348,-32768, 459,-32768, 12581,-32768, ! 12581,-32768, 12581,-32768, 9857,-32768, 4503, 2134, 2134, 4725, ! 4725, 6322,-32768, 457, 3179, 4503, 1350, 537, 559, 749, ! 751, 311,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 232, ! 3445, 3445, 1893, 1893, 1893, 10136,-32768,-32768, 1677,-32768, ! -32768,-32768,-32768, 6934, 13484, 240,-32768, 3821,-32768, 477, ! 477,-32768,-32768,-32768,-32768,-32768, 6934, 497, 602, 12581, ! 1070,-32768, 1399,-32768,-32768,-32768, 451, 542, 826, 3508, ! 566, 216, 1401,-32768, 746, 1404, 477, 8341,-32768,-32768, ! -32768, 477,-32768,-32768, 1420,-32768,-32768,-32768, 1367,-32768, ! 1370, 1372, 12581, 12581, 12581, 12581, 75, 10136,-32768, 1418, ! -32768,-32768, 8489, 12581,-32768, 616,-32768,-32768,-32768,-32768, ! -32768,-32768, 1373,-32768, 1440, 364,-32768,-32768,-32768, 74, ! -32768,-32768,-32768,-32768,-32768, 13484, 12581,-32768,-32768,-32768, ! 1356,-32768,-32768,-32768, 1380, 1383, 1385, 75,-32768, 3645, ! 3645, 876, 3660, 753, 6619,-32768, 1893,-32768, 10136,-32768, ! 74, 1386, 775,-32768, 1430, 1430, 74, 1390, 12581, 12581, ! 7042, 477, 6894, 477, 477, 4759, 477, 8334,-32768,-32768, ! 8949, 1430, 74, 74,-32768,-32768,-32768, 1392, 1393, 1394, ! 1397, 1833,-32768,-32768, 8738, 1482,-32768,-32768, 10136, 1405, ! -32768,-32768,-32768,-32768,-32768, 74, 1407, 1427,-32768,-32768, ! -32768,-32768,-32768, 4188, 4188, 3528, 4298, 4298,-32768,-32768, ! -32768,-32768,-32768, 6934,-32768,-32768,-32768,-32768, 7042, 7042, ! -32768, 1430, 549, 902, 12581,-32768,-32768,-32768, 1070, 1070, ! 1430, 1430, 1005, 1430,-32768,-32768,-32768,-32768,-32768, 74, ! 74,-32768,-32768,-32768,-32768,-32768, 1067, 246, 8604,-32768, ! -32768,-32768,-32768, 11177,-32768,-32768,-32768,-32768,-32768, 7298, ! -32768, 4298, 74, 74, 1410, 74,-32768,-32768,-32768, 12581, ! 12581, 7042, 477, 477,-32768,-32768,-32768, 7710,-32768,-32768, ! 1833,-32768,-32768,-32768, 251,-32768,-32768,-32768, 1458, 905, ! 954,-32768,-32768,-32768,-32768,-32768, 12581, 1467, 1470, 1475, ! 12022, 295, 1833, 701, 655,-32768,-32768, 12115, 1531,-32768, ! -32768,-32768, 1480,-32768, 4123, 13210, 5661, 1528,-32768,-32768, ! 1435, 1437, 1439,-32768,-32768,-32768,-32768,-32768, 7042, 7042, ! -32768, 1430, 1430,-32768, 10601,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768, 778, 778, 1489, 1462, 1466, 4801,-32768,-32768, ! -32768,-32768, 1499, 12581, 1500, 1501, 1510, 2271, 2295,-32768, ! -32768,-32768,-32768, 1474,-32768,-32768, 1070, 1084,-32768, 1137, ! 1070, 12208, 1145,-32768,-32768,-32768,-32768,-32768,-32768, 74, ! -32768,-32768,-32768,-32768, 1463, 13369, 1471,-32768, 11836,-32768, ! -32768,-32768, 1556,-32768, 9275, 11836, 12581,-32768,-32768,-32768, ! 1513,-32768,-32768, 1523,-32768, 1510, 2271,-32768,-32768, 742, ! -32768,-32768, 12860, 12860, 9950,-32768, 1489,-32768,-32768,-32768, ! 401, 315,-32768, 1484, 718, 1800, 1489, 1489,-32768, 11272, ! 75,-32768,-32768, 1521, 1486, 13462,-32768,-32768,-32768,-32768, ! -32768, 1356, 175,-32768, 163,-32768,-32768, 1070,-32768,-32768, ! 828,-32768,-32768, 10043,-32768,-32768,-32768,-32768, 1356, 64, ! 64, 1527,-32768,-32768,-32768, 477,-32768, 12581, 1540,-32768, ! 1541,-32768, 1489,-32768, 1511, 1833, 161, 1543,-32768, 100, ! -32768, 1544, 1502,-32768,-32768,-32768,-32768, 12581, 1497, 742, ! 1551, 64, 742, 64, 1560,-32768,-32768, 10322, 1516, 1615, ! 907, 267,-32768,-32768, 349, 239,-32768, 10136, 1519,-32768, ! 1535, 742, 1569, 1573, 742, 1577,-32768,-32768, 12581, 907, ! -32768,-32768, 368,-32768, 1489, 1532, 1580,-32768,-32768,-32768, ! 1649, 1658,-32768 }; static const short yypgoto[] = {-32768, ! 1661,-32768, -330, 1487, -401, 44, -3, 1662,-32768, 1632, ! -32768,-32768,-32768, -1477,-32768, 280,-32768, -1476,-32768, 11, ! 894, 37, -387,-32768,-32768, 97,-32768, -725,-32768,-32768, ! 579, 36, 1508, 1207, 1515,-32768, -31, -178, -808,-32768, ! -21, 186,-32768,-32768,-32768,-32768,-32768, 510,-32768,-32768, ! -32768,-32768,-32768,-32768, 399, -14,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1598, -759, 7802, ! -180, 28, -681, -247, -70, 1555, -603,-32768, 131,-32768, ! 62,-32768, -1574,-32768, -1370, 39, 1266, -322,-32768, -935, ! 7005, 5257, 6906, 1950, 4998, 1391, -343, -66, -81, 834, ! -134, -76, 119,-32768,-32768,-32768, -340,-32768, -162,-32768, ! -32768, -1524, 61, -349, 4916, 54, 17, -101, 43, 59, ! -204,-32768,-32768,-32768, -1, -165, -168, -166, 0, -38, ! -266,-32768, -397,-32768,-32768,-32768,-32768,-32768, 555, 1354, ! 3136,-32768, 633,-32768,-32768, -1325, -480, 891,-32768,-32768, ! -32768,-32768, 42,-32768,-32768,-32768,-32768,-32768,-32768, 980, ! -390,-32768,-32768,-32768,-32768,-32768,-32768, 379, 552,-32768, ! -32768,-32768, 347, -1068,-32768,-32768,-32768,-32768,-32768,-32768, ! 544,-32768, 260, 992,-32768, 679, 1056, 2999, 81, 1536, ! 2626, 1770,-32768, -516,-32768, 12, 1899, 3865, -136, 298, ! -63, 5586, 1374,-32768, 6554, 2282, 1962, -16, -108,-32768, ! 1622, -58,-32768, 6007, 3657, -69,-32768, 3173, 524,-32768, ! -32768, 203,-32768,-32768, 272, 1124,-32768, -1252,-32768,-32768, ! -32768, -1512,-32768, -1449, 31,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 20, ! -32768,-32768,-32768,-32768,-32768, 24, -1364,-32768,-32768, -56, ! -32768,-32768,-32768,-32768, -738, -1420,-32768, -24, -1376, -762, ! -173, 919,-32768,-32768,-32768,-32768, -410,-32768, -409, -213, ! -32768, 99,-32768,-32768, 2380, 338,-32768, 92,-32768, 5700, ! -243, -766 }; ! #define YYLAST 13571 ! static const short yytable[] = { 106, ! 37, 469, 63, 826, 461, 267, 126, 119, 1060, 1114, ! 188, 530, 470, 795, 796, 471, 708, 562, 446, 449, ! 59, 413, 500, 180, 374, 108, 375, 458, 719, 645, ! 313, 720, 37, 794, 63, 901, 787, 944, 552, 258, ! 1105, 704, 706, 63, 183, 1043, 60, 36, 719, 1230, ! 554, 720, 59, 1126, 241, 420, 421, 58, 216, 537, ! 539, 59, 61, 775, 812, 549, 1499, 1503, 1099, 412, ! 419, 431, 255, 267, 422, 1775, 1610, 1612, 60, 36, ! 177, 176, 566, 1662, 74, 311, 184, 182, 175, 58, ! 366, 795, 852, 366, 61, 366, 274, 683, 181, 1588, ! 45, 683, 86, 61, 229, 1347, 606, 1349, 1482, 264, ! 366, 147, 152, 409, 529, 1379, 74, 1376, 203, 1106, ! 89, 1735, 383, -879, 538, 74, 726, 727, 723, 1515, ! 1516, -636, 45, 267, 86, 885, 98, 859, 428, 441, ! 366, 45, 366, 1165, 1190, 310, 1537, 708, 723, 466, ! 1195, 830, 161, 180, 395, 1793, 59, 905, 858, 1776, ! 396, 606, 478, 1763, 1794, -1, 90, 312, 91, 63, ! 1732, 1676, 1305, 63, 183, 1166, 430, -636, -636, 1772, ! 216, 533, 427, 801, 802, 1483, 683, 59, -2, 1377, ! 1080, 59, -636, 426, 497, 809, 1569, 92, 61, 1113, ! 831, 112, 1296, 832, 1744, 1575, 1576, 99, 1577, 1795, ! 177, 176, 169, 60, 1749, 1750, 184, 182, 175, 366, ! 74, 1306, -137, -137, 58, 1790, -137, -137, 181, 61, ! 1760, 548, 550, 61, 490, 445, 448, 45, 1081, 1761, ! 667, 203, 386, 15, 564, 215, 560, -451, 943, 1738, ! 170, 74, 1610, 1612, 496, 74, 877, 229, 479, 479, ! 1786, 1259, -136, 1297, 884, 846, 229, 229, 274, 86, ! 1791, 45, -334, 161, 161, 161, 498, 693, -451, 689, ! 511, 514, -451, 40, 1762, 1271, 668, 1758, 1274, 1380, ! 565, 1427, 1405, 1445, 688, 96, 229, 100, 114, 115, ! 680, -327, 1124, 1815, 571, 728, 1683, 1684, 1583, 458, ! 255, 817, 1828, 1583, 847, 40, 97, 848, -334, -334, ! 161, 624, 113, 857, 1787, 425, -451, 507, 1812, 271, ! 139, 164, 10, -327, 8, 9, 667, 1381, 1408, 1428, ! 1780, 1446, 366, 1291, 1292, 131, 132, 778, 1816, 1453, ! 783, 534, 229, 116, 117, 311, 1584, 142, 18, -312, ! 1753, 1639, 803, 537, 539, 255, 740, 215, 1286, 21, ! 891, 1679, 537, 1806, 366, 731, 1813, 1654, 771, 446, ! 449, 720, 668, 274, 458, 452, 453, 314, 539, 134, ! 135, 740, 1692, 59, 1499, 830, 1094, 26, 167, 454, ! 134, 135, 1379, 274, -661, -312, -312, 229, 1709, 455, ! 1812, 1111, 1112, 168, 607, 310, 1805, 33, 94, 427, ! -312, 456, 793, 185, 608, 216, 189, -152, 883, 1812, ! 730, 366, 324, 193, 1389, 61, 1391, 312, 1823, 95, ! 539, 638, 562, 639, 831, 1084, 814, 832, 26, -873, ! -661, -661, 164, 164, 164, 483, -154, 74, 1814, 1115, ! 94, 1116, 892, 893, 1692, -661, 63, 183, 142, 229, ! 1491, 562, 889, 484, 1692, 1692, -399, 1827, 15, 1338, ! 1044, 95, 496, 713, 59, 684, 798, 271, 416, 417, ! 10, 557, 685, 216, 1289, 96, 255, 194, 96, 164, ! 793, 485, 888, 221, 498, -635, 1231, 1117, 18, 184, ! 182, -399, 1424, 1425, 26, -399, 97, 1118, 1119, 97, ! 1692, 181, 252, 490, 96, 314, 61, 21, 1115, 714, ! 1116, 892, 893, -153, 686, 373, 890, 558, 229, 1352, ! 26, 366, 927, 28, 272, 97, 693, -399, 74, -336, ! 143, -635, -635, 1120, 836, 1107, 842, 844, 393, 143, ! 496, 1459, 729, 398, -336, 379, -635, -400, -336, 15, ! 229, 229, 1692, 433, 1353, 687, 1117, 195, 1354, 229, ! 144, 1452, 498, 26, 95, -336, 1118, 1119, -138, -138, ! 397, -130, 857, 15, 1458, 229, 866, 867, -336, -336, ! 401, -336, -400, -336, 131, 132, -400, -313, 402, 566, ! 1355, 366, 916, 1570, 174, 1001, 366, 933, 933, 933, ! 933, 680, 1120, 196, 197, 433, -130, 399, 951, 366, ! -130, -336, -336, 1110, 161, 161, 161, 248, -400, 366, ! 423, 249, 366, 131, 132, 986, -336, 229, 97, 641, ! 901, 1003, 490, -313, -313, 879, 26, 94, 917, 134, ! 135, 1002, -130, 987, 986, 638, 1460, 639, -313, 1323, ! 1325, 999, 400, 990, 1095, 366, 311, 195, 95, 1205, ! 1162, 1163, 987, 991, 795, 796, 1167, 380, 131, 132, ! 1096, 988, 719, 142, 793, 720, 992, 1004, 134, 135, ! 1039, 366, 1089, 366, 794, 497, 490, 787, 1087, 645, ! 988, 1404, 490, 783, 490, 490, -327, 537, 1554, 1660, ! 1090, 433, 274, 196, 525, 223, 224, 451, 606, 459, ! 458, 142, 14, 500, 381, 1005, 310, 1399, 1401, 500, ! 1152, -656, 475, 382, 135, 490, 133, 1298, 930, 18, ! 1300, 1565, 490, 318, 496, 20, 26, 1302, 312, -7, ! 1657, 170, 490, 267, 23, 496, 693, 263, 126, 473, ! 1092, -128, 229, 15, 1008, 1011, 498, 366, 958, 1100, ! 1124, 1006, 1554, 474, 250, 477, 1153, 498, 251, 1023, ! 1046, 487, 723, 1299, 413, 556, 1301, -311, 543, -662, ! 563, -336, 1125, 1303, 1320, 980, -128, 720, 553, 951, ! -128, 997, 857, 164, 164, 164, 433, 604, 131, 132, ! 1356, 142, 901, 1513, 1401, 573, 1688, 1017, 259, 8, ! 260, 10, 575, 793, 229, 1024, 1025, 1191, 1192, 1285, ! 1193, 497, -128, -311, -311, -662, -662, -336, -336, 581, ! 500, 614, 274, 844, 1554, 1448, 617, 15, -311, 618, ! -662, -451, -330, 222, 223, 224, 1357, 159, 21, 1514, ! 26, 14, 1689, 134, 135, 261, 1767, 958, 380, 8, ! 9, 490, 619, 858, 262, 29, 701, 990, 18, 709, ! 712, -451, -451, 496, 20, 490, -451, 991, 620, 458, ! 621, 496, 63, 23, 1322, 793, 366, 366, 263, 366, ! 992, 793, 622, 1131, 1132, 498, 33, 1488, 683, 799, ! 59, 143, 1768, 498, 229, 381, 641, 1730, 230, 231, ! -155, 1180, 1554, 1293, 382, 135, 1764, 544, 15, 230, ! 472, 545, -451, 1384, 1385, 1386, 1182, 1174, 1154, 1155, ! 1339, 1340, 1341, 161, 523, 524, 1734, 94, 263, 556, ! 94, 161, 61, 724, 742, 496, 1571, 743, 1510, 1641, ! 1554, 496, -451, -451, 229, 100, 114, 115, 95, 531, ! 532, 95, 933, 767, 74, 779, 1233, 498, 780, 447, ! 450, 523, 815, 498, 131, 132, 446, 449, 100, 101, ! 102, 458, 233, 234, 235, 446, 449, 1554, 1556, 96, ! 380, 131, 132, 1202, 1203, 1204, 933, 838, 1642, 701, ! 709, 712, 793, 500, 95, 500, 490, 18, 497, 97, ! 97, 116, 117, 236, 733, 159, 531, 816, 806, 693, ! 490, -6, 490, 819, 490, 810, 26, 274, 828, 134, ! 135, 26, 829, 914, 103, 104, 237, 381, 845, 1809, ! 96, 267, 856, 694, 873, 771, 382, 135, 100, 101, ! 102, 669, -872, 695, 145, 131, 132, 10, 854, 1092, ! 13, 97, 496, 665, 666, 696, 697, 886, 496, 1177, ! 570, 1343, 887, 793, 908, 933, 366, 15, 96, 915, ! 238, 239, 240, 18, 498, 131, 132, 909, 1008, 1011, ! 498, 670, 671, 910, 21, 672, 673, 674, 675, 97, ! 490, 26, 1236, 911, 103, 104, 105, 26, 1581, 1582, ! 28, 29, 164, 793, 765, 766, 918, 1344, 1350, 1351, ! 164, 919, 497, 937, 31, 523, 1711, 133, 1382, 795, ! 1623, 933, -878, 496, 32, 1261, 998, 26, 490, 274, ! 134, 135, 33, 939, 1409, 1410, 34, 1412, 1494, -194, ! 500, 1416, 63, -56, 63, 498, 1000, 634, -56, 1018, ! 216, 1020, 63, 500, 142, -194, 940, -194, 543, -56, ! 59, 943, 59, 496, 1041, 793, 1049, 793, 531, 1712, ! 59, 1180, 496, 1180, 1400, 933, 523, 1716, 1050, 1180, ! 1051, 1180, 1082, 1308, 1309, 498, 1182, 1174, 1182, 1174, ! 131, 132, 1308, 1309, 498, 1083, 1182, 1174, 1086, 1348, ! 1088, 1093, 61, 20, 61, -330, 1097, 100, 114, 115, ! 366, 1362, 61, 1098, -613, 1101, 1109, 1108, -613, 1129, ! 1164, 161, 161, 161, 74, 496, 74, 496, 1150, 1157, ! 161, 161, 161, 1158, 74, 1161, 793, 858, 1206, 1208, ! 1209, 1210, 26, 1214, 1211, 134, 135, 498, 1212, 498, ! 1125, 1213, 1216, 1215, 1020, -151, 1219, 1218, 447, 807, ! 1400, 161, 267, 116, 117, 118, 1221, -613, 1222, -613, ! -613, 1226, -613, 536, 223, 224, 380, 8, 9, 1223, ! 793, 14, 1224, -613, 1225, -613, 709, 100, 114, 115, ! 559, 1227, 1462, 1228, 1238, 1240, 496, 1817, 1464, 1465, ! -613, -613, 1462, 1467, 20, 1241, 1465, 490, 1242, 490, ! 500, 490, 793, 23, 1243, -613, 1008, 1011, 498, 1251, ! 447, 450, 1252, 381, 1253, 793, 1262, 21, 1263, 1177, ! 1264, 1177, 382, 135, 1265, 1269, 1361, 1371, 1413, 1177, ! 496, 1277, 1270, 116, 117, 858, 63, 1278, 415, 416, ! 417, 10, 1280, 1284, 146, 146, 570, 162, 1283, 1304, ! 1440, 1441, 498, 1318, 59, 1383, 264, 1337, 259, 131, ! 132, 10, 496, 1387, 1393, 1180, 1394, 1406, 1362, 1402, ! 1395, 1154, 1155, 219, 1396, 496, 228, 1407, 21, 1411, ! 1182, 1174, 245, 1415, 498, 261, 1417, 256, 131, 132, ! 164, 164, 164, 566, 262, 272, 61, 498, 21, 164, ! 164, 164, 1160, 933, 1418, 261, 1668, 1419, 1673, 1670, ! 1422, 1423, 1429, 1430, 262, 29, 709, 1433, 74, 1444, ! 1463, 491, 1468, 447, 938, 490, 33, 1546, 1469, 63, ! 164, 415, 8, 9, 10, -702, 1475, 634, 263, 1476, ! 26, 1477, 1489, 134, 135, 1492, 33, 59, 1493, 1500, ! 1573, 1574, 1501, 571, 1502, 1512, 484, 607, 1180, 1518, ! 435, 1542, 1543, 1544, 793, 435, 1545, 608, 444, 444, ! 162, 21, 793, 1182, 1174, 1482, 1559, 1557, 715, 1627, ! 606, 1560, 1640, 1478, 1479, 1480, 1481, 262, 272, 61, ! 1247, 1649, 1650, 1361, 1490, 219, 634, 1651, 634, 1663, ! 1033, 476, 1665, 1746, 1674, 1675, 1677, 1743, 1678, -930, ! 1609, 74, 1617, 510, 510, 519, 1695, 1247, 793, 33, ! 1696, 1700, 1702, 1177, 496, 1703, 1638, 396, 1710, 228, ! 59, 1719, 496, 1729, 1721, 1739, 446, 449, 1740, 540, ! 120, 121, 122, 1755, 1440, 1441, 498, 1655, 1656, 1781, ! 120, 121, 122, 1747, 498, 1756, 1616, 1608, 259, 8, ! 9, 10, 1784, 1785, 1792, 1788, 1617, 1615, 228, 1800, ! 1796, 1797, 61, 1803, 216, 100, 114, 115, 496, 768, ! 769, 770, 1807, 567, 59, 1810, 1811, 1801, 1818, 1819, ! 1801, 1821, 533, 26, 74, 1822, 123, 124, 21, 1824, ! 498, 1829, 1830, 1705, 1708, 261, 123, 124, 1832, 1820, ! 1616, 1608, 1801, 1247, 262, 29, 1177, 1833, 229, 1247, ! 1, 1615, 468, 5, 228, 256, 61, 166, 159, 1707, ! 1085, 116, 117, 1287, 813, 1667, 1146, 1667, 263, 120, ! 892, 893, 467, 894, 1613, 465, 33, 1725, 74, 1745, ! 1033, 1372, 1741, 1617, 1725, 1434, 377, 444, 432, 100, ! 439, 440, 447, 807, 613, 1691, 403, 404, 405, 1766, ! 490, 59, 1279, 366, 1128, 895, 1052, 1450, 1342, 228, ! 256, 100, 101, 102, 1471, 1374, 1609, 1535, 1617, 1276, ! 1053, 1653, 26, 985, 690, 123, 124, 1616, 1608, 100, ! 114, 115, 526, 233, 234, 235, 59, 310, 1615, 411, ! 827, 1587, 1725, 61, 310, 103, 117, 1555, 941, 26, ! 1752, 1789, 407, 408, 1765, 1759, 229, 1804, 18, 312, ! 1149, 1247, 1616, 1608, 236, 74, 312, 103, 104, 1247, ! 219, 228, 1509, 1615, 1701, 0, 1748, 0, 61, 0, ! 161, 0, 0, 866, 867, 116, 117, 0, 435, 0, ! 0, 435, 145, 8, 9, 10, 0, 162, 162, 162, ! 74, 0, 310, 567, 662, 663, 664, 665, 666, 1723, ! 0, 415, 8, 9, 10, 958, 1723, 206, 0, 0, ! 1247, 161, 161, 161, 312, 100, 114, 115, 0, 1247, ! 0, 0, 21, 762, 763, 764, 765, 766, 219, 0, ! 228, 256, 0, 0, 0, 26, 0, 0, 28, 29, ! 1613, 21, 447, 938, 862, 0, 0, 862, 261, 865, ! 865, 519, 200, 0, 0, 476, 0, 262, 272, 928, ! 0, 881, 201, 540, 1723, 0, 476, 380, 8, 9, ! 33, 116, 117, 0, 202, 0, 8, 9, 1783, 0, ! 145, 8, 9, 10, 1455, 1456, 13, 540, 476, 33, ! 0, 0, 0, 0, 0, 403, 404, 405, 1799, 0, ! 0, 0, 0, 0, 18, 0, 0, 0, 958, 18, ! 153, 1470, 0, 978, 381, 0, 1472, 0, 0, 979, ! 21, 981, 982, 382, 135, 0, 693, 0, 26, 1826, ! 206, 134, 135, 26, 0, 0, 28, 29, 0, 540, ! 0, 0, 406, 0, 0, 1331, 0, 447, 450, 164, ! 833, 407, 408, 0, 0, 1332, 447, 1317, 0, 1038, ! 834, 0, 162, 162, 444, 0, 0, 1333, 33, 1040, ! 0, 0, 835, 697, 0, 0, 0, 444, 0, 206, ! 0, 0, 0, 0, 0, 0, 159, 546, 101, 102, ! 164, 164, 164, 0, 0, 1521, 1522, 0, 1531, 1532, ! 0, 1534, 145, 8, 9, 10, 222, 223, 224, 0, ! 1247, 1247, 0, 0, 14, 0, 0, 145, 8, 9, ! 10, 0, 0, 269, 0, 436, 0, 1007, 1007, 1007, ! 438, 18, 223, 224, 381, 0, 444, 20, 444, 14, ! 1034, 0, 21, 547, 104, 0, 23, 0, 693, 0, ! 269, 0, 0, 1567, 1568, 26, 18, 21, 28, 29, ! 0, 0, 20, 693, 228, 1247, 0, 0, 0, 0, ! 26, 23, 833, 28, 29, 120, 892, 893, 269, 153, ! 447, 807, 834, 716, 8, 9, 10, 833, 0, 0, ! 33, 269, 0, 0, 843, 697, 0, 834, 0, 0, ! 0, 271, 131, 132, 10, 33, 1631, 1632, 1633, 835, ! 697, 0, 0, 0, 0, 0, 145, 8, 9, 10, ! 324, 717, 254, 21, 447, 807, 228, 245, 26, 0, ! 18, 123, 124, 0, 0, 0, 26, 0, 0, 718, ! 135, 21, 0, 0, 0, 18, 0, 693, 568, 0, ! 0, 269, 0, 0, 26, 0, 21, 28, 272, 120, ! 892, 893, 693, 1681, 1682, 0, 1130, 1130, 1136, 26, ! 0, 1266, 28, 29, 0, 206, 1136, 0, 0, 0, ! 0, 1267, 145, 131, 132, 10, 833, 269, 254, 33, ! 162, 0, 0, 1268, 697, 0, 834, 0, 0, 862, ! 862, 865, 865, 519, 33, 0, 0, 881, 835, 697, ! 0, 18, 0, 0, 0, 123, 124, 0, 269, 0, ! 0, 476, 21, 0, 0, 0, 0, 271, 8, 9, ! 10, 0, 0, 1232, 0, 26, 0, 0, 28, 29, ! 0, 0, 0, 206, 0, 206, 206, 1244, 0, 1245, ! 0, 1246, 31, 100, 114, 115, 0, 0, 0, 861, ! 0, 0, 32, 0, 623, 82, 228, 21, 861, 0, ! 33, 0, 206, 0, 34, 109, 0, 100, 114, 115, ! 206, 0, 0, 28, 272, 137, 0, 0, 0, 0, ! 0, 0, 150, 150, 0, 150, 0, 82, 0, 0, ! 1782, 0, 0, 0, 0, 0, 82, 0, 0, 116, ! 1704, 0, 269, 0, 0, 33, 0, 0, 0, 210, ! 0, 82, 0, 804, 0, 0, 805, 1282, 0, 0, ! 246, 0, 269, 116, 1706, 109, 0, 0, 808, 0, ! 0, 1248, 131, 132, 1248, 0, 277, 13, 109, 0, ! 0, 0, 0, 371, 0, 1256, 371, 0, 371, 0, ! 0, 1034, 1034, 1034, 0, 1295, 0, 0, 0, 0, ! 18, 0, 109, 0, 0, 0, 0, 0, 269, 0, ! 0, 0, 716, 8, 9, 10, 0, 693, 0, 436, ! 0, 0, 438, 0, 26, 0, 0, 134, 135, 137, ! 0, 82, 0, 371, 0, 371, 568, 150, 150, 0, ! 0, 694, 437, 150, 0, 0, 150, 150, 150, 324, ! 717, 695, 21, 0, 0, 0, 0, 245, 0, 0, ! 0, 0, 82, 696, 697, 26, 82, 0, 134, 135, ! 0, 0, 210, 82, 145, 8, 9, 10, 660, 661, ! 662, 663, 664, 665, 666, 415, 8, 569, 10, 0, ! 0, 210, 210, 210, 1307, 1307, 1136, 1136, 1136, 145, ! 131, 132, 10, 1316, 0, 1136, 1136, 1136, 0, 206, ! 0, 0, 0, 0, 21, 1146, 0, 1334, 1334, 1335, ! 0, 210, 269, 0, 0, 21, 0, 26, 18, 0, ! 28, 29, 261, 0, 199, 0, 162, 0, 551, 21, ! 0, 262, 272, 0, 200, 219, 0, 0, 109, 0, ! 0, 0, 26, 0, 201, 28, 29, 447, 1317, 0, ! 0, 150, 33, 0, 0, 570, 202, 0, 0, 155, ! 0, 0, 206, 33, 1435, 0, 1436, 0, 1437, 156, ! 269, 0, 0, 0, 0, 0, 0, 33, 0, 0, ! 0, 157, 760, 761, 762, 763, 764, 765, 766, 415, ! 131, 132, 10, 109, 609, 955, 956, 0, 960, 961, ! 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, ! 972, 973, 974, 975, 976, 977, 0, 0, 0, 1034, ! 1034, 1034, 0, 0, 0, 0, 0, 131, 132, 21, ! 0, 861, 254, 0, 861, 0, 261, 0, 109, 0, ! 0, 0, 691, 0, 609, 262, 272, 609, 710, 0, ! 861, 0, 269, 0, 0, 18, 0, 371, 82, 0, ! 0, 1307, 1307, 1136, 1136, 1136, 0, 0, 1316, 8, ! 9, 269, 693, 0, 254, 0, 0, 33, 0, 26, ! 0, 0, 134, 135, 1447, 1447, 1335, 0, 0, 0, ! 0, 0, 1497, 0, 0, 137, 694, 18, 0, 0, ! 0, 0, 0, 476, 476, 109, 695, 210, 109, 0, ! 0, 131, 132, 0, 371, 0, 150, 0, 696, 697, ! 0, 26, 0, 0, 134, 135, 150, 0, 0, 150, ! 476, 0, 153, 0, 0, 476, 0, 0, 1331, 18, ! 0, 150, 0, 0, 0, 0, 0, 0, 1332, 82, ! 0, 0, 0, 0, 0, 0, 693, 0, 0, 0, ! 1333, 0, 0, 26, 804, 805, 134, 135, 0, 0, ! 0, 0, 808, 0, 0, 210, 840, 210, 210, 710, ! 694, 0, 0, 840, 0, 0, 0, 0, 0, 0, ! 695, 210, 210, 1507, 1507, 210, 1508, 210, 210, 210, ! 871, 269, 696, 697, 210, 0, 0, 0, 0, 210, ! 0, 0, 210, 0, 476, 476, 0, 476, 476, 0, ! 476, 0, 0, 0, 371, 512, 515, 0, 0, 0, ! 0, 0, 269, 0, 0, 0, 0, 0, 0, 0, ! 145, 8, 9, 10, 173, 12, 13, 0, 150, 0, ! 849, 0, 14, 0, 0, 0, 0, 1562, 1562, 1562, ! 0, 0, 0, 0, 0, 0, 16, 0, 17, 18, ! 0, 0, 476, 476, 0, 20, 0, 0, 0, 0, ! 21, 0, 0, 0, 23, 0, 269, 0, 0, 0, ! 0, 0, 925, 26, 371, 0, 28, 29, 0, 861, ! 109, 109, 109, 109, 0, 861, 0, 0, 0, 6, ! 31, 7, 8, 9, 10, 11, 12, 13, 0, 0, ! 32, 0, 371, 14, 0, 476, 476, 476, 33, 0, ! 0, 0, 34, 0, 0, 0, 15, 16, 0, 17, ! 18, 19, 0, 0, 0, 0, 20, 0, 0, 0, ! 1367, 21, 0, 0, 22, 23, 24, 0, 25, 109, ! 0, 609, 0, 0, 26, 27, 0, 28, 29, 219, ! 228, 30, 0, 691, 0, 609, 609, 710, 0, 0, ! 0, 31, 476, 476, 0, 0, 0, 0, 1035, 0, ! 0, 32, 1037, 222, 223, 224, 269, 0, 269, 33, ! 0, 14, 0, 34, 0, 0, 0, 35, 0, 0, ! 0, 210, 0, 0, 0, 0, 0, 0, 18, 0, ! 0, 0, 0, 0, 20, 519, 0, 0, 0, 436, ! 438, 0, 0, 23, 0, 0, 0, 0, 568, 0, ! 145, 8, 9, 10, 0, 0, 13, 0, 0, 1047, ! 1290, 0, 1319, 8, 9, 10, 0, 0, 137, 0, ! 371, 0, 0, 0, 0, 137, 865, 865, 865, 18, ! 0, 0, 0, 0, 210, 246, 861, 0, 228, 0, ! 21, 0, 270, 0, 0, 861, 693, 0, 0, 324, ! 717, 0, 21, 26, 0, 0, 28, 29, 0, 269, ! 0, 0, 269, 861, 861, 26, 0, 0, 28, 272, ! 1133, 0, 0, 0, 210, 210, 1138, 1367, 0, 476, ! 1134, 0, 1141, 0, 1138, 0, 0, 0, 33, 222, ! 223, 224, 1135, 697, 0, 0, 863, 14, 0, 864, ! 33, 512, 515, 210, 0, 0, 871, 210, 210, 871, ! 871, 871, 0, 882, 18, 210, 0, 0, 0, 0, ! 20, 0, 210, 460, 0, 0, 0, 8, 9, 23, ! 0, 1403, 566, 0, 0, 0, 0, 0, 0, 0, ! 0, 145, 8, 9, 10, 82, 0, 566, 109, 371, ! 371, 0, 371, 0, 109, 18, 509, 0, 0, 0, ! 0, 232, 0, 609, 609, 609, 804, 805, 0, 528, ! 18, 0, 0, 808, 609, 0, 861, 0, 0, 26, ! 0, 21, 134, 135, 0, 0, 0, 693, 0, 0, ! 0, 0, 1529, 0, 26, 0, 1331, 28, 29, 0, ! 0, 0, 0, 0, 0, 0, 1332, 0, 0, 0, ! 0, 833, 0, 0, 0, 0, 0, 0, 1333, 1159, ! 0, 834, 0, 0, 0, 109, 0, 131, 132, 33, ! 0, 0, 566, 835, 697, 0, 861, 861, 0, 0, ! 0, 232, 0, 0, 0, 1189, 0, 0, 609, 609, ! 0, 1194, 609, 0, 0, 18, 0, 232, 0, 109, ! 0, 0, 0, 609, 0, 109, 0, 0, 0, 1035, ! 1035, 1035, 693, 0, 0, 609, 0, 1141, 0, 26, 0, 0, 134, 135, 0, 0, 0, 0, 0, 0, ! 269, 861, 271, 416, 417, 10, 694, 0, 0, 0, ! 8, 9, 0, 173, 12, 13, 695, 0, 0, 489, ! 0, 14, 0, 0, 232, 0, 0, 0, 696, 697, ! 0, 0, 0, 232, 0, 16, 0, 17, 18, 0, ! 0, 0, 21, 0, 20, 0, 109, 0, 109, 371, ! 232, 0, 0, 23, 206, 693, 206, 0, 28, 272, ! 0, 232, 26, 0, 0, 134, 135, 0, 1254, 0, ! 1255, 0, 0, 269, 0, 0, 0, 0, 0, 694, ! 0, 210, 210, 210, 210, 210, 1138, 871, 0, 695, ! 33, 210, 0, 1138, 1138, 1138, 0, 269, 0, 1141, ! 0, 696, 697, 0, 109, 871, 871, 871, 658, 659, ! 660, 661, 662, 663, 664, 665, 666, 0, 8, 9, ! 0, 137, 0, 13, 150, 82, 0, 82, 512, 515, ! 0, 0, 1369, 82, 0, 82, 0, 0, 0, 271, ! 416, 417, 10, 0, 0, 0, 18, 0, 109, 0, ! 109, 0, 0, 0, 0, 0, 0, 0, 109, 0, ! 0, 863, 864, 512, 515, 206, 0, 0, 0, 882, ! 26, 0, 0, 134, 135, 0, 0, 0, 0, 21, ! 271, 131, 132, 10, 0, 609, 609, 1331, 609, 874, ! 0, 0, 26, 371, 880, 28, 272, 1332, 0, 609, ! 0, 8, 9, 0, 173, 12, 13, 609, 0, 1333, ! 489, 0, 14, 0, 0, 0, 0, 609, 609, 710, ! 21, 0, 0, 0, 0, 906, 16, 33, 17, 18, ! 0, 0, 912, 0, 0, 20, 28, 272, 0, 0, ! 232, 0, 0, 0, 23, 1388, 693, 1390, 0, 232, ! 0, 0, 0, 26, 0, 0, 134, 135, 210, 210, ! 210, 871, 871, 1442, 0, 0, 210, 210, 33, 0, ! 1504, 0, 0, 0, 0, 922, 923, 0, 924, 0, ! 1505, 232, 871, 871, 871, 871, 871, 0, 0, 0, ! 0, 0, 1506, 697, 0, 109, 0, 0, 0, 1369, ! 0, 0, 0, 0, 0, 0, 0, 1421, 109, 0, ! 0, 0, 0, 0, 0, 232, 0, 0, 8, 9, ! 0, 1466, 0, 254, 232, 0, 0, 0, 0, 82, ! 85, 0, 0, 8, 9, 0, 0, 0, 566, 0, ! 111, 0, 0, 0, 0, 232, 18, 0, 0, 130, ! 138, 0, 0, 0, 0, 0, 0, 151, 151, 0, ! 151, 18, 85, 693, 0, 0, 0, 1021, 1022, 0, ! 26, 85, 232, 134, 135, 0, 1021, 0, 693, 0, ! 0, 0, 0, 0, 151, 26, 85, 1504, 134, 135, ! 0, 871, 871, 0, 871, 247, 109, 1505, 871, 0, ! 257, 0, 1504, 0, 0, 0, 0, 0, 0, 1506, ! 697, 0, 1505, 257, 210, 0, 0, 0, 372, 150, ! 0, 372, 82, 372, 1506, 697, 863, 864, 512, 515, ! 0, 0, 0, 0, 0, 882, 0, 512, 515, 758, ! 759, 760, 761, 762, 763, 764, 765, 766, 0, 863, ! 864, 882, 0, 0, 0, 871, 871, 1442, 871, 871, ! 0, 0, 0, 0, 0, 109, 85, 0, 372, 1495, ! 372, 0, 151, 151, 0, 0, 0, 0, 151, 0, ! 0, 151, 151, 151, 0, 0, 0, 8, 9, 0, ! 0, 12, 13, 1358, 1359, 9, 10, 85, 14, 0, ! 1511, 85, 0, 0, 0, 1140, 1517, 151, 85, 0, ! 0, 109, 16, 871, 17, 18, 0, 0, 0, 0, ! 0, 20, 1538, 1539, 0, 0, 151, 151, 151, 0, ! 23, 0, 0, 21, 0, 0, 1009, 1012, 78, 26, ! 1156, 0, 134, 135, 676, 1558, 26, 0, 0, 28, ! 29, 0, 0, 1454, 0, 1360, 151, 0, 0, 0, ! 0, 0, 0, 200, 0, 0, 210, 840, 210, 0, ! 78, 0, 0, 201, 0, 0, 0, 0, 677, 78, ! 0, 33, 1196, 0, 1198, 202, 0, 0, 0, 1579, ! 1580, 0, 208, 0, 220, 0, 151, 8, 9, 0, ! 0, 12, 13, 863, 864, 512, 515, 0, 14, 0, ! 882, 0, 1625, 1626, 0, 1628, 415, 131, 132, 10, ! 0, 0, 16, 1138, 17, 18, 512, 515, 0, 0, ! 0, 20, 0, 0, 0, 0, 0, 0, 257, 611, ! 23, 0, 0, 0, 0, 0, 0, 0, 0, 26, ! 0, 0, 134, 135, 0, 0, 21, 0, 1234, 1235, ! 0, 1237, 0, 261, 1138, 1138, 1138, 232, 0, 0, ! 232, 0, 262, 272, 429, 1009, 1012, 210, 0, 0, ! 434, 0, 0, 257, 0, 0, 232, 692, 984, 611, ! 0, 1258, 611, 711, 0, 0, 570, 0, 722, 0, ! 0, 0, 372, 85, 33, 78, 0, 0, 0, 78, ! 0, 0, 0, 0, 0, 208, 220, 0, 722, 0, ! 0, 0, 145, 8, 9, 10, 222, 223, 224, 1718, ! 0, 0, 0, 0, 14, 863, 864, 0, 882, 0, ! 784, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 257, 18, 151, 257, 0, 0, 0, 20, 0, 372, ! 0, 151, 21, 0, 208, 0, 23, 0, 693, 0, ! 0, 151, 0, 0, 151, 26, 0, 0, 28, 29, ! 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, ! 0, 0, 833, 0, 85, 145, 8, 9, 10, 512, ! 515, 0, 834, 0, 0, 0, 0, 1315, 0, 0, ! 33, 0, 232, 0, 835, 697, 0, 0, 0, 0, ! 151, 841, 151, 151, 711, 0, 0, 0, 841, 0, ! 0, 0, 0, 0, 0, 21, 151, 151, 0, 232, ! 151, 0, 151, 151, 151, 611, 0, 0, 26, 151, ! 1249, 28, 29, 1250, 151, 1666, 0, 151, 0, 0, ! 0, 8, 9, 0, 1257, 200, 13, 0, 0, 372, ! 1009, 1012, 0, 0, 0, 201, 0, 0, 903, 0, ! 0, 0, 0, 33, 0, 0, 0, 202, 0, 18, ! 0, 0, 0, 151, 0, 0, 0, 0, 145, 8, ! 9, 10, 173, 12, 13, 0, 693, 0, 489, 0, ! 14, 732, 0, 26, 0, 0, 134, 135, 0, 0, ! 1420, 0, 0, 0, 16, 0, 17, 18, 0, 0, ! 1504, 0, 0, 20, 0, 232, 0, 0, 21, 372, ! 1505, 232, 23, 0, 693, 257, 257, 257, 257, 0, ! 0, 26, 1506, 697, 28, 29, 0, 0, 0, 0, ! 208, 0, 0, 0, 0, 0, 0, 372, 1133, 434, ! 0, 8, 9, 1249, 1250, 1009, 1012, 0, 1134, 0, ! 0, 1443, 1257, 0, 1009, 1012, 33, 0, 0, 0, ! 1135, 697, 0, 0, 0, 0, 0, 0, 0, 18, ! 0, 0, 78, 0, 257, 0, 611, 0, 512, 515, ! 0, 1451, 415, 8, 9, 10, 693, 0, 0, 0, ! 611, 611, 711, 26, 1457, 0, 134, 135, 208, 839, ! 208, 208, 0, 1036, 0, 0, 850, 0, 0, 0, ! 1504, 0, 0, 0, 434, 0, 0, 0, 722, 0, ! 1505, 1473, 21, 232, 0, 1474, 151, 208, 0, 261, ! 0, 232, 1506, 697, 0, 208, 0, 0, 262, 272, ! 0, 0, 0, 0, 0, 0, 0, 0, 271, 131, ! 132, 10, 0, 0, 13, 415, 8, 9, 10, 0, ! 1496, 0, 263, 0, 0, 0, 0, 0, 0, 0, ! 33, 434, 0, 784, 0, 372, 0, 18, 1009, 1012, ! 0, 130, 232, 0, 0, 0, 0, 0, 21, 151, ! 247, 232, 0, 0, 693, 21, 0, 0, 0, 0, ! 0, 26, 261, 0, 28, 272, 0, 0, 0, 232, ! 232, 262, 272, 1540, 1541, 903, 0, 0, 1266, 0, ! 1249, 1250, 1009, 1012, 0, 0, 0, 1257, 1267, 151, ! 151, 841, 0, 0, 0, 570, 33, 0, 0, 1148, ! 1268, 697, 0, 33, 0, 145, 8, 9, 10, 0, ! 1563, 1564, 0, 0, 0, 0, 1566, 0, 151, 0, ! 0, 611, 151, 151, 611, 611, 611, 0, 0, 0, ! 151, 0, 0, 0, 18, 0, 0, 151, 0, 0, ! 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, ! 0, 693, 0, 0, 0, 0, 0, 0, 26, 0, ! 85, 28, 29, 257, 372, 372, 0, 372, 0, 257, ! 0, 0, 0, 0, 0, 833, 0, 0, 611, 611, ! 611, 0, 232, 0, 0, 834, 0, 0, 0, 611, ! 0, 0, 0, 33, 208, 0, 0, 835, 697, 754, ! 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, ! 765, 766, 1249, 1250, 0, 1257, 0, 0, 0, 0, ! 0, 0, 0, 0, 172, 1680, 145, 8, 9, 10, ! 173, 12, 13, 0, 0, 0, 0, 0, 14, 0, ! 257, 0, 232, 232, 0, 0, 0, 0, 0, 0, ! 0, 0, 16, 0, 17, 18, 19, 208, 0, 0, ! 0, 20, 0, 611, 611, 0, 21, 611, 0, 0, ! 23, 0, 0, 174, 257, 0, 1009, 1012, 611, 26, ! 257, 0, 28, 29, 1036, 1036, 1036, 0, 0, 0, ! 611, 0, 722, 0, 0, 0, 31, 232, 0, 0, ! 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, ! 0, 0, 0, 0, 33, 0, 0, 0, 34, 0, ! 0, 0, 35, 0, 0, 0, 434, 271, 8, 9, ! 10, 656, 657, 13, 658, 659, 660, 661, 662, 663, ! 664, 665, 666, 0, 0, 434, 0, 0, 0, 0, ! 0, 257, 0, 257, 372, 0, 18, 0, 0, 0, ! 0, 415, 131, 1533, 10, 0, 0, 21, 1187, 0, ! 0, 0, 0, 693, 0, 0, 0, 0, 0, 0, ! 26, 0, 0, 28, 272, 0, 151, 151, 151, 151, ! 151, 841, 611, 0, 0, 0, 151, 1310, 1148, 1148, ! 1148, 21, 0, 0, 722, 0, 0, 1311, 261, 257, ! 611, 611, 611, 1697, 0, 33, 0, 262, 272, 1312, ! 697, 0, 0, 903, 0, 0, 138, 0, 0, 151, ! 85, 0, 85, 0, 0, 0, 0, 1370, 85, 0, ! 85, 570, 0, 0, 0, 0, 0, 0, 0, 33, ! 0, 0, 0, 257, 0, 257, 0, 0, 0, 0, ! 0, 0, 0, 257, 0, 1698, 745, 746, 747, 748, ! 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, ! 759, 760, 761, 762, 763, 764, 765, 766, 0, 0, ! 611, 611, 0, 611, 0, 0, 0, 0, 372, 0, ! 0, 0, 0, 0, 611, 271, 8, 9, 10, 173, ! 12, 13, 611, 0, 0, 489, 0, 14, 0, 0, ! 0, 0, 611, 611, 711, 0, 0, 0, 0, 0, ! 0, 16, 0, 17, 18, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 21, 0, 0, 0, 23, ! 0, 693, 0, 903, 0, 0, 0, 0, 26, 0, ! 0, 28, 272, 151, 151, 151, 611, 611, 711, 0, ! 0, 151, 151, 0, 0, 1266, 0, 0, 0, 271, ! 8, 9, 10, 0, 0, 1267, 0, 611, 611, 611, ! 611, 611, 0, 33, 434, 903, 0, 1268, 697, 0, ! 257, 54, 0, 0, 1370, 0, 0, 0, 18, 0, ! 0, 0, 0, 257, 0, 0, 0, 0, 0, 21, ! 0, 0, 0, 0, 0, 693, 0, 390, 54, 54, ! 0, 158, 26, 54, 85, 28, 272, 0, 1187, 0, ! 1187, 0, 54, 0, 0, 1368, 1375, 0, 1187, 1310, ! 0, 0, 0, 0, 0, 54, 0, 54, 0, 1311, ! 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, ! 0, 1312, 697, 0, 0, 0, 0, 0, 0, 265, ! 0, 0, 273, 0, 0, 145, 131, 132, 10, 0, ! 0, 13, 0, 0, 0, 0, 611, 611, 0, 611, ! 0, 257, 0, 611, 0, 0, 0, 0, 0, 0, ! 0, 493, 0, 0, 18, 0, 0, 0, 0, 151, ! 0, 0, 0, 0, 151, 21, 0, 85, 0, 0, ! 0, 0, 0, 0, 418, 418, 535, 54, 26, 0, ! 0, 28, 29, 54, 54, 0, 0, 265, 273, 54, ! 0, 0, 158, 158, 158, 155, 0, 0, 0, 457, ! 611, 611, 711, 611, 611, 156, 0, 0, 54, 0, ! 257, 434, 54, 33, 0, 0, 0, 157, 54, 54, ! 434, 0, 0, 8, 9, 0, 173, 12, 13, 0, ! 0, 0, 0, 0, 14, 0, 0, 54, 54, 158, ! 0, 0, 0, 0, 0, 0, 0, 265, 16, 0, ! 17, 18, 1368, 0, 0, 0, 257, 20, 611, 0, ! 0, 0, 0, 0, 0, 0, 785, 54, 0, 786, ! 0, 0, 0, 0, 0, 26, 0, 0, 134, 135, ! 0, 0, 1187, 0, 0, 0, 0, 0, 0, 0, ! 145, 8, 9, 10, 173, 12, 13, 0, 0, 636, ! 1659, 0, 14, 0, 0, 0, 0, 54, 0, 0, ! 0, 151, 841, 151, 265, 0, 16, 0, 17, 18, ! 19, 0, 0, 0, 0, 20, 0, 0, 8, 9, ! 21, 0, 12, 254, 23, 0, 0, 174, 0, 14, 0, 0, 0, 26, 0, 0, 28, 29, 0, 0, ! 0, 0, 0, 16, 0, 17, 18, 0, 0, 0, ! 31, 0, 20, 0, 0, 0, 0, 1530, 1148, 0, ! 32, 23, 1530, 693, 0, 1187, 0, 0, 33, 792, ! 26, 633, 34, 134, 135, 0, 35, 0, 353, 0, ! 0, 353, 0, 353, 0, 0, 0, 694, 418, 0, ! 0, 0, 0, 0, 0, 0, 0, 695, 265, 1148, ! 1148, 1148, 0, 0, 54, 0, 0, 0, 0, 696, ! 697, 0, 151, 0, 0, 0, 0, 0, 265, 0, ! 0, 0, 131, 132, 0, 0, 223, 224, 353, 0, ! 353, 0, 0, 14, 0, 0, 0, 0, 0, 0, ! 0, 418, 0, 0, 0, 0, 0, 792, 0, 0, ! 18, 0, 0, 54, 0, 0, 20, 0, 0, 0, ! 0, 0, 54, 0, 265, 23, 0, 693, 0, 0, ! 0, 457, 54, 0, 26, 54, 0, 134, 135, 0, ! 0, 457, 457, 457, 0, 0, 0, 54, 0, 0, ! 0, 694, 0, 0, 0, 54, 0, 0, 0, 0, ! 0, 695, 0, 0, 0, 0, 0, 0, 0, 208, ! 1671, 208, 0, 707, 697, 0, 0, 1358, 1359, 9, ! 10, 54, 54, 54, 54, 0, 0, 0, 0, 54, ! 0, 0, 0, 0, 0, 0, 0, 54, 54, 0, ! 0, 54, 0, 158, 158, 158, 457, 0, 0, 0, ! 54, 0, 0, 0, 0, 54, 0, 21, 54, 0, ! 0, 0, 0, 931, 932, 934, 935, 936, 0, 0, ! 26, 0, 0, 28, 29, 0, 636, 0, 0, 1360, ! 0, 0, 0, 0, 0, 0, 0, 200, 0, 954, ! 0, 0, 0, 0, 54, 0, 0, 201, 0, 0, ! 0, 0, 0, 0, 0, 33, 0, 615, 616, 202, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, ! 208, 353, 983, 625, 0, 0, 626, 0, 0, 627, ! 0, 0, 637, 0, 0, 0, 642, 0, 0, 0, ! 0, 1013, 0, 0, 682, 0, 80, 80, 1026, 80, ! 1027, 80, 1013, 0, 0, 0, 633, 633, 633, 0, ! 80, 0, 353, 0, 0, 0, 0, 0, 0, 0, ! 0, 633, 0, 80, 0, 80, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, ! 764, 765, 766, 145, 8, 9, 10, 222, 223, 224, ! 275, 654, 655, 656, 657, 14, 658, 659, 660, 661, ! 662, 663, 664, 665, 666, 0, 0, 0, 265, 353, ! 0, 0, 18, 0, 0, 0, 0, 0, 20, 0, ! 633, 0, 633, 21, 633, 0, 0, 23, 0, 693, ! 0, 0, 0, 0, 0, 0, 26, 0, 0, 28, ! 29, 0, 0, 0, 0, 80, 0, 54, 0, 0, ! 0, 80, 80, 200, 0, 0, 275, 80, 0, 0, ! 80, 80, 80, 201, 0, 0, 0, 0, 0, 0, ! 1013, 33, 0, 0, 0, 1672, 80, 0, 1013, 0, ! 80, 0, 0, 0, 0, 0, 80, 80, 0, 0, ! 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, ! 0, 418, 0, 0, 0, 80, 80, 80, 0, 0, ! 54, 131, 132, 0, 0, 223, 224, 0, 0, 353, ! 0, 0, 14, 755, 756, 757, 758, 759, 760, 761, ! 762, 763, 764, 765, 766, 80, 0, 0, 0, 18, ! 0, 0, 493, 0, 0, 20, 0, 0, 493, 0, ! 54, 54, 158, 0, 23, 0, 693, 265, 273, 0, ! 1145, 0, 0, 26, 0, 0, 134, 135, 0, 0, ! 0, 0, 0, 0, 633, 80, 0, 0, 0, 54, ! 694, 0, 457, 54, 54, 457, 457, 457, 0, 353, ! 695, 54, 0, 0, 0, 0, 0, 0, 54, 0, ! 0, 0, 696, 697, 0, 625, 626, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 353, 0, 1229, ! 0, 54, 353, 353, 0, 353, 353, 353, 353, 353, ! 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, ! 353, 353, 353, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 954, 0, 0, 0, 0, 0, 493, ! 653, 654, 655, 656, 657, 1013, 658, 659, 660, 661, ! 662, 663, 664, 665, 666, 0, 0, 721, 0, 0, ! 0, 0, 80, 753, 754, 755, 756, 757, 758, 759, ! 760, 761, 762, 763, 764, 765, 766, 721, 574, 576, ! 577, 578, 579, 580, 0, 582, 583, 584, 585, 586, ! 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, ! 597, 598, 599, 600, 601, 602, 603, 0, 605, 0, ! 792, 80, 1288, 0, 0, 0, 0, 0, 0, 0, ! 80, 0, 0, 0, 0, 633, 633, 633, 0, 0, ! 80, 457, 265, 80, 0, 353, 0, 0, 0, 0, ! 165, 0, 0, 0, 0, 80, 0, 0, 0, 0, ! 1013, 0, 0, 80, 145, 8, 9, 10, 0, 1013, ! 13, 0, 0, 0, 211, 655, 656, 657, 1328, 658, ! 659, 660, 661, 662, 663, 664, 665, 666, 0, 80, ! 80, 80, 80, 18, 0, 0, 0, 80, 0, 0, ! 0, 0, 0, 0, 21, 80, 80, 0, 0, 80, ! 0, 80, 80, 80, 0, 0, 0, 26, 80, 0, ! 28, 29, 493, 80, 493, 0, 80, 0, 0, 0, ! 0, 0, 1392, 0, 200, 0, 0, 54, 54, 54, ! 158, 158, 158, 457, 201, 265, 0, 54, 265, 1145, ! 1145, 1145, 33, 0, 0, 273, 202, 0, 0, 0, ! 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, ! 0, 165, 165, 165, 353, 353, 0, 353, 0, 0, ! 158, 54, 0, 54, 0, 0, 0, 0, 54, 54, ! 0, 54, 0, 1013, 0, 0, 0, 211, 6, 0, ! 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, ! 0, 0, 14, 0, 0, 0, 211, 211, 521, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 18, ! 0, 0, 0, 0, 0, 20, 0, 1013, 0, 0, ! 21, 0, 0, 0, 23, 0, 211, 464, 0, 0, ! 0, 0, 0, 26, 0, 0, 28, 29, 0, 0, ! 30, 0, 1239, 0, 0, 0, 0, 0, 0, 493, ! 31, 0, 0, 457, 457, 457, 0, 0, 0, 0, ! 32, 0, 493, 0, 0, 0, 0, 721, 33, 0, ! 920, 0, 34, 0, 625, 626, 0, 0, 0, 0, ! 0, 145, 131, 132, 10, 0, 0, 566, 0, 0, ! 0, 0, 0, 921, 54, 54, 54, 457, 457, 457, ! 0, 926, 54, 54, 0, 80, 0, 0, 0, 610, ! 18, 0, 0, 0, 271, 8, 9, 10, 173, 12, ! 13, 21, 0, 0, 489, 0, 14, 0, 0, 0, ! 0, 0, 0, 0, 26, 54, 0, 28, 29, 0, ! 16, 0, 17, 18, 353, 0, 0, 353, 0, 20, ! 1328, 31, 0, 0, 21, 0, 265, 273, 23, 700, ! 693, 32, 700, 700, 0, 54, 0, 26, 80, 33, ! 28, 272, 0, 34, 145, 8, 9, 10, 0, 0, ! 254, 0, 0, 0, 1310, 0, 0, 0, 625, 626, ! 0, 0, 0, 0, 1311, 0, 0, 0, 0, 0, ! 0, 0, 33, 18, 0, 0, 1312, 697, 80, 80, ! 80, 1013, 0, 0, 21, 0, 275, 0, 1147, 493, ! 0, 0, 211, 0, 0, 0, 0, 26, 0, 0, ! 28, 29, 0, 0, 0, 0, 0, 80, 0, 0, ! 0, 80, 80, 0, 200, 0, 0, 0, 0, 80, ! 54, 0, 0, 265, 201, 54, 80, 0, 54, 0, ! 0, 0, 33, 0, 0, 792, 202, 0, 353, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, ! 0, 0, 0, 0, 0, 0, 1414, 0, 353, 0, ! 837, 0, 837, 837, 700, 278, 0, 0, 8, 9, ! 0, 0, 12, 13, 0, 0, 211, 211, 0, 14, ! 211, 0, 521, 521, 521, 872, 0, 0, 0, 211, ! 0, 0, 0, 16, 211, 17, 18, 211, 0, 0, ! 0, 0, 20, 0, 279, 280, 0, 0, 0, 0, ! 0, 23, 0, 281, 0, 0, 0, 0, 0, 0, ! 26, 0, 0, 134, 135, 0, 282, 0, 0, 0, ! 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, ! 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, ! 303, 0, 0, 304, 305, 306, 0, 307, 0, 0, ! 308, 0, 145, 8, 9, 10, 0, 0, 13, 0, ! 0, 209, 54, 54, 54, 0, 309, 1200, 1201, 1327, ! 0, 721, 8, 9, 0, 0, 12, 13, 0, 0, ! 636, 18, 0, 14, 0, 268, 0, 0, 276, 0, ! 0, 0, 21, 0, 0, 0, 0, 16, 0, 17, ! 18, 145, 8, 9, 10, 26, 20, 566, 28, 29, ! 0, 0, 268, 0, 384, 23, 0, 0, 0, 1145, ! 0, 0, 516, 0, 26, 0, 0, 134, 135, 0, ! 18, 0, 517, 0, 0, 0, 993, 0, 0, 0, ! 33, 21, 0, 0, 518, 0, 0, 0, 0, 0, ! 700, 700, 700, 0, 26, 0, 0, 28, 29, 0, ! 1145, 1145, 1145, 700, 0, 80, 80, 80, 80, 80, ! 80, 200, 0, 54, 0, 80, 0, 1147, 1147, 1147, ! 0, 201, 0, 1321, 209, 0, 211, 0, 0, 33, ! 0, 0, 1168, 202, 7, 8, 1169, 10, 173, 12, ! 13, 0, 0, 209, 209, 209, 14, 0, 80, 80, ! 0, 80, 0, 527, 0, 0, 80, 80, 0, 80, ! 16, 0, 17, 18, 19, 0, 0, 0, 0, 20, ! -556, 0, 0, 209, 21, 0, 0, 0, 23, 1170, ! 0, 174, 0, 0, 0, 0, 0, 26, 0, 837, ! 28, 29, 0, 0, 1171, 0, 1172, 0, 0, 0, ! 276, 0, 0, 0, 31, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 32, 271, 8, 9, 10, 0, ! 268, 13, 33, 0, 0, 0, 1173, 0, 0, 837, ! 837, 1139, 0, 0, 0, 0, 0, 0, 0, 1139, ! 0, 0, -556, 0, 18, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 637, 21, 0, 0, 211, 0, ! 0, 872, 211, 211, 872, 872, 872, 0, 26, 0, ! 211, 28, 272, 0, 0, 0, 0, 211, 0, 0, ! 0, 0, 80, 80, 80, 868, 1523, 1524, 9, 10, ! 80, 80, 0, 0, 0, 869, 0, 0, 0, 0, ! 0, 0, 0, 33, 0, 0, 0, 870, 0, 0, ! 0, 0, 0, 0, 268, 276, 0, 0, 610, 610, ! 610, 0, 0, 80, 0, 0, 21, 8, 9, 700, ! 173, 12, 13, 0, 268, 276, 489, 0, 14, 26, ! 0, 0, 28, 29, 0, 275, 0, 0, 1525, 0, ! 0, 0, 16, 80, 17, 18, 200, 0, 0, 625, ! 626, 20, 0, 0, 0, 0, 201, 0, 0, 209, ! 23, 0, 0, 0, 33, 0, 0, 0, 202, 26, ! 0, 0, 134, 135, 0, 0, 0, 0, -419, 8, ! 9, -419, -419, 12, 254, 0, 0, 0, 0, 0, ! 14, 0, 0, 700, 700, 0, 0, 700, 0, 0, ! 0, 0, 0, 0, 16, 0, 17, 18, 700, 0, ! 0, 0, 0, 20, 700, 700, 700, 0, -419, 0, ! 700, 0, 23, 0, 693, 0, 0, 209, 80, 209, ! 209, 26, 0, 80, 134, 135, 80, 0, 0, 0, ! 0, 0, 0, 209, 209, 0, 0, 209, 694, 209, ! 209, 209, 209, 18, 0, 0, 209, 0, 695, 0, ! 0, 209, 0, 0, 209, 0, -419, 0, 0, 0, ! 696, 697, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 492, 0, 0, 0, 0, 0, 745, 746, 747, ! 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, ! 758, 759, 760, 761, 762, 763, 764, 765, 766, 0, ! 0, 0, 0, 0, 0, 0, 837, 837, 837, 1139, ! 1139, 1139, 1313, 0, 0, 0, 837, 0, 1139, 1139, ! 1139, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 872, 872, 872, 0, 0, 0, 1168, 0, 7, 8, ! 1169, 10, 173, 12, 13, 0, 0, 0, 0, 165, ! 14, 0, 0, 0, 0, 0, 0, 211, 0, 145, ! 131, 132, 10, 0, 16, 0, 17, 18, 19, 0, ! 80, 80, 80, 20, -557, 0, 0, 0, 21, 0, ! 0, 0, 23, 1170, 0, 174, 0, 0, 18, 0, ! 0, 26, 0, 0, 28, 29, 0, 0, 1171, 21, ! 1172, 0, 0, 0, 0, 0, 0, 0, 31, 0, ! 993, 993, 26, 993, 0, 28, 29, 0, 32, 0, ! 0, 0, 0, 0, 700, 0, 33, 1147, 0, 31, ! 1173, 0, 700, 268, 276, 0, 0, 0, 0, 32, ! 0, 0, 700, 700, 700, 0, -557, 33, 0, 0, ! 0, 34, 0, 209, 0, 0, 0, 0, 0, 0, ! 741, 0, 0, 0, 0, 0, 0, 0, 1147, 1147, ! 1147, 8, 9, 0, 173, 12, 13, 0, 0, 0, ! 1622, 80, 14, 837, 837, 837, 1313, 1313, 1313, 0, ! 0, 837, 837, 0, 0, 0, 16, 0, 17, 18, ! 0, 0, 0, 0, 0, 20, 0, 872, 872, 872, ! 872, 872, 0, 0, 23, 0, 209, 0, 0, 0, ! 0, 0, 0, 26, 211, 0, 134, 135, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 698, 0, 0, ! 698, 698, 145, 8, 9, 10, 212, 12, 213, 0, ! 0, 0, 0, 0, 14, 0, 209, 209, 1137, 825, ! 492, 0, 0, 268, 276, 0, 1137, 0, 16, 0, ! 17, 18, 0, 0, 0, 0, 0, 20, 0, 0, ! 0, 0, 21, 0, 0, 209, 23, 0, 209, 209, ! 209, 209, 209, 209, 527, 26, 0, 209, 28, 29, ! 0, 0, 214, 0, 209, 0, 145, 8, 9, 10, ! 0, 0, 31, 0, 0, 0, 1313, 1313, 0, 1313, ! 0, 0, 32, 872, 0, 0, 276, 0, 0, 0, ! 33, 0, 0, 0, 34, 18, 0, 0, 0, 211, ! 652, 653, 654, 655, 656, 657, 21, 658, 659, 660, ! 661, 662, 663, 664, 665, 666, 0, 0, 0, 26, ! 0, 0, 28, 29, 0, 0, 0, 0, 698, 0, ! 698, 698, 698, 0, 0, 0, 516, 0, 0, 0, ! 1313, 1313, 1313, 1313, 1313, 0, 517, 0, 0, 492, ! 0, 0, 929, 0, 33, 0, 0, 0, 518, 0, ! 1358, 8, 1169, 10, 212, 12, 213, 0, 0, 0, ! 0, 0, 14, 0, 0, 0, 0, 0, 825, 0, ! 8, 9, 0, 212, 12, 213, 16, 0, 17, 18, ! 0, 14, 0, 0, 0, 20, 0, 0, 1313, 0, ! 21, 0, 0, 492, 23, 16, 0, 17, 18, 492, ! 0, 492, 492, 26, 20, 0, 28, 29, 268, 276, ! 268, 0, 1360, 23, 0, 0, 0, 0, 0, 0, ! 31, 0, 26, 0, 0, 134, 135, 0, 0, 0, ! 32, 0, 492, 0, 0, 0, 0, 0, 33, 492, ! 0, 211, 1173, 211, 0, 0, 0, 0, 0, 492, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, ! 759, 760, 761, 762, 763, 764, 765, 766, 1055, 1057, ! 1058, 1059, 0, 1061, 1062, 1063, 1064, 1065, 1066, 1067, ! 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, ! 1078, 1079, 0, 0, 0, 0, 0, 0, 521, 0, ! 0, 0, 0, 209, 209, 209, 209, 209, 1137, 209, ! 0, 1314, 0, 209, 268, 1137, 1137, 1137, 698, 698, ! 698, 276, 0, 0, 0, 0, 0, 209, 209, 209, ! 1634, 1032, -513, -513, -513, -513, -513, -513, -513, 521, ! 521, 521, -513, 0, -513, 0, 0, 0, 0, 825, ! 0, 0, 211, 0, 209, -513, 0, -513, 0, 0, ! 0, -513, 0, 0, 0, 0, 0, -513, 492, 0, ! 0, 0, -513, 0, 0, 0, -513, 0, -513, 0, ! 0, 0, 492, 0, 0, -513, 0, 0, -513, -513, ! -513, -513, -513, 0, -513, -513, -513, -513, -513, -513, ! -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, ! -513, -513, -513, -513, -513, -513, -513, 698, -513, -513, ! -513, 0, -513, -513, -513, -513, -513, 0, 0, 0, ! 0, 0, 1635, -513, 0, 107, 0, 0, -513, -513, ! -513, 0, -513, 0, 125, 107, 0, 0, 0, 0, ! 0, 0, 107, 107, 0, 107, 0, 698, 698, 698, ! 0, 0, 0, 0, 0, 0, 0, 1032, 0, 0, ! 0, 0, 0, 0, 0, 1217, 0, 0, 0, 0, ! 209, 209, 209, 209, 209, 1137, 0, 0, 209, 209, ! 243, 0, 8, 9, 0, 0, 12, 254, 0, 145, ! 8, 9, 10, 14, 209, 209, 209, 209, 209, 0, ! 0, 0, 825, 492, 0, 0, 0, 16, 0, 17, ! 18, 209, 0, 0, 0, 0, 20, 492, 18, 492, ! 0, 492, 0, 0, 0, 23, 0, 0, 0, 21, ! 0, 0, 527, 0, 26, 0, 0, 134, 135, 410, ! 0, 125, 26, 0, 0, 28, 29, 698, 107, 107, ! 0, 0, 0, 0, 0, 0, 0, 107, 107, 200, ! 0, 107, 107, 107, 1275, 442, 107, 107, 107, 201, ! 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, ! 0, 202, 752, 753, 754, 755, 756, 757, 758, 759, ! 760, 761, 762, 763, 764, 765, 766, 492, 0, 0, ! 0, 0, 0, 209, 209, 1314, 209, 0, 0, 0, ! 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 698, 698, 0, 0, 698, 209, 0, 0, 0, ! 0, 0, 0, 0, 0, 492, 698, 0, 0, 0, ! 0, 0, 1032, 1032, 1032, 0, 0, 1168, 698, 7, ! 8, 1169, 10, 173, 12, 13, 0, 243, 107, 0, ! 0, 14, 0, 0, 0, 825, 825, 209, 209, 1137, ! 209, 209, 0, 0, 0, 16, 0, 17, 18, 19, ! 0, 107, 0, 0, 20, 0, 0, 1345, 0, 21, ! 0, 0, 0, 23, 1170, 0, 174, 0, 0, 0, ! 0, 0, 26, 0, 0, 28, 29, 0, 0, 1171, ! 0, 1172, 0, 0, 0, 0, 0, 0, 0, 31, ! 0, 0, 0, 0, 107, 209, 0, 0, 0, 32, ! 0, 0, 0, 825, 825, 0, 0, 33, 0, 0, ! 0, 1173, 0, 0, 698, 698, 698, 698, 698, 698, ! 698, 0, 0, 0, 698, 0, 1032, 1032, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 107, 0, 107, 0, 0, 107, 209, 0, ! 209, 0, 0, 0, 0, 8, 9, 0, 0, 12, ! 13, 0, 0, 1426, 0, 0, 14, 0, 0, 0, ! 0, 0, 0, 0, 271, 8, 9, 10, 0, 0, ! 16, 0, 17, 18, 492, 0, 492, 0, 492, 20, ! 825, 0, 0, 0, 0, 107, 0, 0, 23, 0, ! 0, 0, 0, 18, 0, 1137, 0, 26, 0, 0, ! 134, 135, 0, 0, 21, 0, 107, 0, 107, 0, ! 0, 825, 0, 0, 0, 0, 107, 26, 0, 107, ! 28, 272, 698, 0, 0, 0, 0, 0, 0, 0, ! 698, 107, 0, 0, 868, 1461, 1137, 1137, 1137, 0, ! 698, 698, 698, 0, 869, 0, 0, 0, 0, 209, ! 0, 0, 33, 0, 0, 0, 870, 751, 752, 753, ! 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, ! 764, 765, 766, 825, 0, 0, 0, 0, 0, 0, ! 0, 698, 698, 698, 698, 698, 698, 0, 0, 698, ! 698, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 492, 0, 0, 0, 1523, 131, 132, 10, ! 0, 1168, 0, 7, 8, 1169, 10, 173, 12, 13, ! 0, 0, 243, 896, 825, 14, 0, 0, 0, 0, ! 0, 0, 0, 0, 1519, 1520, 0, 0, 107, 16, ! 0, 17, 18, 19, 0, 0, 21, 0, 20, -559, ! 0, 0, 0, 21, 0, 0, 0, 23, 1170, 26, ! 174, 0, 28, 29, 825, 0, 26, 0, 1525, 28, ! 29, 0, 0, 1171, 0, 1172, 31, 0, 0, 0, ! 107, 0, 107, 31, 0, 0, 32, 0, 0, 0, ! 0, 0, 0, 32, 33, 0, 0, 0, 34, 0, ! 1572, 33, 0, 0, 0, 1173, 0, 0, 0, 0, ! 0, 0, 0, 0, 698, 698, 0, 698, 0, 0, ! 0, -559, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 145, 131, 1346, 10, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 1629, 1630, 0, 0, 0, ! 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, ! 18, 0, 107, 107, 0, 107, 107, 0, 0, 0, ! 0, 21, 1648, 0, 0, 0, 0, 0, 698, 698, ! 698, 698, 698, 0, 26, 0, 0, 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, ! 1686, 156, 0, 0, 0, 0, 0, 0, 0, 33, ! 0, 0, 0, 157, 646, 647, 648, 649, 650, 651, ! 652, 653, 654, 655, 656, 657, 698, 658, 659, 660, ! 661, 662, 663, 664, 665, 666, 0, 492, 107, 0, ! 0, 0, 0, 0, 0, 107, 125, 0, 0, 0, ! 0, 0, 0, 0, 0, 243, 0, 0, 0, 0, ! 0, 0, 1736, 0, 1585, 0, -930, -930, -930, -930, ! -930, -930, -930, -930, -930, -930, 0, -930, -930, -930, ! 896, -930, -930, -930, -930, -930, -930, -930, -930, -930, ! -930, -930, -930, -930, -930, -930, -930, 0, -930, -930, ! -930, -930, 0, -930, -930, -930, -930, -930, -930, -930, ! -930, -930, 0, 0, -930, -930, -930, -930, -930, -930, ! 0, 0, -930, -930, -930, 0, -930, -930, 0, 0, ! 0, 0, 0, -930, 0, 0, -930, 0, 0, 0, ! 0, 0, 0, 0, -930, -930, -930, 0, 0, 0, ! 0, 0, -930, -930, -930, 0, 0, 0, -930, 0, ! -930, 0, 0, 0, 896, 0, 0, 0, 0, 0, ! 0, 0, 0, 825, 1586, -930, 0, 0, 0, 0, ! 0, 0, 0, 107, 107, 107, 107, 0, 0, 0, ! 0, 0, 0, 0, 107, 0, 0, 0, 1548, 0, ! -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, ! 0, -930, -930, -930, 0, -930, -930, -930, -930, -930, ! -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, ! -930, 0, -930, -930, -930, -930, 0, -930, -930, -930, ! -930, -930, -930, -930, -930, -930, 0, 0, -930, -930, ! -930, -930, -930, -930, 0, 0, -930, -930, -930, 0, ! -930, -930, 0, 0, 0, 0, 0, -930, 107, 107, ! -930, 0, 107, 0, 0, 0, 0, 0, -930, -930, ! -930, 0, 0, 107, 0, 0, -930, -930, -930, 0, ! 0, 0, -930, 0, -930, 107, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 628, -930, ! 271, 8, 9, 10, 173, 12, 315, 316, 317, 318, ! 489, 319, 14, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 16, 320, 17, 18, ! 19, 0, 321, 322, 323, 20, 0, 324, 325, 326, ! 21, 327, 328, 0, 23, 0, 693, 0, 329, 330, ! 331, 332, 333, 26, 0, 0, 28, 272, -345, 0, ! 0, 385, 0, 0, 0, 0, 0, 336, 0, 0, ! 1028, 0, 0, 0, 0, 0, 0, 0, 338, 339, ! 1029, 0, 0, 0, 0, 0, 341, 342, 343, 0, ! 0, 0, 1030, 697, 0, 0, 0, 0, 0, 1168, ! 0, 7, 8, 1169, 10, 173, 12, 13, 0, 345, ! 0, 0, 0, 14, 0, 0, 0, 0, 896, 0, ! 0, 107, 0, 0, 107, 0, 0, 16, 0, 17, ! 18, 19, 0, 0, 0, 0, 20, -558, 0, 0, ! 0, 21, 0, 0, 0, 23, 1170, 0, 174, 0, ! 0, 0, 0, 0, 26, 0, 0, 28, 29, 0, ! 0, 1171, 0, 1172, 651, 652, 653, 654, 655, 656, ! 657, 31, 658, 659, 660, 661, 662, 663, 664, 665, ! 666, 32, 0, 0, 0, 107, 107, 0, 107, 33, ! 0, 0, 0, 1173, 0, 0, 0, 0, 0, 107, ! 0, 0, 0, 0, 0, 0, 0, 107, 0, -558, ! 0, 0, 0, 0, 0, 0, 0, 107, 107, 0, ! 0, 0, 628, 0, 145, 8, 9, 10, 173, 12, ! 315, 316, 317, 318, 489, 319, 14, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 896, 0, ! 16, 320, 17, 18, 19, 0, 321, 322, 323, 20, ! 0, 324, 325, 326, 21, 327, 328, 0, 23, 0, ! 693, 0, 329, 330, 331, 332, 333, 26, 0, 0, ! 28, 29, -345, 0, 0, 385, 0, 0, 0, 0, ! 896, 336, 0, 0, 1142, 0, 0, 0, 0, 0, ! 0, 0, 338, 339, 1143, 0, 0, 0, 0, 0, ! 341, 342, 343, 0, 0, 0, 1144, 697, 0, 0, ! 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 488, 345, 271, 8, 9, 10, 173, 12, ! 315, 316, 317, 318, 489, 319, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 16, 320, 17, 18, 19, 0, 321, 322, 323, 20, ! 0, 324, 325, 326, 21, 327, 328, 0, 23, 0, ! 0, 0, 329, 330, 331, 332, 333, 26, 0, 0, ! 28, 272, 0, 0, 0, 385, 0, 0, 0, 0, ! 0, 336, 0, 0, 337, 0, 0, 0, 0, 0, ! 0, 0, 338, 339, 340, 0, 0, 107, 0, 107, ! 341, 342, 343, 0, 0, 957, 344, 271, 8, 9, ! 10, 173, 12, 315, 316, 317, 318, 0, 319, 14, ! 0, -843, 0, 345, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 320, 17, 18, 19, 0, 321, ! 322, 323, 20, 0, 324, 325, 326, 21, 327, 328, ! 0, 23, 0, 0, 0, 329, 330, 331, 332, 333, ! 26, 0, 0, 28, 272, 1731, 0, -832, 385, 0, ! 0, 0, 0, 0, 336, 0, 0, 337, 0, 0, ! 0, 0, 0, 0, 0, 338, 339, 340, 0, 0, ! 0, 0, 0, 341, 342, 343, 0, 0, 823, 344, ! 945, 946, 947, 10, 0, 12, 505, 316, 317, 318, ! 0, 319, 14, 0, 0, 0, 345, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 16, 320, 17, 0, ! 19, 0, 321, 322, 323, 20, 0, 324, 325, 326, ! 21, 327, 328, 0, 23, 0, 0, 0, 329, 330, ! 331, 332, 333, 26, 0, 0, 948, 949, 824, 0, ! 0, 385, 0, 0, 0, 0, 0, 336, 0, 0, ! 337, 0, 0, 0, 0, 0, 0, 0, 338, 339, ! 340, 0, 0, 0, 0, 0, 341, 342, 343, 0, ! 0, 0, 344, 950, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 1127, 345, ! 628, 0, 271, 8, 9, 10, 0, 12, 315, 316, ! 317, 318, 0, 319, 14, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 16, 320, ! 17, 18, 19, 0, 321, 322, 323, 20, 0, 324, ! 325, 326, 21, 327, 328, 0, 23, 0, 0, 0, ! 329, 330, 331, 332, 333, 26, 0, 0, 28, 272, ! -345, 0, 0, 385, 0, 0, 0, 0, 0, 336, ! 0, 0, 629, 0, 0, 0, 0, 0, 0, 0, ! 338, 339, 630, 0, 0, 0, 0, 0, 341, 342, ! 343, 0, 0, 823, 631, 945, 946, 947, 10, 0, ! 12, 505, 316, 317, 318, 0, 319, 14, 0, 0, ! 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 320, 17, 0, 19, 0, 321, 322, 323, ! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23, ! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0, ! 0, 948, 949, 824, 0, 0, 385, 0, 0, 0, ! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0, ! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0, ! 0, 341, 342, 343, 0, 0, 0, 344, 950, 823, ! 0, 271, 8, 9, 10, 0, 12, 505, 316, 317, ! 318, 0, 319, 14, 345, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17, ! 0, 19, 0, 321, 322, 323, 20, 0, 324, 325, ! 326, 21, 327, 328, 0, 23, 0, 0, 0, 329, ! 330, 331, 332, 333, 26, 0, 0, 28, 272, 824, ! 0, 0, 385, 0, 0, 0, 0, 0, 336, 0, ! 0, 337, 0, 0, 0, 0, 0, 0, 0, 338, ! 339, 340, 0, 0, 0, 0, 0, 341, 342, 343, ! 0, 0, 0, 344, 823, 0, 945, 946, 947, 10, ! 1324, 12, 505, 316, 317, 318, 0, 319, 14, 0, ! 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 16, 320, 17, 0, 19, 0, 321, 322, ! 323, 20, 0, 324, 325, 326, 21, 327, 328, 0, ! 23, 0, 0, 0, 329, 330, 331, 332, 333, 26, ! 0, 0, 948, 949, 824, 0, 0, 385, 0, 0, ! 0, 0, 0, 336, 0, 0, 337, 0, 0, 0, ! 0, 0, 0, 0, 338, 339, 340, 0, 0, 0, ! 0, 0, 341, 342, 343, 0, 0, 823, 344, 945, ! 946, 947, 10, 0, 12, 505, 316, 317, 318, 0, ! 319, 14, 0, 0, -517, 345, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 320, 17, 0, 19, ! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21, ! 327, 328, 0, 23, 0, 0, 0, 329, 330, 331, ! 332, 333, 26, 0, 0, 948, 949, 824, 0, 0, ! 385, 0, 0, 0, 0, 0, 336, 0, 0, 337, ! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340, ! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0, ! 628, 344, 145, 8, 9, 10, 0, 12, 315, 316, ! 317, 318, 0, 319, 14, 0, 0, 1439, 345, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 16, 320, ! 17, 18, 19, 0, 321, 322, 323, 20, 0, 324, ! 325, 326, 21, 327, 328, 0, 23, 0, 0, 0, ! 329, 330, 331, 332, 333, 26, 0, 0, 28, 29, ! -345, 0, 0, 385, 0, 0, 0, 0, 0, 336, ! 0, 0, 1713, 0, 0, 0, 0, 0, 0, 0, ! 338, 339, 1714, 0, 0, 0, 0, 0, 341, 342, ! 343, 0, 0, 1770, 1715, 271, 8, 9, 10, 0, ! 12, 315, 316, 317, 318, 0, 319, 14, 0, 0, ! 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 320, 17, 18, 19, 0, 321, 322, 323, ! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23, ! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0, ! 0, 28, 272, 0, 0, -209, 385, 0, 0, 0, ! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0, ! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0, ! 0, 341, 342, 343, 0, 0, 823, 344, 271, 8, ! 9, 10, 0, 12, 505, 316, 317, 318, 0, 319, ! 14, 0, 0, 0, 345, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 16, 320, 17, 0, 19, 0, ! 321, 322, 323, 20, 0, 324, 325, 326, 21, 327, ! 328, 0, 23, 0, 0, 0, 329, 330, 331, 332, ! 333, 26, 0, 0, 28, 272, 824, 0, 0, 385, ! 0, 0, 0, 0, 0, 336, 0, 0, 337, 0, ! 0, 0, 0, 0, 0, 0, 338, 339, 340, 0, ! 0, 0, 0, 0, 341, 342, 343, 0, 0, 957, ! 344, 271, 8, 9, 10, 0, 12, 505, 316, 317, ! 318, 0, 319, 14, 0, 0, 0, 345, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17, ! 0, 19, 0, 321, 322, 323, 20, 0, 324, 325, ! 326, 21, 327, 328, 0, 23, 0, 0, 0, 329, ! 330, 331, 332, 333, 26, 0, 0, 28, 272, 0, ! 0, 0, 385, -832, 0, 0, 0, 0, 336, 0, ! 0, 337, 0, 0, 0, 0, 0, 0, 0, 338, ! 339, 340, 0, 0, 0, 0, 0, 341, 342, 343, ! 0, 0, 957, 344, 271, 8, 9, 10, 0, 12, ! 505, 316, 317, 318, 0, 319, 14, 0, 0, 0, ! 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 16, 320, 17, 0, 19, 0, 321, 322, 323, 20, ! 0, 324, 325, 326, 21, 327, 328, 0, 23, 0, ! 0, 0, 329, 330, 331, 332, 333, 26, 0, 0, ! 28, 272, 0, 0, 0, 385, 0, 0, 0, 0, ! 0, 336, 0, 0, 337, 0, 0, 0, 0, 0, ! 0, 0, 338, 339, 340, 0, 0, 0, 0, 0, ! 341, 342, 343, 0, 0, 1054, 344, 271, 8, 9, ! 10, 0, 12, 505, 316, 317, 318, 0, 319, 14, ! 0, -832, 0, 345, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 320, 17, 0, 19, 0, 321, ! 322, 323, 20, 0, 324, 325, 326, 21, 327, 328, ! 0, 23, 0, 0, 0, 329, 330, 331, 332, 333, ! 26, 0, 0, 28, 272, 0, 0, 0, 385, 0, ! 0, 0, 0, 0, 336, 0, 0, 337, 0, 0, ! 0, 0, 0, 0, 0, 338, 339, 340, 0, 0, ! 0, 0, 0, 341, 342, 343, 0, 0, 1056, 344, ! 271, 8, 9, 10, 0, 12, 505, 316, 317, 318, ! 0, 319, 14, 0, 0, 0, 345, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 16, 320, 17, 0, ! 19, 0, 321, 322, 323, 20, 0, 324, 325, 326, ! 21, 327, 328, 0, 23, 0, 0, 0, 329, 330, ! 331, 332, 333, 26, 0, 0, 28, 272, 0, 0, ! 0, 385, 0, 0, 0, 0, 0, 336, 0, 0, ! 337, 0, 0, 0, 0, 0, 0, 0, 338, 339, ! 340, 0, 0, 0, 0, 0, 341, 342, 343, 0, ! 0, 1685, 344, 271, 8, 9, 10, 0, 12, 505, ! 316, 317, 318, 0, 319, 14, 0, 0, 0, 345, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, ! 320, 17, 0, 19, 0, 321, 322, 323, 20, 0, ! 324, 325, 326, 21, 327, 328, 0, 23, 0, 0, ! 0, 329, 330, 331, 332, 333, 26, 0, 0, 28, ! 272, 0, 0, 0, 385, 0, 0, 0, 0, 0, ! 336, 0, 0, 337, 0, 0, 0, 0, 0, 0, ! 0, 338, 339, 340, 0, 0, 0, 0, 0, 341, ! 342, 343, 0, 0, 0, 344, 271, 8, 9, 10, ! 0, 12, 505, 316, 317, 318, 0, 319, 14, 0, ! 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 16, 320, 17, 0, 19, 0, 321, 322, ! 323, 20, 0, 324, 325, 326, 21, 327, 328, 0, ! 23, 0, 0, 0, 329, 330, 331, 332, 333, 26, ! 0, 0, 28, 272, 0, 0, 0, 385, 0, 0, ! 0, 0, 0, 336, 0, 0, 337, 0, 0, 0, ! 0, 0, 0, 0, 338, 339, 340, 0, 0, 0, ! 0, 0, 341, 342, 343, 0, 0, 0, 344, 271, ! 8, 9, 10, 0, 12, 505, 316, 317, 318, 0, ! 319, 14, 0, 0, 0, 345, 506, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 320, 17, 0, 19, ! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21, ! 327, 328, 0, 23, 0, 0, 0, 329, 330, 331, ! 332, 333, 26, 0, 0, 28, 272, 0, 0, 0, ! 385, 0, 0, 0, 0, 0, 336, 0, 0, 337, ! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340, ! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0, ! 0, 344, 271, 8, 9, 10, 0, 12, 505, 316, ! 317, 318, 0, 319, 14, 0, 0, 0, 345, 878, ! 0, 0, 0, 0, 0, 0, 0, 0, 16, 320, ! 17, 0, 19, 0, 321, 322, 323, 20, 0, 324, ! 325, 326, 21, 327, 328, 0, 23, 0, 0, 0, ! 329, 330, 331, 332, 333, 26, 0, 0, 28, 272, ! 0, 0, 0, 385, 0, 0, 0, 0, 0, 336, ! 0, 0, 337, 0, 0, 0, 0, 0, 0, 0, ! 338, 339, 340, 0, 0, 0, 0, 0, 341, 342, ! 343, 0, 0, 0, 344, 271, 8, 9, 10, 0, ! 12, 505, 316, 317, 318, 0, 319, 14, 0, 0, ! 0, 345, 996, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 320, 17, 0, 19, 0, 321, 322, 323, ! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23, ! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0, ! 0, 28, 272, 0, 0, 0, 385, 0, 0, 0, ! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0, ! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0, ! 0, 341, 342, 343, 0, 0, 0, 344, 271, 8, ! 9, 10, 0, 12, 505, 316, 317, 318, 0, 319, ! 14, 0, 0, 0, 345, 1016, 0, 0, 0, 0, ! 0, 0, 0, 0, 16, 320, 17, 0, 19, 0, ! 321, 322, 323, 20, 0, 324, 325, 326, 21, 327, ! 328, 0, 23, 0, 0, 0, 329, 330, 331, 332, ! 333, 26, 0, 0, 28, 272, 0, 0, 0, 385, ! 0, 0, 0, 0, 0, 336, 0, 0, 337, 0, ! 0, 0, 0, 0, 0, 0, 338, 339, 340, 0, ! 0, 0, 0, 0, 341, 342, 343, 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 345, 1260, 1589, ! 1590, 1591, 10, 173, 12, 315, 316, 317, 318, 0, ! 319, 14, 1592, 0, 1593, 1594, 1595, 1596, 1597, 1598, ! 1599, 1600, 1601, 1602, 15, 16, 320, 17, 18, 19, ! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21, ! 327, 328, 1603, 23, 1604, 0, 0, 329, 330, 331, ! 332, 333, 26, 0, 0, 1605, 272, 1216, 0, 1606, ! 385, 0, 0, 0, 0, 0, 336, 0, 0, 337, ! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340, ! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0, ! 0, 344, 0, 1607, 1589, 1590, 1591, 10, 173, 12, ! 315, 316, 317, 318, 0, 319, 14, 1592, 345, 1593, ! 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 15, ! 16, 320, 17, 18, 19, 0, 321, 322, 323, 20, ! 0, 324, 325, 326, 21, 327, 328, 1603, 23, 1604, ! 0, 0, 329, 330, 331, 332, 333, 26, 0, 0, ! 1605, 272, 0, 0, 1606, 385, 0, 0, 0, 0, ! 0, 336, 0, 0, 337, 0, 0, 0, 0, 0, ! 0, 0, 338, 339, 340, 0, 0, 0, 0, 0, ! 341, 342, 343, 0, 0, 0, 344, 0, 1607, 271, ! 8, 9, 10, 173, 12, 315, 316, 317, 318, 489, ! 319, 14, 0, 345, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 320, 17, 18, 19, ! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21, ! 327, 328, 0, 23, 0, 693, 0, 329, 330, 331, ! 332, 333, 26, 0, 0, 28, 272, 0, 0, 0, ! 385, 0, 0, 0, 0, 0, 336, 0, 0, 1028, ! 0, 0, 0, 0, 0, 0, 0, 338, 339, 1029, ! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0, ! 0, 1030, 697, 145, 8, 9, 10, 173, 12, 315, ! 316, 317, 318, 489, 319, 14, 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, ! 320, 17, 18, 19, 0, 321, 322, 323, 20, 0, ! 324, 325, 326, 21, 327, 328, 0, 23, 0, 693, ! 0, 329, 330, 331, 332, 333, 26, 0, 0, 28, ! 29, 0, 0, 0, 385, 0, 0, 0, 0, 0, ! 336, 0, 0, 1142, 0, 0, 0, 0, 0, 0, ! 0, 338, 339, 1143, 0, 0, 0, 0, 0, 341, ! 342, 343, 0, 0, 0, 1144, 697, 271, 8, 9, ! 10, 0, 12, 315, 316, 317, 318, 0, 319, 14, ! 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 320, 17, 18, 19, 0, 321, ! 322, 323, 20, 0, 324, 325, 326, 21, 327, 328, ! 0, 23, 0, 693, 0, 329, 330, 331, 332, 333, ! 26, 0, 0, 28, 272, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 336, 0, 0, 1028, 0, 0, ! 0, 0, 0, 0, 0, 338, 339, 1029, 0, 0, ! 0, 0, 0, 341, 342, 343, 0, 0, 0, 1030, ! 697, 145, 8, 9, 10, 0, 12, 315, 316, 317, ! 318, 0, 319, 14, 0, 0, 345, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17, ! 18, 19, 0, 321, 322, 323, 20, 0, 324, 325, ! 326, 21, 327, 328, 0, 23, 0, 693, 0, 329, ! 330, 331, 332, 333, 26, 0, 0, 28, 29, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, ! 0, 1142, 0, 0, 0, 0, 0, 0, 0, 338, ! 339, 1143, 0, 0, 0, 0, 0, 341, 342, 343, ! 0, 0, 0, 1144, 697, 271, 8, 9, 10, 0, ! 12, 315, 316, 317, 318, 0, 319, 14, 0, 0, ! 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 320, 17, 18, 19, 0, 321, 322, 323, ! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23, ! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0, ! 0, 334, 272, 0, 0, 0, 335, 0, 0, 0, ! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0, ! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0, ! 0, 341, 342, 343, 0, 0, 0, 344, 271, 8, ! 9, 10, 0, 12, 315, 316, 317, 318, 0, 319, ! 14, 0, 0, 0, 345, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 16, 320, 17, 18, 19, 0, ! 321, 322, 323, 20, 0, 324, 325, 326, 21, 327, ! 328, 0, 23, 0, 0, 0, 329, 330, 331, 332, ! 333, 26, 0, 0, 28, 272, 0, 0, 0, 385, ! 0, 0, 0, 0, 0, 336, 0, 0, 337, 0, ! 0, 0, 0, 0, 0, 0, 338, 339, 340, 0, ! 0, 0, 0, 0, 341, 342, 343, 0, 0, 0, ! 344, 271, 8, 9, 10, 0, 12, 505, 316, 317, ! 318, 0, 319, 14, 0, 0, 0, 345, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17, ! 18, 19, 0, 321, 322, 323, 20, 0, 324, 325, ! 326, 21, 327, 328, 0, 23, 0, 0, 0, 329, ! 330, 331, 332, 333, 26, 0, 0, 28, 272, 0, ! 0, 0, 385, 0, 0, 0, 0, 0, 336, 0, ! 0, 629, 0, 0, 0, 0, 0, 0, 0, 338, ! 339, 630, 0, 0, 0, 0, 0, 341, 342, 343, ! 0, 0, 0, 631, 271, 8, 9, 10, 0, 12, ! 505, 316, 317, 318, 0, 319, 14, 0, 0, 0, ! 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 16, 320, 17, 0, 19, 0, 321, 322, 323, 20, ! 0, 324, 325, 326, 21, 327, 328, 0, 23, 0, ! 0, 0, 329, 330, 331, 332, 333, 26, 0, 0, ! 28, 272, 0, 0, 1652, 385, 0, 0, 0, 0, ! 0, 336, 0, 0, 337, 0, 0, 0, 0, 0, ! 0, 0, 338, 339, 340, 0, 0, 0, 0, 0, ! 341, 342, 343, 0, 0, 0, 344, 271, 8, 9, ! 10, 173, 12, 315, 316, 317, 318, 0, 319, 14, ! 0, 0, 0, 345, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 16, 320, 17, 18, 19, 0, 321, ! 322, 323, 20, 0, 324, 325, 326, 21, 327, 328, ! 0, 23, 0, 0, 0, 329, 330, 331, 332, 333, ! 26, 0, 0, 28, 272, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 336, 0, 0, 337, 0, 0, ! 0, 0, 0, 0, 0, 338, 339, 340, 0, 0, ! 0, 0, 0, 341, 342, 343, 0, 0, 0, 344, ! 145, 8, 9, 10, 0, 12, 505, 316, 317, 318, ! 0, 319, 14, 0, 0, 0, 345, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 16, 320, 17, 18, ! 19, 0, 321, 322, 323, 20, 0, 324, 325, 326, ! 21, 327, 328, 0, 23, 0, 0, 0, 329, 330, ! 331, 332, 333, 26, 0, 0, 28, 29, 0, 0, ! 0, 385, 0, 0, 0, 0, 0, 336, 0, 0, ! 1713, 0, 0, 0, 0, 0, 0, 0, 338, 339, ! 1714, 0, 0, 0, 0, 0, 341, 342, 343, 0, ! 0, 0, 1715, 271, 8, 9, 10, 0, 12, 505, ! 316, 317, 318, 0, 319, 14, 0, 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, ! 320, 17, 0, 19, 0, 321, 322, 323, 20, 0, ! 324, 325, 326, 21, 327, 328, 0, 23, 0, 0, ! 0, 329, 330, 331, 332, 333, 26, 0, 0, 28, ! 272, 0, 0, 0, 335, 0, 0, 0, 0, 0, ! 336, 0, 0, 337, 0, 0, 0, 0, 0, 0, ! 0, 338, 339, 340, 0, 0, 0, 0, 0, 341, ! 342, 343, 0, 0, 0, 344, 271, 8, 9, 10, ! 0, 12, 505, 316, 317, 318, 0, 319, 14, 0, ! 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 16, 320, 17, 0, 19, 0, 321, 322, ! 323, 20, 0, 324, 325, 326, 21, 327, 328, 0, ! 23, 0, 0, 0, 329, 330, 331, 332, 333, 26, ! 0, 0, 28, 272, 643, 0, 0, 0, 0, 0, ! 0, 0, 0, 336, 0, 0, 337, 0, 0, 0, ! 0, 0, 0, 0, 338, 339, 340, 0, 0, 0, ! 0, 0, 341, 342, 343, 0, 0, 0, 644, 271, ! 8, 9, 10, 0, 12, 505, 316, 317, 318, 0, ! 319, 14, 0, 0, 0, 345, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 320, 17, 0, 19, ! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21, ! 327, 328, 0, 23, 0, 0, 0, 329, 330, 331, ! 332, 333, 26, 0, 0, 28, 272, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 336, 0, 0, 337, ! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340, ! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0, ! 0, 344, 681, 271, 8, 9, 10, 0, 12, 505, ! 316, 317, 318, 0, 319, 14, 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, ! 320, 17, 0, 19, 0, 321, 322, 323, 20, 0, ! 324, 325, 326, 21, 327, 328, 0, 23, 0, 0, ! 0, 329, 330, 331, 332, 333, 26, 0, 0, 28, ! 272, 0, 0, 0, 385, 0, 0, 0, 0, 0, ! 336, 0, 0, 337, 0, 0, 0, 0, 0, 0, ! 0, 338, 339, 340, 0, 0, 0, 0, 0, 341, ! 342, 343, 0, 0, 0, 344, 271, 8, 9, 10, ! 0, 12, 505, 316, 317, 318, 0, 319, 14, 0, ! 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 16, 320, 17, 18, 19, 0, 321, 322, ! 323, 20, 0, 324, 325, 326, 21, 327, 328, 0, ! 23, 0, 0, 0, 329, 330, 331, 332, 333, 26, ! 0, 0, 28, 272, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 336, 0, 0, 629, 0, 0, 0, ! 0, 0, 0, 0, 338, 339, 630, 0, 0, 0, ! 0, 0, 341, 342, 343, 0, 0, 0, 631, 1281, ! 8, 9, 10, 0, 12, 505, 316, 317, 318, 0, ! 319, 14, 0, 0, 0, 345, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 16, 320, 17, 0, 19, ! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21, ! 327, 328, 0, 23, 0, 0, 0, 329, 330, 331, ! 332, 333, 26, 0, 0, 28, 272, 0, 0, 0, ! 385, 0, 0, 0, 0, 0, 336, 0, 0, 337, ! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340, ! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0, ! 0, 344, 145, 8, 9, 10, 0, 12, 315, 316, ! 317, 318, 0, 319, 14, 0, 0, 0, 345, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 16, 320, ! 17, 18, 19, 0, 321, 322, 323, 20, 0, 324, ! 325, 326, 21, 327, 328, 0, 23, 0, 0, 0, ! 329, 330, 331, 332, 333, 26, 0, 0, 28, 29, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, ! 0, 0, 1713, 0, 0, 0, 0, 0, 0, 0, ! 338, 339, 1714, 0, 0, 0, 0, 0, 341, 342, ! 343, 0, 0, 0, 1715, 271, 8, 9, 10, 0, ! 12, 505, 316, 317, 318, 0, 319, 14, 0, 0, ! 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 16, 320, 17, 0, 19, 0, 321, 322, 323, ! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23, ! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0, ! 0, 28, 272, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0, ! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0, ! 0, 341, 342, 343, 0, 0, 0, 344, 271, 8, ! 9, 10, 0, 12, 505, 316, 317, 318, 0, 319, ! 14, 0, 0, 0, 345, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 16, 320, 17, 0, 19, 0, ! 321, 322, 323, 20, 0, 324, 325, 326, 21, 327, ! 328, 0, 23, 0, 0, 0, 329, 330, 331, 332, ! 333, 26, 0, 0, 28, 272, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 336, 0, 0, 337, 0, ! 0, 0, 0, 0, 0, 0, 338, 339, 340, 0, ! 0, 0, 0, 0, 341, 342, 343, 0, 0, 0, ! 703, 271, 8, 9, 10, 0, 12, 505, 316, 317, ! 318, 0, 319, 14, 0, 0, 0, 345, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17, ! 0, 19, 0, 321, 322, 323, 20, 0, 324, 325, ! 326, 21, 327, 328, 0, 23, 0, 0, 0, 329, ! 330, 331, 332, 333, 26, 0, 0, 28, 272, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, ! 0, 337, 145, 8, 9, 10, 212, 12, 213, 338, ! 339, 340, 0, 0, 14, 0, 0, 341, 342, 343, ! 0, 0, 0, 705, 0, 0, 0, 0, 16, 0, ! 17, 18, 0, 0, 0, 0, 0, 20, 0, 0, ! 345, 0, 21, 0, 0, 0, 23, 0, 145, 8, ! 9, 10, 173, 12, 13, 26, 0, 0, 28, 29, ! 14, 0, 1669, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 31, 0, 16, 0, 17, 18, 0, 0, ! 0, 0, 32, 20, 0, 0, 0, 0, 21, 0, ! 33, 0, 23, 0, 34, 0, 0, 0, 0, 0, ! 0, 26, 0, 0, 28, 29, 0, 0, 0, 145, ! 8, 9, 10, 212, 12, 213, 0, 0, 31, 0, ! 0, 14, 0, 0, 0, 0, 0, 0, 32, 0, ! 0, 0, 0, 0, 0, 16, 33, 17, 18, 0, ! 34, 0, 0, 0, 20, 0, 0, 0, 0, 21, ! 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, ! 0, 0, 26, 0, 0, 28, 29, 0, 0, 0, ! 0, 650, 651, 652, 653, 654, 655, 656, 657, 31, ! 658, 659, 660, 661, 662, 663, 664, 665, 666, 32, ! 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, ! 0, 34, 745, 746, 747, 748, 749, 750, 751, 752, ! 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, ! 763, 764, 765, 766, 745, 746, 747, 748, 749, 750, ! 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, ! 761, 762, 763, 764, 765, 766, 0, 0, 0, 1398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 744, 0, 0, 1720, 745, 746, ! 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, ! 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, ! 1207, 0, 0, 0, 745, 746, 747, 748, 749, 750, ! 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, ! 761, 762, 763, 764, 765, 766, 1757, 745, 746, 747, ! 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, ! 758, 759, 760, 761, 762, 763, 764, 765, 766, 745, ! 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, ! 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, ! 766 }; static const short yycheck[] = { 14, ! 4, 180, 4, 484, 167, 82, 23, 22, 747, 818, ! 49, 216, 181, 424, 424, 182, 366, 261, 155, 156, ! 4, 130, 196, 45, 95, 14, 97, 162, 372, 352, ! 87, 372, 36, 424, 36, 552, 424, 641, 252, 78, ! 800, 364, 365, 45, 45, 727, 4, 4, 392, 985, ! 255, 392, 36, 820, 69, 137, 138, 4, 60, 225, ! 226, 45, 4, 394, 466, 246, 1431, 1438, 794, 128, ! 137, 142, 74, 150, 138, 12, 1554, 1554, 36, 36, ! 45, 45, 9, 1608, 4, 87, 45, 45, 45, 36, ! 92, 502, 502, 95, 36, 97, 85, 12, 45, 1549, ! 4, 12, 4, 45, 63, 1174, 311, 1176, 34, 82, ! 112, 31, 32, 128, 216, 1184, 36, 39, 58, 801, ! 63, 1696, 111, 3, 226, 45, 374, 375, 372, 1455, ! 1456, 49, 36, 210, 36, 533, 77, 64, 140, 154, ! 142, 45, 144, 7, 907, 87, 1472, 497, 392, 171, ! 913, 13, 34, 175, 61, 56, 140, 555, 508, 96, ! 67, 366, 1, 1, 65, 0, 109, 87, 111, 171, ! 1695, 1621, 62, 175, 175, 39, 141, 95, 96, 1754, ! 182, 220, 140, 431, 432, 111, 12, 171, 0, 111, ! 62, 175, 110, 140, 196, 110, 1522, 77, 140, 110, ! 62, 95, 1, 65, 1717, 1531, 1532, 50, 1534, 110, ! 175, 175, 61, 171, 1727, 1728, 175, 175, 175, 221, ! 140, 111, 61, 61, 171, 65, 65, 65, 175, 171, ! 56, 246, 247, 175, 196, 155, 156, 141, 110, 65, ! 49, 181, 112, 28, 49, 60, 261, 32, 110, 1699, ! 99, 171, 1730, 1730, 196, 175, 523, 216, 97, 97, ! 1773, 1024, 61, 62, 531, 13, 225, 226, 257, 171, ! 110, 175, 49, 155, 156, 157, 196, 49, 63, 361, ! 200, 201, 67, 4, 110, 1045, 95, 1737, 1048, 63, ! 95, 62, 1228, 62, 361, 56, 255, 3, 4, 5, ! 357, 110, 819, 65, 277, 376, 1632, 1633, 63, 444, ! 312, 474, 1825, 63, 62, 36, 77, 65, 95, 96, ! 202, 336, 95, 95, 1774, 140, 111, 197, 62, 3, ! 77, 34, 6, 110, 4, 5, 49, 111, 110, 110, ! 1761, 110, 344, 1103, 1104, 4, 5, 406, 110, 110, ! 414, 221, 311, 59, 60, 357, 111, 77, 32, 49, ! 1731, 111, 433, 529, 530, 367, 381, 182, 1094, 43, ! 551, 1624, 538, 1794, 376, 377, 110, 83, 393, 516, ! 517, 722, 95, 372, 519, 59, 60, 77, 554, 59, ! 60, 406, 1645, 377, 1759, 13, 787, 56, 95, 73, ! 59, 60, 1471, 392, 49, 95, 96, 366, 1661, 83, ! 62, 813, 814, 63, 73, 357, 1793, 91, 56, 377, ! 110, 95, 424, 109, 83, 427, 26, 65, 530, 62, ! 377, 433, 40, 63, 1197, 377, 1199, 357, 1815, 77, ! 606, 78, 686, 80, 62, 776, 468, 65, 56, 67, ! 95, 96, 155, 156, 157, 49, 65, 377, 110, 1, ! 56, 3, 4, 5, 1717, 110, 468, 468, 77, 428, ! 1406, 715, 543, 67, 1727, 1728, 26, 110, 28, 1161, ! 728, 77, 424, 49, 468, 1, 426, 3, 4, 5, ! 6, 49, 8, 495, 1098, 56, 498, 56, 56, 202, ! 502, 95, 541, 95, 424, 49, 987, 49, 32, 468, ! 468, 61, 1272, 1273, 56, 65, 77, 59, 60, 77, ! 1773, 468, 65, 485, 56, 77, 468, 43, 1, 95, ! 3, 4, 5, 65, 50, 3, 551, 95, 497, 26, ! 56, 543, 613, 59, 60, 77, 49, 97, 468, 13, ! 56, 95, 96, 95, 494, 803, 496, 497, 95, 56, ! 502, 65, 377, 56, 28, 61, 110, 26, 32, 28, ! 529, 530, 1825, 77, 61, 91, 49, 49, 65, 538, ! 77, 1344, 502, 56, 77, 49, 59, 60, 61, 62, ! 56, 26, 95, 28, 1357, 554, 516, 517, 62, 63, ! 56, 65, 61, 67, 4, 5, 65, 49, 56, 9, ! 97, 613, 49, 65, 50, 49, 618, 619, 620, 621, ! 622, 678, 95, 95, 96, 77, 61, 56, 643, 631, ! 65, 95, 96, 812, 516, 517, 518, 61, 97, 641, ! 78, 65, 644, 4, 5, 49, 110, 606, 77, 62, ! 1167, 49, 614, 95, 96, 525, 56, 56, 95, 59, ! 60, 95, 97, 67, 49, 78, 65, 80, 110, 1150, ! 1151, 686, 56, 73, 62, 677, 678, 49, 77, 927, ! 894, 895, 67, 83, 1095, 1095, 900, 3, 4, 5, ! 78, 95, 1036, 77, 696, 1036, 96, 95, 59, 60, ! 715, 703, 784, 705, 1095, 707, 668, 1095, 779, 1032, ! 95, 96, 674, 777, 676, 677, 110, 883, 1485, 65, ! 784, 77, 711, 95, 96, 8, 9, 110, 933, 110, ! 865, 77, 15, 907, 50, 49, 678, 1218, 1219, 913, ! 49, 110, 188, 59, 60, 707, 46, 49, 618, 32, ! 49, 1514, 714, 12, 696, 38, 56, 49, 678, 111, ! 60, 99, 724, 840, 47, 707, 49, 83, 785, 63, ! 785, 26, 731, 28, 694, 695, 696, 779, 648, 794, ! 1297, 95, 1549, 95, 61, 3, 95, 707, 65, 49, ! 730, 63, 1036, 95, 903, 56, 95, 49, 77, 49, ! 56, 49, 819, 95, 1148, 675, 61, 1148, 61, 824, ! 65, 681, 95, 516, 517, 518, 77, 113, 4, 5, ! 49, 77, 1339, 49, 1305, 96, 49, 697, 3, 4, ! 5, 6, 96, 835, 793, 95, 96, 908, 909, 1087, ! 911, 843, 97, 95, 96, 95, 96, 95, 96, 65, ! 1024, 95, 841, 793, 1621, 1336, 95, 28, 110, 95, ! 110, 32, 110, 7, 8, 9, 95, 34, 43, 95, ! 56, 15, 95, 59, 60, 50, 49, 747, 3, 4, ! 5, 843, 77, 1233, 59, 60, 363, 73, 32, 366, ! 367, 62, 63, 835, 38, 857, 67, 83, 77, 1034, ! 77, 843, 904, 47, 1148, 907, 908, 909, 83, 911, ! 96, 913, 77, 833, 834, 835, 91, 1398, 12, 63, ! 904, 56, 95, 843, 883, 50, 62, 1694, 62, 63, ! 65, 904, 1699, 1112, 59, 60, 1745, 61, 28, 62, ! 63, 65, 32, 1191, 1192, 1193, 904, 904, 868, 869, ! 1164, 1165, 1166, 835, 62, 63, 1695, 56, 83, 56, ! 56, 843, 904, 95, 110, 907, 65, 62, 1449, 65, ! 1737, 913, 62, 63, 933, 3, 4, 5, 77, 62, ! 63, 77, 984, 110, 904, 77, 988, 907, 56, 156, ! 157, 62, 63, 913, 4, 5, 1133, 1134, 3, 4, ! 5, 1136, 7, 8, 9, 1142, 1143, 1774, 1489, 56, ! 3, 4, 5, 922, 923, 924, 1018, 494, 65, 496, ! 497, 498, 1024, 1197, 77, 1199, 988, 32, 1030, 77, ! 77, 59, 60, 38, 62, 202, 62, 63, 110, 49, ! 1002, 111, 1004, 65, 1006, 111, 56, 1036, 110, 59, ! 60, 56, 110, 49, 59, 60, 61, 50, 110, 1798, ! 56, 1138, 113, 73, 110, 1080, 59, 60, 3, 4, ! 5, 49, 67, 83, 3, 4, 5, 6, 67, 1094, ! 9, 77, 1024, 86, 87, 95, 96, 110, 1030, 904, ! 83, 49, 110, 1095, 77, 1097, 1098, 28, 56, 95, ! 105, 106, 107, 32, 1024, 4, 5, 77, 1028, 1029, ! 1030, 89, 90, 56, 43, 93, 94, 95, 96, 77, ! 1082, 56, 992, 77, 59, 60, 61, 56, 62, 63, ! 59, 60, 835, 1135, 86, 87, 113, 95, 1177, 1178, ! 843, 113, 1144, 110, 73, 62, 63, 46, 1187, 1560, ! 1560, 1153, 3, 1095, 83, 1025, 56, 56, 1120, 1148, ! 59, 60, 91, 110, 1234, 1235, 95, 1237, 1416, 62, ! 1344, 1242, 1174, 62, 1176, 1095, 8, 344, 67, 95, ! 1182, 49, 1184, 1357, 77, 78, 110, 80, 77, 78, ! 1174, 110, 1176, 1135, 63, 1197, 67, 1199, 62, 63, ! 1184, 1174, 1144, 1176, 1219, 1207, 62, 63, 111, 1182, ! 62, 1184, 95, 1133, 1134, 1135, 1174, 1174, 1176, 1176, ! 4, 5, 1142, 1143, 1144, 111, 1184, 1184, 56, 1176, ! 63, 77, 1174, 38, 1176, 110, 67, 3, 4, 5, ! 1242, 1181, 1184, 67, 9, 67, 63, 110, 13, 110, ! 62, 1133, 1134, 1135, 1174, 1197, 1176, 1199, 67, 67, ! 1142, 1143, 1144, 113, 1184, 78, 1268, 1617, 110, 110, ! 110, 78, 56, 110, 78, 59, 60, 1197, 78, 1199, ! 1297, 78, 61, 110, 49, 65, 62, 65, 455, 456, ! 1305, 1173, 1369, 59, 60, 61, 110, 62, 65, 64, ! 65, 111, 67, 7, 8, 9, 3, 4, 5, 110, ! 1312, 15, 110, 78, 113, 80, 793, 3, 4, 5, ! 6, 110, 1361, 110, 96, 113, 1268, 1808, 1367, 1368, ! 95, 96, 1371, 1372, 38, 91, 1375, 1299, 77, 1301, ! 1514, 1303, 1344, 47, 49, 110, 1266, 1267, 1268, 110, ! 517, 518, 110, 50, 113, 1357, 110, 43, 110, 1174, ! 110, 1176, 59, 60, 110, 110, 1181, 1182, 1238, 1184, ! 1312, 111, 110, 59, 60, 1725, 1378, 65, 3, 4, ! 5, 6, 110, 63, 31, 32, 83, 34, 111, 61, ! 1310, 1311, 1312, 110, 1378, 110, 1369, 67, 3, 4, ! 5, 6, 1344, 110, 95, 1378, 95, 110, 1348, 111, ! 95, 1331, 1332, 60, 95, 1357, 63, 110, 43, 113, ! 1378, 1378, 69, 8, 1344, 50, 110, 74, 4, 5, ! 1133, 1134, 1135, 9, 59, 60, 1378, 1357, 43, 1142, ! 1143, 1144, 888, 1445, 110, 50, 1615, 110, 1617, 1616, ! 110, 113, 110, 98, 59, 60, 933, 110, 1378, 110, ! 62, 196, 62, 630, 631, 1427, 91, 1482, 65, 1471, ! 1173, 3, 4, 5, 6, 56, 110, 644, 83, 110, ! 56, 110, 65, 59, 60, 113, 91, 1471, 49, 110, ! 1529, 1530, 110, 1466, 110, 110, 67, 73, 1471, 110, ! 147, 110, 110, 110, 1506, 152, 110, 83, 155, 156, ! 157, 43, 1514, 1471, 1471, 34, 110, 113, 50, 110, ! 1725, 95, 65, 1393, 1394, 1395, 1396, 59, 60, 1471, ! 1007, 65, 63, 1348, 1404, 182, 703, 63, 705, 9, ! 707, 188, 63, 1722, 17, 111, 110, 1710, 110, 61, ! 1554, 1471, 1554, 200, 201, 202, 95, 1034, 1560, 91, ! 95, 63, 63, 1378, 1506, 56, 1581, 67, 95, 216, ! 1554, 109, 1514, 18, 104, 63, 1713, 1714, 56, 226, ! 3, 4, 5, 63, 1504, 1505, 1506, 1602, 1603, 63, ! 3, 4, 5, 110, 1514, 110, 1554, 1554, 3, 4, ! 5, 6, 63, 63, 62, 95, 1608, 1554, 255, 113, ! 67, 110, 1554, 63, 1616, 3, 4, 5, 1560, 7, ! 8, 9, 63, 270, 1608, 110, 12, 1790, 110, 95, ! 1793, 63, 1671, 56, 1554, 63, 59, 60, 43, 63, ! 1560, 110, 63, 1658, 1659, 50, 59, 60, 0, 1812, ! 1608, 1608, 1815, 1130, 59, 60, 1471, 0, 1617, 1136, ! 0, 1608, 176, 2, 311, 312, 1608, 36, 835, 1659, ! 777, 59, 60, 1095, 468, 1615, 843, 1617, 83, 3, ! 4, 5, 175, 7, 1554, 171, 91, 1689, 1608, 1721, ! 857, 1182, 1707, 1695, 1696, 1297, 99, 344, 144, 3, ! 4, 5, 869, 870, 314, 1644, 3, 4, 5, 1748, ! 1672, 1695, 1080, 1715, 824, 39, 737, 1339, 1167, 366, ! 367, 3, 4, 5, 1378, 1182, 1730, 1468, 1730, 1051, ! 739, 1601, 56, 678, 361, 59, 60, 1695, 1695, 3, ! 4, 5, 207, 7, 8, 9, 1730, 1689, 1695, 128, ! 485, 1549, 1754, 1695, 1696, 59, 60, 1486, 635, 56, ! 1730, 1776, 59, 60, 1745, 1742, 1725, 1792, 32, 1689, ! 852, 1248, 1730, 1730, 38, 1695, 1696, 59, 60, 1256, ! 427, 428, 1445, 1730, 1654, -1, 1726, -1, 1730, -1, ! 1672, -1, -1, 1713, 1714, 59, 60, -1, 445, -1, ! -1, 448, 3, 4, 5, 6, -1, 454, 455, 456, ! 1730, -1, 1754, 460, 83, 84, 85, 86, 87, 1689, ! -1, 3, 4, 5, 6, 1695, 1696, 58, -1, -1, ! 1307, 1713, 1714, 1715, 1754, 3, 4, 5, -1, 1316, ! -1, -1, 43, 83, 84, 85, 86, 87, 495, -1, ! 497, 498, -1, -1, -1, 56, -1, -1, 59, 60, ! 1730, 43, 1029, 1030, 511, -1, -1, 514, 50, 516, ! 517, 518, 73, -1, -1, 522, -1, 59, 60, 614, ! -1, 528, 83, 530, 1754, -1, 533, 3, 4, 5, ! 91, 59, 60, -1, 95, -1, 4, 5, 1768, -1, ! 3, 4, 5, 6, 1350, 1351, 9, 554, 555, 91, ! -1, -1, -1, -1, -1, 3, 4, 5, 1788, -1, ! -1, -1, -1, -1, 32, -1, -1, -1, 1798, 32, ! 32, 1377, -1, 668, 50, -1, 1382, -1, -1, 674, ! 43, 676, 677, 59, 60, -1, 49, -1, 56, 1819, ! 181, 59, 60, 56, -1, -1, 59, 60, -1, 606, ! -1, -1, 50, -1, -1, 73, -1, 1134, 1135, 1672, ! 73, 59, 60, -1, -1, 83, 1143, 1144, -1, 714, ! 83, -1, 629, 630, 631, -1, -1, 95, 91, 724, ! -1, -1, 95, 96, -1, -1, -1, 644, -1, 230, ! -1, -1, -1, -1, -1, -1, 1173, 3, 4, 5, ! 1713, 1714, 1715, -1, -1, 1461, 1462, -1, 1464, 1465, ! -1, 1467, 3, 4, 5, 6, 7, 8, 9, -1, ! 1507, 1508, -1, -1, 15, -1, -1, 3, 4, 5, ! 6, -1, -1, 82, -1, 147, -1, 694, 695, 696, ! 152, 32, 8, 9, 50, -1, 703, 38, 705, 15, ! 707, -1, 43, 59, 60, -1, 47, -1, 49, -1, ! 109, -1, -1, 1519, 1520, 56, 32, 43, 59, 60, ! -1, -1, 38, 49, 731, 1562, -1, -1, -1, -1, ! 56, 47, 73, 59, 60, 3, 4, 5, 137, 201, ! 1267, 1268, 83, 3, 4, 5, 6, 73, -1, -1, ! 91, 150, -1, -1, 95, 96, -1, 83, -1, -1, ! -1, 3, 4, 5, 6, 91, 1572, 1573, 1574, 95, ! 96, -1, -1, -1, -1, -1, 3, 4, 5, 6, ! 40, 41, 9, 43, 1311, 1312, 793, 794, 56, -1, ! 32, 59, 60, -1, -1, -1, 56, -1, -1, 59, ! 60, 43, -1, -1, -1, 32, -1, 49, 270, -1, ! -1, 210, -1, -1, 56, -1, 43, 59, 60, 3, ! 4, 5, 49, 1629, 1630, -1, 833, 834, 835, 56, ! -1, 73, 59, 60, -1, 426, 843, -1, -1, -1, ! -1, 83, 3, 4, 5, 6, 73, 246, 9, 91, ! 857, -1, -1, 95, 96, -1, 83, -1, -1, 866, ! 867, 868, 869, 870, 91, -1, -1, 874, 95, 96, ! -1, 32, -1, -1, -1, 59, 60, -1, 277, -1, ! -1, 888, 43, -1, -1, -1, -1, 3, 4, 5, ! 6, -1, -1, 988, -1, 56, -1, -1, 59, 60, ! -1, -1, -1, 494, -1, 496, 497, 1002, -1, 1004, ! -1, 1006, 73, 3, 4, 5, -1, -1, -1, 510, ! -1, -1, 83, -1, 335, 4, 933, 43, 519, -1, ! 91, -1, 523, -1, 95, 14, -1, 3, 4, 5, ! 531, -1, -1, 59, 60, 24, -1, -1, -1, -1, ! -1, -1, 31, 32, -1, 34, -1, 36, -1, -1, ! 1766, -1, -1, -1, -1, -1, 45, -1, -1, 59, ! 60, -1, 371, -1, -1, 91, -1, -1, -1, 58, ! -1, 60, -1, 445, -1, -1, 448, 1082, -1, -1, ! 69, -1, 391, 59, 60, 74, -1, -1, 460, -1, ! -1, 1008, 4, 5, 1011, -1, 85, 9, 87, -1, ! -1, -1, -1, 92, -1, 1022, 95, -1, 97, -1, ! -1, 1028, 1029, 1030, -1, 1120, -1, -1, -1, -1, ! 32, -1, 111, -1, -1, -1, -1, -1, 437, -1, ! -1, -1, 3, 4, 5, 6, -1, 49, -1, 511, ! -1, -1, 514, -1, 56, -1, -1, 59, 60, 138, ! -1, 140, -1, 142, -1, 144, 528, 146, 147, -1, ! -1, 73, 151, 152, -1, -1, 155, 156, 157, 40, ! 41, 83, 43, -1, -1, -1, -1, 1094, -1, -1, ! -1, -1, 171, 95, 96, 56, 175, -1, 59, 60, ! -1, -1, 181, 182, 3, 4, 5, 6, 81, 82, ! 83, 84, 85, 86, 87, 3, 4, 5, 6, -1, ! -1, 200, 201, 202, 1131, 1132, 1133, 1134, 1135, 3, ! 4, 5, 6, 1140, -1, 1142, 1143, 1144, -1, 730, ! -1, -1, -1, -1, 43, 1672, -1, 1154, 1155, 1156, ! -1, 230, 551, -1, -1, 43, -1, 56, 32, -1, ! 59, 60, 50, -1, 63, -1, 1173, -1, 247, 43, ! -1, 59, 60, -1, 73, 1182, -1, -1, 257, -1, ! -1, -1, 56, -1, 83, 59, 60, 1714, 1715, -1, ! -1, 270, 91, -1, -1, 83, 95, -1, -1, 73, ! -1, -1, 793, 91, 1299, -1, 1301, -1, 1303, 83, ! 609, -1, -1, -1, -1, -1, -1, 91, -1, -1, ! -1, 95, 81, 82, 83, 84, 85, 86, 87, 3, ! 4, 5, 6, 312, 313, 646, 647, -1, 649, 650, ! 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, ! 661, 662, 663, 664, 665, 666, -1, -1, -1, 1266, ! 1267, 1268, -1, -1, -1, -1, -1, 4, 5, 43, ! -1, 862, 9, -1, 865, -1, 50, -1, 357, -1, ! -1, -1, 361, -1, 363, 59, 60, 366, 367, -1, ! 881, -1, 691, -1, -1, 32, -1, 376, 377, -1, ! -1, 1308, 1309, 1310, 1311, 1312, -1, -1, 1315, 4, ! 5, 710, 49, -1, 9, -1, -1, 91, -1, 56, ! -1, -1, 59, 60, 1331, 1332, 1333, -1, -1, -1, ! -1, -1, 1427, -1, -1, 414, 73, 32, -1, -1, ! -1, -1, -1, 1350, 1351, 424, 83, 426, 427, -1, ! -1, 4, 5, -1, 433, -1, 435, -1, 95, 96, ! -1, 56, -1, -1, 59, 60, 445, -1, -1, 448, ! 1377, -1, 834, -1, -1, 1382, -1, -1, 73, 32, ! -1, 460, -1, -1, -1, -1, -1, -1, 83, 468, ! -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, ! 95, -1, -1, 56, 866, 867, 59, 60, -1, -1, ! -1, -1, 874, -1, -1, 494, 495, 496, 497, 498, ! 73, -1, -1, 502, -1, -1, -1, -1, -1, -1, ! 83, 510, 511, 1440, 1441, 514, 1443, 516, 517, 518, ! 519, 840, 95, 96, 523, -1, -1, -1, -1, 528, ! -1, -1, 531, -1, 1461, 1462, -1, 1464, 1465, -1, ! 1467, -1, -1, -1, 543, 200, 201, -1, -1, -1, ! -1, -1, 871, -1, -1, -1, -1, -1, -1, -1, ! 3, 4, 5, 6, 7, 8, 9, -1, 567, -1, ! 13, -1, 15, -1, -1, -1, -1, 1504, 1505, 1506, ! -1, -1, -1, -1, -1, -1, 29, -1, 31, 32, ! -1, -1, 1519, 1520, -1, 38, -1, -1, -1, -1, ! 43, -1, -1, -1, 47, -1, 925, -1, -1, -1, ! -1, -1, 611, 56, 613, -1, 59, 60, -1, 1130, ! 619, 620, 621, 622, -1, 1136, -1, -1, -1, 1, 73, 3, 4, 5, 6, 7, 8, 9, -1, -1, ! 83, -1, 641, 15, -1, 1572, 1573, 1574, 91, -1, ! -1, -1, 95, -1, -1, -1, 28, 29, -1, 31, ! 32, 33, -1, -1, -1, -1, 38, -1, -1, -1, ! 1181, 43, -1, -1, 46, 47, 48, -1, 50, 678, ! -1, 680, -1, -1, 56, 57, -1, 59, 60, 1616, ! 1617, 63, -1, 692, -1, 694, 695, 696, -1, -1, ! -1, 73, 1629, 1630, -1, -1, -1, -1, 707, -1, ! -1, 83, 711, 7, 8, 9, 1035, -1, 1037, 91, ! -1, 15, -1, 95, -1, -1, -1, 99, -1, -1, ! -1, 730, -1, -1, -1, -1, -1, -1, 32, -1, ! -1, -1, -1, -1, 38, 1672, -1, -1, -1, 1131, ! 1132, -1, -1, 47, -1, -1, -1, -1, 1140, -1, ! 3, 4, 5, 6, -1, -1, 9, -1, -1, 63, ! 1101, -1, 3, 4, 5, 6, -1, -1, 777, -1, ! 779, -1, -1, -1, -1, 784, 1713, 1714, 1715, 32, ! -1, -1, -1, -1, 793, 794, 1307, -1, 1725, -1, ! 43, -1, 84, -1, -1, 1316, 49, -1, -1, 40, ! 41, -1, 43, 56, -1, -1, 59, 60, -1, 1138, ! -1, -1, 1141, 1334, 1335, 56, -1, -1, 59, 60, ! 73, -1, -1, -1, 833, 834, 835, 1348, -1, 1766, ! 83, -1, 841, -1, 843, -1, -1, -1, 91, 7, ! 8, 9, 95, 96, -1, -1, 511, 15, -1, 514, ! 91, 516, 517, 862, -1, -1, 865, 866, 867, 868, ! 869, 870, -1, 528, 32, 874, -1, -1, -1, -1, ! 38, -1, 881, 165, -1, -1, -1, 4, 5, 47, ! -1, 1222, 9, -1, -1, -1, -1, -1, -1, -1, ! -1, 3, 4, 5, 6, 904, -1, 9, 907, 908, ! 909, -1, 911, -1, 913, 32, 198, -1, -1, -1, ! -1, 66, -1, 922, 923, 924, 1308, 1309, -1, 211, ! 32, -1, -1, 1315, 933, -1, 1447, -1, -1, 56, ! -1, 43, 59, 60, -1, -1, -1, 49, -1, -1, ! -1, -1, 1463, -1, 56, -1, 73, 59, 60, -1, ! -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, ! -1, 73, -1, -1, -1, -1, -1, -1, 95, 880, ! -1, 83, -1, -1, -1, 984, -1, 4, 5, 91, ! -1, -1, 9, 95, 96, -1, 1507, 1508, -1, -1, ! -1, 146, -1, -1, -1, 906, -1, -1, 1007, 1008, ! -1, 912, 1011, -1, -1, 32, -1, 162, -1, 1018, ! -1, -1, -1, 1022, -1, 1024, -1, -1, -1, 1028, ! 1029, 1030, 49, -1, -1, 1034, -1, 1036, -1, 56, ! -1, -1, 59, 60, -1, -1, -1, -1, -1, -1, ! 1369, 1562, 3, 4, 5, 6, 73, -1, -1, -1, ! 4, 5, -1, 7, 8, 9, 83, -1, -1, 13, ! -1, 15, -1, -1, 219, -1, -1, -1, 95, 96, ! -1, -1, -1, 228, -1, 29, -1, 31, 32, -1, ! -1, -1, 43, -1, 38, -1, 1095, -1, 1097, 1098, ! 245, -1, -1, 47, 1615, 49, 1617, -1, 59, 60, ! -1, 256, 56, -1, -1, 59, 60, -1, 1019, -1, ! 1021, -1, -1, 1442, -1, -1, -1, -1, -1, 73, ! -1, 1130, 1131, 1132, 1133, 1134, 1135, 1136, -1, 83, ! 91, 1140, -1, 1142, 1143, 1144, -1, 1466, -1, 1148, ! -1, 95, 96, -1, 1153, 1154, 1155, 1156, 79, 80, ! 81, 82, 83, 84, 85, 86, 87, -1, 4, 5, ! -1, 1170, -1, 9, 1173, 1174, -1, 1176, 833, 834, ! -1, -1, 1181, 1182, -1, 1184, -1, -1, -1, 3, ! 4, 5, 6, -1, -1, -1, 32, -1, 1197, -1, ! 1199, -1, -1, -1, -1, -1, -1, -1, 1207, -1, ! -1, 866, 867, 868, 869, 1726, -1, -1, -1, 874, ! 56, -1, -1, 59, 60, -1, -1, -1, -1, 43, ! 3, 4, 5, 6, -1, 1234, 1235, 73, 1237, 521, ! -1, -1, 56, 1242, 526, 59, 60, 83, -1, 1248, ! -1, 4, 5, -1, 7, 8, 9, 1256, -1, 95, ! 13, -1, 15, -1, -1, -1, -1, 1266, 1267, 1268, ! 43, -1, -1, -1, -1, 557, 29, 91, 31, 32, ! -1, -1, 564, -1, -1, 38, 59, 60, -1, -1, ! 435, -1, -1, -1, 47, 1196, 49, 1198, -1, 444, ! -1, -1, -1, 56, -1, -1, 59, 60, 1307, 1308, ! 1309, 1310, 1311, 1312, -1, -1, 1315, 1316, 91, -1, ! 73, -1, -1, -1, -1, 607, 608, -1, 610, -1, ! 83, 476, 1331, 1332, 1333, 1334, 1335, -1, -1, -1, ! -1, -1, 95, 96, -1, 1344, -1, -1, -1, 1348, ! -1, -1, -1, -1, -1, -1, -1, 1258, 1357, -1, ! -1, -1, -1, -1, -1, 510, -1, -1, 4, 5, ! -1, 1370, -1, 9, 519, -1, -1, -1, -1, 1378, ! 4, -1, -1, 4, 5, -1, -1, -1, 9, -1, ! 14, -1, -1, -1, -1, 540, 32, -1, -1, 23, ! 24, -1, -1, -1, -1, -1, -1, 31, 32, -1, ! 34, 32, 36, 49, -1, -1, -1, 699, 700, -1, ! 56, 45, 567, 59, 60, -1, 708, -1, 49, -1, ! -1, -1, -1, -1, 58, 56, 60, 73, 59, 60, ! -1, 1440, 1441, -1, 1443, 69, 1445, 83, 1447, -1, ! 74, -1, 73, -1, -1, -1, -1, -1, -1, 95, ! 96, -1, 83, 87, 1463, -1, -1, -1, 92, 1468, ! -1, 95, 1471, 97, 95, 96, 1131, 1132, 1133, 1134, ! -1, -1, -1, -1, -1, 1140, -1, 1142, 1143, 79, ! 80, 81, 82, 83, 84, 85, 86, 87, -1, 1154, ! 1155, 1156, -1, -1, -1, 1504, 1505, 1506, 1507, 1508, ! -1, -1, -1, -1, -1, 1514, 140, -1, 142, 1420, ! 144, -1, 146, 147, -1, -1, -1, -1, 152, -1, ! -1, 155, 156, 157, -1, -1, -1, 4, 5, -1, ! -1, 8, 9, 3, 4, 5, 6, 171, 15, -1, ! 1451, 175, -1, -1, -1, 837, 1457, 181, 182, -1, ! -1, 1560, 29, 1562, 31, 32, -1, -1, -1, -1, ! -1, 38, 1473, 1474, -1, -1, 200, 201, 202, -1, ! 47, -1, -1, 43, -1, -1, 694, 695, 4, 56, ! 872, -1, 59, 60, 61, 1496, 56, -1, -1, 59, ! 60, -1, -1, 63, -1, 65, 230, -1, -1, -1, ! -1, -1, -1, 73, -1, -1, 1615, 1616, 1617, -1, ! 36, -1, -1, 83, -1, -1, -1, -1, 95, 45, ! -1, 91, 914, -1, 916, 95, -1, -1, -1, 1540, ! 1541, -1, 58, -1, 60, -1, 270, 4, 5, -1, ! -1, 8, 9, 1308, 1309, 1310, 1311, -1, 15, -1, ! 1315, -1, 1563, 1564, -1, 1566, 3, 4, 5, 6, ! -1, -1, 29, 1672, 31, 32, 1331, 1332, -1, -1, ! -1, 38, -1, -1, -1, -1, -1, -1, 312, 313, 47, -1, -1, -1, -1, -1, -1, -1, -1, 56, ! -1, -1, 59, 60, -1, -1, 43, -1, 990, 991, ! -1, 993, -1, 50, 1713, 1714, 1715, 862, -1, -1, ! 865, -1, 59, 60, 140, 833, 834, 1726, -1, -1, ! 146, -1, -1, 357, -1, -1, 881, 361, 95, 363, ! -1, 1023, 366, 367, -1, -1, 83, -1, 372, -1, ! -1, -1, 376, 377, 91, 171, -1, -1, -1, 175, ! -1, -1, -1, -1, -1, 181, 182, -1, 392, -1, ! -1, -1, 3, 4, 5, 6, 7, 8, 9, 1680, ! -1, -1, -1, -1, 15, 1440, 1441, -1, 1443, -1, ! 414, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 424, 32, 426, 427, -1, -1, -1, 38, -1, 433, ! -1, 435, 43, -1, 230, -1, 47, -1, 49, -1, ! -1, 445, -1, -1, 448, 56, -1, -1, 59, 60, ! -1, -1, -1, -1, -1, -1, 460, -1, -1, -1, ! -1, -1, 73, -1, 468, 3, 4, 5, 6, 1504, ! 1505, -1, 83, -1, -1, -1, -1, 1139, -1, -1, ! 91, -1, 1007, -1, 95, 96, -1, -1, -1, -1, ! 494, 495, 496, 497, 498, -1, -1, -1, 502, -1, ! -1, -1, -1, -1, -1, 43, 510, 511, -1, 1034, ! 514, -1, 516, 517, 518, 519, -1, -1, 56, 523, ! 1008, 59, 60, 1011, 528, 63, -1, 531, -1, -1, ! -1, 4, 5, -1, 1022, 73, 9, -1, -1, 543, ! 1028, 1029, -1, -1, -1, 83, -1, -1, 552, -1, ! -1, -1, -1, 91, -1, -1, -1, 95, -1, 32, ! -1, -1, -1, 567, -1, -1, -1, -1, 3, 4, ! 5, 6, 7, 8, 9, -1, 49, -1, 13, -1, ! 15, 377, -1, 56, -1, -1, 59, 60, -1, -1, ! 1252, -1, -1, -1, 29, -1, 31, 32, -1, -1, ! 73, -1, -1, 38, -1, 1130, -1, -1, 43, 613, ! 83, 1136, 47, -1, 49, 619, 620, 621, 622, -1, ! -1, 56, 95, 96, 59, 60, -1, -1, -1, -1, ! 426, -1, -1, -1, -1, -1, -1, 641, 73, 435, ! -1, 4, 5, 1131, 1132, 1133, 1134, -1, 83, -1, ! -1, 1313, 1140, -1, 1142, 1143, 91, -1, -1, -1, ! 95, 96, -1, -1, -1, -1, -1, -1, -1, 32, ! -1, -1, 468, -1, 678, -1, 680, -1, 1713, 1714, ! -1, 1343, 3, 4, 5, 6, 49, -1, -1, -1, ! 694, 695, 696, 56, 1356, -1, 59, 60, 494, 495, ! 496, 497, -1, 707, -1, -1, 502, -1, -1, -1, ! 73, -1, -1, -1, 510, -1, -1, -1, 722, -1, ! 83, 1383, 43, 1248, -1, 1387, 730, 523, -1, 50, ! -1, 1256, 95, 96, -1, 531, -1, -1, 59, 60, ! -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, ! 5, 6, -1, -1, 9, 3, 4, 5, 6, -1, ! 1422, -1, 83, -1, -1, -1, -1, -1, -1, -1, ! 91, 567, -1, 777, -1, 779, -1, 32, 1266, 1267, ! -1, 785, 1307, -1, -1, -1, -1, -1, 43, 793, ! 794, 1316, -1, -1, 49, 43, -1, -1, -1, -1, ! -1, 56, 50, -1, 59, 60, -1, -1, -1, 1334, ! 1335, 59, 60, 1475, 1476, 819, -1, -1, 73, -1, ! 1308, 1309, 1310, 1311, -1, -1, -1, 1315, 83, 833, ! 834, 835, -1, -1, -1, 83, 91, -1, -1, 843, ! 95, 96, -1, 91, -1, 3, 4, 5, 6, -1, ! 1512, 1513, -1, -1, -1, -1, 1518, -1, 862, -1, ! -1, 865, 866, 867, 868, 869, 870, -1, -1, -1, ! 874, -1, -1, -1, 32, -1, -1, 881, -1, -1, ! -1, -1, -1, -1, -1, 43, -1, -1, -1, -1, ! -1, 49, -1, -1, -1, -1, -1, -1, 56, -1, ! 904, 59, 60, 907, 908, 909, -1, 911, -1, 913, ! -1, -1, -1, -1, -1, 73, -1, -1, 922, 923, ! 924, -1, 1447, -1, -1, 83, -1, -1, -1, 933, ! -1, -1, -1, 91, 730, -1, -1, 95, 96, 75, ! 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, ! 86, 87, 1440, 1441, -1, 1443, -1, -1, -1, -1, ! -1, -1, -1, -1, 1, 1627, 3, 4, 5, 6, ! 7, 8, 9, -1, -1, -1, -1, -1, 15, -1, ! 984, -1, 1507, 1508, -1, -1, -1, -1, -1, -1, ! -1, -1, 29, -1, 31, 32, 33, 793, -1, -1, ! -1, 38, -1, 1007, 1008, -1, 43, 1011, -1, -1, ! 47, -1, -1, 50, 1018, -1, 1504, 1505, 1022, 56, ! 1024, -1, 59, 60, 1028, 1029, 1030, -1, -1, -1, ! 1034, -1, 1036, -1, -1, -1, 73, 1562, -1, -1, ! -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, ! -1, -1, -1, -1, 91, -1, -1, -1, 95, -1, ! -1, -1, 99, -1, -1, -1, 862, 3, 4, 5, ! 6, 76, 77, 9, 79, 80, 81, 82, 83, 84, ! 85, 86, 87, -1, -1, 881, -1, -1, -1, -1, ! -1, 1095, -1, 1097, 1098, -1, 32, -1, -1, -1, ! -1, 3, 4, 5, 6, -1, -1, 43, 904, -1, ! -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, ! 56, -1, -1, 59, 60, -1, 1130, 1131, 1132, 1133, ! 1134, 1135, 1136, -1, -1, -1, 1140, 73, 1142, 1143, ! 1144, 43, -1, -1, 1148, -1, -1, 83, 50, 1153, ! 1154, 1155, 1156, 13, -1, 91, -1, 59, 60, 95, ! 96, -1, -1, 1167, -1, -1, 1170, -1, -1, 1173, ! 1174, -1, 1176, -1, -1, -1, -1, 1181, 1182, -1, ! 1184, 83, -1, -1, -1, -1, -1, -1, -1, 91, ! -1, -1, -1, 1197, -1, 1199, -1, -1, -1, -1, ! -1, -1, -1, 1207, -1, 65, 66, 67, 68, 69, ! 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, ! 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, ! 1234, 1235, -1, 1237, -1, -1, -1, -1, 1242, -1, ! -1, -1, -1, -1, 1248, 3, 4, 5, 6, 7, ! 8, 9, 1256, -1, -1, 13, -1, 15, -1, -1, ! -1, -1, 1266, 1267, 1268, -1, -1, -1, -1, -1, ! -1, 29, -1, 31, 32, -1, -1, -1, -1, -1, ! 38, -1, -1, -1, -1, 43, -1, -1, -1, 47, ! -1, 49, -1, 1297, -1, -1, -1, -1, 56, -1, ! -1, 59, 60, 1307, 1308, 1309, 1310, 1311, 1312, -1, ! -1, 1315, 1316, -1, -1, 73, -1, -1, -1, 3, ! 4, 5, 6, -1, -1, 83, -1, 1331, 1332, 1333, ! 1334, 1335, -1, 91, 1130, 1339, -1, 95, 96, -1, ! 1344, 4, -1, -1, 1348, -1, -1, -1, 32, -1, ! -1, -1, -1, 1357, -1, -1, -1, -1, -1, 43, ! -1, -1, -1, -1, -1, 49, -1, 112, 31, 32, ! -1, 34, 56, 36, 1378, 59, 60, -1, 1174, -1, ! 1176, -1, 45, -1, -1, 1181, 1182, -1, 1184, 73, ! -1, -1, -1, -1, -1, 58, -1, 60, -1, 83, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, ! -1, 95, 96, -1, -1, -1, -1, -1, -1, 82, ! -1, -1, 85, -1, -1, 3, 4, 5, 6, -1, ! -1, 9, -1, -1, -1, -1, 1440, 1441, -1, 1443, ! -1, 1445, -1, 1447, -1, -1, -1, -1, -1, -1, ! -1, 196, -1, -1, 32, -1, -1, -1, -1, 1463, ! -1, -1, -1, -1, 1468, 43, -1, 1471, -1, -1, ! -1, -1, -1, -1, 137, 138, 221, 140, 56, -1, ! -1, 59, 60, 146, 147, -1, -1, 150, 151, 152, ! -1, -1, 155, 156, 157, 73, -1, -1, -1, 162, ! 1504, 1505, 1506, 1507, 1508, 83, -1, -1, 171, -1, ! 1514, 1307, 175, 91, -1, -1, -1, 95, 181, 182, ! 1316, -1, -1, 4, 5, -1, 7, 8, 9, -1, ! -1, -1, -1, -1, 15, -1, -1, 200, 201, 202, ! -1, -1, -1, -1, -1, -1, -1, 210, 29, -1, ! 31, 32, 1348, -1, -1, -1, 1560, 38, 1562, -1, ! -1, -1, -1, -1, -1, -1, 47, 230, -1, 50, ! -1, -1, -1, -1, -1, 56, -1, -1, 59, 60, ! -1, -1, 1378, -1, -1, -1, -1, -1, -1, -1, ! 3, 4, 5, 6, 7, 8, 9, -1, -1, 344, ! 1604, -1, 15, -1, -1, -1, -1, 270, -1, -1, ! -1, 1615, 1616, 1617, 277, -1, 29, -1, 31, 32, ! 33, -1, -1, -1, -1, 38, -1, -1, 4, 5, ! 43, -1, 8, 9, 47, -1, -1, 50, -1, 15, ! -1, -1, -1, 56, -1, -1, 59, 60, -1, -1, ! -1, -1, -1, 29, -1, 31, 32, -1, -1, -1, ! 73, -1, 38, -1, -1, -1, -1, 1463, 1672, -1, ! 83, 47, 1468, 49, -1, 1471, -1, -1, 91, 424, ! 56, 344, 95, 59, 60, -1, 99, -1, 92, -1, ! -1, 95, -1, 97, -1, -1, -1, 73, 361, -1, ! -1, -1, -1, -1, -1, -1, -1, 83, 371, 1713, ! 1714, 1715, -1, -1, 377, -1, -1, -1, -1, 95, ! 96, -1, 1726, -1, -1, -1, -1, -1, 391, -1, ! -1, -1, 4, 5, -1, -1, 8, 9, 142, -1, ! 144, -1, -1, 15, -1, -1, -1, -1, -1, -1, ! -1, 414, -1, -1, -1, -1, -1, 502, -1, -1, ! 32, -1, -1, 426, -1, -1, 38, -1, -1, -1, ! -1, -1, 435, -1, 437, 47, -1, 49, -1, -1, ! -1, 444, 445, -1, 56, 448, -1, 59, 60, -1, ! -1, 454, 455, 456, -1, -1, -1, 460, -1, -1, ! -1, 73, -1, -1, -1, 468, -1, -1, -1, -1, ! -1, 83, -1, -1, -1, -1, -1, -1, -1, 1615, ! 1616, 1617, -1, 95, 96, -1, -1, 3, 4, 5, ! 6, 494, 495, 496, 497, -1, -1, -1, -1, 502, ! -1, -1, -1, -1, -1, -1, -1, 510, 511, -1, ! -1, 514, -1, 516, 517, 518, 519, -1, -1, -1, ! 523, -1, -1, -1, -1, 528, -1, 43, 531, -1, ! -1, -1, -1, 618, 619, 620, 621, 622, -1, -1, ! 56, -1, -1, 59, 60, -1, 631, -1, -1, 65, ! -1, -1, -1, -1, -1, -1, -1, 73, -1, 644, ! -1, -1, -1, -1, 567, -1, -1, 83, -1, -1, ! -1, -1, -1, -1, -1, 91, -1, 321, 322, 95, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, ! 1726, 335, 677, 337, -1, -1, 340, -1, -1, 343, ! -1, -1, 346, -1, -1, -1, 350, -1, -1, -1, ! -1, 696, -1, -1, 358, -1, 31, 32, 703, 34, ! 705, 36, 707, -1, -1, -1, 629, 630, 631, -1, ! 45, -1, 376, -1, -1, -1, -1, -1, -1, -1, ! -1, 644, -1, 58, -1, 60, 71, 72, 73, 74, ! 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, ! 85, 86, 87, 3, 4, 5, 6, 7, 8, 9, ! 85, 74, 75, 76, 77, 15, 79, 80, 81, 82, ! 83, 84, 85, 86, 87, -1, -1, -1, 691, 433, ! -1, -1, 32, -1, -1, -1, -1, -1, 38, -1, ! 703, -1, 705, 43, 707, -1, -1, 47, -1, 49, ! -1, -1, -1, -1, -1, -1, 56, -1, -1, 59, ! 60, -1, -1, -1, -1, 140, -1, 730, -1, -1, ! -1, 146, 147, 73, -1, -1, 151, 152, -1, -1, ! 155, 156, 157, 83, -1, -1, -1, -1, -1, -1, ! 835, 91, -1, -1, -1, 95, 171, -1, 843, -1, ! 175, -1, -1, -1, -1, -1, 181, 182, -1, -1, ! -1, -1, -1, -1, 777, -1, -1, -1, -1, -1, ! -1, 784, -1, -1, -1, 200, 201, 202, -1, -1, ! 793, 4, 5, -1, -1, 8, 9, -1, -1, 543, ! -1, -1, 15, 76, 77, 78, 79, 80, 81, 82, ! 83, 84, 85, 86, 87, 230, -1, -1, -1, 32, ! -1, -1, 907, -1, -1, 38, -1, -1, 913, -1, ! 833, 834, 835, -1, 47, -1, 49, 840, 841, -1, ! 843, -1, -1, 56, -1, -1, 59, 60, -1, -1, ! -1, -1, -1, -1, 857, 270, -1, -1, -1, 862, ! 73, -1, 865, 866, 867, 868, 869, 870, -1, 613, ! 83, 874, -1, -1, -1, -1, -1, -1, 881, -1, ! -1, -1, 95, 96, -1, 629, 630, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, 641, -1, 984, ! -1, 904, 646, 647, -1, 649, 650, 651, 652, 653, ! 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, ! 664, 665, 666, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 1018, -1, -1, -1, -1, -1, 1024, ! 73, 74, 75, 76, 77, 1030, 79, 80, 81, 82, ! 83, 84, 85, 86, 87, -1, -1, 372, -1, -1, ! -1, -1, 377, 74, 75, 76, 77, 78, 79, 80, ! 81, 82, 83, 84, 85, 86, 87, 392, 279, 280, ! 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, ! 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, ! 301, 302, 303, 304, 305, 306, 307, -1, 309, -1, ! 1095, 426, 1097, -1, -1, -1, -1, -1, -1, -1, ! 435, -1, -1, -1, -1, 1028, 1029, 1030, -1, -1, ! 445, 1034, 1035, 448, -1, 779, -1, -1, -1, -1, ! 34, -1, -1, -1, -1, 460, -1, -1, -1, -1, ! 1135, -1, -1, 468, 3, 4, 5, 6, -1, 1144, ! 9, -1, -1, -1, 58, 75, 76, 77, 1153, 79, ! 80, 81, 82, 83, 84, 85, 86, 87, -1, 494, ! 495, 496, 497, 32, -1, -1, -1, 502, -1, -1, ! -1, -1, -1, -1, 43, 510, 511, -1, -1, 514, ! -1, 516, 517, 518, -1, -1, -1, 56, 523, -1, ! 59, 60, 1197, 528, 1199, -1, 531, -1, -1, -1, ! -1, -1, 1207, -1, 73, -1, -1, 1130, 1131, 1132, ! 1133, 1134, 1135, 1136, 83, 1138, -1, 1140, 1141, 1142, ! 1143, 1144, 91, -1, -1, 1148, 95, -1, -1, -1, ! -1, -1, 567, -1, -1, -1, -1, -1, -1, -1, ! -1, 155, 156, 157, 908, 909, -1, 911, -1, -1, ! 1173, 1174, -1, 1176, -1, -1, -1, -1, 1181, 1182, ! -1, 1184, -1, 1268, -1, -1, -1, 181, 1, -1, ! 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, ! -1, -1, 15, -1, -1, -1, 200, 201, 202, -1, -1, -1, -1, -1, -1, -1, 29, -1, 31, 32, ! -1, -1, -1, -1, -1, 38, -1, 1312, -1, -1, ! 43, -1, -1, -1, 47, -1, 230, 50, -1, -1, -1, -1, -1, 56, -1, -1, 59, 60, -1, -1, ! 63, -1, 996, -1, -1, -1, -1, -1, -1, 1344, ! 73, -1, -1, 1266, 1267, 1268, -1, -1, -1, -1, ! 83, -1, 1357, -1, -1, -1, -1, 692, 91, -1, ! 581, -1, 95, -1, 1028, 1029, -1, -1, -1, -1, ! -1, 3, 4, 5, 6, -1, -1, 9, -1, -1, ! -1, -1, -1, 604, 1307, 1308, 1309, 1310, 1311, 1312, ! -1, 612, 1315, 1316, -1, 730, -1, -1, -1, 313, ! 32, -1, -1, -1, 3, 4, 5, 6, 7, 8, ! 9, 43, -1, -1, 13, -1, 15, -1, -1, -1, ! -1, -1, -1, -1, 56, 1348, -1, 59, 60, -1, ! 29, -1, 31, 32, 1098, -1, -1, 1101, -1, 38, ! 1445, 73, -1, -1, 43, -1, 1369, 1370, 47, 363, ! 49, 83, 366, 367, -1, 1378, -1, 56, 793, 91, ! 59, 60, -1, 95, 3, 4, 5, 6, -1, -1, ! 9, -1, -1, -1, 73, -1, -1, -1, 1142, 1143, ! -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, ! -1, -1, 91, 32, -1, -1, 95, 96, 833, 834, ! 835, 1506, -1, -1, 43, -1, 841, -1, 843, 1514, ! -1, -1, 426, -1, -1, -1, -1, 56, -1, -1, ! 59, 60, -1, -1, -1, -1, -1, 862, -1, -1, ! -1, 866, 867, -1, 73, -1, -1, -1, -1, 874, ! 1463, -1, -1, 1466, 83, 1468, 881, -1, 1471, -1, ! -1, -1, 91, -1, -1, 1560, 95, -1, 1222, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 904, ! -1, -1, -1, -1, -1, -1, 1240, -1, 1242, -1, ! 494, -1, 496, 497, 498, 1, -1, -1, 4, 5, ! -1, -1, 8, 9, -1, -1, 510, 511, -1, 15, ! 514, -1, 516, 517, 518, 519, -1, -1, -1, 523, ! -1, -1, -1, 29, 528, 31, 32, 531, -1, -1, ! -1, -1, 38, -1, 40, 41, -1, -1, -1, -1, ! -1, 47, -1, 49, -1, -1, -1, -1, -1, -1, ! 56, -1, -1, 59, 60, -1, 62, -1, -1, -1, ! 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, ! 86, -1, -1, 89, 90, 91, -1, 93, -1, -1, ! 96, -1, 3, 4, 5, 6, -1, -1, 9, -1, ! -1, 58, 1615, 1616, 1617, -1, 112, 918, 919, 1, ! -1, 1036, 4, 5, -1, -1, 8, 9, -1, -1, ! 1715, 32, -1, 15, -1, 82, -1, -1, 85, -1, ! -1, -1, 43, -1, -1, -1, -1, 29, -1, 31, ! 32, 3, 4, 5, 6, 56, 38, 9, 59, 60, ! -1, -1, 109, -1, 111, 47, -1, -1, -1, 1672, ! -1, -1, 73, -1, 56, -1, -1, 59, 60, -1, ! 32, -1, 83, -1, -1, -1, 680, -1, -1, -1, ! 91, 43, -1, -1, 95, -1, -1, -1, -1, -1, ! 694, 695, 696, -1, 56, -1, -1, 59, 60, -1, ! 1713, 1714, 1715, 707, -1, 1130, 1131, 1132, 1133, 1134, ! 1135, 73, -1, 1726, -1, 1140, -1, 1142, 1143, 1144, ! -1, 83, -1, 1148, 181, -1, 730, -1, -1, 91, ! -1, -1, 1, 95, 3, 4, 5, 6, 7, 8, ! 9, -1, -1, 200, 201, 202, 15, -1, 1173, 1174, ! -1, 1176, -1, 210, -1, -1, 1181, 1182, -1, 1184, ! 29, -1, 31, 32, 33, -1, -1, -1, -1, 38, ! 39, -1, -1, 230, 43, -1, -1, -1, 47, 48, ! -1, 50, -1, -1, -1, -1, -1, 56, -1, 793, ! 59, 60, -1, -1, 63, -1, 65, -1, -1, -1, ! 257, -1, -1, -1, 73, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 83, 3, 4, 5, 6, -1, ! 277, 9, 91, -1, -1, -1, 95, -1, -1, 833, ! 834, 835, -1, -1, -1, -1, -1, -1, -1, 843, ! -1, -1, 111, -1, 32, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 1608, 43, -1, -1, 862, -1, ! -1, 865, 866, 867, 868, 869, 870, -1, 56, -1, ! 874, 59, 60, -1, -1, -1, -1, 881, -1, -1, ! -1, -1, 1307, 1308, 1309, 73, 3, 4, 5, 6, ! 1315, 1316, -1, -1, -1, 83, -1, -1, -1, -1, ! -1, -1, -1, 91, -1, -1, -1, 95, -1, -1, ! -1, -1, -1, -1, 371, 372, -1, -1, 922, 923, ! 924, -1, -1, 1348, -1, -1, 43, 4, 5, 933, ! 7, 8, 9, -1, 391, 392, 13, -1, 15, 56, ! -1, -1, 59, 60, -1, 1370, -1, -1, 65, -1, ! -1, -1, 29, 1378, 31, 32, 73, -1, -1, 1713, ! 1714, 38, -1, -1, -1, -1, 83, -1, -1, 426, ! 47, -1, -1, -1, 91, -1, -1, -1, 95, 56, ! -1, -1, 59, 60, -1, -1, -1, -1, 3, 4, ! 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, ! 15, -1, -1, 1007, 1008, -1, -1, 1011, -1, -1, ! -1, -1, -1, -1, 29, -1, 31, 32, 1022, -1, ! -1, -1, -1, 38, 1028, 1029, 1030, -1, 43, -1, ! 1034, -1, 47, -1, 49, -1, -1, 494, 1463, 496, ! 497, 56, -1, 1468, 59, 60, 1471, -1, -1, -1, ! -1, -1, -1, 510, 511, -1, -1, 514, 73, 516, ! 517, 518, 519, 32, -1, -1, 523, -1, 83, -1, ! -1, 528, -1, -1, 531, -1, 91, -1, -1, -1, ! 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 196, -1, -1, -1, -1, -1, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, ! -1, -1, -1, -1, -1, -1, 1130, 1131, 1132, 1133, ! 1134, 1135, 1136, -1, -1, -1, 1140, -1, 1142, 1143, ! 1144, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 1154, 1155, 1156, -1, -1, -1, 1, -1, 3, 4, ! 5, 6, 7, 8, 9, -1, -1, -1, -1, 1173, ! 15, -1, -1, -1, -1, -1, -1, 1181, -1, 3, ! 4, 5, 6, -1, 29, -1, 31, 32, 33, -1, ! 1615, 1616, 1617, 38, 39, -1, -1, -1, 43, -1, ! -1, -1, 47, 48, -1, 50, -1, -1, 32, -1, ! -1, 56, -1, -1, 59, 60, -1, -1, 63, 43, ! 65, -1, -1, -1, -1, -1, -1, -1, 73, -1, ! 1234, 1235, 56, 1237, -1, 59, 60, -1, 83, -1, ! -1, -1, -1, -1, 1248, -1, 91, 1672, -1, 73, ! 95, -1, 1256, 710, 711, -1, -1, -1, -1, 83, ! -1, -1, 1266, 1267, 1268, -1, 111, 91, -1, -1, ! -1, 95, -1, 730, -1, -1, -1, -1, -1, -1, ! 385, -1, -1, -1, -1, -1, -1, -1, 1713, 1714, ! 1715, 4, 5, -1, 7, 8, 9, -1, -1, -1, ! 13, 1726, 15, 1307, 1308, 1309, 1310, 1311, 1312, -1, ! -1, 1315, 1316, -1, -1, -1, 29, -1, 31, 32, ! -1, -1, -1, -1, -1, 38, -1, 1331, 1332, 1333, ! 1334, 1335, -1, -1, 47, -1, 793, -1, -1, -1, ! -1, -1, -1, 56, 1348, -1, 59, 60, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, 363, -1, -1, ! 366, 367, 3, 4, 5, 6, 7, 8, 9, -1, ! -1, -1, -1, -1, 15, -1, 833, 834, 835, 484, ! 485, -1, -1, 840, 841, -1, 843, -1, 29, -1, ! 31, 32, -1, -1, -1, -1, -1, 38, -1, -1, ! -1, -1, 43, -1, -1, 862, 47, -1, 865, 866, ! 867, 868, 869, 870, 871, 56, -1, 874, 59, 60, ! -1, -1, 63, -1, 881, -1, 3, 4, 5, 6, ! -1, -1, 73, -1, -1, -1, 1440, 1441, -1, 1443, ! -1, -1, 83, 1447, -1, -1, 903, -1, -1, -1, ! 91, -1, -1, -1, 95, 32, -1, -1, -1, 1463, ! 72, 73, 74, 75, 76, 77, 43, 79, 80, 81, ! 82, 83, 84, 85, 86, 87, -1, -1, -1, 56, ! -1, -1, 59, 60, -1, -1, -1, -1, 494, -1, ! 496, 497, 498, -1, -1, -1, 73, -1, -1, -1, ! 1504, 1505, 1506, 1507, 1508, -1, 83, -1, -1, 614, ! -1, -1, 617, -1, 91, -1, -1, -1, 95, -1, ! 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, ! -1, -1, 15, -1, -1, -1, -1, -1, 643, -1, ! 4, 5, -1, 7, 8, 9, 29, -1, 31, 32, ! -1, 15, -1, -1, -1, 38, -1, -1, 1562, -1, ! 43, -1, -1, 668, 47, 29, -1, 31, 32, 674, ! -1, 676, 677, 56, 38, -1, 59, 60, 1035, 1036, ! 1037, -1, 65, 47, -1, -1, -1, -1, -1, -1, ! 73, -1, 56, -1, -1, 59, 60, -1, -1, -1, ! 83, -1, 707, -1, -1, -1, -1, -1, 91, 714, ! -1, 1615, 95, 1617, -1, -1, -1, -1, -1, 724, ! 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, ! 80, 81, 82, 83, 84, 85, 86, 87, 743, 744, ! 745, 746, -1, 748, 749, 750, 751, 752, 753, 754, ! 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, ! 765, 766, -1, -1, -1, -1, -1, -1, 1672, -1, ! -1, -1, -1, 1130, 1131, 1132, 1133, 1134, 1135, 1136, ! -1, 1138, -1, 1140, 1141, 1142, 1143, 1144, 694, 695, ! 696, 1148, -1, -1, -1, -1, -1, 1154, 1155, 1156, ! 1, 707, 3, 4, 5, 6, 7, 8, 9, 1713, ! 1714, 1715, 13, -1, 15, -1, -1, -1, -1, 824, ! -1, -1, 1726, -1, 1181, 26, -1, 28, -1, -1, ! -1, 32, -1, -1, -1, -1, -1, 38, 843, -1, ! -1, -1, 43, -1, -1, -1, 47, -1, 49, -1, ! -1, -1, 857, -1, -1, 56, -1, -1, 59, 60, ! 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, ! 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, ! 81, 82, 83, 84, 85, 86, 87, 793, 89, 90, ! 91, -1, 93, 94, 95, 96, 97, -1, -1, -1, ! -1, -1, 103, 104, -1, 14, -1, -1, 109, 110, ! 111, -1, 113, -1, 23, 24, -1, -1, -1, -1, ! -1, -1, 31, 32, -1, 34, -1, 833, 834, 835, ! -1, -1, -1, -1, -1, -1, -1, 843, -1, -1, ! -1, -1, -1, -1, -1, 950, -1, -1, -1, -1, ! 1307, 1308, 1309, 1310, 1311, 1312, -1, -1, 1315, 1316, ! 69, -1, 4, 5, -1, -1, 8, 9, -1, 3, ! 4, 5, 6, 15, 1331, 1332, 1333, 1334, 1335, -1, ! -1, -1, 987, 988, -1, -1, -1, 29, -1, 31, ! 32, 1348, -1, -1, -1, -1, 38, 1002, 32, 1004, ! -1, 1006, -1, -1, -1, 47, -1, -1, -1, 43, ! -1, -1, 1369, -1, 56, -1, -1, 59, 60, 128, ! -1, 130, 56, -1, -1, 59, 60, 933, 137, 138, ! -1, -1, -1, -1, -1, -1, -1, 146, 147, 73, ! -1, 150, 151, 152, 1049, 154, 155, 156, 157, 83, ! -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, ! -1, 95, 73, 74, 75, 76, 77, 78, 79, 80, ! 81, 82, 83, 84, 85, 86, 87, 1082, -1, -1, ! -1, -1, -1, 1440, 1441, 1442, 1443, -1, -1, -1, ! 1447, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 1007, 1008, -1, -1, 1011, 1463, -1, -1, -1, ! -1, -1, -1, -1, -1, 1120, 1022, -1, -1, -1, ! -1, -1, 1028, 1029, 1030, -1, -1, 1, 1034, 3, ! 4, 5, 6, 7, 8, 9, -1, 246, 247, -1, ! -1, 15, -1, -1, -1, 1150, 1151, 1504, 1505, 1506, ! 1507, 1508, -1, -1, -1, 29, -1, 31, 32, 33, ! -1, 270, -1, -1, 38, -1, -1, 1172, -1, 43, ! -1, -1, -1, 47, 48, -1, 50, -1, -1, -1, ! -1, -1, 56, -1, -1, 59, 60, -1, -1, 63, ! -1, 65, -1, -1, -1, -1, -1, -1, -1, 73, ! -1, -1, -1, -1, 313, 1562, -1, -1, -1, 83, ! -1, -1, -1, 1218, 1219, -1, -1, 91, -1, -1, ! -1, 95, -1, -1, 1130, 1131, 1132, 1133, 1134, 1135, ! 1136, -1, -1, -1, 1140, -1, 1142, 1143, 1144, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 361, -1, 363, -1, -1, 366, 1615, -1, ! 1617, -1, -1, -1, -1, 4, 5, -1, -1, 8, ! 9, -1, -1, 1278, -1, -1, 15, -1, -1, -1, ! -1, -1, -1, -1, 3, 4, 5, 6, -1, -1, ! 29, -1, 31, 32, 1299, -1, 1301, -1, 1303, 38, ! 1305, -1, -1, -1, -1, 414, -1, -1, 47, -1, ! -1, -1, -1, 32, -1, 1672, -1, 56, -1, -1, ! 59, 60, -1, -1, 43, -1, 435, -1, 437, -1, ! -1, 1336, -1, -1, -1, -1, 445, 56, -1, 448, ! 59, 60, 1248, -1, -1, -1, -1, -1, -1, -1, ! 1256, 460, -1, -1, 73, 1360, 1713, 1714, 1715, -1, ! 1266, 1267, 1268, -1, 83, -1, -1, -1, -1, 1726, ! -1, -1, 91, -1, -1, -1, 95, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, ! 85, 86, 87, 1398, -1, -1, -1, -1, -1, -1, ! -1, 1307, 1308, 1309, 1310, 1311, 1312, -1, -1, 1315, ! 1316, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 1427, -1, -1, -1, 3, 4, 5, 6, ! -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, ! -1, -1, 551, 552, 1449, 15, -1, -1, -1, -1, ! -1, -1, -1, -1, 1459, 1460, -1, -1, 567, 29, ! -1, 31, 32, 33, -1, -1, 43, -1, 38, 39, ! -1, -1, -1, 43, -1, -1, -1, 47, 48, 56, ! 50, -1, 59, 60, 1489, -1, 56, -1, 65, 59, ! 60, -1, -1, 63, -1, 65, 73, -1, -1, -1, ! 609, -1, 611, 73, -1, -1, 83, -1, -1, -1, ! -1, -1, -1, 83, 91, -1, -1, -1, 95, -1, ! 1525, 91, -1, -1, -1, 95, -1, -1, -1, -1, ! -1, -1, -1, -1, 1440, 1441, -1, 1443, -1, -1, ! -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 3, 4, 5, 6, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, 1570, 1571, -1, -1, -1, ! -1, 680, -1, -1, -1, -1, -1, -1, -1, -1, ! 32, -1, 691, 692, -1, 694, 695, -1, -1, -1, ! -1, 43, 1597, -1, -1, -1, -1, -1, 1504, 1505, ! 1506, 1507, 1508, -1, 56, -1, -1, 59, 60, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, ! 1635, 83, -1, -1, -1, -1, -1, -1, -1, 91, ! -1, -1, -1, 95, 66, 67, 68, 69, 70, 71, ! 72, 73, 74, 75, 76, 77, 1562, 79, 80, 81, ! 82, 83, 84, 85, 86, 87, -1, 1672, 777, -1, ! -1, -1, -1, -1, -1, 784, 785, -1, -1, -1, ! -1, -1, -1, -1, -1, 794, -1, -1, -1, -1, ! -1, -1, 1697, -1, 1, -1, 3, 4, 5, 6, ! 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, ! 819, 18, 19, 20, 21, 22, 23, 24, 25, 26, ! 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, ! 37, 38, -1, 40, 41, 42, 43, 44, 45, 46, ! 47, 48, -1, -1, 51, 52, 53, 54, 55, 56, ! -1, -1, 59, 60, 61, -1, 63, 64, -1, -1, ! -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, ! -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, ! -1, -1, 89, 90, 91, -1, -1, -1, 95, -1, ! 97, -1, -1, -1, 903, -1, -1, -1, -1, -1, ! -1, -1, -1, 1808, 111, 112, -1, -1, -1, -1, ! -1, -1, -1, 922, 923, 924, 925, -1, -1, -1, ! -1, -1, -1, -1, 933, -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, 46, 47, 48, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, -1, ! 63, 64, -1, -1, -1, -1, -1, 70, 1007, 1008, ! 73, -1, 1011, -1, -1, -1, -1, -1, 81, 82, ! 83, -1, -1, 1022, -1, -1, 89, 90, 91, -1, ! -1, -1, 95, -1, 97, 1034, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 1, 112, ! 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ! 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, ! 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, ! 43, 44, 45, -1, 47, -1, 49, -1, 51, 52, ! 53, 54, 55, 56, -1, -1, 59, 60, 61, -1, ! -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, ! -1, -1, 95, 96, -1, -1, -1, -1, -1, 1, ! -1, 3, 4, 5, 6, 7, 8, 9, -1, 112, ! -1, -1, -1, 15, -1, -1, -1, -1, 1167, -1, ! -1, 1170, -1, -1, 1173, -1, -1, 29, -1, 31, ! 32, 33, -1, -1, -1, -1, 38, 39, -1, -1, ! -1, 43, -1, -1, -1, 47, 48, -1, 50, -1, ! -1, -1, -1, -1, 56, -1, -1, 59, 60, -1, ! -1, 63, -1, 65, 71, 72, 73, 74, 75, 76, ! 77, 73, 79, 80, 81, 82, 83, 84, 85, 86, ! 87, 83, -1, -1, -1, 1234, 1235, -1, 1237, 91, ! -1, -1, -1, 95, -1, -1, -1, -1, -1, 1248, ! -1, -1, -1, -1, -1, -1, -1, 1256, -1, 111, ! -1, -1, -1, -1, -1, -1, -1, 1266, 1267, -1, ! -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, ! 9, 10, 11, 12, 13, 14, 15, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 1297, -1, ! 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, ! -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, ! 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, ! 59, 60, 61, -1, -1, 64, -1, -1, -1, -1, ! 1339, 70, -1, -1, 73, -1, -1, -1, -1, -1, ! -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, ! 89, 90, 91, -1, -1, -1, 95, 96, -1, -1, ! -1, 1370, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 1, 112, 3, 4, 5, 6, 7, 8, ! 9, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, ! -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, ! -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, ! 59, 60, -1, -1, -1, 64, -1, -1, -1, -1, ! -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, ! -1, -1, 81, 82, 83, -1, -1, 1466, -1, 1468, ! 89, 90, 91, -1, -1, 1, 95, 3, 4, 5, ! 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, ! -1, 110, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, ! 56, -1, -1, 59, 60, 61, -1, 63, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, 1, 95, ! 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, ! -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, -1, ! -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, ! -1, -1, 95, 96, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, ! 1, -1, 3, 4, 5, 6, -1, 8, 9, 10, ! 11, 12, -1, 14, 15, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, ! 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, ! 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, ! 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, ! 61, -1, -1, 64, -1, -1, -1, -1, -1, 70, ! -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, ! 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, ! 91, -1, -1, 1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, ! -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, ! -1, 89, 90, 91, -1, -1, -1, 95, 96, 1, ! -1, 3, 4, 5, 6, -1, 8, 9, 10, 11, ! 12, -1, 14, 15, 112, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, ! -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, ! 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, ! 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, ! -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, ! -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, ! 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, ! -1, -1, -1, 95, 1, -1, 3, 4, 5, 6, ! 102, 8, 9, 10, 11, 12, -1, 14, 15, -1, ! 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 29, 30, 31, -1, 33, -1, 35, 36, ! 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, ! 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, ! -1, -1, 59, 60, 61, -1, -1, 64, -1, -1, ! -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, ! -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, ! -1, -1, 89, 90, 91, -1, -1, 1, 95, 3, ! 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, ! 14, 15, -1, -1, 111, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, *************** static const short yycheck[] = { 14, *** 4034,4040 **** 1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 111, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, ! 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, -1, -1, 64, -1, -1, -1, -1, -1, 70, --- 3946,3952 ---- 1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 111, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, ! 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, -1, -1, 64, -1, -1, -1, -1, -1, 70, *************** static const short yycheck[] = { 14, *** 4042,4052 **** 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, 1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, ! 111, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, ! -1, 59, 60, 61, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, 1, 95, 3, 4, --- 3954,3964 ---- 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, 1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, ! -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, ! -1, 59, 60, -1, -1, 63, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, 1, 95, 3, 4, *************** static const short yycheck[] = { 14, *** 4205,4210 **** --- 4117,4150 ---- 12, -1, 14, 15, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, + 42, 43, 44, 45, -1, 47, -1, 49, -1, 51, + 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, + -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, + 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, + -1, -1, -1, 95, 96, 3, 4, 5, 6, -1, + 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, + 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, + 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, + -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, + -1, 59, 60, -1, -1, -1, 64, -1, -1, -1, + -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, + -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, + -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, + 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, + 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, + 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, + 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, + 55, 56, -1, -1, 59, 60, -1, -1, -1, 64, + -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, + -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, + -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, + 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, + 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, + 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, *************** static const short yycheck[] = { 14, *** 4213,4259 **** -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, ! 59, 60, -1, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, ! 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, ! 56, -1, -1, 59, 60, -1, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, ! 63, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, ! -1, -1, 95, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, ! 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, ! 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, ! -1, -1, 59, 60, -1, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, --- 4153,4199 ---- -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, ! 59, 60, -1, -1, 63, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, ! 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, ! 56, -1, -1, 59, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, ! -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, ! -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, ! 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, ! 60, -1, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, ! -1, -1, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, *************** static const short yycheck[] = { 14, *** 4263,4292 **** -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, -1, ! 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, ! -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, ! 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, ! 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, ! 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, ! 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, ! 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, ! -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, ! 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, ! 91, -1, -1, -1, 95, 3, 4, 5, 6, -1, ! 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, ! -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, ! 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, ! -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, ! -1, 59, 60, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, ! -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, ! -1, 89, 90, 91, -1, -1, -1, 95, 96, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, ! 14, 15, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, --- 4203,4232 ---- -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, ! -1, 95, 96, 3, 4, 5, 6, -1, 8, 9, ! 10, 11, 12, -1, 14, 15, -1, -1, 112, -1, ! -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, ! 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, ! 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, ! -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, ! 60, -1, -1, -1, 64, -1, -1, -1, -1, -1, ! 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, ! -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, ! 90, 91, -1, -1, -1, 95, 3, 4, 5, 6, ! -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, ! -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, ! 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, ! 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, ! -1, -1, 59, 60, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, ! -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, ! -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, ! 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, *************** static const short yycheck[] = { 14, *** 4309,4321 **** -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, ! -1, 59, 60, -1, -1, -1, 64, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, -1, -1, --- 4249,4261 ---- -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, ! -1, 59, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, 112, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, -1, -1, *************** static const short yycheck[] = { 14, *** 4329,4361 **** 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, ! -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, ! 82, 83, -1, -1, -1, -1, -1, 89, 90, 91, ! -1, -1, -1, 95, 3, 4, 5, 6, -1, 8, ! 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, ! 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! 29, 30, 31, -1, 33, -1, 35, 36, 37, 38, ! -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, ! -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, ! 59, 60, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 70, -1, -1, 73, -1, -1, -1, -1, -1, ! -1, -1, 81, 82, 83, -1, -1, -1, -1, -1, ! 89, 90, 91, -1, -1, -1, 95, 3, 4, 5, ! 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, ! -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, 29, 30, 31, -1, 33, -1, 35, ! 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, ! -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, ! 56, -1, -1, 59, 60, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 70, -1, -1, 73, -1, -1, ! -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, ! -1, -1, -1, 89, 90, 91, -1, -1, -1, 95, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, -1, -1, 112, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ! 77, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ --- 4269,4310 ---- 42, 43, 44, 45, -1, 47, -1, -1, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, ! -1, 73, 3, 4, 5, 6, 7, 8, 9, 81, ! 82, 83, -1, -1, 15, -1, -1, 89, 90, 91, ! -1, -1, -1, 95, -1, -1, -1, -1, 29, -1, ! 31, 32, -1, -1, -1, -1, -1, 38, -1, -1, ! 112, -1, 43, -1, -1, -1, 47, -1, 3, 4, ! 5, 6, 7, 8, 9, 56, -1, -1, 59, 60, ! 15, -1, 63, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, 73, -1, 29, -1, 31, 32, -1, -1, ! -1, -1, 83, 38, -1, -1, -1, -1, 43, -1, ! 91, -1, 47, -1, 95, -1, -1, -1, -1, -1, ! -1, 56, -1, -1, 59, 60, -1, -1, -1, 3, ! 4, 5, 6, 7, 8, 9, -1, -1, 73, -1, ! -1, 15, -1, -1, -1, -1, -1, -1, 83, -1, ! -1, -1, -1, -1, -1, 29, 91, 31, 32, -1, ! 95, -1, -1, -1, 38, -1, -1, -1, -1, 43, ! -1, -1, -1, 47, -1, -1, -1, -1, -1, -1, ! -1, -1, 56, -1, -1, 59, 60, -1, -1, -1, ! -1, 70, 71, 72, 73, 74, 75, 76, 77, 73, ! 79, 80, 81, 82, 83, 84, 85, 86, 87, 83, ! -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, ! -1, 95, 66, 67, 68, 69, 70, 71, 72, 73, ! 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, ! 84, 85, 86, 87, 66, 67, 68, 69, 70, 71, ! 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ! 82, 83, 84, 85, 86, 87, -1, -1, -1, 113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 62, -1, -1, 109, 66, 67, ! 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ! 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, ! 62, -1, -1, -1, 66, 67, 68, 69, 70, 71, ! 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, ! 82, 83, 84, 85, 86, 87, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, ! 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ *************** case 170: *** 5548,5592 **** { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype, 1); yyungetc (';', 1); ; break;} case 172: ! #line 1036 "parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 174: #line 1040 "parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; break;} case 176: ! #line 1043 "parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; break;} ! case 178: #line 1048 "parse.y" { begin_explicit_instantiation(); ; break;} case 179: ! #line 1052 "parse.y" { end_explicit_instantiation(); ; break;} case 180: ! #line 1062 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 181: ! #line 1065 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 184: ! #line 1073 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 185: ! #line 1079 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 186: ! #line 1083 "parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; --- 5497,5557 ---- { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype, 1); yyungetc (';', 1); ; break;} + case 171: + #line 1034 "parse.y" + {; + break;} case 172: ! #line 1037 "parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 173: #line 1040 "parse.y" + {; + break;} + case 174: + #line 1042 "parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; break;} + case 175: + #line 1044 "parse.y" + {; + break;} case 176: ! #line 1046 "parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; break;} ! case 177: #line 1048 "parse.y" + {; + break;} + case 178: + #line 1052 "parse.y" { begin_explicit_instantiation(); ; break;} case 179: ! #line 1056 "parse.y" { end_explicit_instantiation(); ; break;} case 180: ! #line 1066 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 181: ! #line 1069 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 184: ! #line 1077 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 185: ! #line 1083 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 186: ! #line 1087 "parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; *************** case 186: *** 5596,5602 **** ; break;} case 188: ! #line 1095 "parse.y" { /* Handle `Class>' without space in the `>>' */ pedwarn ("`>>' should be `> >' in template class name"); --- 5561,5567 ---- ; break;} case 188: ! #line 1099 "parse.y" { /* Handle `Class>' without space in the `>>' */ pedwarn ("`>>' should be `> >' in template class name"); *************** case 188: *** 5604,5626 **** ; break;} case 189: ! #line 1104 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 191: ! #line 1110 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} case 192: ! #line 1112 "parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 193: ! #line 1117 "parse.y" { yyval.ttype = groktypename (yyvsp[0].ftype.t); ; break;} case 194: ! #line 1119 "parse.y" { yyval.ttype = lastiddecl; if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype)) --- 5569,5591 ---- ; break;} case 189: ! #line 1108 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 191: ! #line 1114 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} case 192: ! #line 1116 "parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 193: ! #line 1121 "parse.y" { yyval.ttype = groktypename (yyvsp[0].ftype.t); ; break;} case 194: ! #line 1123 "parse.y" { yyval.ttype = lastiddecl; if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype)) *************** case 194: *** 5628,5634 **** ; break;} case 195: ! #line 1125 "parse.y" { yyval.ttype = lastiddecl; if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype)) --- 5593,5599 ---- ; break;} case 195: ! #line 1129 "parse.y" { yyval.ttype = lastiddecl; if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype)) *************** case 195: *** 5636,5642 **** ; break;} case 197: ! #line 1132 "parse.y" { if (!processing_template_decl) { --- 5601,5607 ---- ; break;} case 197: ! #line 1136 "parse.y" { if (!processing_template_decl) { *************** case 197: *** 5648,5706 **** ; break;} case 198: ! #line 1145 "parse.y" { yyval.code = NEGATE_EXPR; ; break;} case 199: ! #line 1147 "parse.y" { yyval.code = CONVERT_EXPR; ; break;} case 200: ! #line 1149 "parse.y" { yyval.code = PREINCREMENT_EXPR; ; break;} case 201: ! #line 1151 "parse.y" { yyval.code = PREDECREMENT_EXPR; ; break;} case 202: ! #line 1153 "parse.y" { yyval.code = TRUTH_NOT_EXPR; ; break;} case 203: ! #line 1158 "parse.y" { yyval.ttype = build_x_compound_expr (yyval.ttype); ; break;} case 205: ! #line 1164 "parse.y" { error ("ISO C++ forbids an empty condition for `%s'", cond_stmt_keyword); yyval.ttype = integer_zero_node; ; break;} case 206: ! #line 1168 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 207: ! #line 1173 "parse.y" { error ("ISO C++ forbids an empty condition for `%s'", cond_stmt_keyword); yyval.ttype = integer_zero_node; ; break;} case 208: ! #line 1177 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 209: ! #line 1182 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 211: ! #line 1185 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 212: ! #line 1190 "parse.y" { { tree d; for (d = getdecls (); d; d = TREE_CHAIN (d)) --- 5613,5671 ---- ; break;} case 198: ! #line 1149 "parse.y" { yyval.code = NEGATE_EXPR; ; break;} case 199: ! #line 1151 "parse.y" { yyval.code = CONVERT_EXPR; ; break;} case 200: ! #line 1153 "parse.y" { yyval.code = PREINCREMENT_EXPR; ; break;} case 201: ! #line 1155 "parse.y" { yyval.code = PREDECREMENT_EXPR; ; break;} case 202: ! #line 1157 "parse.y" { yyval.code = TRUTH_NOT_EXPR; ; break;} case 203: ! #line 1162 "parse.y" { yyval.ttype = build_x_compound_expr (yyval.ttype); ; break;} case 205: ! #line 1168 "parse.y" { error ("ISO C++ forbids an empty condition for `%s'", cond_stmt_keyword); yyval.ttype = integer_zero_node; ; break;} case 206: ! #line 1172 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 207: ! #line 1177 "parse.y" { error ("ISO C++ forbids an empty condition for `%s'", cond_stmt_keyword); yyval.ttype = integer_zero_node; ; break;} case 208: ! #line 1181 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 209: ! #line 1186 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 211: ! #line 1189 "parse.y" { yyval.ttype = NULL_TREE; ; break;} case 212: ! #line 1194 "parse.y" { { tree d; for (d = getdecls (); d; d = TREE_CHAIN (d)) *************** case 212: *** 5717,5723 **** ; break;} case 213: ! #line 1205 "parse.y" { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype); yyval.ttype = convert_from_reference (yyvsp[-1].ttype); --- 5682,5688 ---- ; break;} case 213: ! #line 1209 "parse.y" { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype); yyval.ttype = convert_from_reference (yyvsp[-1].ttype); *************** case 213: *** 5726,5890 **** ; break;} case 219: ! #line 1223 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 220: ! #line 1226 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ; break;} case 221: ! #line 1229 "parse.y" { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 222: ! #line 1231 "parse.y" { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ; break;} case 223: ! #line 1236 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} case 225: ! #line 1242 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 226: ! #line 1245 "parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 227: ! #line 1248 "parse.y" { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ; break;} case 228: ! #line 1250 "parse.y" { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ; break;} case 229: ! #line 1252 "parse.y" { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 230: ! #line 1254 "parse.y" { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 231: ! #line 1257 "parse.y" { yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ; break;} case 232: ! #line 1259 "parse.y" ! { yyval.ttype = finish_sizeof (yyvsp[0].ttype); ; break;} case 233: ! #line 1261 "parse.y" { yyval.ttype = finish_sizeof (groktypename (yyvsp[-1].ftype.t)); ! check_for_new_type ("sizeof", yyvsp[-1].ftype); ; break;} case 234: ! #line 1264 "parse.y" ! { yyval.ttype = finish_alignof (yyvsp[0].ttype); ; break;} case 235: ! #line 1266 "parse.y" { yyval.ttype = finish_alignof (groktypename (yyvsp[-1].ftype.t)); ! check_for_new_type ("alignof", yyvsp[-1].ftype); ; break;} case 236: ! #line 1272 "parse.y" { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype); check_for_new_type ("new", yyvsp[0].ftype); ; break;} case 237: ! #line 1275 "parse.y" { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 238: ! #line 1278 "parse.y" { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype); check_for_new_type ("new", yyvsp[0].ftype); ; break;} case 239: ! #line 1281 "parse.y" { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 240: ! #line 1285 "parse.y" { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-3].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 241: ! #line 1289 "parse.y" { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype); check_for_new_type ("new", yyvsp[-2].ftype); ; break;} case 242: ! #line 1292 "parse.y" { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 243: ! #line 1295 "parse.y" { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype); check_for_new_type ("new", yyvsp[-2].ftype); ; break;} case 244: ! #line 1299 "parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ; break;} case 245: ! #line 1301 "parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype); if (yychar == YYEMPTY) yychar = YYLEX; ; break;} case 246: ! #line 1305 "parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype); if (yychar == YYEMPTY) yychar = YYLEX; ; break;} case 247: ! #line 1309 "parse.y" { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ; break;} case 248: ! #line 1311 "parse.y" { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ; break;} case 249: ! #line 1316 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 250: ! #line 1318 "parse.y" { pedwarn ("old style placement syntax, use () instead"); yyval.ttype = yyvsp[-1].ttype; ; break;} case 251: ! #line 1324 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 252: ! #line 1326 "parse.y" { yyval.ttype = void_zero_node; ; break;} case 253: ! #line 1328 "parse.y" { error ("`%T' is not a valid expression", yyvsp[-1].ftype.t); yyval.ttype = error_mark_node; ; break;} case 254: ! #line 1338 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids initialization of new expression with `='"); --- 5691,5859 ---- ; break;} case 219: ! #line 1227 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 220: ! #line 1230 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ; break;} case 221: ! #line 1233 "parse.y" { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 222: ! #line 1235 "parse.y" { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ; break;} case 223: ! #line 1240 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} case 225: ! #line 1246 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 226: ! #line 1249 "parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 227: ! #line 1252 "parse.y" { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ; break;} case 228: ! #line 1254 "parse.y" { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ; break;} case 229: ! #line 1256 "parse.y" { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 230: ! #line 1258 "parse.y" { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 231: ! #line 1261 "parse.y" { yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ; break;} case 232: ! #line 1263 "parse.y" ! { yyval.ttype = finish_sizeof (yyvsp[0].ttype); ! skip_evaluation--; ; break;} case 233: ! #line 1266 "parse.y" { yyval.ttype = finish_sizeof (groktypename (yyvsp[-1].ftype.t)); ! check_for_new_type ("sizeof", yyvsp[-1].ftype); ! skip_evaluation--; ; break;} case 234: ! #line 1270 "parse.y" ! { yyval.ttype = finish_alignof (yyvsp[0].ttype); ! skip_evaluation--; ; break;} case 235: ! #line 1273 "parse.y" { yyval.ttype = finish_alignof (groktypename (yyvsp[-1].ftype.t)); ! check_for_new_type ("alignof", yyvsp[-1].ftype); ! skip_evaluation--; ; break;} case 236: ! #line 1280 "parse.y" { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype); check_for_new_type ("new", yyvsp[0].ftype); ; break;} case 237: ! #line 1283 "parse.y" { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 238: ! #line 1286 "parse.y" { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype); check_for_new_type ("new", yyvsp[0].ftype); ; break;} case 239: ! #line 1289 "parse.y" { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 240: ! #line 1293 "parse.y" { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-3].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 241: ! #line 1297 "parse.y" { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype); check_for_new_type ("new", yyvsp[-2].ftype); ; break;} case 242: ! #line 1300 "parse.y" { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 243: ! #line 1303 "parse.y" { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype); check_for_new_type ("new", yyvsp[-2].ftype); ; break;} case 244: ! #line 1307 "parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ; break;} case 245: ! #line 1309 "parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype); if (yychar == YYEMPTY) yychar = YYLEX; ; break;} case 246: ! #line 1313 "parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype); if (yychar == YYEMPTY) yychar = YYLEX; ; break;} case 247: ! #line 1317 "parse.y" { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ; break;} case 248: ! #line 1319 "parse.y" { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ; break;} case 249: ! #line 1324 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 250: ! #line 1326 "parse.y" { pedwarn ("old style placement syntax, use () instead"); yyval.ttype = yyvsp[-1].ttype; ; break;} case 251: ! #line 1332 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 252: ! #line 1334 "parse.y" { yyval.ttype = void_zero_node; ; break;} case 253: ! #line 1336 "parse.y" { error ("`%T' is not a valid expression", yyvsp[-1].ftype.t); yyval.ttype = error_mark_node; ; break;} case 254: ! #line 1346 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids initialization of new expression with `='"); *************** case 254: *** 5897,5919 **** ; break;} case 255: ! #line 1353 "parse.y" { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); check_for_new_type ("cast", yyvsp[-1].ftype); ; break;} case 256: ! #line 1357 "parse.y" { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); check_for_new_type ("cast", yyvsp[-1].ftype); ; break;} case 258: ! #line 1365 "parse.y" { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ; break;} case 259: ! #line 1367 "parse.y" { tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); --- 5866,5888 ---- ; break;} case 255: ! #line 1361 "parse.y" { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); check_for_new_type ("cast", yyvsp[-1].ftype); ; break;} case 256: ! #line 1365 "parse.y" { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); check_for_new_type ("cast", yyvsp[-1].ftype); ; break;} case 258: ! #line 1373 "parse.y" { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ; break;} case 259: ! #line 1375 "parse.y" { tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); *************** case 259: *** 5926,6165 **** ; break;} case 261: ! #line 1383 "parse.y" { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ; break;} case 262: ! #line 1385 "parse.y" { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ; break;} case 263: ! #line 1387 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 264: ! #line 1389 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 265: ! #line 1391 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 266: ! #line 1393 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 267: ! #line 1395 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 268: ! #line 1397 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 269: ! #line 1399 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 270: ! #line 1401 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 271: ! #line 1403 "parse.y" { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 272: ! #line 1405 "parse.y" { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 273: ! #line 1407 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 274: ! #line 1409 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 275: ! #line 1411 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 276: ! #line 1413 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 277: ! #line 1415 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 278: ! #line 1417 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 279: ! #line 1419 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 280: ! #line 1421 "parse.y" { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 281: ! #line 1423 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); if (yyval.ttype != error_mark_node) C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} case 282: ! #line 1427 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 283: ! #line 1429 "parse.y" { yyval.ttype = build_throw (NULL_TREE); ; break;} case 284: ! #line 1431 "parse.y" { yyval.ttype = build_throw (yyvsp[0].ttype); ; break;} case 286: ! #line 1438 "parse.y" { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ; break;} case 287: ! #line 1440 "parse.y" { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ; break;} case 288: ! #line 1442 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 289: ! #line 1444 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 290: ! #line 1446 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 291: ! #line 1448 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 292: ! #line 1450 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 293: ! #line 1452 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 294: ! #line 1454 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 295: ! #line 1456 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 296: ! #line 1458 "parse.y" { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 297: ! #line 1460 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 298: ! #line 1462 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 299: ! #line 1464 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 300: ! #line 1466 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 301: ! #line 1468 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 302: ! #line 1470 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 303: ! #line 1472 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 304: ! #line 1474 "parse.y" { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 305: ! #line 1476 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); if (yyval.ttype != error_mark_node) C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} case 306: ! #line 1480 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 307: ! #line 1482 "parse.y" { yyval.ttype = build_throw (NULL_TREE); ; break;} case 308: ! #line 1484 "parse.y" { yyval.ttype = build_throw (yyvsp[0].ttype); ; break;} case 309: ! #line 1489 "parse.y" { yyval.ttype = build_nt (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 310: ! #line 1491 "parse.y" { yyval.ttype = build_nt (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 316: ! #line 1500 "parse.y" { /* If lastiddecl is a TREE_LIST, it's a baselink, which means that we're in an expression like S::f, so don't do_identifier; we only do that for unqualified identifiers. */ if (!lastiddecl || TREE_CODE (lastiddecl) != TREE_LIST) ! yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); else yyval.ttype = yyvsp[-1].ttype; ; break;} case 317: ! #line 1514 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 318: ! #line 1516 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 319: ! #line 1521 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 320: ! #line 1523 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 321: ! #line 1526 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 326: ! #line 1538 "parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ --- 5895,6134 ---- ; break;} case 261: ! #line 1391 "parse.y" { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ; break;} case 262: ! #line 1393 "parse.y" { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ; break;} case 263: ! #line 1395 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 264: ! #line 1397 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 265: ! #line 1399 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 266: ! #line 1401 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 267: ! #line 1403 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 268: ! #line 1405 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 269: ! #line 1407 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 270: ! #line 1409 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 271: ! #line 1411 "parse.y" { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 272: ! #line 1413 "parse.y" { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 273: ! #line 1415 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 274: ! #line 1417 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 275: ! #line 1419 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 276: ! #line 1421 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 277: ! #line 1423 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 278: ! #line 1425 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 279: ! #line 1427 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 280: ! #line 1429 "parse.y" { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 281: ! #line 1431 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); if (yyval.ttype != error_mark_node) C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} case 282: ! #line 1435 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 283: ! #line 1437 "parse.y" { yyval.ttype = build_throw (NULL_TREE); ; break;} case 284: ! #line 1439 "parse.y" { yyval.ttype = build_throw (yyvsp[0].ttype); ; break;} case 286: ! #line 1446 "parse.y" { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ; break;} case 287: ! #line 1448 "parse.y" { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ; break;} case 288: ! #line 1450 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 289: ! #line 1452 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 290: ! #line 1454 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 291: ! #line 1456 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 292: ! #line 1458 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 293: ! #line 1460 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 294: ! #line 1462 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 295: ! #line 1464 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 296: ! #line 1466 "parse.y" { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 297: ! #line 1468 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 298: ! #line 1470 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 299: ! #line 1472 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 300: ! #line 1474 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 301: ! #line 1476 "parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 302: ! #line 1478 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 303: ! #line 1480 "parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 304: ! #line 1482 "parse.y" { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 305: ! #line 1484 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); if (yyval.ttype != error_mark_node) C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} case 306: ! #line 1488 "parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 307: ! #line 1490 "parse.y" { yyval.ttype = build_throw (NULL_TREE); ; break;} case 308: ! #line 1492 "parse.y" { yyval.ttype = build_throw (yyvsp[0].ttype); ; break;} case 309: ! #line 1497 "parse.y" { yyval.ttype = build_nt (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 310: ! #line 1499 "parse.y" { yyval.ttype = build_nt (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 316: ! #line 1508 "parse.y" { /* If lastiddecl is a TREE_LIST, it's a baselink, which means that we're in an expression like S::f, so don't do_identifier; we only do that for unqualified identifiers. */ if (!lastiddecl || TREE_CODE (lastiddecl) != TREE_LIST) ! yyval.ttype = do_identifier (yyvsp[-1].ttype, 3, NULL_TREE); else yyval.ttype = yyvsp[-1].ttype; ; break;} case 317: ! #line 1522 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 318: ! #line 1524 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 319: ! #line 1529 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 320: ! #line 1531 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 321: ! #line 1534 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 326: ! #line 1546 "parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ *************** case 326: *** 6167,6197 **** ; break;} case 328: ! #line 1548 "parse.y" { yyval.ttype = build_nt (INDIRECT_REF, yyvsp[0].ttype); ; break;} case 329: ! #line 1550 "parse.y" { yyval.ttype = build_nt (ADDR_EXPR, yyvsp[0].ttype); ; break;} case 330: ! #line 1552 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 331: ! #line 1557 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 332: ! #line 1559 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 336: ! #line 1569 "parse.y" { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ; break;} case 337: ! #line 1574 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR) yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0)); --- 6136,6166 ---- ; break;} case 328: ! #line 1556 "parse.y" { yyval.ttype = build_nt (INDIRECT_REF, yyvsp[0].ttype); ; break;} case 329: ! #line 1558 "parse.y" { yyval.ttype = build_nt (ADDR_EXPR, yyvsp[0].ttype); ; break;} case 330: ! #line 1560 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 331: ! #line 1565 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 332: ! #line 1567 "parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 336: ! #line 1577 "parse.y" { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ; break;} case 337: ! #line 1582 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR) yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0)); *************** case 337: *** 6200,6206 **** ; break;} case 340: ! #line 1583 "parse.y" { yyval.ttype = combine_strings (yyval.ttype); /* combine_strings doesn't set up TYPE_MAIN_VARIANT of --- 6169,6175 ---- ; break;} case 340: ! #line 1591 "parse.y" { yyval.ttype = combine_strings (yyval.ttype); /* combine_strings doesn't set up TYPE_MAIN_VARIANT of *************** case 340: *** 6212,6218 **** ; break;} case 341: ! #line 1593 "parse.y" { yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype); if (processing_template_decl) --- 6181,6187 ---- ; break;} case 341: ! #line 1601 "parse.y" { yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype); if (processing_template_decl) *************** case 341: *** 6220,6239 **** ; break;} case 342: ! #line 1599 "parse.y" { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; break;} case 343: ! #line 1601 "parse.y" { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype); yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; break;} case 344: ! #line 1604 "parse.y" { yyval.ttype = error_mark_node; ; break;} case 345: ! #line 1606 "parse.y" { tree scope = current_scope (); if (!scope || TREE_CODE (scope) != FUNCTION_DECL) { --- 6189,6208 ---- ; break;} case 342: ! #line 1607 "parse.y" { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; break;} case 343: ! #line 1609 "parse.y" { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype); yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; break;} case 344: ! #line 1612 "parse.y" { yyval.ttype = error_mark_node; ; break;} case 345: ! #line 1614 "parse.y" { tree scope = current_scope (); if (!scope || TREE_CODE (scope) != FUNCTION_DECL) { *************** case 345: *** 6246,6293 **** ; break;} case 346: ! #line 1617 "parse.y" { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ; break;} case 347: ! #line 1622 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ; break;} case 348: ! #line 1624 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ; break;} case 349: ! #line 1626 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ; break;} case 350: ! #line 1628 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ; break;} case 351: ! #line 1630 "parse.y" { yyval.ttype = build_x_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t)); check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ; break;} case 352: ! #line 1633 "parse.y" { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ; break;} case 353: ! #line 1635 "parse.y" { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ; break;} case 354: ! #line 1637 "parse.y" { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ; break;} case 355: ! #line 1640 "parse.y" { yyval.ttype = finish_this_expr (); ; break;} case 356: ! #line 1642 "parse.y" { /* This is a C cast in C++'s `functional' notation using the "implicit int" extension so that: --- 6215,6262 ---- ; break;} case 346: ! #line 1625 "parse.y" { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ; break;} case 347: ! #line 1630 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ; break;} case 348: ! #line 1632 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ; break;} case 349: ! #line 1634 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ; break;} case 350: ! #line 1636 "parse.y" { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ; break;} case 351: ! #line 1638 "parse.y" { yyval.ttype = build_x_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t)); check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ; break;} case 352: ! #line 1641 "parse.y" { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ; break;} case 353: ! #line 1643 "parse.y" { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ; break;} case 354: ! #line 1645 "parse.y" { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ; break;} case 355: ! #line 1648 "parse.y" { yyval.ttype = finish_this_expr (); ; break;} case 356: ! #line 1650 "parse.y" { /* This is a C cast in C++'s `functional' notation using the "implicit int" extension so that: *************** case 356: *** 6300,6348 **** ; break;} case 358: ! #line 1654 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("dynamic_cast", yyvsp[-4].ftype); yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ; break;} case 359: ! #line 1658 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("static_cast", yyvsp[-4].ftype); yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ; break;} case 360: ! #line 1662 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype); yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ; break;} case 361: ! #line 1666 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("const_cast", yyvsp[-4].ftype); yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ; break;} case 362: ! #line 1670 "parse.y" { yyval.ttype = build_typeid (yyvsp[-1].ttype); ; break;} case 363: ! #line 1672 "parse.y" { tree type = groktypename (yyvsp[-1].ftype.t); check_for_new_type ("typeid", yyvsp[-1].ftype); yyval.ttype = get_typeid (type); ; break;} case 364: ! #line 1676 "parse.y" { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ; break;} case 365: ! #line 1678 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 366: ! #line 1680 "parse.y" { got_scope = NULL_TREE; if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) --- 6269,6317 ---- ; break;} case 358: ! #line 1662 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("dynamic_cast", yyvsp[-4].ftype); yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ; break;} case 359: ! #line 1666 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("static_cast", yyvsp[-4].ftype); yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ; break;} case 360: ! #line 1670 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype); yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ; break;} case 361: ! #line 1674 "parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("const_cast", yyvsp[-4].ftype); yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ; break;} case 362: ! #line 1678 "parse.y" { yyval.ttype = build_typeid (yyvsp[-1].ttype); ; break;} case 363: ! #line 1680 "parse.y" { tree type = groktypename (yyvsp[-1].ftype.t); check_for_new_type ("typeid", yyvsp[-1].ftype); yyval.ttype = get_typeid (type); ; break;} case 364: ! #line 1684 "parse.y" { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ; break;} case 365: ! #line 1686 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 366: ! #line 1688 "parse.y" { got_scope = NULL_TREE; if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) *************** case 366: *** 6352,6614 **** ; break;} case 367: ! #line 1688 "parse.y" { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ; break;} case 368: ! #line 1690 "parse.y" { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 369: ! #line 1692 "parse.y" { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ; break;} case 370: ! #line 1694 "parse.y" { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; break;} case 371: ! #line 1698 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 372: ! #line 1700 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 373: ! #line 1702 "parse.y" { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; break;} case 374: ! #line 1704 "parse.y" { if (processing_template_decl) yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype); else yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ; break;} case 375: ! #line 1709 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 376: ! #line 1711 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 377: ! #line 1713 "parse.y" { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 378: ! #line 1715 "parse.y" { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 379: ! #line 1718 "parse.y" { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 380: ! #line 1720 "parse.y" { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 381: ! #line 1722 "parse.y" { yyval.ttype = error_mark_node; ; break;} case 382: ! #line 1767 "parse.y" { yyval.itype = 0; ; break;} case 383: ! #line 1769 "parse.y" { got_scope = NULL_TREE; yyval.itype = 1; ; break;} case 384: ! #line 1774 "parse.y" { yyval.itype = 0; ; break;} case 385: ! #line 1776 "parse.y" { got_scope = NULL_TREE; yyval.itype = 1; ; break;} case 386: ! #line 1781 "parse.y" { yyval.ttype = boolean_true_node; ; break;} case 387: ! #line 1783 "parse.y" { yyval.ttype = boolean_false_node; ; break;} case 389: ! #line 1790 "parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} case 390: ! #line 1795 "parse.y" { if (DECL_CONSTRUCTOR_P (current_function_decl)) finish_mem_initializers (NULL_TREE); ; break;} case 391: ! #line 1803 "parse.y" { got_object = TREE_TYPE (yyval.ttype); ; break;} case 392: ! #line 1805 "parse.y" { yyval.ttype = build_x_arrow (yyval.ttype); got_object = TREE_TYPE (yyval.ttype); ; break;} case 393: ! #line 1813 "parse.y" { if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t))) note_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 394: ! #line 1818 "parse.y" { note_list_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 395: ! #line 1822 "parse.y" {; break;} case 396: ! #line 1824 "parse.y" { shadow_tag (yyvsp[-1].ftype.t); note_list_got_semicolon (yyvsp[-1].ftype.t); ; break;} case 397: ! #line 1829 "parse.y" { warning ("empty declaration"); ; break;} case 398: ! #line 1831 "parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 401: ! #line 1845 "parse.y" { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (), NULL_TREE, NULL_TREE); ; break;} case 402: ! #line 1848 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE, NULL_TREE); ; break;} case 403: ! #line 1855 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 404: ! #line 1858 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 405: ! #line 1861 "parse.y" { yyval.ftype.t = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 406: ! #line 1865 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 407: ! #line 1868 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 408: ! #line 1879 "parse.y" { yyval.ftype.lookups = type_lookups; ; break;} case 409: ! #line 1881 "parse.y" { yyval.ftype.lookups = type_lookups; ; break;} case 410: ! #line 1886 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 411: ! #line 1889 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 412: ! #line 1892 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype)); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} case 413: ! #line 1895 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 414: ! #line 1898 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 415: ! #line 1901 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ftype.t))); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} case 416: ! #line 1908 "parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyval.ttype)); yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} case 417: ! #line 1913 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ; break;} case 418: ! #line 1915 "parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} case 419: ! #line 1937 "parse.y" { yyval.ftype.lookups = NULL_TREE; TREE_STATIC (yyval.ftype.t) = 1; ; break;} case 420: ! #line 1939 "parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; break;} case 421: ! #line 1944 "parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); TREE_STATIC (yyval.ftype.t) = 1; ; break;} case 422: ! #line 1949 "parse.y" { if (extra_warnings && TREE_STATIC (yyval.ftype.t)) warning ("`%s' is not at beginning of declaration", --- 6321,6583 ---- ; break;} case 367: ! #line 1696 "parse.y" { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ; break;} case 368: ! #line 1698 "parse.y" { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 369: ! #line 1700 "parse.y" { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ; break;} case 370: ! #line 1702 "parse.y" { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; break;} case 371: ! #line 1706 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 372: ! #line 1708 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 373: ! #line 1710 "parse.y" { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; break;} case 374: ! #line 1712 "parse.y" { if (processing_template_decl) yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype); else yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ; break;} case 375: ! #line 1717 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 376: ! #line 1719 "parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 377: ! #line 1721 "parse.y" { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 378: ! #line 1723 "parse.y" { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 379: ! #line 1726 "parse.y" { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 380: ! #line 1728 "parse.y" { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 381: ! #line 1730 "parse.y" { yyval.ttype = error_mark_node; ; break;} case 382: ! #line 1775 "parse.y" { yyval.itype = 0; ; break;} case 383: ! #line 1777 "parse.y" { got_scope = NULL_TREE; yyval.itype = 1; ; break;} case 384: ! #line 1782 "parse.y" { yyval.itype = 0; ; break;} case 385: ! #line 1784 "parse.y" { got_scope = NULL_TREE; yyval.itype = 1; ; break;} case 386: ! #line 1789 "parse.y" { yyval.ttype = boolean_true_node; ; break;} case 387: ! #line 1791 "parse.y" { yyval.ttype = boolean_false_node; ; break;} case 389: ! #line 1798 "parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} case 390: ! #line 1803 "parse.y" { if (DECL_CONSTRUCTOR_P (current_function_decl)) finish_mem_initializers (NULL_TREE); ; break;} case 391: ! #line 1811 "parse.y" { got_object = TREE_TYPE (yyval.ttype); ; break;} case 392: ! #line 1813 "parse.y" { yyval.ttype = build_x_arrow (yyval.ttype); got_object = TREE_TYPE (yyval.ttype); ; break;} case 393: ! #line 1821 "parse.y" { if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t))) note_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 394: ! #line 1826 "parse.y" { note_list_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 395: ! #line 1830 "parse.y" {; break;} case 396: ! #line 1832 "parse.y" { shadow_tag (yyvsp[-1].ftype.t); note_list_got_semicolon (yyvsp[-1].ftype.t); ; break;} case 397: ! #line 1837 "parse.y" { warning ("empty declaration"); ; break;} case 398: ! #line 1839 "parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 401: ! #line 1853 "parse.y" { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (), NULL_TREE, NULL_TREE); ; break;} case 402: ! #line 1856 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE, NULL_TREE); ; break;} case 403: ! #line 1863 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 404: ! #line 1866 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 405: ! #line 1869 "parse.y" { yyval.ftype.t = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 406: ! #line 1873 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 407: ! #line 1876 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 408: ! #line 1887 "parse.y" { yyval.ftype.lookups = type_lookups; ; break;} case 409: ! #line 1889 "parse.y" { yyval.ftype.lookups = type_lookups; ; break;} case 410: ! #line 1894 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 411: ! #line 1897 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 412: ! #line 1900 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype)); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} case 413: ! #line 1903 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 414: ! #line 1906 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 415: ! #line 1909 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ftype.t))); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} case 416: ! #line 1916 "parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyval.ttype)); yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} case 417: ! #line 1921 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ; break;} case 418: ! #line 1923 "parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} case 419: ! #line 1945 "parse.y" { yyval.ftype.lookups = NULL_TREE; TREE_STATIC (yyval.ftype.t) = 1; ; break;} case 420: ! #line 1947 "parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; break;} case 421: ! #line 1952 "parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); TREE_STATIC (yyval.ftype.t) = 1; ; break;} case 422: ! #line 1957 "parse.y" { if (extra_warnings && TREE_STATIC (yyval.ftype.t)) warning ("`%s' is not at beginning of declaration", *************** case 422: *** 6618,6686 **** ; break;} case 423: ! #line 1957 "parse.y" { yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); ; break;} case 424: ! #line 1968 "parse.y" { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 425: ! #line 1971 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 426: ! #line 1974 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 427: ! #line 1977 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 428: ! #line 1983 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} case 429: ! #line 1985 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ; break;} case 430: ! #line 1987 "parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 431: ! #line 1989 "parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 432: ! #line 1998 "parse.y" ! { yyval.ftype.lookups = NULL_TREE; ; break;} case 433: ! #line 2000 "parse.y" ! { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; break;} case 434: ! #line 2002 "parse.y" ! { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; break;} case 435: ! #line 2004 "parse.y" ! { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype); ! yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; break;} case 436: ! #line 2007 "parse.y" ! { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t); ! yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; break;} case 437: ! #line 2010 "parse.y" { tree type = TREE_TYPE (yyvsp[-1].ttype); yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; --- 6587,6669 ---- ; break;} case 423: ! #line 1965 "parse.y" { yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); ; break;} case 424: ! #line 1976 "parse.y" { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 425: ! #line 1979 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 426: ! #line 1982 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 427: ! #line 1985 "parse.y" { yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 428: ! #line 1991 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} case 429: ! #line 1993 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ; break;} case 430: ! #line 1995 "parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 431: ! #line 1997 "parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 432: ! #line 2001 "parse.y" ! { skip_evaluation++; ; break;} case 433: ! #line 2005 "parse.y" ! { skip_evaluation++; ; break;} case 434: ! #line 2009 "parse.y" ! { skip_evaluation++; ; break;} case 435: ! #line 2018 "parse.y" ! { yyval.ftype.lookups = NULL_TREE; ; break;} case 436: ! #line 2020 "parse.y" ! { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; break;} case 437: ! #line 2022 "parse.y" ! { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ; ! break;} ! case 438: ! #line 2024 "parse.y" ! { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype); ! yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ! skip_evaluation--; ; ! break;} ! case 439: ! #line 2028 "parse.y" ! { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t); ! yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ! skip_evaluation--; ; ! break;} ! case 440: ! #line 2032 "parse.y" { tree type = TREE_TYPE (yyvsp[-1].ttype); yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; *************** case 437: *** 6696,6703 **** } ; break;} ! case 438: ! #line 2025 "parse.y" { tree type = groktypename (yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; --- 6679,6686 ---- } ; break;} ! case 441: ! #line 2047 "parse.y" { tree type = groktypename (yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; *************** case 438: *** 6713,6985 **** } ; break;} ! case 439: ! #line 2045 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} ! case 440: ! #line 2047 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} ! case 443: ! #line 2054 "parse.y" { check_multiple_declarators (); ; break;} ! case 445: ! #line 2060 "parse.y" { check_multiple_declarators (); ; break;} ! case 447: ! #line 2066 "parse.y" { check_multiple_declarators (); ; break;} ! case 448: ! #line 2071 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 449: ! #line 2073 "parse.y" { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 450: ! #line 2078 "parse.y" { yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ; break;} ! case 451: ! #line 2081 "parse.y" { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 452: ! #line 2083 "parse.y" { yyval.ttype = parse_decl (yyvsp[-2].ttype, yyvsp[0].ttype, 0); parse_end_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 453: ! #line 2097 "parse.y" { yyval.ttype = parse_decl0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, 1); ; break;} ! case 454: ! #line 2102 "parse.y" { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 455: ! #line 2104 "parse.y" { tree d = parse_decl0 (yyvsp[-2].ttype, yyvsp[-3].ftype.t, yyvsp[-3].ftype.lookups, yyvsp[0].ttype, 0); parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 456: ! #line 2111 "parse.y" {; break;} ! case 457: ! #line 2116 "parse.y" {; break;} ! case 458: ! #line 2121 "parse.y" { /* Set things up as initdcl0_innards expects. */ yyval.ttype = yyvsp[0].ttype; yyvsp[0].ttype = yyvsp[-1].ttype; yyvsp[-1].ftype.t = NULL_TREE; yyvsp[-1].ftype.lookups = NULL_TREE; ; break;} ! case 459: ! #line 2127 "parse.y" {; break;} ! case 460: ! #line 2129 "parse.y" { tree d = parse_decl0 (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[0].ttype, 0); parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 461: ! #line 2137 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 462: ! #line 2139 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 463: ! #line 2144 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 464: ! #line 2146 "parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 465: ! #line 2151 "parse.y" { yyval.ttype = yyvsp[-2].ttype; ; break;} ! case 466: ! #line 2156 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 467: ! #line 2158 "parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 468: ! #line 2163 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 469: ! #line 2165 "parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; break;} ! case 470: ! #line 2167 "parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; break;} ! case 471: ! #line 2169 "parse.y" { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; break;} ! case 472: ! #line 2171 "parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 477: ! #line 2187 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 478: ! #line 2189 "parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} ! case 479: ! #line 2194 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 480: ! #line 2196 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 482: ! #line 2205 "parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} ! case 483: ! #line 2208 "parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} ! case 484: ! #line 2211 "parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} ! case 485: ! #line 2214 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 486: ! #line 2221 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} ! case 487: ! #line 2223 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} ! case 488: ! #line 2226 "parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 489: ! #line 2228 "parse.y" { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ; break;} ! case 490: ! #line 2230 "parse.y" { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ; break;} ! case 491: ! #line 2235 "parse.y" { expand_body (finish_function (2)); process_next_inline (yyvsp[-2].pi); ; break;} ! case 492: ! #line 2240 "parse.y" { expand_body (finish_function (2)); process_next_inline (yyvsp[-2].pi); ; break;} ! case 493: ! #line 2245 "parse.y" { finish_function (2); process_next_inline (yyvsp[-2].pi); ; break;} ! case 496: ! #line 2259 "parse.y" { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 497: ! #line 2261 "parse.y" { replace_defarg (yyvsp[-2].ttype, error_mark_node); ; break;} ! case 499: ! #line 2267 "parse.y" { do_pending_defargs (); ; break;} ! case 500: ! #line 2269 "parse.y" { do_pending_defargs (); ; break;} ! case 501: ! #line 2274 "parse.y" { yyval.ttype = current_enum_type; current_enum_type = start_enum (yyvsp[-1].ttype); ; break;} ! case 502: ! #line 2277 "parse.y" { yyval.ftype.t = current_enum_type; finish_enum (current_enum_type); yyval.ftype.new_type_flag = 1; current_enum_type = yyvsp[-2].ttype; check_for_missing_semicolon (yyval.ftype.t); ; break;} ! case 503: ! #line 2283 "parse.y" { yyval.ttype = current_enum_type; current_enum_type = start_enum (make_anon_name ()); ; break;} ! case 504: ! #line 2286 "parse.y" { yyval.ftype.t = current_enum_type; finish_enum (current_enum_type); yyval.ftype.new_type_flag = 1; current_enum_type = yyvsp[-2].ttype; check_for_missing_semicolon (yyval.ftype.t); ; break;} ! case 505: ! #line 2292 "parse.y" { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); yyval.ftype.new_type_flag = 0; ; break;} ! case 506: ! #line 2295 "parse.y" { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); yyval.ftype.new_type_flag = 0; ; break;} ! case 507: ! #line 2298 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; if (!processing_template_decl) pedwarn ("using `typename' outside of template"); ; break;} ! case 508: ! #line 2304 "parse.y" { if (yyvsp[-1].ttype && yyvsp[-2].ftype.t != error_mark_node) { --- 6696,6968 ---- } ; break;} ! case 442: ! #line 2067 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} ! case 443: ! #line 2069 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} ! case 446: ! #line 2076 "parse.y" { check_multiple_declarators (); ; break;} ! case 448: ! #line 2082 "parse.y" { check_multiple_declarators (); ; break;} ! case 450: ! #line 2088 "parse.y" { check_multiple_declarators (); ; break;} ! case 451: ! #line 2093 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 452: ! #line 2095 "parse.y" { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 453: ! #line 2100 "parse.y" { yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ; break;} ! case 454: ! #line 2103 "parse.y" { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 455: ! #line 2105 "parse.y" { yyval.ttype = parse_decl (yyvsp[-2].ttype, yyvsp[0].ttype, 0); parse_end_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 456: ! #line 2119 "parse.y" { yyval.ttype = parse_decl0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, 1); ; break;} ! case 457: ! #line 2124 "parse.y" { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 458: ! #line 2126 "parse.y" { tree d = parse_decl0 (yyvsp[-2].ttype, yyvsp[-3].ftype.t, yyvsp[-3].ftype.lookups, yyvsp[0].ttype, 0); parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 459: ! #line 2133 "parse.y" {; break;} ! case 460: ! #line 2138 "parse.y" {; break;} ! case 461: ! #line 2143 "parse.y" { /* Set things up as initdcl0_innards expects. */ yyval.ttype = yyvsp[0].ttype; yyvsp[0].ttype = yyvsp[-1].ttype; yyvsp[-1].ftype.t = NULL_TREE; yyvsp[-1].ftype.lookups = NULL_TREE; ; break;} ! case 462: ! #line 2149 "parse.y" {; break;} ! case 463: ! #line 2151 "parse.y" { tree d = parse_decl0 (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[0].ttype, 0); parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 464: ! #line 2159 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 465: ! #line 2161 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 466: ! #line 2166 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 467: ! #line 2168 "parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 468: ! #line 2173 "parse.y" { yyval.ttype = yyvsp[-2].ttype; ; break;} ! case 469: ! #line 2178 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 470: ! #line 2180 "parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 471: ! #line 2185 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 472: ! #line 2187 "parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; break;} ! case 473: ! #line 2189 "parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; break;} ! case 474: ! #line 2191 "parse.y" { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; break;} ! case 475: ! #line 2193 "parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 480: ! #line 2209 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 481: ! #line 2211 "parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} ! case 482: ! #line 2216 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 483: ! #line 2218 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 485: ! #line 2227 "parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} ! case 486: ! #line 2230 "parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} ! case 487: ! #line 2233 "parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} ! case 488: ! #line 2236 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 489: ! #line 2243 "parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} ! case 490: ! #line 2245 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} ! case 491: ! #line 2248 "parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 492: ! #line 2250 "parse.y" { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ; break;} ! case 493: ! #line 2252 "parse.y" { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ; break;} ! case 494: ! #line 2257 "parse.y" { expand_body (finish_function (2)); process_next_inline (yyvsp[-2].pi); ; break;} ! case 495: ! #line 2262 "parse.y" { expand_body (finish_function (2)); process_next_inline (yyvsp[-2].pi); ; break;} ! case 496: ! #line 2267 "parse.y" { finish_function (2); process_next_inline (yyvsp[-2].pi); ; break;} ! case 499: ! #line 2281 "parse.y" { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 500: ! #line 2283 "parse.y" { replace_defarg (yyvsp[-2].ttype, error_mark_node); ; break;} ! case 502: ! #line 2289 "parse.y" { do_pending_defargs (); ; break;} ! case 503: ! #line 2291 "parse.y" { do_pending_defargs (); ; break;} ! case 504: ! #line 2296 "parse.y" { yyval.ttype = current_enum_type; current_enum_type = start_enum (yyvsp[-1].ttype); ; break;} ! case 505: ! #line 2299 "parse.y" { yyval.ftype.t = current_enum_type; finish_enum (current_enum_type); yyval.ftype.new_type_flag = 1; current_enum_type = yyvsp[-2].ttype; check_for_missing_semicolon (yyval.ftype.t); ; break;} ! case 506: ! #line 2305 "parse.y" { yyval.ttype = current_enum_type; current_enum_type = start_enum (make_anon_name ()); ; break;} ! case 507: ! #line 2308 "parse.y" { yyval.ftype.t = current_enum_type; finish_enum (current_enum_type); yyval.ftype.new_type_flag = 1; current_enum_type = yyvsp[-2].ttype; check_for_missing_semicolon (yyval.ftype.t); ; break;} ! case 508: ! #line 2314 "parse.y" { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); yyval.ftype.new_type_flag = 0; ; break;} ! case 509: ! #line 2317 "parse.y" { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); yyval.ftype.new_type_flag = 0; ; break;} ! case 510: ! #line 2320 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; if (!processing_template_decl) pedwarn ("using `typename' outside of template"); ; break;} ! case 511: ! #line 2326 "parse.y" { if (yyvsp[-1].ttype && yyvsp[-2].ftype.t != error_mark_node) { *************** case 508: *** 6997,7004 **** check_class_key (current_aggr, yyvsp[-2].ftype.t); current_aggr = NULL_TREE; ; break;} ! case 509: ! #line 2321 "parse.y" { int semi; tree t; --- 6980,6987 ---- check_class_key (current_aggr, yyvsp[-2].ftype.t); current_aggr = NULL_TREE; ; break;} ! case 512: ! #line 2343 "parse.y" { int semi; tree t; *************** case 509: *** 7017,7144 **** ? class_type_node : record_type_node; ; break;} ! case 510: ! #line 2339 "parse.y" { done_pending_defargs (); begin_inline_definitions (); ; break;} ! case 511: ! #line 2344 "parse.y" { finish_inline_definitions (); yyval.ftype.t = yyvsp[-3].ttype; yyval.ftype.new_type_flag = 1; ; break;} ! case 512: ! #line 2350 "parse.y" { yyval.ftype.t = TREE_TYPE (yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; check_class_key (current_aggr, yyval.ftype.t); ; break;} ! case 516: ! #line 2365 "parse.y" { if (pedantic && !in_system_header) pedwarn ("comma at end of enumerator list"); ; break;} ! case 518: ! #line 2372 "parse.y" { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} ! case 519: ! #line 2374 "parse.y" { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} ! case 520: ! #line 2376 "parse.y" { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} ! case 521: ! #line 2378 "parse.y" { error ("no body nor ';' separates two class, struct or union declarations"); ; break;} ! case 522: ! #line 2380 "parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 523: ! #line 2385 "parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 524: ! #line 2390 "parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 525: ! #line 2395 "parse.y" { current_aggr = yyvsp[-3].ttype; yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 526: ! #line 2400 "parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ttype = build_tree_list (global_namespace, yyvsp[0].ttype); ; break;} ! case 527: ! #line 2408 "parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ttype = yyvsp[0].ttype; ; break;} ! case 528: ! #line 2413 "parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ttype = yyvsp[0].ttype; ; break;} ! case 529: ! #line 2418 "parse.y" { current_aggr = yyvsp[-3].ttype; yyval.ttype = yyvsp[0].ttype; ; break;} ! case 530: ! #line 2426 "parse.y" { yyval.ftype.t = handle_class_head (current_aggr, TREE_PURPOSE (yyvsp[0].ttype), TREE_VALUE (yyvsp[0].ttype), 0, &yyval.ftype.new_type_flag); ; break;} ! case 531: ! #line 2432 "parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ftype.t = TYPE_MAIN_DECL (xref_tag (current_aggr, yyvsp[0].ttype, 0)); yyval.ftype.new_type_flag = 1; ; break;} ! case 532: ! #line 2438 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} ! case 533: ! #line 2446 "parse.y" { yyungetc ('{', 1); yyval.ftype.t = handle_class_head (current_aggr, --- 7000,7127 ---- ? class_type_node : record_type_node; ; break;} ! case 513: ! #line 2361 "parse.y" { done_pending_defargs (); begin_inline_definitions (); ; break;} ! case 514: ! #line 2366 "parse.y" { finish_inline_definitions (); yyval.ftype.t = yyvsp[-3].ttype; yyval.ftype.new_type_flag = 1; ; break;} ! case 515: ! #line 2372 "parse.y" { yyval.ftype.t = TREE_TYPE (yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; check_class_key (current_aggr, yyval.ftype.t); ; break;} ! case 519: ! #line 2387 "parse.y" { if (pedantic && !in_system_header) pedwarn ("comma at end of enumerator list"); ; break;} ! case 521: ! #line 2394 "parse.y" { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} ! case 522: ! #line 2396 "parse.y" { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} ! case 523: ! #line 2398 "parse.y" { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} ! case 524: ! #line 2400 "parse.y" { error ("no body nor ';' separates two class, struct or union declarations"); ; break;} ! case 525: ! #line 2402 "parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 526: ! #line 2407 "parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 527: ! #line 2412 "parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 528: ! #line 2417 "parse.y" { current_aggr = yyvsp[-3].ttype; yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 529: ! #line 2422 "parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ttype = build_tree_list (global_namespace, yyvsp[0].ttype); ; break;} ! case 530: ! #line 2430 "parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ttype = yyvsp[0].ttype; ; break;} ! case 531: ! #line 2435 "parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ttype = yyvsp[0].ttype; ; break;} ! case 532: ! #line 2440 "parse.y" { current_aggr = yyvsp[-3].ttype; yyval.ttype = yyvsp[0].ttype; ; break;} ! case 533: ! #line 2448 "parse.y" { yyval.ftype.t = handle_class_head (current_aggr, TREE_PURPOSE (yyvsp[0].ttype), TREE_VALUE (yyvsp[0].ttype), 0, &yyval.ftype.new_type_flag); ; break;} ! case 534: ! #line 2454 "parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ftype.t = TYPE_MAIN_DECL (xref_tag (current_aggr, yyvsp[0].ttype, 0)); yyval.ftype.new_type_flag = 1; ; break;} ! case 535: ! #line 2460 "parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} ! case 536: ! #line 2468 "parse.y" { yyungetc ('{', 1); yyval.ftype.t = handle_class_head (current_aggr, *************** case 533: *** 7146,7153 **** 1, &yyval.ftype.new_type_flag); ; break;} ! case 534: ! #line 2453 "parse.y" { yyungetc (':', 1); yyval.ftype.t = handle_class_head (current_aggr, --- 7129,7136 ---- 1, &yyval.ftype.new_type_flag); ; break;} ! case 537: ! #line 2475 "parse.y" { yyungetc (':', 1); yyval.ftype.t = handle_class_head (current_aggr, *************** case 534: *** 7155,7162 **** 1, &yyval.ftype.new_type_flag); ; break;} ! case 535: ! #line 2460 "parse.y" { yyungetc ('{', 1); yyval.ftype.t = yyvsp[-1].ttype; --- 7138,7145 ---- 1, &yyval.ftype.new_type_flag); ; break;} ! case 538: ! #line 2482 "parse.y" { yyungetc ('{', 1); yyval.ftype.t = yyvsp[-1].ttype; *************** case 535: *** 7168,7175 **** = (current_aggr == class_type_node); ; break;} ! case 536: ! #line 2471 "parse.y" { yyungetc (':', 1); yyval.ftype.t = yyvsp[-1].ttype; --- 7151,7158 ---- = (current_aggr == class_type_node); ; break;} ! case 539: ! #line 2493 "parse.y" { yyungetc (':', 1); yyval.ftype.t = yyvsp[-1].ttype; *************** case 536: *** 7181,7188 **** = (current_aggr == class_type_node); ; break;} ! case 537: ! #line 2482 "parse.y" { yyungetc ('{', 1); current_aggr = yyvsp[-2].ttype; --- 7164,7171 ---- = (current_aggr == class_type_node); ; break;} ! case 540: ! #line 2504 "parse.y" { yyungetc ('{', 1); current_aggr = yyvsp[-2].ttype; *************** case 537: *** 7191,7198 **** 1, &yyval.ftype.new_type_flag); ; break;} ! case 538: ! #line 2490 "parse.y" { yyungetc (':', 1); current_aggr = yyvsp[-2].ttype; --- 7174,7181 ---- 1, &yyval.ftype.new_type_flag); ; break;} ! case 541: ! #line 2512 "parse.y" { yyungetc (':', 1); current_aggr = yyvsp[-2].ttype; *************** case 538: *** 7201,7208 **** 1, &yyval.ftype.new_type_flag); ; break;} ! case 539: ! #line 2498 "parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ftype.t = TYPE_MAIN_DECL (xref_tag (yyvsp[-1].ttype, make_anon_name (), 0)); --- 7184,7191 ---- 1, &yyval.ftype.new_type_flag); ; break;} ! case 542: ! #line 2520 "parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ftype.t = TYPE_MAIN_DECL (xref_tag (yyvsp[-1].ttype, make_anon_name (), 0)); *************** case 539: *** 7210,7257 **** yyungetc ('{', 1); ; break;} ! case 540: ! #line 2508 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 541: ! #line 2510 "parse.y" { error ("no bases given following `:'"); yyval.ttype = NULL_TREE; ; break;} ! case 542: ! #line 2513 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 544: ! #line 2519 "parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} ! case 545: ! #line 2524 "parse.y" { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ; break;} ! case 546: ! #line 2526 "parse.y" { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 547: ! #line 2531 "parse.y" { if (!TYPE_P (yyval.ttype)) yyval.ttype = error_mark_node; ; break;} ! case 548: ! #line 2534 "parse.y" { yyval.ttype = TREE_TYPE (yyval.ttype); ; break;} ! case 550: ! #line 2540 "parse.y" { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) error ("`%D' access", yyvsp[-1].ttype); yyval.ttype = access_default_virtual_node; ; break;} ! case 551: ! #line 2544 "parse.y" { if (yyvsp[-2].ttype != access_default_virtual_node) error ("multiple access specifiers"); --- 7193,7240 ---- yyungetc ('{', 1); ; break;} ! case 543: ! #line 2530 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 544: ! #line 2532 "parse.y" { error ("no bases given following `:'"); yyval.ttype = NULL_TREE; ; break;} ! case 545: ! #line 2535 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 547: ! #line 2541 "parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} ! case 548: ! #line 2546 "parse.y" { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ; break;} ! case 549: ! #line 2548 "parse.y" { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 550: ! #line 2553 "parse.y" { if (!TYPE_P (yyval.ttype)) yyval.ttype = error_mark_node; ; break;} ! case 551: ! #line 2556 "parse.y" { yyval.ttype = TREE_TYPE (yyval.ttype); ; break;} ! case 553: ! #line 2562 "parse.y" { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) error ("`%D' access", yyvsp[-1].ttype); yyval.ttype = access_default_virtual_node; ; break;} ! case 554: ! #line 2566 "parse.y" { if (yyvsp[-2].ttype != access_default_virtual_node) error ("multiple access specifiers"); *************** case 551: *** 7263,7270 **** yyval.ttype = access_private_virtual_node; ; break;} ! case 552: ! #line 2555 "parse.y" { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) error ("`%D' access", yyvsp[-1].ttype); else if (yyval.ttype == access_public_node) --- 7246,7253 ---- yyval.ttype = access_private_virtual_node; ; break;} ! case 555: ! #line 2577 "parse.y" { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) error ("`%D' access", yyvsp[-1].ttype); else if (yyval.ttype == access_public_node) *************** case 552: *** 7277,7336 **** error ("multiple `virtual' specifiers"); ; break;} ! case 557: ! #line 2576 "parse.y" { current_access_specifier = yyvsp[-1].ttype; ; break;} ! case 558: ! #line 2585 "parse.y" { finish_member_declaration (yyvsp[0].ttype); current_aggr = NULL_TREE; reset_type_access_control (); ; break;} ! case 559: ! #line 2591 "parse.y" { finish_member_declaration (yyvsp[0].ttype); current_aggr = NULL_TREE; reset_type_access_control (); ; break;} ! case 561: ! #line 2601 "parse.y" { error ("missing ';' before right brace"); yyungetc ('}', 0); ; break;} ! case 562: ! #line 2606 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} ! case 563: ! #line 2608 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} ! case 564: ! #line 2610 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} ! case 565: ! #line 2612 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} ! case 566: ! #line 2614 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 567: ! #line 2616 "parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} ! case 568: ! #line 2619 "parse.y" { if (yyvsp[0].ttype) yyval.ttype = finish_member_template_decl (yyvsp[0].ttype); --- 7260,7319 ---- error ("multiple `virtual' specifiers"); ; break;} ! case 560: ! #line 2598 "parse.y" { current_access_specifier = yyvsp[-1].ttype; ; break;} ! case 561: ! #line 2607 "parse.y" { finish_member_declaration (yyvsp[0].ttype); current_aggr = NULL_TREE; reset_type_access_control (); ; break;} ! case 562: ! #line 2613 "parse.y" { finish_member_declaration (yyvsp[0].ttype); current_aggr = NULL_TREE; reset_type_access_control (); ; break;} ! case 564: ! #line 2623 "parse.y" { error ("missing ';' before right brace"); yyungetc ('}', 0); ; break;} ! case 565: ! #line 2628 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} ! case 566: ! #line 2630 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} ! case 567: ! #line 2632 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} ! case 568: ! #line 2634 "parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} ! case 569: ! #line 2636 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 570: ! #line 2638 "parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} ! case 571: ! #line 2641 "parse.y" { if (yyvsp[0].ttype) yyval.ttype = finish_member_template_decl (yyvsp[0].ttype); *************** case 568: *** 7341,7359 **** finish_template_decl (yyvsp[-1].ttype); ; break;} ! case 569: ! #line 2629 "parse.y" { yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t); finish_template_decl (yyvsp[-2].ttype); ; break;} ! case 570: ! #line 2634 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 571: ! #line 2642 "parse.y" { /* Most of the productions for component_decl only allow the creation of one new member, so we call --- 7324,7342 ---- finish_template_decl (yyvsp[-1].ttype); ; break;} ! case 572: ! #line 2651 "parse.y" { yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t); finish_template_decl (yyvsp[-2].ttype); ; break;} ! case 573: ! #line 2656 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 574: ! #line 2664 "parse.y" { /* Most of the productions for component_decl only allow the creation of one new member, so we call *************** case 571: *** 7375,7425 **** yyval.ttype = NULL_TREE; ; break;} ! case 572: ! #line 2663 "parse.y" { if (!yyvsp[0].itype) grok_x_components (yyvsp[-1].ftype.t); yyval.ttype = NULL_TREE; ; break;} ! case 573: ! #line 2669 "parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 574: ! #line 2671 "parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 575: ! #line 2673 "parse.y" { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; break;} ! case 576: ! #line 2675 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 577: ! #line 2686 "parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-4].ftype.t, &specs, &attrs); yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype, chainon (yyvsp[-1].ttype, attrs)); ; break;} ! case 578: ! #line 2691 "parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 579: ! #line 2693 "parse.y" { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ; break;} ! case 580: ! #line 2700 "parse.y" { yyval.itype = 0; ; break;} ! case 581: ! #line 2702 "parse.y" { if (PROCESSING_REAL_TEMPLATE_DECL_P ()) yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); --- 7358,7408 ---- yyval.ttype = NULL_TREE; ; break;} ! case 575: ! #line 2685 "parse.y" { if (!yyvsp[0].itype) grok_x_components (yyvsp[-1].ftype.t); yyval.ttype = NULL_TREE; ; break;} ! case 576: ! #line 2691 "parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 577: ! #line 2693 "parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 578: ! #line 2695 "parse.y" { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; break;} ! case 579: ! #line 2697 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 580: ! #line 2708 "parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-4].ftype.t, &specs, &attrs); yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype, chainon (yyvsp[-1].ttype, attrs)); ; break;} ! case 581: ! #line 2713 "parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 582: ! #line 2715 "parse.y" { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ; break;} ! case 583: ! #line 2722 "parse.y" { yyval.itype = 0; ; break;} ! case 584: ! #line 2724 "parse.y" { if (PROCESSING_REAL_TEMPLATE_DECL_P ()) yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); *************** case 581: *** 7427,7434 **** yyval.itype = 1; ; break;} ! case 582: ! #line 2709 "parse.y" { check_multiple_declarators (); if (PROCESSING_REAL_TEMPLATE_DECL_P ()) --- 7410,7417 ---- yyval.itype = 1; ; break;} ! case 585: ! #line 2731 "parse.y" { check_multiple_declarators (); if (PROCESSING_REAL_TEMPLATE_DECL_P ()) *************** case 582: *** 7437,7448 **** yyval.itype = 2; ; break;} ! case 583: ! #line 2720 "parse.y" { yyval.itype = 0; ; break;} ! case 584: ! #line 2722 "parse.y" { if (PROCESSING_REAL_TEMPLATE_DECL_P ()) yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); --- 7420,7431 ---- yyval.itype = 2; ; break;} ! case 586: ! #line 2742 "parse.y" { yyval.itype = 0; ; break;} ! case 587: ! #line 2744 "parse.y" { if (PROCESSING_REAL_TEMPLATE_DECL_P ()) yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); *************** case 584: *** 7450,7457 **** yyval.itype = 1; ; break;} ! case 585: ! #line 2729 "parse.y" { check_multiple_declarators (); if (PROCESSING_REAL_TEMPLATE_DECL_P ()) --- 7433,7440 ---- yyval.itype = 1; ; break;} ! case 588: ! #line 2751 "parse.y" { check_multiple_declarators (); if (PROCESSING_REAL_TEMPLATE_DECL_P ()) *************** case 585: *** 7460,7535 **** yyval.itype = 2; ; break;} ! case 590: ! #line 2750 "parse.y" { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 591: ! #line 2753 "parse.y" { yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 592: ! #line 2759 "parse.y" { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 593: ! #line 2762 "parse.y" { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 594: ! #line 2765 "parse.y" { yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 595: ! #line 2768 "parse.y" { yyval.ttype = parse_bitfield0 (NULL_TREE, yyvsp[-3].ftype.t, yyvsp[-3].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 596: ! #line 2774 "parse.y" { yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 597: ! #line 2776 "parse.y" { yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 598: ! #line 2781 "parse.y" { yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 599: ! #line 2783 "parse.y" { yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 600: ! #line 2785 "parse.y" { yyval.ttype = parse_bitfield (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 605: ! #line 2804 "parse.y" { build_enumerator (yyvsp[0].ttype, NULL_TREE, current_enum_type); ; break;} ! case 606: ! #line 2806 "parse.y" { build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype, current_enum_type); ; break;} ! case 607: ! #line 2812 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 608: ! #line 2815 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} ! case 609: ! #line 2820 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new"); --- 7443,7518 ---- yyval.itype = 2; ; break;} ! case 593: ! #line 2772 "parse.y" { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 594: ! #line 2775 "parse.y" { yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 595: ! #line 2781 "parse.y" { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 596: ! #line 2784 "parse.y" { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 597: ! #line 2787 "parse.y" { yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 598: ! #line 2790 "parse.y" { yyval.ttype = parse_bitfield0 (NULL_TREE, yyvsp[-3].ftype.t, yyvsp[-3].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 599: ! #line 2796 "parse.y" { yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 600: ! #line 2798 "parse.y" { yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 601: ! #line 2803 "parse.y" { yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 602: ! #line 2805 "parse.y" { yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 603: ! #line 2807 "parse.y" { yyval.ttype = parse_bitfield (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 608: ! #line 2826 "parse.y" { build_enumerator (yyvsp[0].ttype, NULL_TREE, current_enum_type); ; break;} ! case 609: ! #line 2828 "parse.y" { build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype, current_enum_type); ; break;} ! case 610: ! #line 2834 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 611: ! #line 2837 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} ! case 612: ! #line 2842 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new"); *************** case 609: *** 7538,7641 **** yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag; ; break;} ! case 610: ! #line 2831 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 611: ! #line 2833 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} ! case 612: ! #line 2838 "parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); yyval.ftype.new_type_flag = 0; ; break;} ! case 613: ! #line 2841 "parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 614: ! #line 2844 "parse.y" { yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); yyval.ftype.new_type_flag = 0; ; break;} ! case 615: ! #line 2847 "parse.y" { yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 616: ! #line 2857 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 617: ! #line 2859 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 618: ! #line 2861 "parse.y" { yyval.ttype = empty_parms (); ; break;} ! case 619: ! #line 2863 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 621: ! #line 2871 "parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} ! case 622: ! #line 2881 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 623: ! #line 2883 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 624: ! #line 2885 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 625: ! #line 2887 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 626: ! #line 2889 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 628: ! #line 2897 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 629: ! #line 2899 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} ! case 630: ! #line 2901 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} ! case 631: ! #line 2903 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 632: ! #line 2905 "parse.y" { push_nested_class (yyvsp[-1].ttype, 3); yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ; break;} ! case 634: ! #line 2913 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) { --- 7521,7624 ---- yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag; ; break;} ! case 613: ! #line 2853 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 614: ! #line 2855 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} ! case 615: ! #line 2860 "parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); yyval.ftype.new_type_flag = 0; ; break;} ! case 616: ! #line 2863 "parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 617: ! #line 2866 "parse.y" { yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); yyval.ftype.new_type_flag = 0; ; break;} ! case 618: ! #line 2869 "parse.y" { yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 619: ! #line 2879 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 620: ! #line 2881 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 621: ! #line 2883 "parse.y" { yyval.ttype = empty_parms (); ; break;} ! case 622: ! #line 2885 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 624: ! #line 2893 "parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} ! case 625: ! #line 2903 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 626: ! #line 2905 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 627: ! #line 2907 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 628: ! #line 2909 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 629: ! #line 2911 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 631: ! #line 2919 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 632: ! #line 2921 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} ! case 633: ! #line 2923 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} ! case 634: ! #line 2925 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 635: ! #line 2927 "parse.y" { push_nested_class (yyvsp[-1].ttype, 3); yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ; break;} ! case 637: ! #line 2935 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) { *************** case 634: *** 7646,7653 **** yyval.ttype = yyvsp[0].ttype; ; break;} ! case 635: ! #line 2923 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); --- 7629,7636 ---- yyval.ttype = yyvsp[0].ttype; ; break;} ! case 638: ! #line 2945 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); *************** case 635: *** 7656,7815 **** got_scope = NULL_TREE; ; break;} ! case 638: ! #line 2936 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 639: ! #line 2941 "parse.y" { yyval.ttype = get_type_decl (yyvsp[0].ttype); ; break;} ! case 641: ! #line 2950 "parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} ! case 642: ! #line 2959 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 643: ! #line 2961 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 644: ! #line 2963 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 645: ! #line 2965 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 646: ! #line 2967 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 648: ! #line 2975 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 649: ! #line 2977 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 650: ! #line 2979 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 651: ! #line 2981 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 652: ! #line 2983 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 654: ! #line 2991 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 655: ! #line 2993 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 656: ! #line 2995 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} ! case 657: ! #line 2997 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} ! case 658: ! #line 2999 "parse.y" { enter_scope_of (yyvsp[0].ttype); ; break;} ! case 659: ! #line 3001 "parse.y" { enter_scope_of (yyvsp[0].ttype); yyval.ttype = yyvsp[0].ttype;; break;} ! case 660: ! #line 3003 "parse.y" { yyval.ttype = build_nt (SCOPE_REF, global_namespace, yyvsp[0].ttype); enter_scope_of (yyval.ttype); ; break;} ! case 661: ! #line 3007 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); enter_scope_of (yyval.ttype); ; break;} ! case 662: ! #line 3015 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; break;} ! case 663: ! #line 3018 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 664: ! #line 3024 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; break;} ! case 665: ! #line 3027 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 667: ! #line 3034 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 668: ! #line 3039 "parse.y" { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; break;} ! case 669: ! #line 3041 "parse.y" { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; break;} ! case 670: ! #line 3043 "parse.y" { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 675: ! #line 3055 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 676: ! #line 3057 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 677: ! #line 3061 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 678: ! #line 3064 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 679: ! #line 3072 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) { --- 7639,7798 ---- got_scope = NULL_TREE; ; break;} ! case 641: ! #line 2958 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 642: ! #line 2963 "parse.y" { yyval.ttype = get_type_decl (yyvsp[0].ttype); ; break;} ! case 644: ! #line 2972 "parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} ! case 645: ! #line 2981 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 646: ! #line 2983 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 647: ! #line 2985 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 648: ! #line 2987 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 649: ! #line 2989 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 651: ! #line 2997 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 652: ! #line 2999 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 653: ! #line 3001 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 654: ! #line 3003 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 655: ! #line 3005 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 657: ! #line 3013 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 658: ! #line 3015 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 659: ! #line 3017 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} ! case 660: ! #line 3019 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} ! case 661: ! #line 3021 "parse.y" { enter_scope_of (yyvsp[0].ttype); ; break;} ! case 662: ! #line 3023 "parse.y" { enter_scope_of (yyvsp[0].ttype); yyval.ttype = yyvsp[0].ttype;; break;} ! case 663: ! #line 3025 "parse.y" { yyval.ttype = build_nt (SCOPE_REF, global_namespace, yyvsp[0].ttype); enter_scope_of (yyval.ttype); ; break;} ! case 664: ! #line 3029 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); enter_scope_of (yyval.ttype); ; break;} ! case 665: ! #line 3037 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; break;} ! case 666: ! #line 3040 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 667: ! #line 3046 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; break;} ! case 668: ! #line 3049 "parse.y" { got_scope = NULL_TREE; yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 670: ! #line 3056 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 671: ! #line 3061 "parse.y" { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; break;} ! case 672: ! #line 3063 "parse.y" { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; break;} ! case 673: ! #line 3065 "parse.y" { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 678: ! #line 3077 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 679: ! #line 3079 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 680: ! #line 3083 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 681: ! #line 3086 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 682: ! #line 3094 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) { *************** case 679: *** 7820,7851 **** complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype))); ; break;} ! case 680: ! #line 3082 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype = TREE_TYPE (yyval.ttype); ; break;} ! case 681: ! #line 3088 "parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} ! case 682: ! #line 3094 "parse.y" { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ; break;} ! case 684: ! #line 3100 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 685: ! #line 3105 "parse.y" { if (TYPE_P (yyvsp[-1].ttype)) yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error); --- 7803,7834 ---- complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype))); ; break;} ! case 683: ! #line 3104 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype = TREE_TYPE (yyval.ttype); ; break;} ! case 684: ! #line 3110 "parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} ! case 685: ! #line 3116 "parse.y" { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ; break;} ! case 687: ! #line 3122 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 688: ! #line 3127 "parse.y" { if (TYPE_P (yyvsp[-1].ttype)) yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error); *************** case 685: *** 7859,7878 **** } ; break;} ! case 686: ! #line 3118 "parse.y" { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ; break;} ! case 687: ! #line 3120 "parse.y" { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error); ; break;} ! case 688: ! #line 3122 "parse.y" { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype, tf_error); ; break;} ! case 689: ! #line 3127 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) error ("`%T' is not a class or namespace", yyvsp[0].ttype); --- 7842,7861 ---- } ; break;} ! case 689: ! #line 3140 "parse.y" { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ; break;} ! case 690: ! #line 3142 "parse.y" { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error); ; break;} ! case 691: ! #line 3144 "parse.y" { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype, tf_error); ; break;} ! case 692: ! #line 3149 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) error ("`%T' is not a class or namespace", yyvsp[0].ttype); *************** case 689: *** 7880,7887 **** yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ; break;} ! case 690: ! #line 3134 "parse.y" { if (TYPE_P (yyvsp[-1].ttype)) yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error); --- 7863,7870 ---- yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ; break;} ! case 693: ! #line 3156 "parse.y" { if (TYPE_P (yyvsp[-1].ttype)) yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error); *************** case 690: *** 7895,7912 **** } ; break;} ! case 691: ! #line 3147 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 692: ! #line 3150 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 693: ! #line 3158 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) != TYPE_DECL) yyval.ttype = lastiddecl; --- 7878,7895 ---- } ; break;} ! case 694: ! #line 3169 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 695: ! #line 3172 "parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, tf_error); ; break;} ! case 696: ! #line 3180 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) != TYPE_DECL) yyval.ttype = lastiddecl; *************** case 693: *** 7919,7950 **** error ("`%T' is not a class or namespace", yyvsp[-1].ttype); ; break;} ! case 694: ! #line 3170 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) != TYPE_DECL) yyval.ttype = lastiddecl; got_scope = complete_type (TREE_TYPE (yyval.ttype)); ; break;} ! case 695: ! #line 3176 "parse.y" { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ; break;} ! case 698: ! #line 3180 "parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} ! case 699: ! #line 3189 "parse.y" { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 700: ! #line 3194 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); --- 7902,7933 ---- error ("`%T' is not a class or namespace", yyvsp[-1].ttype); ; break;} ! case 697: ! #line 3192 "parse.y" { if (TREE_CODE (yyvsp[-1].ttype) != TYPE_DECL) yyval.ttype = lastiddecl; got_scope = complete_type (TREE_TYPE (yyval.ttype)); ; break;} ! case 698: ! #line 3198 "parse.y" { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ; break;} ! case 701: ! #line 3202 "parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} ! case 702: ! #line 3211 "parse.y" { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 703: ! #line 3216 "parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); *************** case 700: *** 7953,8109 **** got_scope = NULL_TREE; ; break;} ! case 702: ! #line 3203 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 703: ! #line 3208 "parse.y" { got_scope = NULL_TREE; ; break;} ! case 704: ! #line 3210 "parse.y" { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ; break;} ! case 705: ! #line 3217 "parse.y" { got_scope = void_type_node; ; break;} ! case 706: ! #line 3223 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 707: ! #line 3225 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} ! case 708: ! #line 3227 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 709: ! #line 3229 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} ! case 710: ! #line 3231 "parse.y" { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, arg); ; break;} ! case 711: ! #line 3235 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 713: ! #line 3244 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 714: ! #line 3246 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} ! case 716: ! #line 3252 "parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} ! case 717: ! #line 3262 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 718: ! #line 3264 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 719: ! #line 3266 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ; break;} ! case 720: ! #line 3268 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ; break;} ! case 721: ! #line 3270 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 722: ! #line 3272 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 723: ! #line 3274 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ; break;} ! case 724: ! #line 3276 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ; break;} ! case 725: ! #line 3278 "parse.y" { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, arg); ; break;} ! case 726: ! #line 3282 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 728: ! #line 3291 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 729: ! #line 3294 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 730: ! #line 3296 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 731: ! #line 3298 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} ! case 732: ! #line 3300 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} ! case 733: ! #line 3302 "parse.y" { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 734: ! #line 3304 "parse.y" { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 735: ! #line 3306 "parse.y" { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 736: ! #line 3308 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 737: ! #line 3310 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ; break;} ! case 744: ! #line 3333 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids label declarations"); ; break;} ! case 747: ! #line 3344 "parse.y" { while (yyvsp[-1].ttype) { --- 7936,8092 ---- got_scope = NULL_TREE; ; break;} ! case 705: ! #line 3225 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 706: ! #line 3230 "parse.y" { got_scope = NULL_TREE; ; break;} ! case 707: ! #line 3232 "parse.y" { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ; break;} ! case 708: ! #line 3239 "parse.y" { got_scope = void_type_node; ; break;} ! case 709: ! #line 3245 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 710: ! #line 3247 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} ! case 711: ! #line 3249 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 712: ! #line 3251 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} ! case 713: ! #line 3253 "parse.y" { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, arg); ; break;} ! case 714: ! #line 3257 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 716: ! #line 3266 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 717: ! #line 3268 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} ! case 719: ! #line 3274 "parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} ! case 720: ! #line 3284 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 721: ! #line 3286 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 722: ! #line 3288 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ; break;} ! case 723: ! #line 3290 "parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ; break;} ! case 724: ! #line 3292 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 725: ! #line 3294 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} ! case 726: ! #line 3296 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ; break;} ! case 727: ! #line 3298 "parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ; break;} ! case 728: ! #line 3300 "parse.y" { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, arg); ; break;} ! case 729: ! #line 3304 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 731: ! #line 3313 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 732: ! #line 3316 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 733: ! #line 3318 "parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 734: ! #line 3320 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} ! case 735: ! #line 3322 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} ! case 736: ! #line 3324 "parse.y" { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 737: ! #line 3326 "parse.y" { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 738: ! #line 3328 "parse.y" { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 739: ! #line 3330 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 740: ! #line 3332 "parse.y" { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ; break;} ! case 747: ! #line 3355 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids label declarations"); ; break;} ! case 750: ! #line 3366 "parse.y" { while (yyvsp[-1].ttype) { *************** case 747: *** 8112,8390 **** } ; break;} ! case 748: ! #line 3355 "parse.y" { yyval.ttype = begin_compound_stmt (0); ; break;} ! case 749: ! #line 3357 "parse.y" { STMT_LINENO (yyvsp[-1].ttype) = yyvsp[-3].itype; finish_compound_stmt (0, yyvsp[-1].ttype); ; break;} ! case 750: ! #line 3363 "parse.y" { last_expr_type = NULL_TREE; ; break;} ! case 751: ! #line 3368 "parse.y" { yyval.ttype = begin_if_stmt (); cond_stmt_keyword = "if"; ; break;} ! case 752: ! #line 3371 "parse.y" { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 753: ! #line 3373 "parse.y" { yyval.ttype = yyvsp[-3].ttype; finish_then_clause (yyvsp[-3].ttype); ; break;} ! case 755: ! #line 3380 "parse.y" { yyval.ttype = begin_compound_stmt (0); ; break;} ! case 756: ! #line 3382 "parse.y" { STMT_LINENO (yyvsp[-2].ttype) = yyvsp[-1].itype; if (yyvsp[0].ttype) STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].itype; finish_compound_stmt (0, yyvsp[-2].ttype); ; break;} ! case 758: ! #line 3390 "parse.y" { if (yyvsp[0].ttype) STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].itype; ; break;} ! case 759: ! #line 3395 "parse.y" { finish_stmt (); yyval.ttype = NULL_TREE; ; break;} ! case 760: ! #line 3398 "parse.y" { yyval.ttype = finish_expr_stmt (yyvsp[-1].ttype); ; break;} ! case 761: ! #line 3400 "parse.y" { begin_else_clause (); ; break;} ! case 762: ! #line 3402 "parse.y" { yyval.ttype = yyvsp[-3].ttype; finish_else_clause (yyvsp[-3].ttype); finish_if_stmt (); ; break;} ! case 763: ! #line 3408 "parse.y" { yyval.ttype = yyvsp[0].ttype; finish_if_stmt (); ; break;} ! case 764: ! #line 3411 "parse.y" { yyval.ttype = begin_while_stmt (); cond_stmt_keyword = "while"; ; break;} ! case 765: ! #line 3416 "parse.y" { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 766: ! #line 3418 "parse.y" { yyval.ttype = yyvsp[-3].ttype; finish_while_stmt (yyvsp[-3].ttype); ; break;} ! case 767: ! #line 3421 "parse.y" { yyval.ttype = begin_do_stmt (); ; break;} ! case 768: ! #line 3423 "parse.y" { finish_do_body (yyvsp[-2].ttype); cond_stmt_keyword = "do"; ; break;} ! case 769: ! #line 3428 "parse.y" { yyval.ttype = yyvsp[-5].ttype; finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ; break;} ! case 770: ! #line 3431 "parse.y" { yyval.ttype = begin_for_stmt (); ; break;} ! case 771: ! #line 3433 "parse.y" { finish_for_init_stmt (yyvsp[-2].ttype); ; break;} ! case 772: ! #line 3435 "parse.y" { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ; break;} ! case 773: ! #line 3437 "parse.y" { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ; break;} ! case 774: ! #line 3439 "parse.y" { yyval.ttype = yyvsp[-10].ttype; finish_for_stmt (yyvsp[-10].ttype); ; break;} ! case 775: ! #line 3442 "parse.y" { yyval.ttype = begin_switch_stmt (); ; break;} ! case 776: ! #line 3444 "parse.y" { finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ; break;} ! case 777: ! #line 3446 "parse.y" { yyval.ttype = yyvsp[-5].ttype; finish_switch_stmt (yyvsp[-5].ttype); ; break;} ! case 778: ! #line 3449 "parse.y" { yyval.ttype = finish_case_label (yyvsp[-1].ttype, NULL_TREE); ; break;} ! case 779: ! #line 3451 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 780: ! #line 3453 "parse.y" { yyval.ttype = finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 781: ! #line 3455 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 782: ! #line 3457 "parse.y" { yyval.ttype = finish_case_label (NULL_TREE, NULL_TREE); ; break;} ! case 783: ! #line 3459 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 784: ! #line 3461 "parse.y" { yyval.ttype = finish_break_stmt (); ; break;} ! case 785: ! #line 3463 "parse.y" { yyval.ttype = finish_continue_stmt (); ; break;} ! case 786: ! #line 3465 "parse.y" { yyval.ttype = finish_return_stmt (NULL_TREE); ; break;} ! case 787: ! #line 3467 "parse.y" { yyval.ttype = finish_return_stmt (yyvsp[-1].ttype); ; break;} ! case 788: ! #line 3469 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, NULL_TREE); ASM_INPUT_P (yyval.ttype) = 1; ; break;} ! case 789: ! #line 3474 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ; break;} ! case 790: ! #line 3478 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} ! case 791: ! #line 3480 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE); ; break;} ! case 792: ! #line 3484 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} ! case 793: ! #line 3487 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, NULL_TREE, yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} ! case 794: ! #line 3490 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype); ; break;} ! case 795: ! #line 3492 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids computed gotos"); yyval.ttype = finish_goto_stmt (yyvsp[-1].ttype); ; break;} ! case 796: ! #line 3498 "parse.y" { yyval.ttype = finish_goto_stmt (yyvsp[-1].ttype); ; break;} ! case 797: ! #line 3500 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 798: ! #line 3502 "parse.y" { error ("label must be followed by statement"); yyungetc ('}', 0); yyval.ttype = NULL_TREE; ; break;} ! case 799: ! #line 3506 "parse.y" { finish_stmt (); yyval.ttype = NULL_TREE; ; break;} ! case 800: ! #line 3509 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 801: ! #line 3511 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 802: ! #line 3513 "parse.y" { do_local_using_decl (yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} ! case 803: ! #line 3516 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 804: ! #line 3521 "parse.y" { yyval.ttype = begin_function_try_block (); ; break;} ! case 805: ! #line 3523 "parse.y" { finish_function_try_block (yyvsp[-1].ttype); ; break;} ! case 806: ! #line 3525 "parse.y" { finish_function_handler_sequence (yyvsp[-3].ttype); ; break;} ! case 807: ! #line 3530 "parse.y" { yyval.ttype = begin_try_block (); ; break;} ! case 808: ! #line 3532 "parse.y" { finish_try_block (yyvsp[-1].ttype); ; break;} ! case 809: ! #line 3534 "parse.y" { finish_handler_sequence (yyvsp[-3].ttype); ; break;} ! case 812: ! #line 3541 "parse.y" { /* Generate a fake handler block to avoid later aborts. */ tree fake_handler = begin_handler (); finish_handler_parms (NULL_TREE, fake_handler); --- 8095,8373 ---- } ; break;} ! case 751: ! #line 3377 "parse.y" { yyval.ttype = begin_compound_stmt (0); ; break;} ! case 752: ! #line 3379 "parse.y" { STMT_LINENO (yyvsp[-1].ttype) = yyvsp[-3].itype; finish_compound_stmt (0, yyvsp[-1].ttype); ; break;} ! case 753: ! #line 3385 "parse.y" { last_expr_type = NULL_TREE; ; break;} ! case 754: ! #line 3390 "parse.y" { yyval.ttype = begin_if_stmt (); cond_stmt_keyword = "if"; ; break;} ! case 755: ! #line 3393 "parse.y" { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 756: ! #line 3395 "parse.y" { yyval.ttype = yyvsp[-3].ttype; finish_then_clause (yyvsp[-3].ttype); ; break;} ! case 758: ! #line 3402 "parse.y" { yyval.ttype = begin_compound_stmt (0); ; break;} ! case 759: ! #line 3404 "parse.y" { STMT_LINENO (yyvsp[-2].ttype) = yyvsp[-1].itype; if (yyvsp[0].ttype) STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].itype; finish_compound_stmt (0, yyvsp[-2].ttype); ; break;} ! case 761: ! #line 3412 "parse.y" { if (yyvsp[0].ttype) STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].itype; ; break;} ! case 762: ! #line 3417 "parse.y" { finish_stmt (); yyval.ttype = NULL_TREE; ; break;} ! case 763: ! #line 3420 "parse.y" { yyval.ttype = finish_expr_stmt (yyvsp[-1].ttype); ; break;} ! case 764: ! #line 3422 "parse.y" { begin_else_clause (); ; break;} ! case 765: ! #line 3424 "parse.y" { yyval.ttype = yyvsp[-3].ttype; finish_else_clause (yyvsp[-3].ttype); finish_if_stmt (); ; break;} ! case 766: ! #line 3430 "parse.y" { yyval.ttype = yyvsp[0].ttype; finish_if_stmt (); ; break;} ! case 767: ! #line 3433 "parse.y" { yyval.ttype = begin_while_stmt (); cond_stmt_keyword = "while"; ; break;} ! case 768: ! #line 3438 "parse.y" { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 769: ! #line 3440 "parse.y" { yyval.ttype = yyvsp[-3].ttype; finish_while_stmt (yyvsp[-3].ttype); ; break;} ! case 770: ! #line 3443 "parse.y" { yyval.ttype = begin_do_stmt (); ; break;} ! case 771: ! #line 3445 "parse.y" { finish_do_body (yyvsp[-2].ttype); cond_stmt_keyword = "do"; ; break;} ! case 772: ! #line 3450 "parse.y" { yyval.ttype = yyvsp[-5].ttype; finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ; break;} ! case 773: ! #line 3453 "parse.y" { yyval.ttype = begin_for_stmt (); ; break;} ! case 774: ! #line 3455 "parse.y" { finish_for_init_stmt (yyvsp[-2].ttype); ; break;} ! case 775: ! #line 3457 "parse.y" { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ; break;} ! case 776: ! #line 3459 "parse.y" { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ; break;} ! case 777: ! #line 3461 "parse.y" { yyval.ttype = yyvsp[-10].ttype; finish_for_stmt (yyvsp[-10].ttype); ; break;} ! case 778: ! #line 3464 "parse.y" { yyval.ttype = begin_switch_stmt (); ; break;} ! case 779: ! #line 3466 "parse.y" { finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ; break;} ! case 780: ! #line 3468 "parse.y" { yyval.ttype = yyvsp[-5].ttype; finish_switch_stmt (yyvsp[-5].ttype); ; break;} ! case 781: ! #line 3471 "parse.y" { yyval.ttype = finish_case_label (yyvsp[-1].ttype, NULL_TREE); ; break;} ! case 782: ! #line 3473 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 783: ! #line 3475 "parse.y" { yyval.ttype = finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 784: ! #line 3477 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 785: ! #line 3479 "parse.y" { yyval.ttype = finish_case_label (NULL_TREE, NULL_TREE); ; break;} ! case 786: ! #line 3481 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 787: ! #line 3483 "parse.y" { yyval.ttype = finish_break_stmt (); ; break;} ! case 788: ! #line 3485 "parse.y" { yyval.ttype = finish_continue_stmt (); ; break;} ! case 789: ! #line 3487 "parse.y" { yyval.ttype = finish_return_stmt (NULL_TREE); ; break;} ! case 790: ! #line 3489 "parse.y" { yyval.ttype = finish_return_stmt (yyvsp[-1].ttype); ; break;} ! case 791: ! #line 3491 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, NULL_TREE); ASM_INPUT_P (yyval.ttype) = 1; ; break;} ! case 792: ! #line 3496 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ; break;} ! case 793: ! #line 3500 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} ! case 794: ! #line 3502 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE); ; break;} ! case 795: ! #line 3506 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} ! case 796: ! #line 3509 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, NULL_TREE, yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} ! case 797: ! #line 3512 "parse.y" { yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype); ; break;} ! case 798: ! #line 3514 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids computed gotos"); yyval.ttype = finish_goto_stmt (yyvsp[-1].ttype); ; break;} ! case 799: ! #line 3520 "parse.y" { yyval.ttype = finish_goto_stmt (yyvsp[-1].ttype); ; break;} ! case 800: ! #line 3522 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 801: ! #line 3524 "parse.y" { error ("label must be followed by statement"); yyungetc ('}', 0); yyval.ttype = NULL_TREE; ; break;} ! case 802: ! #line 3528 "parse.y" { finish_stmt (); yyval.ttype = NULL_TREE; ; break;} ! case 803: ! #line 3531 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 804: ! #line 3533 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 805: ! #line 3535 "parse.y" { do_local_using_decl (yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} ! case 806: ! #line 3538 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 807: ! #line 3543 "parse.y" { yyval.ttype = begin_function_try_block (); ; break;} ! case 808: ! #line 3545 "parse.y" { finish_function_try_block (yyvsp[-1].ttype); ; break;} ! case 809: ! #line 3547 "parse.y" { finish_function_handler_sequence (yyvsp[-3].ttype); ; break;} ! case 810: ! #line 3552 "parse.y" { yyval.ttype = begin_try_block (); ; break;} ! case 811: ! #line 3554 "parse.y" { finish_try_block (yyvsp[-1].ttype); ; break;} ! case 812: ! #line 3556 "parse.y" { finish_handler_sequence (yyvsp[-3].ttype); ; break;} ! case 815: ! #line 3563 "parse.y" { /* Generate a fake handler block to avoid later aborts. */ tree fake_handler = begin_handler (); finish_handler_parms (NULL_TREE, fake_handler); *************** case 812: *** 8394,8519 **** error ("must have at least one catch per try block"); ; break;} ! case 813: ! #line 3553 "parse.y" { yyval.ttype = begin_handler (); ; break;} ! case 814: ! #line 3555 "parse.y" { finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 815: ! #line 3557 "parse.y" { finish_handler (yyvsp[-3].ttype); ; break;} ! case 818: ! #line 3567 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 819: ! #line 3583 "parse.y" { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype); yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t), TREE_VALUE (yyvsp[-1].ftype.t)); ; break;} ! case 820: ! #line 3592 "parse.y" { finish_label_stmt (yyvsp[-1].ttype); ; break;} ! case 821: ! #line 3594 "parse.y" { finish_label_stmt (yyvsp[-1].ttype); ; break;} ! case 822: ! #line 3596 "parse.y" { finish_label_stmt (yyvsp[-1].ttype); ; break;} ! case 823: ! #line 3598 "parse.y" { finish_label_stmt (yyvsp[-1].ttype); ; break;} ! case 824: ! #line 3603 "parse.y" { finish_expr_stmt (yyvsp[-1].ttype); ; break;} ! case 826: ! #line 3606 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids compound statements inside for initializations"); ; break;} ! case 827: ! #line 3615 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 829: ! #line 3621 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 831: ! #line 3624 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 832: ! #line 3631 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 835: ! #line 3638 "parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} ! case 836: ! #line 3643 "parse.y" { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} ! case 837: ! #line 3645 "parse.y" { yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} ! case 838: ! #line 3650 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE);; break;} ! case 839: ! #line 3652 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; break;} ! case 840: ! #line 3663 "parse.y" { yyval.ttype = empty_parms(); ; break;} ! case 842: ! #line 3668 "parse.y" { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0); check_for_new_type ("inside parameter list", yyvsp[0].ftype); ; break;} ! case 843: ! #line 3676 "parse.y" { yyval.ttype = finish_parmlist (yyval.ttype, 0); ; break;} ! case 844: ! #line 3678 "parse.y" { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; break;} ! case 845: ! #line 3681 "parse.y" { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; break;} ! case 846: ! #line 3683 "parse.y" { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 1); ; break;} ! case 847: ! #line 3686 "parse.y" { yyval.ttype = finish_parmlist (NULL_TREE, 1); ; break;} ! case 848: ! #line 3688 "parse.y" { /* This helps us recover from really nasty parse errors, for example, a missing right --- 8377,8502 ---- error ("must have at least one catch per try block"); ; break;} ! case 816: ! #line 3575 "parse.y" { yyval.ttype = begin_handler (); ; break;} ! case 817: ! #line 3577 "parse.y" { finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} ! case 818: ! #line 3579 "parse.y" { finish_handler (yyvsp[-3].ttype); ; break;} ! case 821: ! #line 3589 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 822: ! #line 3605 "parse.y" { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype); yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t), TREE_VALUE (yyvsp[-1].ftype.t)); ; break;} ! case 823: ! #line 3614 "parse.y" { finish_label_stmt (yyvsp[-1].ttype); ; break;} ! case 824: ! #line 3616 "parse.y" { finish_label_stmt (yyvsp[-1].ttype); ; break;} ! case 825: ! #line 3618 "parse.y" { finish_label_stmt (yyvsp[-1].ttype); ; break;} ! case 826: ! #line 3620 "parse.y" { finish_label_stmt (yyvsp[-1].ttype); ; break;} ! case 827: ! #line 3625 "parse.y" { finish_expr_stmt (yyvsp[-1].ttype); ; break;} ! case 829: ! #line 3628 "parse.y" { if (pedantic) pedwarn ("ISO C++ forbids compound statements inside for initializations"); ; break;} ! case 830: ! #line 3637 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 832: ! #line 3643 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 834: ! #line 3646 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 835: ! #line 3653 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 838: ! #line 3660 "parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} ! case 839: ! #line 3665 "parse.y" { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} ! case 840: ! #line 3667 "parse.y" { yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} ! case 841: ! #line 3672 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE);; break;} ! case 842: ! #line 3674 "parse.y" { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; break;} ! case 843: ! #line 3685 "parse.y" { yyval.ttype = empty_parms(); ; break;} ! case 845: ! #line 3690 "parse.y" { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0); check_for_new_type ("inside parameter list", yyvsp[0].ftype); ; break;} ! case 846: ! #line 3698 "parse.y" { yyval.ttype = finish_parmlist (yyval.ttype, 0); ; break;} ! case 847: ! #line 3700 "parse.y" { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; break;} ! case 848: ! #line 3703 "parse.y" { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; break;} ! case 849: ! #line 3705 "parse.y" { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 1); ; break;} ! case 850: ! #line 3708 "parse.y" { yyval.ttype = finish_parmlist (NULL_TREE, 1); ; break;} ! case 851: ! #line 3710 "parse.y" { /* This helps us recover from really nasty parse errors, for example, a missing right *************** case 848: *** 8524,8531 **** yychar = ')'; ; break;} ! case 849: ! #line 3698 "parse.y" { /* This helps us recover from really nasty parse errors, for example, a missing right --- 8507,8514 ---- yychar = ')'; ; break;} ! case 852: ! #line 3720 "parse.y" { /* This helps us recover from really nasty parse errors, for example, a missing right *************** case 849: *** 8537,8632 **** yychar = ')'; ; break;} ! case 850: ! #line 3713 "parse.y" { maybe_snarf_defarg (); ; break;} ! case 851: ! #line 3715 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 854: ! #line 3726 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[0].ftype); yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} ! case 855: ! #line 3729 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ; break;} ! case 856: ! #line 3732 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[0].ftype); yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ; break;} ! case 857: ! #line 3735 "parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} ! case 858: ! #line 3737 "parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ; break;} ! case 860: ! #line 3743 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ; break;} ! case 861: ! #line 3753 "parse.y" { yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 862: ! #line 3756 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 863: ! #line 3759 "parse.y" { yyval.ftype.t = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 864: ! #line 3763 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 865: ! #line 3766 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} ! case 866: ! #line 3769 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = 0; ; break;} ! case 867: ! #line 3775 "parse.y" { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} ! case 868: ! #line 3778 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 871: ! #line 3789 "parse.y" { see_typename (); ; break;} ! case 872: ! #line 3794 "parse.y" { error ("type specifier omitted for parameter"); yyval.ttype = build_tree_list (integer_type_node, NULL_TREE); ; break;} ! case 873: ! #line 3799 "parse.y" { if (TREE_CODE (yyval.ttype) == SCOPE_REF) { --- 8520,8615 ---- yychar = ')'; ; break;} ! case 853: ! #line 3735 "parse.y" { maybe_snarf_defarg (); ; break;} ! case 854: ! #line 3737 "parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 857: ! #line 3748 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[0].ftype); yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} ! case 858: ! #line 3751 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ; break;} ! case 859: ! #line 3754 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[0].ftype); yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ; break;} ! case 860: ! #line 3757 "parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} ! case 861: ! #line 3759 "parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ; break;} ! case 863: ! #line 3765 "parse.y" { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ; break;} ! case 864: ! #line 3775 "parse.y" { yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} ! case 865: ! #line 3778 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 866: ! #line 3781 "parse.y" { yyval.ftype.t = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 867: ! #line 3785 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 868: ! #line 3788 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} ! case 869: ! #line 3791 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = 0; ; break;} ! case 870: ! #line 3797 "parse.y" { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} ! case 871: ! #line 3800 "parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} ! case 874: ! #line 3811 "parse.y" { see_typename (); ; break;} ! case 875: ! #line 3816 "parse.y" { error ("type specifier omitted for parameter"); yyval.ttype = build_tree_list (integer_type_node, NULL_TREE); ; break;} ! case 876: ! #line 3821 "parse.y" { if (TREE_CODE (yyval.ttype) == SCOPE_REF) { *************** case 873: *** 8641,8712 **** yyval.ttype = build_tree_list (integer_type_node, yyval.ttype); ; break;} ! case 874: ! #line 3816 "parse.y" { error("'%D' is used as a type, but is not defined as a type.", yyvsp[-4].ttype); yyvsp[-2].ttype = error_mark_node; ; break;} ! case 875: ! #line 3824 "parse.y" { ; break;} ! case 877: ! #line 3830 "parse.y" { ; break;} ! case 879: ! #line 3836 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 880: ! #line 3838 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 881: ! #line 3840 "parse.y" { yyval.ttype = empty_except_spec; ; break;} ! case 882: ! #line 3845 "parse.y" { check_for_new_type ("exception specifier", yyvsp[0].ftype); yyval.ttype = groktypename (yyvsp[0].ftype.t); ; break;} ! case 883: ! #line 3850 "parse.y" { yyval.ttype = error_mark_node; ; break;} ! case 884: ! #line 3855 "parse.y" { yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ; break;} ! case 885: ! #line 3857 "parse.y" { yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ; break;} ! case 886: ! #line 3862 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 887: ! #line 3864 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 888: ! #line 3866 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 889: ! #line 3868 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 890: ! #line 3875 "parse.y" { saved_scopes = tree_cons (got_scope, got_object, saved_scopes); TREE_LANG_FLAG_0 (saved_scopes) = looking_for_typename; --- 8624,8695 ---- yyval.ttype = build_tree_list (integer_type_node, yyval.ttype); ; break;} ! case 877: ! #line 3838 "parse.y" { error("'%D' is used as a type, but is not defined as a type.", yyvsp[-4].ttype); yyvsp[-2].ttype = error_mark_node; ; break;} ! case 878: ! #line 3846 "parse.y" { ; break;} ! case 880: ! #line 3852 "parse.y" { ; break;} ! case 882: ! #line 3858 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 883: ! #line 3860 "parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 884: ! #line 3862 "parse.y" { yyval.ttype = empty_except_spec; ; break;} ! case 885: ! #line 3867 "parse.y" { check_for_new_type ("exception specifier", yyvsp[0].ftype); yyval.ttype = groktypename (yyvsp[0].ftype.t); ; break;} ! case 886: ! #line 3872 "parse.y" { yyval.ttype = error_mark_node; ; break;} ! case 887: ! #line 3877 "parse.y" { yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ; break;} ! case 888: ! #line 3879 "parse.y" { yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ; break;} ! case 889: ! #line 3884 "parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 890: ! #line 3886 "parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 891: ! #line 3888 "parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 892: ! #line 3890 "parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} ! case 893: ! #line 3897 "parse.y" { saved_scopes = tree_cons (got_scope, got_object, saved_scopes); TREE_LANG_FLAG_0 (saved_scopes) = looking_for_typename; *************** case 890: *** 8717,8872 **** got_scope = NULL_TREE; ; break;} ! case 891: ! #line 3887 "parse.y" { got_scope = TREE_PURPOSE (saved_scopes); got_object = TREE_VALUE (saved_scopes); looking_for_typename = TREE_LANG_FLAG_0 (saved_scopes); saved_scopes = TREE_CHAIN (saved_scopes); ; break;} ! case 892: ! #line 3896 "parse.y" { yyval.ttype = frob_opname (ansi_opname (MULT_EXPR)); ; break;} ! case 893: ! #line 3898 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUNC_DIV_EXPR)); ; break;} ! case 894: ! #line 3900 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUNC_MOD_EXPR)); ; break;} ! case 895: ! #line 3902 "parse.y" { yyval.ttype = frob_opname (ansi_opname (PLUS_EXPR)); ; break;} ! case 896: ! #line 3904 "parse.y" { yyval.ttype = frob_opname (ansi_opname (MINUS_EXPR)); ; break;} ! case 897: ! #line 3906 "parse.y" { yyval.ttype = frob_opname (ansi_opname (BIT_AND_EXPR)); ; break;} ! case 898: ! #line 3908 "parse.y" { yyval.ttype = frob_opname (ansi_opname (BIT_IOR_EXPR)); ; break;} ! case 899: ! #line 3910 "parse.y" { yyval.ttype = frob_opname (ansi_opname (BIT_XOR_EXPR)); ; break;} ! case 900: ! #line 3912 "parse.y" { yyval.ttype = frob_opname (ansi_opname (BIT_NOT_EXPR)); ; break;} ! case 901: ! #line 3914 "parse.y" { yyval.ttype = frob_opname (ansi_opname (COMPOUND_EXPR)); ; break;} ! case 902: ! #line 3916 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 903: ! #line 3918 "parse.y" { yyval.ttype = frob_opname (ansi_opname (LT_EXPR)); ; break;} ! case 904: ! #line 3920 "parse.y" { yyval.ttype = frob_opname (ansi_opname (GT_EXPR)); ; break;} ! case 905: ! #line 3922 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 906: ! #line 3924 "parse.y" { yyval.ttype = frob_opname (ansi_assopname (yyvsp[-1].code)); ; break;} ! case 907: ! #line 3926 "parse.y" { yyval.ttype = frob_opname (ansi_assopname (NOP_EXPR)); ; break;} ! case 908: ! #line 3928 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 909: ! #line 3930 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 910: ! #line 3932 "parse.y" { yyval.ttype = frob_opname (ansi_opname (POSTINCREMENT_EXPR)); ; break;} ! case 911: ! #line 3934 "parse.y" { yyval.ttype = frob_opname (ansi_opname (PREDECREMENT_EXPR)); ; break;} ! case 912: ! #line 3936 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUTH_ANDIF_EXPR)); ; break;} ! case 913: ! #line 3938 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUTH_ORIF_EXPR)); ; break;} ! case 914: ! #line 3940 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUTH_NOT_EXPR)); ; break;} ! case 915: ! #line 3942 "parse.y" { yyval.ttype = frob_opname (ansi_opname (COND_EXPR)); ; break;} ! case 916: ! #line 3944 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 917: ! #line 3946 "parse.y" { yyval.ttype = frob_opname (ansi_opname (COMPONENT_REF)); ; break;} ! case 918: ! #line 3948 "parse.y" { yyval.ttype = frob_opname (ansi_opname (MEMBER_REF)); ; break;} ! case 919: ! #line 3950 "parse.y" { yyval.ttype = frob_opname (ansi_opname (CALL_EXPR)); ; break;} ! case 920: ! #line 3952 "parse.y" { yyval.ttype = frob_opname (ansi_opname (ARRAY_REF)); ; break;} ! case 921: ! #line 3954 "parse.y" { yyval.ttype = frob_opname (ansi_opname (NEW_EXPR)); ; break;} ! case 922: ! #line 3956 "parse.y" { yyval.ttype = frob_opname (ansi_opname (DELETE_EXPR)); ; break;} ! case 923: ! #line 3958 "parse.y" { yyval.ttype = frob_opname (ansi_opname (VEC_NEW_EXPR)); ; break;} ! case 924: ! #line 3960 "parse.y" { yyval.ttype = frob_opname (ansi_opname (VEC_DELETE_EXPR)); ; break;} ! case 925: ! #line 3962 "parse.y" { yyval.ttype = frob_opname (grokoptypename (yyvsp[-2].ftype.t, yyvsp[-1].ttype)); ; break;} ! case 926: ! #line 3964 "parse.y" { yyval.ttype = frob_opname (ansi_opname (ERROR_MARK)); ; break;} ! case 927: ! #line 3971 "parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.itype = lineno; ; --- 8700,8855 ---- got_scope = NULL_TREE; ; break;} ! case 894: ! #line 3909 "parse.y" { got_scope = TREE_PURPOSE (saved_scopes); got_object = TREE_VALUE (saved_scopes); looking_for_typename = TREE_LANG_FLAG_0 (saved_scopes); saved_scopes = TREE_CHAIN (saved_scopes); ; break;} ! case 895: ! #line 3918 "parse.y" { yyval.ttype = frob_opname (ansi_opname (MULT_EXPR)); ; break;} ! case 896: ! #line 3920 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUNC_DIV_EXPR)); ; break;} ! case 897: ! #line 3922 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUNC_MOD_EXPR)); ; break;} ! case 898: ! #line 3924 "parse.y" { yyval.ttype = frob_opname (ansi_opname (PLUS_EXPR)); ; break;} ! case 899: ! #line 3926 "parse.y" { yyval.ttype = frob_opname (ansi_opname (MINUS_EXPR)); ; break;} ! case 900: ! #line 3928 "parse.y" { yyval.ttype = frob_opname (ansi_opname (BIT_AND_EXPR)); ; break;} ! case 901: ! #line 3930 "parse.y" { yyval.ttype = frob_opname (ansi_opname (BIT_IOR_EXPR)); ; break;} ! case 902: ! #line 3932 "parse.y" { yyval.ttype = frob_opname (ansi_opname (BIT_XOR_EXPR)); ; break;} ! case 903: ! #line 3934 "parse.y" { yyval.ttype = frob_opname (ansi_opname (BIT_NOT_EXPR)); ; break;} ! case 904: ! #line 3936 "parse.y" { yyval.ttype = frob_opname (ansi_opname (COMPOUND_EXPR)); ; break;} ! case 905: ! #line 3938 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 906: ! #line 3940 "parse.y" { yyval.ttype = frob_opname (ansi_opname (LT_EXPR)); ; break;} ! case 907: ! #line 3942 "parse.y" { yyval.ttype = frob_opname (ansi_opname (GT_EXPR)); ; break;} ! case 908: ! #line 3944 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 909: ! #line 3946 "parse.y" { yyval.ttype = frob_opname (ansi_assopname (yyvsp[-1].code)); ; break;} ! case 910: ! #line 3948 "parse.y" { yyval.ttype = frob_opname (ansi_assopname (NOP_EXPR)); ; break;} ! case 911: ! #line 3950 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 912: ! #line 3952 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 913: ! #line 3954 "parse.y" { yyval.ttype = frob_opname (ansi_opname (POSTINCREMENT_EXPR)); ; break;} ! case 914: ! #line 3956 "parse.y" { yyval.ttype = frob_opname (ansi_opname (PREDECREMENT_EXPR)); ; break;} ! case 915: ! #line 3958 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUTH_ANDIF_EXPR)); ; break;} ! case 916: ! #line 3960 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUTH_ORIF_EXPR)); ; break;} ! case 917: ! #line 3962 "parse.y" { yyval.ttype = frob_opname (ansi_opname (TRUTH_NOT_EXPR)); ; break;} ! case 918: ! #line 3964 "parse.y" { yyval.ttype = frob_opname (ansi_opname (COND_EXPR)); ; break;} ! case 919: ! #line 3966 "parse.y" { yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ; break;} ! case 920: ! #line 3968 "parse.y" { yyval.ttype = frob_opname (ansi_opname (COMPONENT_REF)); ; break;} ! case 921: ! #line 3970 "parse.y" { yyval.ttype = frob_opname (ansi_opname (MEMBER_REF)); ; break;} ! case 922: ! #line 3972 "parse.y" { yyval.ttype = frob_opname (ansi_opname (CALL_EXPR)); ; break;} ! case 923: ! #line 3974 "parse.y" { yyval.ttype = frob_opname (ansi_opname (ARRAY_REF)); ; break;} ! case 924: ! #line 3976 "parse.y" { yyval.ttype = frob_opname (ansi_opname (NEW_EXPR)); ; break;} ! case 925: ! #line 3978 "parse.y" { yyval.ttype = frob_opname (ansi_opname (DELETE_EXPR)); ; break;} ! case 926: ! #line 3980 "parse.y" { yyval.ttype = frob_opname (ansi_opname (VEC_NEW_EXPR)); ; break;} ! case 927: ! #line 3982 "parse.y" { yyval.ttype = frob_opname (ansi_opname (VEC_DELETE_EXPR)); ; break;} ! case 928: ! #line 3984 "parse.y" { yyval.ttype = frob_opname (grokoptypename (yyvsp[-2].ftype.t, yyvsp[-1].ttype)); ; break;} ! case 929: ! #line 3986 "parse.y" { yyval.ttype = frob_opname (ansi_opname (ERROR_MARK)); ; break;} ! case 930: ! #line 3993 "parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.itype = lineno; ; *************** yyerrhandle: *** 9093,9099 **** } return 1; } ! #line 3975 "parse.y" #ifdef SPEW_DEBUG --- 9076,9082 ---- } return 1; } ! #line 3997 "parse.y" #ifdef SPEW_DEBUG diff -Nrc3pad gcc-3.2/gcc/cp/parse.h gcc-3.2.1/gcc/cp/parse.h *** gcc-3.2/gcc/cp/parse.h Wed Aug 14 09:46:23 2002 --- gcc-3.2.1/gcc/cp/parse.h Tue Nov 19 18:27:03 2002 *************** typedef union { *** 7,13 **** struct unparsed_text *pi; } YYSTYPE; #define IDENTIFIER 257 ! #define TYPENAME 258 #define SELFNAME 259 #define PFUNCNAME 260 #define SCSPEC 261 --- 7,13 ---- struct unparsed_text *pi; } YYSTYPE; #define IDENTIFIER 257 ! #define tTYPENAME 258 #define SELFNAME 259 #define PFUNCNAME 260 #define SCSPEC 261 diff -Nrc3pad gcc-3.2/gcc/cp/parse.y gcc-3.2.1/gcc/cp/parse.y *** gcc-3.2/gcc/cp/parse.y Tue Apr 30 15:42:21 2002 --- gcc-3.2.1/gcc/cp/parse.y Mon Oct 21 18:38:39 2002 *************** cp_parse_init () *** 253,259 **** /* All identifiers that are declared typedefs in the current block. In some contexts, they are treated just like IDENTIFIER, but they can also serve as typespecs in declarations. */ ! %token TYPENAME %token SELFNAME /* A template function. */ --- 253,259 ---- /* All identifiers that are declared typedefs in the current block. In some contexts, they are treated just like IDENTIFIER, but they can also serve as typespecs in declarations. */ ! %token tTYPENAME %token SELFNAME /* A template function. */ *************** cp_parse_init () *** 315,321 **** %nonassoc IF %nonassoc ELSE ! %left IDENTIFIER PFUNCNAME TYPENAME SELFNAME PTYPENAME SCSPEC TYPESPEC CV_QUALIFIER ENUM AGGR ELLIPSIS TYPEOF SIGOF OPERATOR NSNAME TYPENAME_KEYWORD ATTRIBUTE %left '{' ',' ';' --- 315,321 ---- %nonassoc IF %nonassoc ELSE ! %left IDENTIFIER PFUNCNAME tTYPENAME SELFNAME PTYPENAME SCSPEC TYPESPEC CV_QUALIFIER ENUM AGGR ELLIPSIS TYPEOF SIGOF OPERATOR NSNAME TYPENAME_KEYWORD ATTRIBUTE %left '{' ',' ';' *************** cp_parse_init () *** 345,351 **** %type unop ! %type identifier IDENTIFIER TYPENAME CONSTANT expr nonnull_exprlist %type PFUNCNAME maybe_identifier %type paren_expr_or_null nontrivial_exprlist SELFNAME %type expr_no_commas expr_no_comma_rangle --- 345,351 ---- %type unop ! %type identifier IDENTIFIER tTYPENAME CONSTANT expr nonnull_exprlist %type PFUNCNAME maybe_identifier %type paren_expr_or_null nontrivial_exprlist SELFNAME %type expr_no_commas expr_no_comma_rangle *************** member_init: *** 994,1000 **** identifier: IDENTIFIER ! | TYPENAME | SELFNAME | PTYPENAME | NSNAME --- 994,1000 ---- identifier: IDENTIFIER ! | tTYPENAME | SELFNAME | PTYPENAME | NSNAME *************** explicit_instantiation: *** 1031,1047 **** --- 1031,1051 ---- { do_type_instantiation ($4.t, $1, 1); yyungetc (';', 1); } end_explicit_instantiation + {} | SCSPEC TEMPLATE begin_explicit_instantiation typed_declspecs declarator { tree specs = strip_attrs ($4.t); do_decl_instantiation (specs, $5, $1); } end_explicit_instantiation + {} | SCSPEC TEMPLATE begin_explicit_instantiation notype_declarator { do_decl_instantiation (NULL_TREE, $4, $1); } end_explicit_instantiation + {} | SCSPEC TEMPLATE begin_explicit_instantiation constructor_declarator { do_decl_instantiation (NULL_TREE, $4, $1); } end_explicit_instantiation + {} ; begin_explicit_instantiation: *************** template_type: *** 1060,1066 **** PTYPENAME '<' template_arg_list_opt template_close_bracket .finish_template_type { $$ = $5; } ! | TYPENAME '<' template_arg_list_opt template_close_bracket .finish_template_type { $$ = $5; } | self_template_type --- 1064,1070 ---- PTYPENAME '<' template_arg_list_opt template_close_bracket .finish_template_type { $$ = $5; } ! | tTYPENAME '<' template_arg_list_opt template_close_bracket .finish_template_type { $$ = $5; } | self_template_type *************** unary_expr: *** 1255,1270 **** /* Refer to the address of a label as a pointer. */ | ANDAND identifier { $$ = finish_label_address_expr ($2); } ! | SIZEOF unary_expr %prec UNARY ! { $$ = finish_sizeof ($2); } ! | SIZEOF '(' type_id ')' %prec HYPERUNARY { $$ = finish_sizeof (groktypename ($3.t)); ! check_for_new_type ("sizeof", $3); } ! | ALIGNOF unary_expr %prec UNARY ! { $$ = finish_alignof ($2); } ! | ALIGNOF '(' type_id ')' %prec HYPERUNARY { $$ = finish_alignof (groktypename ($3.t)); ! check_for_new_type ("alignof", $3); } /* The %prec EMPTY's here are required by the = init initializer syntax extension; see below. */ --- 1259,1278 ---- /* Refer to the address of a label as a pointer. */ | ANDAND identifier { $$ = finish_label_address_expr ($2); } ! | sizeof unary_expr %prec UNARY ! { $$ = finish_sizeof ($2); ! skip_evaluation--; } ! | sizeof '(' type_id ')' %prec HYPERUNARY { $$ = finish_sizeof (groktypename ($3.t)); ! check_for_new_type ("sizeof", $3); ! skip_evaluation--; } ! | alignof unary_expr %prec UNARY ! { $$ = finish_alignof ($2); ! skip_evaluation--; } ! | alignof '(' type_id ')' %prec HYPERUNARY { $$ = finish_alignof (groktypename ($3.t)); ! check_for_new_type ("alignof", $3); ! skip_evaluation--; } /* The %prec EMPTY's here are required by the = init initializer syntax extension; see below. */ *************** do_id: *** 1503,1509 **** don't do_identifier; we only do that for unqualified identifiers. */ if (!lastiddecl || TREE_CODE (lastiddecl) != TREE_LIST) ! $$ = do_identifier ($-1, 1, NULL_TREE); else $$ = $-1; } --- 1511,1517 ---- don't do_identifier; we only do that for unqualified identifiers. */ if (!lastiddecl || TREE_CODE (lastiddecl) != TREE_LIST) ! $$ = do_identifier ($-1, 3, NULL_TREE); else $$ = $-1; } *************** object_template_id: *** 1528,1534 **** unqualified_id: notype_unqualified_id ! | TYPENAME | SELFNAME ; --- 1536,1542 ---- unqualified_id: notype_unqualified_id ! | tTYPENAME | SELFNAME ; *************** reserved_typespecquals: *** 1989,1994 **** --- 1997,2014 ---- { $$ = tree_cons ($1, NULL_TREE, NULL_TREE); } ; + sizeof: + SIZEOF { skip_evaluation++; } + ; + + alignof: + ALIGNOF { skip_evaluation++; } + ; + + typeof: + TYPEOF { skip_evaluation++; } + ; + /* A typespec (but not a type qualifier). Once we have seen one of these in a declaration, if a typedef name appears then it is being redeclared. */ *************** typespec: *** 2000,2011 **** { $$.t = $1; $$.new_type_flag = 0; $$.lookups = NULL_TREE; } | complete_type_name { $$.t = $1; $$.new_type_flag = 0; $$.lookups = NULL_TREE; } ! | TYPEOF '(' expr ')' { $$.t = finish_typeof ($3); ! $$.new_type_flag = 0; $$.lookups = NULL_TREE; } ! | TYPEOF '(' type_id ')' { $$.t = groktypename ($3.t); ! $$.new_type_flag = 0; $$.lookups = NULL_TREE; } | SIGOF '(' expr ')' { tree type = TREE_TYPE ($3); --- 2020,2033 ---- { $$.t = $1; $$.new_type_flag = 0; $$.lookups = NULL_TREE; } | complete_type_name { $$.t = $1; $$.new_type_flag = 0; $$.lookups = NULL_TREE; } ! | typeof '(' expr ')' { $$.t = finish_typeof ($3); ! $$.new_type_flag = 0; $$.lookups = NULL_TREE; ! skip_evaluation--; } ! | typeof '(' type_id ')' { $$.t = groktypename ($3.t); ! $$.new_type_flag = 0; $$.lookups = NULL_TREE; ! skip_evaluation--; } | SIGOF '(' expr ')' { tree type = TREE_TYPE ($3); *************** after_type_component_declarator0: *** 2749,2755 **** after_type_declarator maybeasm maybe_attribute maybe_init { $$ = parse_field0 ($1, $0.t, $0.lookups, $3, $2, $4); } ! | TYPENAME ':' expr_no_commas maybe_attribute { $$ = parse_bitfield0 ($1, $0.t, $0.lookups, $4, $3); } ; --- 2771,2777 ---- after_type_declarator maybeasm maybe_attribute maybe_init { $$ = parse_field0 ($1, $0.t, $0.lookups, $3, $2, $4); } ! | tTYPENAME ':' expr_no_commas maybe_attribute { $$ = parse_bitfield0 ($1, $0.t, $0.lookups, $4, $3); } ; *************** notype_component_declarator0: *** 2772,2778 **** after_type_component_declarator: after_type_declarator maybeasm maybe_attribute maybe_init { $$ = parse_field ($1, $3, $2, $4); } ! | TYPENAME ':' expr_no_commas maybe_attribute { $$ = parse_bitfield ($1, $4, $3); } ; --- 2794,2800 ---- after_type_component_declarator: after_type_declarator maybeasm maybe_attribute maybe_init { $$ = parse_field ($1, $3, $2, $4); } ! | tTYPENAME ':' expr_no_commas maybe_attribute { $$ = parse_bitfield ($1, $4, $3); } ; *************** functional_cast: *** 3044,3050 **** ; type_name: ! TYPENAME | SELFNAME | template_type %prec EMPTY ; --- 3066,3072 ---- ; type_name: ! tTYPENAME | SELFNAME | template_type %prec EMPTY ; *************** nested_name_specifier: *** 3068,3074 **** /* Why the @#$%^& do type_name and notype_identifier need to be expanded inline here?!? (jason) */ nested_name_specifier_1: ! TYPENAME SCOPE { if (TREE_CODE ($1) == IDENTIFIER_NODE) { --- 3090,3096 ---- /* Why the @#$%^& do type_name and notype_identifier need to be expanded inline here?!? (jason) */ nested_name_specifier_1: ! tTYPENAME SCOPE { if (TREE_CODE ($1) == IDENTIFIER_NODE) { *************** typename_sub1: *** 3154,3160 **** /* This needs to return a TYPE_DECL for simple names so that we don't forget what name was used. */ typename_sub2: ! TYPENAME SCOPE { if (TREE_CODE ($1) != TYPE_DECL) $$ = lastiddecl; --- 3176,3182 ---- /* This needs to return a TYPE_DECL for simple names so that we don't forget what name was used. */ typename_sub2: ! tTYPENAME SCOPE { if (TREE_CODE ($1) != TYPE_DECL) $$ = lastiddecl; *************** label_colon: *** 3592,3598 **** { finish_label_stmt ($1); } | PTYPENAME ':' { finish_label_stmt ($1); } ! | TYPENAME ':' { finish_label_stmt ($1); } | SELFNAME ':' { finish_label_stmt ($1); } --- 3614,3620 ---- { finish_label_stmt ($1); } | PTYPENAME ':' { finish_label_stmt ($1); } ! | tTYPENAME ':' { finish_label_stmt ($1); } | SELFNAME ':' { finish_label_stmt ($1); } diff -Nrc3pad gcc-3.2/gcc/cp/pt.c gcc-3.2.1/gcc/cp/pt.c *** gcc-3.2/gcc/cp/pt.c Mon Jul 8 15:09:44 2002 --- gcc-3.2.1/gcc/cp/pt.c Fri Oct 11 22:42:18 2002 *************** convert_template_argument (parm, arg, ar *** 3430,3435 **** --- 3430,3445 ---- val, t); return error_mark_node; } + + /* In order to avoid all sorts of complications, we do + not allow variably-modified types as template + arguments. */ + if (variably_modified_type_p (val)) + { + error ("template-argument `%T' is a variably modified type", + val); + return error_mark_node; + } } } } *************** tsubst_decl (t, args, type, complain) *** 6079,6084 **** --- 6089,6096 ---- } r = copy_decl (t); + if (TREE_CODE (r) == VAR_DECL) + type = complete_type (type); TREE_TYPE (r) = type; c_apply_type_quals_to_decl (cp_type_quals (type), r); DECL_CONTEXT (r) = ctx; *************** tsubst_decl (t, args, type, complain) *** 6115,6120 **** --- 6127,6134 ---- TREE_CHAIN (r) = NULL_TREE; if (TREE_CODE (r) == VAR_DECL && VOID_TYPE_P (type)) cp_error_at ("instantiation of `%D' as type `%T'", r, type); + /* Compute the size, alignment, etc. of R. */ + layout_decl (r, 0); } break; *************** tsubst_expr (t, args, complain, in_decl) *** 7374,7382 **** decl = tsubst (decl, args, complain, in_decl); if (decl != error_mark_node) { - if (TREE_CODE (decl) != TYPE_DECL) - /* Make sure the type is instantiated now. */ - complete_type (TREE_TYPE (decl)); if (init) DECL_INITIAL (decl) = error_mark_node; /* By marking the declaration as instantiated, we avoid --- 7388,7393 ---- *************** tsubst_expr (t, args, complain, in_decl) *** 7386,7404 **** do. */ if (TREE_CODE (decl) == VAR_DECL) DECL_TEMPLATE_INSTANTIATED (decl) = 1; ! maybe_push_decl (decl); ! if (DECL_PRETTY_FUNCTION_P (decl)) { ! /* For __PRETTY_FUNCTION__ we have to adjust the ! initializer. */ ! const char *const name ! = (*decl_printable_name) (current_function_decl, 2); ! init = cp_fname_init (name); ! TREE_TYPE (decl) = TREE_TYPE (init); } - else - init = tsubst_expr (init, args, complain, in_decl); - cp_finish_decl (decl, init, NULL_TREE, 0); } } --- 7397,7422 ---- do. */ if (TREE_CODE (decl) == VAR_DECL) DECL_TEMPLATE_INSTANTIATED (decl) = 1; ! if (TREE_CODE (decl) == VAR_DECL ! && ANON_AGGR_TYPE_P (TREE_TYPE (decl))) ! /* Anonymous aggregates are a special case. */ ! finish_anon_union (decl); ! else { ! maybe_push_decl (decl); ! if (DECL_PRETTY_FUNCTION_P (decl)) ! { ! /* For __PRETTY_FUNCTION__ we have to adjust the ! initializer. */ ! const char *const name ! = (*decl_printable_name) (current_function_decl, 2); ! init = cp_fname_init (name); ! TREE_TYPE (decl) = TREE_TYPE (init); ! } ! else ! init = tsubst_expr (init, args, complain, in_decl); ! cp_finish_decl (decl, init, NULL_TREE, 0); } } } *************** tsubst_initializer_list (t, argvec) *** 10274,10281 **** else init = convert_from_reference (init); ! *p = build_tree_list (decl, init); ! p = &TREE_CHAIN (*p); } return first; } --- 10292,10301 ---- else init = convert_from_reference (init); ! *p = expand_member_init (current_class_ref, decl, ! init ? init : void_type_node); ! if (*p) ! p = &TREE_CHAIN (*p); } return first; } diff -Nrc3pad gcc-3.2/gcc/cp/rtti.c gcc-3.2.1/gcc/cp/rtti.c *** gcc-3.2/gcc/cp/rtti.c Fri Jul 26 23:22:59 2002 --- gcc-3.2.1/gcc/cp/rtti.c Mon Nov 11 12:42:13 2002 *************** unemitted_tinfo_decl_p (t, data) *** 1413,1423 **** TREE_CODE (t) == VAR_DECL /* whos name points back to itself */ && IDENTIFIER_GLOBAL_VALUE (DECL_NAME (t)) == t ! /* whos name's type is non-null */ && TREE_TYPE (DECL_NAME (t)) ! /* and whos type is a struct */ && TREE_CODE (TREE_TYPE (t)) == RECORD_TYPE ! /* with a first field of our pseudo type info */ && TREE_TYPE (TYPE_FIELDS (TREE_TYPE (t))) == ti_desc_type_node) return 1; return 0; --- 1413,1425 ---- TREE_CODE (t) == VAR_DECL /* whos name points back to itself */ && IDENTIFIER_GLOBAL_VALUE (DECL_NAME (t)) == t ! /* whose name's type is non-null */ && TREE_TYPE (DECL_NAME (t)) ! /* and whose type is a struct */ && TREE_CODE (TREE_TYPE (t)) == RECORD_TYPE ! /* with a field */ ! && TYPE_FIELDS (TREE_TYPE (t)) ! /* which is our pseudo type info */ && TREE_TYPE (TYPE_FIELDS (TREE_TYPE (t))) == ti_desc_type_node) return 1; return 0; diff -Nrc3pad gcc-3.2/gcc/cp/search.c gcc-3.2.1/gcc/cp/search.c *** gcc-3.2/gcc/cp/search.c Thu Apr 18 13:59:00 2002 --- gcc-3.2.1/gcc/cp/search.c Fri Aug 23 12:00:42 2002 *************** static tree dfs_push_decls PARAMS ((tree *** 100,106 **** static tree dfs_unuse_fields PARAMS ((tree, void *)); static tree add_conversions PARAMS ((tree, void *)); static int covariant_return_p PARAMS ((tree, tree)); - static int check_final_overrider PARAMS ((tree, tree)); static int look_for_overrides_r PARAMS ((tree, tree)); static struct search_level *push_search_level PARAMS ((struct stack_level *, struct obstack *)); --- 100,105 ---- *************** covariant_return_p (brettype, drettype) *** 1800,1806 **** /* Check that virtual overrider OVERRIDER is acceptable for base function BASEFN. Issue diagnostic, and return zero, if unacceptable. */ ! static int check_final_overrider (overrider, basefn) tree overrider, basefn; { --- 1799,1805 ---- /* Check that virtual overrider OVERRIDER is acceptable for base function BASEFN. Issue diagnostic, and return zero, if unacceptable. */ ! int check_final_overrider (overrider, basefn) tree overrider, basefn; { diff -Nrc3pad gcc-3.2/gcc/cp/semantics.c gcc-3.2.1/gcc/cp/semantics.c *** gcc-3.2/gcc/cp/semantics.c Wed Apr 17 01:44:01 2002 --- gcc-3.2.1/gcc/cp/semantics.c Tue Oct 29 21:12:36 2002 *************** finish_alignof (t) *** 2117,2123 **** if (processing_template_decl) return build_min_nt (ALIGNOF_EXPR, t); ! return TYPE_P (t) ? c_alignof (t) : c_alignof_expr (t); } /* Generate RTL for the statement T, and its substatements, and any --- 2117,2123 ---- if (processing_template_decl) return build_min_nt (ALIGNOF_EXPR, t); ! return TYPE_P (t) ? c_alignof (complete_type (t)) : c_alignof_expr (t); } /* Generate RTL for the statement T, and its substatements, and any diff -Nrc3pad gcc-3.2/gcc/cp/spew.c gcc-3.2.1/gcc/cp/spew.c *** gcc-3.2/gcc/cp/spew.c Mon Feb 4 08:55:43 2002 --- gcc-3.2.1/gcc/cp/spew.c Wed Oct 23 21:56:54 2002 *************** static SPEW_INLINE int read_process_iden *** 115,120 **** --- 115,121 ---- static SPEW_INLINE void feed_input PARAMS ((struct unparsed_text *)); static SPEW_INLINE void snarf_block PARAMS ((const char *, int)); static tree snarf_defarg PARAMS ((void)); + static void snarf_parenthesized_expression PARAMS ((const char *, int)); static int frob_id PARAMS ((int, int, tree *)); /* The list of inline functions being held off until we reach the end of *************** static enum cpp_ttype last_token; *** 141,150 **** static tree last_token_id; /* From lex.c: */ ! /* the declaration found for the last IDENTIFIER token read in. ! yylex must look this up to detect typedefs, which get token type TYPENAME, ! so it is left around in case the identifier is not a typedef but is ! used in a context which makes it a reference to a variable. */ extern tree lastiddecl; /* let our brains leak out here too */ extern int yychar; /* the lookahead symbol */ extern YYSTYPE yylval; /* the semantic value of the */ --- 142,152 ---- static tree last_token_id; /* From lex.c: */ ! /* the declaration found for the last IDENTIFIER token read in. yylex ! must look this up to detect typedefs, which get token type ! tTYPENAME, so it is left around in case the identifier is not a ! typedef but is used in a context which makes it a reference to a ! variable. */ extern tree lastiddecl; /* let our brains leak out here too */ extern int yychar; /* the lookahead symbol */ extern YYSTYPE yylval; /* the semantic value of the */ *************** add_token (t) *** 483,491 **** memcpy (t, feed->input->pos, sizeof (struct token)); return (feed->input->pos++)->yychar; } ! ! memcpy (t, &Teosi, sizeof (struct token)); ! return END_OF_SAVED_INPUT; } /* Shift the next token onto the fifo. */ --- 485,492 ---- memcpy (t, feed->input->pos, sizeof (struct token)); return (feed->input->pos++)->yychar; } ! ! return 0; } /* Shift the next token onto the fifo. */ *************** identifier_type (decl) *** 628,638 **** if (t && t == decl) return SELFNAME; ! return TYPENAME; } /* token[0] == AGGR (struct/union/enum) ! Thus, token[1] is either a TYPENAME or a TYPENAME_DEFN. If token[2] == '{' or ':' then it's TYPENAME_DEFN. It's also a definition if it's a forward declaration (as in 'struct Foo;') which we can tell if token[2] == ';' *and* token[-1] != FRIEND or NEW. */ --- 629,639 ---- if (t && t == decl) return SELFNAME; ! return tTYPENAME; } /* token[0] == AGGR (struct/union/enum) ! Thus, token[1] is either a tTYPENAME or a TYPENAME_DEFN. If token[2] == '{' or ':' then it's TYPENAME_DEFN. It's also a definition if it's a forward declaration (as in 'struct Foo;') which we can tell if token[2] == ';' *and* token[-1] != FRIEND or NEW. */ *************** do_aggr () *** 644,650 **** scan_tokens (2); yc1 = nth_token (1)->yychar; ! if (yc1 != TYPENAME && yc1 != IDENTIFIER && yc1 != PTYPENAME) return; yc2 = nth_token (2)->yychar; if (yc2 == ';') --- 645,651 ---- scan_tokens (2); yc1 = nth_token (1)->yychar; ! if (yc1 != tTYPENAME && yc1 != IDENTIFIER && yc1 != PTYPENAME) return; yc2 = nth_token (2)->yychar; if (yc2 == ';') *************** do_aggr () *** 659,665 **** switch (yc1) { ! case TYPENAME: nth_token (1)->yychar = TYPENAME_DEFN; break; case PTYPENAME: --- 660,666 ---- switch (yc1) { ! case tTYPENAME: nth_token (1)->yychar = TYPENAME_DEFN; break; case PTYPENAME: *************** yylex () *** 757,763 **** break; } case IDENTIFIER_DEFN: ! case TYPENAME: case TYPENAME_DEFN: case PTYPENAME: case PTYPENAME_DEFN: --- 758,764 ---- break; } case IDENTIFIER_DEFN: ! case tTYPENAME: case TYPENAME_DEFN: case PTYPENAME: case PTYPENAME_DEFN: *************** frob_id (yyc, peek, idp) *** 897,903 **** yyc = identifier_type (trrr); switch(yyc) { ! case TYPENAME: case SELFNAME: case NSNAME: case PTYPENAME: --- 898,904 ---- yyc = identifier_type (trrr); switch(yyc) { ! case tTYPENAME: case SELFNAME: case NSNAME: case PTYPENAME: *************** process_next_inline (i) *** 1031,1036 **** --- 1032,1069 ---- } + /* Accumulate the tokens that make up a parenthesized expression in T, + having already read the opening parenthesis. */ + + static void + snarf_parenthesized_expression (starting_file, starting_line) + const char *starting_file; + int starting_line; + { + int yyc; + int level = 1; + + while (1) + { + size_t point; + + point = obstack_object_size (&inline_text_obstack); + obstack_blank (&inline_text_obstack, sizeof (struct token)); + yyc = add_token ((struct token *) + (obstack_base (&inline_text_obstack) + point)); + if (yyc == '(') + ++level; + else if (yyc == ')' && --level == 0) + break; + else if (yyc == 0) + { + error_with_file_and_line (starting_file, starting_line, + "end of file read inside definition"); + break; + } + } + } + /* Subroutine of snarf_method, deals with actual absorption of the block. */ static SPEW_INLINE void *************** snarf_block (starting_file, starting_lin *** 1113,1118 **** --- 1146,1153 ---- else if (look_for_semicolon && blev == 0) break; } + else if (yyc == '(' && blev == 0) + snarf_parenthesized_expression (starting_file, starting_line); else if (yyc == 0) { error_with_file_and_line (starting_file, starting_line, *************** snarf_method (decl) *** 1131,1142 **** --- 1166,1192 ---- int starting_lineno = lineno; const char *starting_filename = input_filename; size_t len; + int i; struct unparsed_text *meth; /* Leave room for the header, then absorb the block. */ obstack_blank (&inline_text_obstack, sizeof (struct unparsed_text)); snarf_block (starting_filename, starting_lineno); + /* Add three END_OF_SAVED_INPUT tokens. We used to provide an + infinite stream of END_OF_SAVED_INPUT tokens -- but that can + cause the compiler to get stuck in an infinite loop when + encountering invalid code. We need more than one because the + parser sometimes peeks ahead several tokens. */ + for (i = 0; i < 3; ++i) + { + size_t point = obstack_object_size (&inline_text_obstack); + obstack_blank (&inline_text_obstack, sizeof (struct token)); + memcpy ((struct token *) + (obstack_base (&inline_text_obstack) + point), + &Teosi, + sizeof (struct token)); + } len = obstack_object_size (&inline_text_obstack); meth = (struct unparsed_text *) obstack_finish (&inline_text_obstack); *************** snarf_defarg () *** 1187,1192 **** --- 1237,1243 ---- size_t point; size_t len; struct unparsed_text *buf; + int i; tree arg; obstack_blank (&inline_text_obstack, sizeof (struct unparsed_text)); *************** snarf_defarg () *** 1216,1221 **** --- 1267,1286 ---- push_token ((struct token *) (obstack_base (&inline_text_obstack) + point)); /* This is the documented way to shrink a growing obstack block. */ obstack_blank (&inline_text_obstack, - (int) sizeof (struct token)); + /* Add three END_OF_SAVED_INPUT tokens. We used to provide an + infinite stream of END_OF_SAVED_INPUT tokens -- but that can + cause the compiler to get stuck in an infinite loop when + encountering invalid code. We need more than one because the + parser sometimes peeks ahead several tokens. */ + for (i = 0; i < 3; ++i) + { + point = obstack_object_size (&inline_text_obstack); + obstack_blank (&inline_text_obstack, sizeof (struct token)); + memcpy ((struct token *) + (obstack_base (&inline_text_obstack) + point), + &Teosi, + sizeof (struct token)); + } done: len = obstack_object_size (&inline_text_obstack); *************** debug_yychar (yy) *** 1448,1454 **** { if (yy<256) fprintf (stderr, "->%d < %c >\n", lineno, yy); ! else if (yy == IDENTIFIER || yy == TYPENAME) { const char *id; if (TREE_CODE (yylval.ttype) == IDENTIFIER_NODE) --- 1513,1519 ---- { if (yy<256) fprintf (stderr, "->%d < %c >\n", lineno, yy); ! else if (yy == IDENTIFIER || yy == tTYPENAME) { const char *id; if (TREE_CODE (yylval.ttype) == IDENTIFIER_NODE) diff -Nrc3pad gcc-3.2/gcc/cp/tree.c gcc-3.2.1/gcc/cp/tree.c *** gcc-3.2/gcc/cp/tree.c Thu Jul 11 21:13:08 2002 --- gcc-3.2.1/gcc/cp/tree.c Fri Oct 25 22:11:16 2002 *************** pod_type_p (t) *** 1903,1921 **** int zero_init_p (t) ! tree t; { ! t = strip_array_types (t); ! ! /* NULL pointers to data members are initialized with -1. */ ! if (TYPE_PTRMEM_P (t)) ! return 0; ! /* Classes that contain types that can't be zero-initialized, cannot ! be zero-initialized themselves. */ ! if (CLASS_TYPE_P (t) && CLASSTYPE_NON_ZERO_INIT_P (t)) ! return 0; return 1; } --- 1903,1921 ---- int zero_init_p (t) ! tree t ATTRIBUTE_UNUSED; { ! /* This is not a correct implementation of this function. As a ! result, pointers-to-members will not be correctly ! zero-initialized. ! However, using a correct implementation of this function results ! in many other failures. Correcting these other failures required ! a major infrastructure improvement, which was undertaken in the ! GCC 3.3 source base. + In order to reduce risk, these changes were not ported to the GCC + 3.2 source base. */ return 1; } diff -Nrc3pad gcc-3.2/gcc/cp/typeck.c gcc-3.2.1/gcc/cp/typeck.c *** gcc-3.2/gcc/cp/typeck.c Thu Jun 20 23:25:11 2002 --- gcc-3.2.1/gcc/cp/typeck.c Fri Nov 1 13:12:24 2002 *************** build_x_unary_op (code, xarg) *** 4167,4172 **** --- 4167,4191 ---- } if (code == ADDR_EXPR) { + /* A pointer to member-function can be formed only by saying + &X::mf. */ + if (!flag_ms_extensions && TREE_CODE (TREE_TYPE (xarg)) == METHOD_TYPE + && (TREE_CODE (xarg) != OFFSET_REF || !PTRMEM_OK_P (xarg))) + { + if (TREE_CODE (xarg) != OFFSET_REF) + { + error ("invalid use of '%E' to form a pointer-to-member-function. Use a qualified-id.", + xarg); + return error_mark_node; + } + else + { + error ("parenthesis around '%E' cannot be used to form a pointer-to-member-function", + xarg); + PTRMEM_OK_P (xarg) = 1; + } + } + if (TREE_CODE (xarg) == OFFSET_REF) { ptrmem = PTRMEM_OK_P (xarg); *************** build_modify_expr (lhs, modifycode, rhs) *** 5450,5456 **** so the code to compute it is only emitted once. */ tree cond; ! rhs = save_expr (rhs); /* Check this here to avoid odd errors when trying to convert a throw to the type of the COND_EXPR. */ --- 5469,5478 ---- so the code to compute it is only emitted once. */ tree cond; ! if (lvalue_p (rhs)) ! rhs = stabilize_reference (rhs); ! else ! rhs = save_expr (rhs); /* Check this here to avoid odd errors when trying to convert a throw to the type of the COND_EXPR. */ diff -Nrc3pad gcc-3.2/gcc/cp/typeck2.c gcc-3.2.1/gcc/cp/typeck2.c *** gcc-3.2/gcc/cp/typeck2.c Tue Jul 2 15:50:35 2002 --- gcc-3.2.1/gcc/cp/typeck2.c Thu Oct 31 00:02:35 2002 *************** process_init_constructor (type, init, el *** 863,870 **** { if (TREE_READONLY (field)) error ("uninitialized const member `%D'", field); ! else if (TYPE_LANG_SPECIFIC (TREE_TYPE (field)) ! && CLASSTYPE_READONLY_FIELDS_NEED_INIT (TREE_TYPE (field))) error ("member `%D' with uninitialized const fields", field); else if (TREE_CODE (TREE_TYPE (field)) == REFERENCE_TYPE) --- 863,869 ---- { if (TREE_READONLY (field)) error ("uninitialized const member `%D'", field); ! else if (CLASSTYPE_READONLY_FIELDS_NEED_INIT (TREE_TYPE (field))) error ("member `%D' with uninitialized const fields", field); else if (TREE_CODE (TREE_TYPE (field)) == REFERENCE_TYPE) *************** process_init_constructor (type, init, el *** 976,981 **** --- 975,982 ---- return error_mark_node; result = build (CONSTRUCTOR, type, NULL_TREE, nreverse (members)); + if (TREE_CODE (type) == ARRAY_TYPE && TYPE_DOMAIN (type) == NULL_TREE) + complete_array_type (type, result, /*do_default=*/0); if (init) TREE_HAS_CONSTRUCTOR (result) = TREE_HAS_CONSTRUCTOR (init); if (allconstant) TREE_CONSTANT (result) = 1; diff -Nrc3pad gcc-3.2/libstdc++-v3/ChangeLog gcc-3.2.1/libstdc++-v3/ChangeLog *** gcc-3.2/libstdc++-v3/ChangeLog Wed Aug 14 09:01:05 2002 --- gcc-3.2.1/libstdc++-v3/ChangeLog Tue Nov 19 17:50:09 2002 *************** *** 1,3 **** --- 1,595 ---- + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-17 Jakub Jelinek + + * config/linker-map.gnu: Export _S_construct even if size_t is + unsigned long. Collapse std::codecvt::codecvt(size_t) + and std::codecvt::codecvt(size_t) into one export pattern. + + 2002-11-13 Benjamin Kosnik + + * config/linker-map.gnu: Export all _S_construct. + + 2002-11-06 David Edelsohn + + PR 8362 + * testsuite/abi_check.cc: Add guards to prevent -mpower ICE. + + 2002-11-05 Jonathan Wakely + + * include/std/std_sstream.h + (basic_stringbuf::str(const __string_type&)): + Prefer data() to c_str() thus avoiding assigning the + unnecessary NULL-terminator. + + 2002-11-05 Benjamin Kosnik + + PR libstdc++/8258 + * include/bits/istream.tcc (istream::readsome): Don't set eofbit + for null buffer. + (istream::operator>>(_CharT*)): Use traits_type. + (istream::ws): Same. + (istream::operator>>(string)): Same. + * testsuite/27_io/istream_unformatted.cc (test11): Add. + + 2002-11-05 Benjamin Kosnik + + PR libstdc++/7219 + * include/bits/ios_base.h (ios_base::streampos): Add. + (ios_base::streamoff): Add. + * testsuite/27_io/ios_base_type.cc: New. + + 2002-11-05 Paolo Carlini + + PR libstdc++/8466 + * include/std/std_sstream.h + (basic_stringbuf::str(const __string_type&)): + Cannot use simple assignment since the COW-nature of v3 + basic_string is not taken into account in basic_stringbuf. + * testsuite/27_io/stringstream_members.cc: Add test04 from PR. + + 2002-11-04 Benjamin Kosnik + + * config/linker-map.gnu: Export string operator+. + Export __default_alloc_template::_S_force_new. + * testsuite/abi_check.cc: Output tweaks. + + 2002-11-04 Benjamin Kosnik + + PR libstdc++/8172 + * src/string-inst.cc: Add instantiation. + + 2002-11-04 Christian Ehrhardt + + PR libstdc++/8197 + * config/link-map.gnu: Export math stubbs. + + 2002-11-04 Benjamin Kosnik + + PR libstdc++/8318 + * include/std/std_iostream.h: Tweak. + * include/std/std_iosfwd.h: Add _GLIBCPP_USE_WCHAR_T. + * include/std/std_iomanip.h: Same. + * include/bits/stringfwd.h: Same. + * include/bits/basic_string.tcc: Same. + * include/bits/sstream.tcc: Same. + * include/bits/fstream.tcc: Same. + * include/bits/basic_ios.tcc: Same. + * include/bits/streambuf.tcc: Same. + * include/bits/locale_facets.tcc: Same. + + 2002-11-01 Benjamin Kosnik + + PR libstdc++/8348 + * include/bits/istream.tcc (istream::tellg): Remove sentry bits. + (istream::seekg): Same. + * testsuite/27_io/istream_seeks.cc (test06): New. + + 2002-11-01 John Carter + + PR libstdc++/7961 + * include/bits/basic_string.tcc + (compare(const _CharT* __s)): Don't access __s past its length. + + 2002-11-01 Hans-Peter Nilsson + + PR other/3337 + PR bootstrap/6763 + PR bootstrap/8122 + * testsuite/testsuite_hooks.h (__set_testsuite_memlimit): Use + __typeof__ (r.rlim_cur), not rlim_t in declaration of limit. + + 2002-10-29 Paolo Carlini + + PR libstdc++/8347 + * include/bits/basic_string.tcc + (string::_S_construct(_InIter, _InIter, const _Alloc&, + forward_iterator_tag)): Do not throw logic error if + __beg == NULL && __end == __beg. + (string::string(const _CharT*, const _Alloc&)): Tweak. + * testsuite/21_strings/ctor_copy_dtor.cc: Add test05 from PR. + + 2002-10-23 Jakub Jelinek + + * testsuite/22_locale/num_put_members_char.cc (test01): Swap size + and decimal_point arguments of find. + * testsuite/22_locale/num_put_members_wchar_t.cc (test01): Likewise. + + 2002-10-22 Jakub Jelinek + + * Makefile.am (check-abi, new-abi-baseline): Use @glibcpp_srcdir@ + instead of ${top_srcdir}. + * Makefile.in: Rebuilt. + + 2002-10-21 Phil Edwards + + * configure.in: Use target, not target_alias, when matching triplet + patterns. + * configure: Regenerate. + + 2002-10-16 Benjamin Kosnik + + * include/bits/locale_facets.h (__timepunct::__timepunct): Allocate + _M_name_timepunct. + (__timepunct::~__timepunct): Deallocate, remove specialization + declarations. + (messages::messages): Allocate _M_name_messages. + (messages::~messages): Deallocate. + (messages_byname): Same. + * config/locale/gnu/time_members.cc (__timepunct::~__timepunct): + Remove. + * config/locale/generic/time_members.cc (__timepunct::~__timepunct): + Remove. + + * docs/html/install.html: Add eqs_MX, en_PH to required locales list. + + 2002-10-16 Benjamin Kosnik + + * src/globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to + c_locale_impl. + * testsuite/abi_check.cc (line_to_symbol_info): Collect size info. + * docs/html/abi.txt: Update. + + 2002-10-16 Benjamin Kosnik + + * testsuite/22_locale/static_members.cc (test02): Less provincial. + + 2002-10-16 Benjamin Kosnik + + * testsuite/22_locale/static_members.cc (test02): Disable for + systems without named locale support. + * testsuite/22_locale/ctor_copy_dtor.cc (test04): Don't assume + running the testsuites in "C" environment. + Add new tests. + * docs/html/22_locale/locale.html: Update. + + 2002-10-16 Benjamin Kosnik + + * testsuite/abi_check.cc (hash): Specialize. + Simplify. Check compatible symbol versions. + * config/linker-map.gnu: Clarify, explicitly export + std::codecvt::c* symbols. + + * testsuite/22_locale/static_members.cc (test02): Avoid null strings. + + 2002-10-16 Benjamin Kosnik + + * testsuite/22_locale/static_members.cc (test02): Fix. + + 2002-10-16 Benjamin Kosnik + + * acconfig.h (_GLIBCPP_SYMVER): Add. + (_GLIBCPP_ASM_SYMVER): Add. + * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Define _GLIBCPP_SYMVER. + * aclocal.m4: Regenerate. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/bits/c++config (_GLIBCPP_AT_AT): Define, as an expedient + hack around m4 issues with quoting '@'. + * src/locale.cc: Use _GLIBCPP_ASM_SYMVER. + * src/globals.cc (__gnu_cxx): Same. + + * testsuite/22_locale/ctor_copy_dtor.cc (test04): Fix for + + 2002-10-16 Benjamin Kosnik + + * config/linker-map.gnu (GLIBCPP_3.2.1): Add. + (GLIBCPP_3.2): Don't export locale::_S_*. + * src/ios.cc: Move globals into __gnu_cxx. Make old exported + symbols match. + * src/locale.cc: Same. + * src/localename.cc: Same. + + 2002-10-16 Benjamin Kosnik + + * src/locale.cc: Fix comments, move ctors together. + * testsuite/22_locale/static_members.cc (test03): Add. + + 2002-10-16 Paolo Carlini + Benjamin Kosnik + + * include/bits/localefwd.h (class locale): Add static member + _S_num_extra_categories, encoding the number of additional + categories. + Change _S_num_categories to _S_categories_size. + (class locale::_Impl): Add _M_c_cats. + (class locale::_Impl::_M_names): Change to array of chars. + (class locale::_Impl::_M_check_same_name): Use + _S_extra_categories_size, tweak. + (locale::locale(const locale&, _Facet*)): Ditto. + * src/locale.cc (locale::locale(const char* )): Rewrite to deal + with the environment in a POSIX-compliant way while being thread + safe. + (locale::name()): Update to output POSIX environment strings. + * src/localename.cc + (locale::_Impl::_Impl(const _Impl&, size_t): Use + _S_categories_size_*, tweak. + (locale::_Impl::_Impl(facet**, size_t, bool)): Ditto. + (locale::_Impl::_Impl(const char*, size_t)): Name each category + individually. + (locale::_Impl::_M_replace_categories): Use strcpy. + + * include/bits/locale_facets.h (numpunct::_M_initialize_numpunct): + Change default argument to NULL from _S_c_locale. + (timepunct::_M_initialize_timepunct): Same. + _S_c_locale cleanups. + * src/codecvt.c: _S_c_locale simplification. + * src/ctype.c: Same. + * src/globals.cc: Add fake_name. + * src/locale-inst.cc: Remove extra includes. + * src/locale.cc: Remove extra includes. + Add _S_extra_categories_size definition. + Correct "C" initialization. + (locale::facet::facet): Don't initialize _S_c_locale. + (locale::facet::_M_remove_reference): Adjust. + * src/localename: Use facet_vec, facet_name. + (locale::_Impl::_Impl(facet** __f, size_t __refs, bool)): Set + facet ref counts to one. Initialize _S_c_locale. + (locale::_Impl::_M_install_facet(id*, facet*)): Adjust facet ref + counts when installing unilaterally. + + * config/locale/generic/c_locale.cc: Add _S_categories definition. + * config/locale/generic/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro. + * config/locale/generic/time_members.cc: _S_c_locale cleanup. + + * config/locale/gnu/c_locale.cc: Add _S_categories definition. + (_S_destroy_c_locale): Move checks against _S_c_locale here. + * config/locale/gnu/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro. + * config/locale/gnu/ctype_members.cc: Simplify _S_destroy_c_locale + calls, _S_c_locale usage. + * config/locale/gnu/monetary_members.cc: Same, tweaks. + * config/locale/gnu/monetary_members.cc: Same. + * config/locale/gnu/time_members.cc: Same. + * config/os/gnu-linux/ctype_noninline.h: Use locale::classic(). + + * docs/html/22_locale/locale.html: Add bits about global locales + and "C" setlocale. + + * testsuite/22_locale/facet.cc (test02): Add. + * testsuite/22_locale/static_members.cc (test02): Add. + * testsuite/22_locale/ctor_copy_dtor.cc (test04): Add. + + 2002-10-11 Gabriel Dos Reis + + * include/std/std_limits.h (__glibcpp_char_digits10): Fix Typo. + (__glibcpp_char_digits10): Likewise. + + 2002-10-10 Jonathan Lennox + + PR libstdc++/8071, libstdc++/8127, c++/6745 + * streambuf.tcc (__copy_streambufs): Handle cases where + __sbin->in_avail() returns 0, or where __sbin doesn't set gptr(). + * testsuite/27_io/ostream_inserter_other.cc (test05): Add. + + 2002-10-07 Kaveh R. Ghazi + + * Makefile.am (all-multi): Fix multilib parallel build. + + 2002-10-01 Phil Edwards + + * Makefile.am (check-abi): Add @ to rule. + * Makefile.in: Regenerated. + + 2002-10-01 Phil Edwards + + PR libstdc++/8096 + * include/bits/stl_deque.h (deque::_M_range_check): Throw + out_of_range, not range_error. + + 2002-09-28 Paolo Carlini + + * include/bits/locale_facets.tcc (num_put::_M_widen_int): + Deal correctly with grouped, showbased (oct or hex) zero. + * testsuite/22_locale/num_put_members_char.cc: Add test05. + * testsuite/22_locale/num_put_members_wchar_t.cc: Ditto. + + 2002-09-25 Phil Edwards + + Bulk documentation merge (copy) from trunk. + * docs/doxygen/run_doxygen, docs/html/Makefile, docs/html/abi.txt, + docs/html/configopts.html, docs/html/documentation.html, + docs/html/explanations.html, docs/html/install.html, + docs/html/makedoc.awk, docs/html/17_intro/C++STYLE, + docs/html/17_intro/RELEASE-NOTES, docs/html/17_intro/contribute.html, + docs/html/17_intro/howto.html, docs/html/17_intro/license.html, + 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/22_locale/codecvt.html, docs/html/22_locale/ctype.html, + docs/html/22_locale/howto.html, docs/html/22_locale/locale.html, + docs/html/22_locale/messages.html, docs/html/23_containers/howto.html, + docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html, + docs/html/26_numerics/howto.html, docs/html/27_io/howto.html, + docs/html/ext/howto.html, docs/html/ext/sgiexts.html, + docs/html/faq/index.html, docs/html/faq/index.txt: Merge from trunk. + + 2002-09-21 Phil Edwards + + * testsuite/abi_check.cc: Pull shell fragments out into... + * config/abi/extract_symvers: ...here. New file. + * Makefile.am (check_abi): Change to match. + (new-abi-baseline): New target. + * Makefile.in: Regenerated. + + 2002-09-16 Loren J. Rittle + + libstdc++/7922 + * include/ext/stl_rope.h (rope<>): Qualify dependent names + with `typename'. + + 2002-09-16 Benjamin Kosnik + + * include/bits/codecvt.h: Remove __s. + * config/locale/gnu/codecvt_members.cc: Remove _M_c_locale_codecvt + usage, substitute _S_c_locale. + + 2002-09-12 Benjamin Kosnik + + * libmath/Makefile.am (LIBTOOL): Use --tag CC always for this + directory. + * libmath/Makefile.in: Regenerate. + * src/Makefile.am: Tweak comment. + * src/Makefile.in: Regenerate. + + * config/locale/gnu/c_locale.h: Remove warnings. + Inject __uselocale into __gnu_cxx. + * config/locale/generic/c_locale.h: Match. + + 2002-09-12 Benjamin Kosnik + + * include/bits/locale_facets.tcc (__convert_from_v): Remove. + * config/locale/gnu/c_locale.h (__convert_from_v): Add. + * config/locale/generic/c_locale.h (__convert_from_v): Add. + + 2002-09-12 Paolo Carlini + + * include/bits/locale_facets.tcc (__convert_from_v): + Use __uselocale instead of setlocale for glibc 2.3+. + + 2002-09-12 Benjamin Kosnik + + * src/Makefile.am (sources): Edit. + (target_sources): New. + (target_sources_extra): New. + * src/Makefile.in: Regenerate. + * acinclude.m4: Set CCODECVT_CC. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * src/locale.cc: Move ctype definitions... + * src/ctype.cc: ...here. New file. + * src/locale.cc: Move codecvt definitions... + * src/codecvt.cc: ...here. + * config/generic/codecvt_members.cc: ...and here. + * config/gnu/codecvt_members.cc: ...and here. + * include/bits/codecvt.h: Tweak. + * include/bits/locale_facets: Tweak. + + * src/bitset.cc: Correct license text. + * src/concept-inst.cc: Same. + * src/strstream.cc: Same. + * src/vterminate.cc: Same. + + 2002-09-10 Danny Smith + + * include/bits/locale_facets.tcc (__convert_from_v): + Replace strdup with ISO malloc and strcpy. + + 2002-09-09 Benjamin Kosnik + + * src/misc-inst.cc: Remove some instantiations. + + * testsuite/abi_check.cc: Make output results more verbose. + + * config/os/gnu-linux/ctype_base.h: Remove shadow headers injections. + + 2002-09-07 Jakub Jelinek + + * config/locale/generic/messages_members.cc: Add specialization for + messages. + * config/locale/ieee_1003.1-20021/messages_members.cc: Likewise. + + 2002-09-06 Jakub Jelinek + + * configure.target: Use cpu_include_dir="config/cpu/sparc" for all + sparc targets. + * config/cpu/sparc/bits/atomicity.h: New file. + * config/cpu/sparc/sparc32/bits/atomicity.h: Removed. + * config/cpu/sparc/sparc64/bits/atomicity.h: Removed. + + 2002-09-06 Jakub Jelinek + + * config/os/gnu-linux/bits/ctype_noninline.h + [_GLIBCPP_USE_SHADOW_HEADERS]: Remove using _C_legacy::__ctype_*. + (ctype::classic_table): If _GLIBCPP_C_LOCALE_GNU, return + _S_c_locale->__ctype_b, otherwise temporarily switch to "C" locale + and return __ctype_b. + (ctype::ctype(__c_locale, const mask*, bool, size_t)): If not + _GLIBCPP_C_LOCALE_GNU, temporarily switch to "C" locale and + initialize using __ctype_{b,tolower,toupper}. + (ctype::ctype(const mask*, bool, size_t)): If + _GLIBCPP_C_LOCALE_GNU, initialize using + _S_c_locale->__ctype_{b,tolower,toupper}, otherwise temporarily + switch to "C" locale and initialize using __ctype_{b,tolower,toupper}. + + 2002-09-05 Loren J. Rittle + + Move from mainline. + * src/Makefile.am (AUTOMAKE_OPTIONS): Use cygnus-style generation. + * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Likewise. + * src/Makefile.in: Regenerate (explicitly with --cygnus option). + * testsuite/Makefile.in: Likewise. + + 2002-09-05 Paolo Carlini + Roland McGrath + + PR libstdc++/7811 + * src/locale.cc (locale::locale(__s)): Use getenv instead + of setenv for the environment locale. + * testsuite/22_locale/ctor_copy_dtor.cc (test03): New. + + 2002-09-05 Jakub Jelinek + + * config/abi/ia64-unknown-linux-gnu: Add. + * config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt: New file. + * config/abi/alphaev67-unknown-linux-gnu: Add. + * config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt: New file. + + 2002-09-05 Phil Edwards + + * testsuite/Makefile.am: Use LD_RUN_PATH when linking abi_check. + Fix spelling in comment. + * testsuite/Makefile.in: Regenerate. + * testsuite/abi_check.cc: Use string literals to build 'cmd' rather + than 'quote' and 'bslash'. + + 2002-09-05 Jakub Jelinek + + * config/locale/gnu/ctype_members.cc (ctype::do_widen(char)): + Switch to _M_c_locale_ctype around btowc call. + (ctype::do_widen(const char*, const char *, wchar_t*)): + Switch to _M_c_locale_ctype around mbsrtowcs call. + (ctype::do_narrow(char)): Switch to _M_c_locale_ctype around + wctob call. + (ctype::do_narrow(const char*, const char *, wchar_t*)): + Switch to _M_c_locale_ctype around wcsrtombs call. + + 2002-09-05 Jakub Jelinek + + * config/locale/gnu/monetary_members.cc + (moneypunct::_M_initialize_moneypunct, + moneypunct::_M_initialize_moneypunct): Use + __uselocale instead of setlocale for glibc 2.3. + + 2002-09-05 Jakub Jelinek + + * config/locale/generic/c++locale_internal.h: New header. + * config/locale/gnu/c++locale_internal.h: New header. + * config/locale/gnu/c_locale.cc: Include it. + * config/locale/gnu/collate_members.cc: Include it. + * config/locale/gnu/ctype_members.cc: Include it. + * config/locale/gnu/messages_members.cc: Include it. + * config/locale/gnu/monetary_members.cc: Include it. + * config/locale/gnu/numeric_members.cc: Include it. + * config/locale/gnu/time_members.cc: Include it. + (_M_put): Reorder __strftime_l and __wcsftime_l arguments to match + glibc. + (_M_initialize_timepunct): Initialize _M_c_locale_timepunct for + C locale. + * acinclude.m4: Include string.h when testing strcoll_l. + For glibc 2.3 provide __-prefixed prototypes. + (CLOCALE_INTERNAL_H): Set, add AC_LINK_FILES line. + * aclocal.m4, configure: Rebuilt. + + 2002-09-05 Benjamin Kosnik + + * include/bits/locale_facets.h: Add declaration of specialization + here. + * config/locale/gnu/messages_members.cc: Add specialization for + messages. + * config/locale/gnu/messages_members.h: Remove generic definition + of do_get. + + 2002-08-26 Phil Edwards + + * Makefile.am (check-abi): Specify current directory. + * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Fix shell syntax, use + abi_baseline_triplet in baseline_file. + * Makefile.in, aclocal.m4, configure: Regenerate. + * configure.target: Add abi_baseline_triplet with default. + * testsuite/abi_check.cc: More error checking. + + 2002-08-25 Benjamin Kosnik + + * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Set + GLIBCPP_BUILD_ABI_CHECK based on cross compiling, build, host + variables. + * aclocal.m4: Regenerate. + * testsuite/Makefile.am (noinst_PROGRAMS): Make conditional on + native compiling. + * testsuite/Makefile.in: Regenerate. + + 2002-08-22 Benjamin Kosnik + Phil Edwards + Ulrich Drepper + + * Makefile.am (check-abi): New rule. + * Makefile.in: Regenerate. + * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Export baseline_file. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * testsuite/Makefile.am (noinst_PROGRAMS): Add abi_check. + (abi_check_SOURCES): Add. + * testsuite/Makefile.in: Regenerate. + * testsuite/abi_check.cc: New file. + * config/abi: Add. + * config/abi/i686-pc-linux-gnu: Add. + * config/abi/i686-pc-linux-gnu/baseline_symbols.txt: New file. + + 2002-08-19 Benjamin Kosnik + + * configure.in (libtool_VERSION): Update to 5:1:0. + * configure: Regenerate. + + 2002-08-15 Benjamin Kosnik + + * include/ext/stdio_filebuf.h (stdio_filebuf): Explicitly set + _M_buf_size_opt to zero when unbuffering. + * include/bits/fstream.tcc (filebuf::showmanyc): Simplify. + Consistency checks for _M_buf_size_opt. + + Revert PR libstdc++/7445 + * src/locale.cc (locale::classic): Revert. + + * docs/html/17_intro/TODO: Add. + + 2002-08-15 Danny Smith + Benjamin Kosnik + + * include/bits/istream.tcc (basic_istream::ignore): Use sbumpc, + not snextc. + * testsuite/27_io/narrow_stream_objects.cc (test10): Add. + + 2002-08-15 Danny Smith + + * config/os/newlib/ctype_inline.h (is): Don't offset _M_table. + (scan_is): Use this->is. + (scan_not): Likewise. + + 2002-08-15 Rick Danos + + PR libstdc++/7461 + * config/os/newlib/ctype_noninline.h (classic_table): Add offset. + * config/os/newlib/ctype_inline.h (is): Use static_cast. + 2002-08-14 Release Manager * GCC 3.2 Released. diff -Nrc3pad gcc-3.2/libstdc++-v3/Makefile.am gcc-3.2.1/libstdc++-v3/Makefile.am *** gcc-3.2/libstdc++-v3/Makefile.am Mon Jan 28 22:13:02 2002 --- gcc-3.2.1/libstdc++-v3/Makefile.am Tue Oct 22 21:50:47 2002 *************** check-script-install: $(top_builddir)/mk *** 44,49 **** --- 44,69 ---- cd testsuite; \ @glibcpp_builddir@/mkcheck 1) + # Use 'new-abi-baseline' to create an initial symbol file. Then run + # 'check-abi' to test for changes against that file. + baseline_file = @baseline_file@ + check-abi: $(top_builddir)/testsuite/abi_check + -@(cd testsuite; \ + @glibcpp_srcdir@/config/abi/extract_symvers \ + ../src/.libs/libstdc++.so \ + ./current_symbols.txt; \ + ./abi_check --check ./current_symbols.txt ${baseline_file}) + + new-abi-baseline: + -@(output=${baseline_file}; \ + if test -f $${output}; then \ + output=$${output}.new; \ + t=`echo $${output} | sed 's=.*config/abi/=='`; \ + echo "Baseline file already exists, writing to $${t} instead."; \ + fi; \ + @glibcpp_srcdir@/config/abi/extract_symvers \ + src/.libs/libstdc++.so $${output}) + # These rules are messy, but are hella worth it. doxygen: -(srcdir=`cd ${top_srcdir}; pwd`; \ *************** distclean-am: distclean-multi *** 88,94 **** maintainer-clean-am: maintainer-clean-multi all-multi: ! $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do install-multi: $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do mostlyclean-multi: --- 108,114 ---- maintainer-clean-am: maintainer-clean-multi all-multi: ! : $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do install-multi: $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do mostlyclean-multi: diff -Nrc3pad gcc-3.2/libstdc++-v3/Makefile.in gcc-3.2.1/libstdc++-v3/Makefile.in *** gcc-3.2/libstdc++-v3/Makefile.in Fri Jun 28 08:20:38 2002 --- gcc-3.2.1/libstdc++-v3/Makefile.in Tue Oct 22 21:50:47 2002 *************** SUBDIRS = include libio libmath libsupc+ *** 139,144 **** --- 139,148 ---- mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs + # Use 'new-abi-baseline' to create an initial symbol file. Then run + # 'check-abi' to test for changes against that file. + baseline_file = @baseline_file@ + # Multilib support. MAKEOVERRIDES = *************** check-script-install: $(top_builddir)/mk *** 477,482 **** --- 481,502 ---- -(chmod + $(top_builddir)/mkcheck; \ cd testsuite; \ @glibcpp_builddir@/mkcheck 1) + check-abi: $(top_builddir)/testsuite/abi_check + -@(cd testsuite; \ + @glibcpp_srcdir@/config/abi/extract_symvers \ + ../src/.libs/libstdc++.so \ + ./current_symbols.txt; \ + ./abi_check --check ./current_symbols.txt ${baseline_file}) + + new-abi-baseline: + -@(output=${baseline_file}; \ + if test -f $${output}; then \ + output=$${output}.new; \ + t=`echo $${output} | sed 's=.*config/abi/=='`; \ + echo "Baseline file already exists, writing to $${t} instead."; \ + fi; \ + @glibcpp_srcdir@/config/abi/extract_symvers \ + src/.libs/libstdc++.so $${output}) # These rules are messy, but are hella worth it. doxygen: *************** distclean-am: distclean-multi *** 511,517 **** maintainer-clean-am: maintainer-clean-multi all-multi: ! $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do install-multi: $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do mostlyclean-multi: --- 531,537 ---- maintainer-clean-am: maintainer-clean-multi all-multi: ! : $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do install-multi: $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do mostlyclean-multi: diff -Nrc3pad gcc-3.2/libstdc++-v3/acconfig.h gcc-3.2.1/libstdc++-v3/acconfig.h *** gcc-3.2/libstdc++-v3/acconfig.h Fri Dec 14 21:06:32 2001 --- gcc-3.2.1/libstdc++-v3/acconfig.h Thu Oct 17 02:03:17 2002 *************** *** 46,51 **** --- 46,65 ---- // Define if you have the copysignf function. #undef _GLIBCPP_HAVE_COPYSIGNF + // Define to use symbol versioning in the shared library. + #undef _GLIBCPP_SYMVER + + // Define symbol versioning in assember directives. If symbol + // versioning is beigng used, and the assembler supports this kind of + // thing, then use it. + // NB: _GLIBCPP_AT_AT is a hack to work around quoting issues in m4. + #if _GLIBCPP_SYMVER + #define _GLIBCPP_ASM_SYMVER(cur, old, version) \ + asm (".symver " #cur "," #old _GLIBCPP_AT_AT #version); + #else + #define _GLIBCPP_ASM_SYMVER(cur, old, version) + #endif + // Define if mbstate_t exists in wchar.h. #undef HAVE_MBSTATE_T diff -Nrc3pad gcc-3.2/libstdc++-v3/acinclude.m4 gcc-3.2.1/libstdc++-v3/acinclude.m4 *** gcc-3.2/libstdc++-v3/acinclude.m4 Wed Jul 3 22:47:34 2002 --- gcc-3.2.1/libstdc++-v3/acinclude.m4 Thu Oct 17 02:03:17 2002 *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1131,1136 **** --- 1131,1142 ---- AC_TRY_RUN([ #define _GNU_SOURCE 1 #include + #include + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + extern __typeof(newlocale) __newlocale; + extern __typeof(duplocale) __duplocale; + extern __typeof(strcoll_l) __strcoll_l; + #endif int main() { const char __one[] = "Äuglein Augmen"; *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1172,1177 **** --- 1178,1184 ---- CLOCALE_H=config/locale/generic/c_locale.h CLOCALE_CC=config/locale/generic/c_locale.cc CCODECVT_H=config/locale/generic/codecvt_specializations.h + CCODECVT_CC=config/locale/generic/codecvt_members.cc CCOLLATE_CC=config/locale/generic/collate_members.cc CCTYPE_CC=config/locale/generic/ctype_members.cc CMESSAGES_H=config/locale/generic/messages_members.h *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1179,1184 **** --- 1186,1192 ---- CMONEY_CC=config/locale/generic/monetary_members.cc CNUMERIC_CC=config/locale/generic/numeric_members.cc CTIME_CC=config/locale/generic/time_members.cc + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h ;; xgnu) AC_MSG_RESULT(gnu) *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1204,1209 **** --- 1212,1218 ---- CLOCALE_H=config/locale/gnu/c_locale.h CLOCALE_CC=config/locale/gnu/c_locale.cc CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h + CCODECVT_CC=config/locale/gnu/codecvt_members.cc CCOLLATE_CC=config/locale/gnu/collate_members.cc CCTYPE_CC=config/locale/gnu/ctype_members.cc CMESSAGES_H=config/locale/gnu/messages_members.h *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1211,1216 **** --- 1220,1226 ---- CMONEY_CC=config/locale/gnu/monetary_members.cc CNUMERIC_CC=config/locale/gnu/numeric_members.cc CTIME_CC=config/locale/gnu/time_members.cc + CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h ;; xieee_1003.1-2001) AC_MSG_RESULT(generic) *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1218,1223 **** --- 1228,1234 ---- CLOCALE_H=config/locale/ieee_1003.1-2001/c_locale.h CLOCALE_CC=config/locale/ieee_1003.1-2001/c_locale.cc CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h + CCODECVT_CC=config/locale/generic/codecvt_members.cc CCOLLATE_CC=config/locale/generic/collate_members.cc CCTYPE_CC=config/locale/generic/ctype_members.cc CMESSAGES_H=config/locale/ieee_1003.1-2001/messages_members.h *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1225,1230 **** --- 1236,1242 ---- CMONEY_CC=config/locale/generic/monetary_members.cc CNUMERIC_CC=config/locale/generic/numeric_members.cc CTIME_CC=config/locale/generic/time_members.cc + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h ;; *) echo "$enable_clocale is an unknown locale package" 1>&2 *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1237,1253 **** glibcpp_localedir=${glibcpp_builddir}/po/share/locale AC_SUBST(glibcpp_localedir) AC_SUBST(USE_NLS) AC_SUBST(CLOCALE_H) AC_SUBST(CCODECVT_H) AC_SUBST(CMESSAGES_H) AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc) ! AC_LINK_FILES($CCOLLATE_CC, src/collate.cc) ! AC_LINK_FILES($CCTYPE_CC, src/ctype.cc) ! AC_LINK_FILES($CMESSAGES_CC, src/messages.cc) ! AC_LINK_FILES($CMONEY_CC, src/monetary.cc) ! AC_LINK_FILES($CNUMERIC_CC, src/numeric.cc) ! AC_LINK_FILES($CTIME_CC, src/time.cc) ]) --- 1249,1271 ---- glibcpp_localedir=${glibcpp_builddir}/po/share/locale AC_SUBST(glibcpp_localedir) + # For the time being, transform ctype_noninline.h to ctype_members_char.cc + # CCTYPE_CHAR_CC=config/${os_include_dir}/ctype_noninline.h + AC_SUBST(USE_NLS) AC_SUBST(CLOCALE_H) AC_SUBST(CCODECVT_H) AC_SUBST(CMESSAGES_H) AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc) ! AC_LINK_FILES($CCODECVT_CC, src/codecvt_members.cc) ! AC_LINK_FILES($CCOLLATE_CC, src/collate_members.cc) ! # AC_LINK_FILES($CCTYPE_CHAR_CC, src/ctype_members_char.cc) ! AC_LINK_FILES($CCTYPE_CC, src/ctype_members.cc) ! AC_LINK_FILES($CMESSAGES_CC, src/messages_members.cc) ! AC_LINK_FILES($CMONEY_CC, src/monetary_members.cc) ! AC_LINK_FILES($CNUMERIC_CC, src/numeric_members.cc) ! AC_LINK_FILES($CTIME_CC, src/time_members.cc) ! AC_LINK_FILES($CLOCALE_INTERNAL_H, src/c++locale_internal.h) ]) *************** AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [ *** 2024,2029 **** --- 2042,2055 ---- # Look for setenv, so that extended locale tests can be performed. GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv) + + # Export file names for ABI checking. + baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt" + AC_SUBST(baseline_file) + + # Don't do ABI checking unless native. + AM_CONDITIONAL(GLIBCPP_BUILD_ABI_CHECK, + test x"$build" = x"$host" && test -z "$with_cross_host") ]) *************** case $enable_symvers in *** 2175,2180 **** --- 2201,2207 ---- ;; gnu) LINKER_MAP=config/linker-map.gnu + AC_DEFINE(_GLIBCPP_SYMVER) ;; esac diff -Nrc3pad gcc-3.2/libstdc++-v3/aclocal.m4 gcc-3.2.1/libstdc++-v3/aclocal.m4 *** gcc-3.2/libstdc++-v3/aclocal.m4 Wed Jul 3 22:47:35 2002 --- gcc-3.2.1/libstdc++-v3/aclocal.m4 Thu Oct 17 02:03:17 2002 *************** *** 1,6 **** ! dnl aclocal.m4 generated automatically by aclocal 1.4 ! dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. --- 1,6 ---- ! dnl aclocal.m4 generated automatically by aclocal 1.4-p5 ! dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1143,1148 **** --- 1143,1154 ---- AC_TRY_RUN([ #define _GNU_SOURCE 1 #include + #include + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + extern __typeof(newlocale) __newlocale; + extern __typeof(duplocale) __duplocale; + extern __typeof(strcoll_l) __strcoll_l; + #endif int main() { const char __one[] = "Äuglein Augmen"; *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1184,1189 **** --- 1190,1196 ---- CLOCALE_H=config/locale/generic/c_locale.h CLOCALE_CC=config/locale/generic/c_locale.cc CCODECVT_H=config/locale/generic/codecvt_specializations.h + CCODECVT_CC=config/locale/generic/codecvt_members.cc CCOLLATE_CC=config/locale/generic/collate_members.cc CCTYPE_CC=config/locale/generic/ctype_members.cc CMESSAGES_H=config/locale/generic/messages_members.h *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1191,1196 **** --- 1198,1204 ---- CMONEY_CC=config/locale/generic/monetary_members.cc CNUMERIC_CC=config/locale/generic/numeric_members.cc CTIME_CC=config/locale/generic/time_members.cc + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h ;; xgnu) AC_MSG_RESULT(gnu) *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1216,1221 **** --- 1224,1230 ---- CLOCALE_H=config/locale/gnu/c_locale.h CLOCALE_CC=config/locale/gnu/c_locale.cc CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h + CCODECVT_CC=config/locale/gnu/codecvt_members.cc CCOLLATE_CC=config/locale/gnu/collate_members.cc CCTYPE_CC=config/locale/gnu/ctype_members.cc CMESSAGES_H=config/locale/gnu/messages_members.h *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1223,1228 **** --- 1232,1238 ---- CMONEY_CC=config/locale/gnu/monetary_members.cc CNUMERIC_CC=config/locale/gnu/numeric_members.cc CTIME_CC=config/locale/gnu/time_members.cc + CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h ;; xieee_1003.1-2001) AC_MSG_RESULT(generic) *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1230,1235 **** --- 1240,1246 ---- CLOCALE_H=config/locale/ieee_1003.1-2001/c_locale.h CLOCALE_CC=config/locale/ieee_1003.1-2001/c_locale.cc CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h + CCODECVT_CC=config/locale/generic/codecvt_members.cc CCOLLATE_CC=config/locale/generic/collate_members.cc CCTYPE_CC=config/locale/generic/ctype_members.cc CMESSAGES_H=config/locale/ieee_1003.1-2001/messages_members.h *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1237,1242 **** --- 1248,1254 ---- CMONEY_CC=config/locale/generic/monetary_members.cc CNUMERIC_CC=config/locale/generic/numeric_members.cc CTIME_CC=config/locale/generic/time_members.cc + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h ;; *) echo "$enable_clocale is an unknown locale package" 1>&2 *************** AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ *** 1249,1265 **** glibcpp_localedir=${glibcpp_builddir}/po/share/locale AC_SUBST(glibcpp_localedir) AC_SUBST(USE_NLS) AC_SUBST(CLOCALE_H) AC_SUBST(CCODECVT_H) AC_SUBST(CMESSAGES_H) AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc) ! AC_LINK_FILES($CCOLLATE_CC, src/collate.cc) ! AC_LINK_FILES($CCTYPE_CC, src/ctype.cc) ! AC_LINK_FILES($CMESSAGES_CC, src/messages.cc) ! AC_LINK_FILES($CMONEY_CC, src/monetary.cc) ! AC_LINK_FILES($CNUMERIC_CC, src/numeric.cc) ! AC_LINK_FILES($CTIME_CC, src/time.cc) ]) --- 1261,1283 ---- glibcpp_localedir=${glibcpp_builddir}/po/share/locale AC_SUBST(glibcpp_localedir) + # For the time being, transform ctype_noninline.h to ctype_members_char.cc + # CCTYPE_CHAR_CC=config/${os_include_dir}/ctype_noninline.h + AC_SUBST(USE_NLS) AC_SUBST(CLOCALE_H) AC_SUBST(CCODECVT_H) AC_SUBST(CMESSAGES_H) AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc) ! AC_LINK_FILES($CCODECVT_CC, src/codecvt_members.cc) ! AC_LINK_FILES($CCOLLATE_CC, src/collate_members.cc) ! # AC_LINK_FILES($CCTYPE_CHAR_CC, src/ctype_members_char.cc) ! AC_LINK_FILES($CCTYPE_CC, src/ctype_members.cc) ! AC_LINK_FILES($CMESSAGES_CC, src/messages_members.cc) ! AC_LINK_FILES($CMONEY_CC, src/monetary_members.cc) ! AC_LINK_FILES($CNUMERIC_CC, src/numeric_members.cc) ! AC_LINK_FILES($CTIME_CC, src/time_members.cc) ! AC_LINK_FILES($CLOCALE_INTERNAL_H, src/c++locale_internal.h) ]) *************** AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [ *** 2036,2041 **** --- 2054,2067 ---- # Look for setenv, so that extended locale tests can be performed. GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv) + + # Export file names for ABI checking. + baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt" + AC_SUBST(baseline_file) + + # Don't do ABI checking unless native. + AM_CONDITIONAL(GLIBCPP_BUILD_ABI_CHECK, + test x"$build" = x"$host" && test -z "$with_cross_host") ]) *************** case $enable_symvers in *** 2187,2192 **** --- 2213,2219 ---- ;; gnu) LINKER_MAP=config/linker-map.gnu + AC_DEFINE(_GLIBCPP_SYMVER) ;; esac *************** AC_MSG_RESULT($enable_symvers) *** 2197,2208 **** ]) # Add --enable-maintainer-mode option to configure. # From Jim Meyering # serial 1 ! AC_DEFUN(AM_MAINTAINER_MODE, [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode is disabled by default AC_ARG_ENABLE(maintainer-mode, --- 2224,2260 ---- ]) + # isc-posix.m4 serial 1 (gettext-0.10.40) + dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + # This test replaces the one in autoconf. + # Currently this macro should have the same name as the autoconf macro + # because gettext's gettext.m4 (distributed in the automake package) + # still uses it. Otherwise, the use in gettext.m4 makes autoheader + # give these diagnostics: + # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX + # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX + + undefine([AC_ISC_POSIX]) + + AC_DEFUN([AC_ISC_POSIX], + [ + dnl This test replaces the obsolescent AC_ISC_POSIX kludge. + AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) + ] + ) + # Add --enable-maintainer-mode option to configure. # From Jim Meyering # serial 1 ! AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode is disabled by default AC_ARG_ENABLE(maintainer-mode, *************** AC_DEFUN(AM_MAINTAINER_MODE, *** 2219,2225 **** # Define a conditional. ! AC_DEFUN(AM_CONDITIONAL, [AC_SUBST($1_TRUE) AC_SUBST($1_FALSE) if $2; then --- 2271,2277 ---- # Define a conditional. ! AC_DEFUN([AM_CONDITIONAL], [AC_SUBST($1_TRUE) AC_SUBST($1_FALSE) if $2; then *************** fi]) *** 2239,2245 **** dnl Usage: dnl AM_INIT_AUTOMAKE(package,version, [no-define]) ! AC_DEFUN(AM_INIT_AUTOMAKE, [AC_REQUIRE([AC_PROG_INSTALL]) PACKAGE=[$1] AC_SUBST(PACKAGE) --- 2291,2297 ---- dnl Usage: dnl AM_INIT_AUTOMAKE(package,version, [no-define]) ! AC_DEFUN([AM_INIT_AUTOMAKE], [AC_REQUIRE([AC_PROG_INSTALL]) PACKAGE=[$1] AC_SUBST(PACKAGE) *************** AC_REQUIRE([AC_PROG_MAKE_SET])]) *** 2267,2273 **** # Check to make sure that the build environment is sane. # ! AC_DEFUN(AM_SANITY_CHECK, [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 --- 2319,2325 ---- # Check to make sure that the build environment is sane. # ! AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 *************** AC_MSG_RESULT(yes)]) *** 2308,2314 **** dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) dnl The program must properly implement --version. ! AC_DEFUN(AM_MISSING_PROG, [AC_MSG_CHECKING(for working $2) # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. --- 2360,2366 ---- dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) dnl The program must properly implement --version. ! AC_DEFUN([AM_MISSING_PROG], [AC_MSG_CHECKING(for working $2) # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. *************** AC_SUBST($1)]) *** 2324,2330 **** # Like AC_CONFIG_HEADER, but automatically create stamp file. ! AC_DEFUN(AM_CONFIG_HEADER, [AC_PREREQ([2.12]) AC_CONFIG_HEADER([$1]) dnl When config.status generates a header, we must update the stamp-h file. --- 2376,2382 ---- # Like AC_CONFIG_HEADER, but automatically create stamp file. ! AC_DEFUN([AM_CONFIG_HEADER], [AC_PREREQ([2.12]) AC_CONFIG_HEADER([$1]) dnl When config.status generates a header, we must update the stamp-h file. diff -Nrc3pad gcc-3.2/libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt gcc-3.2.1/libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt *** gcc-3.2/libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt Thu Sep 5 16:36:02 2002 *************** *** 0 **** --- 1,3031 ---- + FUNC:__cxa_allocate_exception@@CXXABI_1.2 + FUNC:__cxa_bad_cast@@CXXABI_1.2 + FUNC:__cxa_bad_typeid@@CXXABI_1.2 + FUNC:__cxa_begin_catch@@CXXABI_1.2 + FUNC:__cxa_call_unexpected@@CXXABI_1.2 + FUNC:__cxa_current_exception_type@@CXXABI_1.2 + FUNC:__cxa_demangle@@CXXABI_1.2 + FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 + FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_append@@CXXABI_1.2 + FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 + FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 + FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 + FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 + FUNC:__cxa_dyn_string_init@@CXXABI_1.2 + FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 + FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 + FUNC:__cxa_dyn_string_new@@CXXABI_1.2 + FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 + FUNC:__cxa_dyn_string_release@@CXXABI_1.2 + FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 + FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 + FUNC:__cxa_end_catch@@CXXABI_1.2 + FUNC:__cxa_free_exception@@CXXABI_1.2 + FUNC:__cxa_get_globals@@CXXABI_1.2 + FUNC:__cxa_get_globals_fast@@CXXABI_1.2 + FUNC:__cxa_pure_virtual@@CXXABI_1.2 + FUNC:__cxa_rethrow@@CXXABI_1.2 + FUNC:__cxa_throw@@CXXABI_1.2 + FUNC:__cxa_vec_cctor@@CXXABI_1.2 + FUNC:__cxa_vec_cleanup@@CXXABI_1.2 + FUNC:__cxa_vec_ctor@@CXXABI_1.2 + FUNC:__cxa_vec_delete2@@CXXABI_1.2 + FUNC:__cxa_vec_delete3@@CXXABI_1.2 + FUNC:__cxa_vec_delete@@CXXABI_1.2 + FUNC:__cxa_vec_dtor@@CXXABI_1.2 + FUNC:__cxa_vec_new2@@CXXABI_1.2 + FUNC:__cxa_vec_new3@@CXXABI_1.2 + FUNC:__cxa_vec_new@@CXXABI_1.2 + FUNC:__dynamic_cast@@CXXABI_1.2 + FUNC:__gxx_personality_v0@@CXXABI_1.2 + FUNC:_ZdaPv@@GLIBCPP_3.2 + FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZdlPv@@GLIBCPP_3.2 + FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 + FUNC:_Znam@@GLIBCPP_3.2 + FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 + FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 + FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 + FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 + FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 + FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs2atEm@@GLIBCPP_3.2 + FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 + FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 + FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2 + FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 + FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 + FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2 + FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSsixEm@@GLIBCPP_3.2 + FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 + FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 + FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 + FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2 + FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 + FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2 + FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2 + FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 + FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2 + FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 + FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2 + FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2 + FUNC:_ZNSi3getERc@@GLIBCPP_3.2 + FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 + FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSi3getEv@@GLIBCPP_3.2 + FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 + FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2 + FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 + FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 + FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2 + FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 + FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 + FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2 + FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2 + FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 + FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2 + FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 + FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 + FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 + FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSirsERb@@GLIBCPP_3.2 + FUNC:_ZNSirsERd@@GLIBCPP_3.2 + FUNC:_ZNSirsERe@@GLIBCPP_3.2 + FUNC:_ZNSirsERf@@GLIBCPP_3.2 + FUNC:_ZNSirsERi@@GLIBCPP_3.2 + FUNC:_ZNSirsERj@@GLIBCPP_3.2 + FUNC:_ZNSirsERl@@GLIBCPP_3.2 + FUNC:_ZNSirsERm@@GLIBCPP_3.2 + FUNC:_ZNSirsERPv@@GLIBCPP_3.2 + FUNC:_ZNSirsERs@@GLIBCPP_3.2 + FUNC:_ZNSirsERt@@GLIBCPP_3.2 + FUNC:_ZNSirsERx@@GLIBCPP_3.2 + FUNC:_ZNSirsERy@@GLIBCPP_3.2 + FUNC:_ZNSo3putEc@@GLIBCPP_3.2 + FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 + FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 + FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 + FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSolsEb@@GLIBCPP_3.2 + FUNC:_ZNSolsEd@@GLIBCPP_3.2 + FUNC:_ZNSolsEe@@GLIBCPP_3.2 + FUNC:_ZNSolsEf@@GLIBCPP_3.2 + FUNC:_ZNSolsEi@@GLIBCPP_3.2 + FUNC:_ZNSolsEj@@GLIBCPP_3.2 + FUNC:_ZNSolsEl@@GLIBCPP_3.2 + FUNC:_ZNSolsEm@@GLIBCPP_3.2 + FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 + FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 + FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 + FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 + FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSolsEs@@GLIBCPP_3.2 + FUNC:_ZNSolsEt@@GLIBCPP_3.2 + FUNC:_ZNSolsEx@@GLIBCPP_3.2 + FUNC:_ZNSolsEy@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 + FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 + FUNC:_ZNSs2atEm@@GLIBCPP_3.2 + FUNC:_ZNSs3endEv@@GLIBCPP_3.2 + FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2 + FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 + FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 + FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 + FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2 + FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 + FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 + FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2 + FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 + FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2 + FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 + FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2 + FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 + FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2 + FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 + FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2 + FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2 + FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2 + FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 + FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2 + FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2 + FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 + FUNC:_ZNSsaSEc@@GLIBCPP_3.2 + FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 + FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 + FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSsixEm@@GLIBCPP_3.2 + FUNC:_ZNSspLEc@@GLIBCPP_3.2 + FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 + FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 + FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvmm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2 + FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2 + FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 + FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 + FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 + FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2 + FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 + FUNC:_Znwm@@GLIBCPP_3.2 + FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 + FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 + FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 + FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 + FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 + FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 + FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 + FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 + FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 + FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 + FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 + FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 + FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 + FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9terminatev@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2 + OBJECT:0:CXXABI_1.2 + OBJECT:0:GLIBCPP_3.2 + OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 + OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 + OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 + OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 + OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 + OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 + OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 + OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 + OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 + OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 + OBJECT:120:_ZTVSd@@GLIBCPP_3.2 + OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:120:_ZTVSt9strstream@@GLIBCPP_3.2 + OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 + OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt12strstreambuf@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 + OBJECT:136:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:136:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 + OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 + OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 + OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt9codecvt_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt9codecvt_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2 + OBJECT:16:_ZTIa@@GLIBCPP_3.2 + OBJECT:16:_ZTIb@@GLIBCPP_3.2 + OBJECT:16:_ZTIc@@GLIBCPP_3.2 + OBJECT:16:_ZTId@@GLIBCPP_3.2 + OBJECT:16:_ZTIe@@GLIBCPP_3.2 + OBJECT:16:_ZTIf@@GLIBCPP_3.2 + OBJECT:16:_ZTIh@@GLIBCPP_3.2 + OBJECT:16:_ZTIi@@GLIBCPP_3.2 + OBJECT:16:_ZTIj@@GLIBCPP_3.2 + OBJECT:16:_ZTIl@@GLIBCPP_3.2 + OBJECT:16:_ZTIm@@GLIBCPP_3.2 + OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2 + OBJECT:16:_ZTIs@@GLIBCPP_3.2 + OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2 + OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2 + OBJECT:16:_ZTIt@@GLIBCPP_3.2 + OBJECT:16:_ZTIv@@GLIBCPP_3.2 + OBJECT:16:_ZTIw@@GLIBCPP_3.2 + OBJECT:16:_ZTIx@@GLIBCPP_3.2 + OBJECT:16:_ZTIy@@GLIBCPP_3.2 + OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 + OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 + OBJECT:16:_ZTTSi@@GLIBCPP_3.2 + OBJECT:16:_ZTTSo@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 + OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 + OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 + OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 + OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 + OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 + OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 + OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 + OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 + OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 + OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 + OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 + OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 + OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 + OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2 + OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 + OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 + OBJECT:248:_ZSt7buf_cin@@GLIBCPP_3.2 + OBJECT:248:_ZSt8buf_cerr@@GLIBCPP_3.2 + OBJECT:248:_ZSt8buf_cout@@GLIBCPP_3.2 + OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 + OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 + OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2 + OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2 + OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2 + OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2 + OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2 + OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2 + OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2 + OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2 + OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 + OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 + OBJECT:256:_ZSt8buf_wcin@@GLIBCPP_3.2 + OBJECT:256:_ZSt9buf_wcerr@@GLIBCPP_3.2 + OBJECT:256:_ZSt9buf_wcout@@GLIBCPP_3.2 + OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2 + OBJECT:272:_ZSt4clog@@GLIBCPP_3.2 + OBJECT:272:_ZSt4cout@@GLIBCPP_3.2 + OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2 + OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2 + OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2 + OBJECT:280:_ZSt3cin@@GLIBCPP_3.2 + OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2 + OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 + OBJECT:2:_ZTSa@@GLIBCPP_3.2 + OBJECT:2:_ZTSb@@GLIBCPP_3.2 + OBJECT:2:_ZTSc@@GLIBCPP_3.2 + OBJECT:2:_ZTSd@@GLIBCPP_3.2 + OBJECT:2:_ZTSe@@GLIBCPP_3.2 + OBJECT:2:_ZTSf@@GLIBCPP_3.2 + OBJECT:2:_ZTSh@@GLIBCPP_3.2 + OBJECT:2:_ZTSi@@GLIBCPP_3.2 + OBJECT:2:_ZTSj@@GLIBCPP_3.2 + OBJECT:2:_ZTSl@@GLIBCPP_3.2 + OBJECT:2:_ZTSm@@GLIBCPP_3.2 + OBJECT:2:_ZTSs@@GLIBCPP_3.2 + OBJECT:2:_ZTSt@@GLIBCPP_3.2 + OBJECT:2:_ZTSv@@GLIBCPP_3.2 + OBJECT:2:_ZTSw@@GLIBCPP_3.2 + OBJECT:2:_ZTSx@@GLIBCPP_3.2 + OBJECT:2:_ZTSy@@GLIBCPP_3.2 + OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 + OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 + OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2 + OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2 + OBJECT:32:_ZTIPa@@GLIBCPP_3.2 + OBJECT:32:_ZTIPb@@GLIBCPP_3.2 + OBJECT:32:_ZTIPc@@GLIBCPP_3.2 + OBJECT:32:_ZTIPd@@GLIBCPP_3.2 + OBJECT:32:_ZTIPe@@GLIBCPP_3.2 + OBJECT:32:_ZTIPf@@GLIBCPP_3.2 + OBJECT:32:_ZTIPh@@GLIBCPP_3.2 + OBJECT:32:_ZTIPi@@GLIBCPP_3.2 + OBJECT:32:_ZTIPj@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKa@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKb@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKc@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKd@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKe@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKf@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKh@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKi@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKj@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKl@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKm@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKs@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKt@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKv@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKw@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKx@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKy@@GLIBCPP_3.2 + OBJECT:32:_ZTIPl@@GLIBCPP_3.2 + OBJECT:32:_ZTIPm@@GLIBCPP_3.2 + OBJECT:32:_ZTIPs@@GLIBCPP_3.2 + OBJECT:32:_ZTIPt@@GLIBCPP_3.2 + OBJECT:32:_ZTIPv@@GLIBCPP_3.2 + OBJECT:32:_ZTIPw@@GLIBCPP_3.2 + OBJECT:32:_ZTIPx@@GLIBCPP_3.2 + OBJECT:32:_ZTIPy@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 + OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 + OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 + OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 + OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 + OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 + OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:3:_ZTSPa@@GLIBCPP_3.2 + OBJECT:3:_ZTSPb@@GLIBCPP_3.2 + OBJECT:3:_ZTSPc@@GLIBCPP_3.2 + OBJECT:3:_ZTSPd@@GLIBCPP_3.2 + OBJECT:3:_ZTSPe@@GLIBCPP_3.2 + OBJECT:3:_ZTSPf@@GLIBCPP_3.2 + OBJECT:3:_ZTSPh@@GLIBCPP_3.2 + OBJECT:3:_ZTSPi@@GLIBCPP_3.2 + OBJECT:3:_ZTSPj@@GLIBCPP_3.2 + OBJECT:3:_ZTSPl@@GLIBCPP_3.2 + OBJECT:3:_ZTSPm@@GLIBCPP_3.2 + OBJECT:3:_ZTSPs@@GLIBCPP_3.2 + OBJECT:3:_ZTSPt@@GLIBCPP_3.2 + OBJECT:3:_ZTSPv@@GLIBCPP_3.2 + OBJECT:3:_ZTSPw@@GLIBCPP_3.2 + OBJECT:3:_ZTSPx@@GLIBCPP_3.2 + OBJECT:3:_ZTSPy@@GLIBCPP_3.2 + OBJECT:3:_ZTSSd@@GLIBCPP_3.2 + OBJECT:3:_ZTSSi@@GLIBCPP_3.2 + OBJECT:3:_ZTSSo@@GLIBCPP_3.2 + OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2 + OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2 + OBJECT:40:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 + OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 + OBJECT:40:_ZSt10numpunct_c@@GLIBCPP_3.2 + OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt10bad_typeid@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt11logic_error@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt11range_error@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt12domain_error@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt12length_error@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt12out_of_range@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt13bad_exception@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt13runtime_error@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt14overflow_error@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt15underflow_error@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt16invalid_argument@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt8bad_cast@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt9bad_alloc@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt9exception@@GLIBCPP_3.2 + OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 + OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 + OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 + OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 + OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2 + OBJECT:56:_ZTISi@@GLIBCPP_3.2 + OBJECT:56:_ZTISo@@GLIBCPP_3.2 + OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:56:_ZTTSd@@GLIBCPP_3.2 + OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 + OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 + OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 + OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 + OBJECT:56:_ZTVSt7collateIcE@@GLIBCPP_3.2 + OBJECT:56:_ZTVSt7collateIwE@@GLIBCPP_3.2 + OBJECT:56:_ZTVSt8messagesIcE@@GLIBCPP_3.2 + OBJECT:56:_ZTVSt8messagesIwE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 + OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 + OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 + OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt9type_info@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 + OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2 + OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2 + OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2 + OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2 + OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2 + OBJECT:72:_ZTISd@@GLIBCPP_3.2 + OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 + OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 + OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 + OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 + OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 + OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 + OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2 + OBJECT:80:_ZTVSi@@GLIBCPP_3.2 + OBJECT:80:_ZTVSo@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt10istrstream@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt10ostrstream@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 + OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 + OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 + OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 + OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2 + OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 diff -Nrc3pad gcc-3.2/libstdc++-v3/config/abi/extract_symvers gcc-3.2.1/libstdc++-v3/config/abi/extract_symvers *** gcc-3.2/libstdc++-v3/config/abi/extract_symvers Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/config/abi/extract_symvers Sat Sep 21 19:17:56 2002 *************** *** 0 **** --- 1,64 ---- + #!/bin/sh + + # Copyright (C) 2002 Free Software Foundation, Inc. + # + # This file is part of the GNU ISO C++ Library. This library is free + # software; you can redistribute it and/or modify it under the + # terms of the GNU General Public License as published by the + # Free Software Foundation; either version 2, or (at your option) + # any later version. + # + # This library is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License along + # with this library; see the file COPYING. If not, write to the Free + # Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, + # USA. + # + # As a special exception, you may use this file as part of a free software + # library without restriction. Specifically, if other files instantiate + # templates or use macros or inline functions from this file, or you compile + # this file and link it with other files to produce an executable, this + # file does not by itself cause the resulting executable to be covered by + # the GNU General Public License. This exception does not however + # invalidate any other reasons why the executable file might be covered by + # the GNU General Public License. + + + if test ${#} -lt 2 || test $1 = '--help'; then + echo "Usage: extract_symvers shared_lib output_file" 1>&2 + exit 1 + fi + + lib=$1 + output=$2 + + # GNU binutils, somewhere after version 2.11.2, requires -W/--wide to avoid + # default line truncation. -W is not supported and truncation did not occur + # by default before that point. + readelf="readelf --symbols" + if readelf --help | grep -- --wide > /dev/null; then + readelf="$readelf --wide" + fi + + # This avoids weird sorting problems later. + export LC_ALL=C + + tmp=extract.$$ + + ${readelf} ${lib} | sed '/\.dynsym/,/^$/p;d' | egrep -v ' (LOCAL|UND) ' |\ + awk '{ if ($4 == "FUNC" || $4 == "NOTYPE") + printf "%s:%s\n", $4, $8; + else if ($4 == "OBJECT") + printf "%s:%s:%s\n", $4, $3, $8; + }' | sort | uniq > $tmp 2>&1 + # else printf "Huh? What is %s?\n", $8; + + + # I think we'll be doing some more with this file, but for now, dump. + mv $tmp $output + + exit 0 diff -Nrc3pad gcc-3.2/libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt gcc-3.2.1/libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt *** gcc-3.2/libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt Fri Aug 23 02:43:03 2002 *************** *** 0 **** --- 1,3031 ---- + FUNC:__cxa_allocate_exception@@CXXABI_1.2 + FUNC:__cxa_bad_cast@@CXXABI_1.2 + FUNC:__cxa_bad_typeid@@CXXABI_1.2 + FUNC:__cxa_begin_catch@@CXXABI_1.2 + FUNC:__cxa_call_unexpected@@CXXABI_1.2 + FUNC:__cxa_current_exception_type@@CXXABI_1.2 + FUNC:__cxa_demangle@@CXXABI_1.2 + FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 + FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_append@@CXXABI_1.2 + FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 + FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 + FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 + FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 + FUNC:__cxa_dyn_string_init@@CXXABI_1.2 + FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 + FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 + FUNC:__cxa_dyn_string_new@@CXXABI_1.2 + FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 + FUNC:__cxa_dyn_string_release@@CXXABI_1.2 + FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 + FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 + FUNC:__cxa_end_catch@@CXXABI_1.2 + FUNC:__cxa_free_exception@@CXXABI_1.2 + FUNC:__cxa_get_globals@@CXXABI_1.2 + FUNC:__cxa_get_globals_fast@@CXXABI_1.2 + FUNC:__cxa_pure_virtual@@CXXABI_1.2 + FUNC:__cxa_rethrow@@CXXABI_1.2 + FUNC:__cxa_throw@@CXXABI_1.2 + FUNC:__cxa_vec_cctor@@CXXABI_1.2 + FUNC:__cxa_vec_cleanup@@CXXABI_1.2 + FUNC:__cxa_vec_ctor@@CXXABI_1.2 + FUNC:__cxa_vec_delete2@@CXXABI_1.2 + FUNC:__cxa_vec_delete3@@CXXABI_1.2 + FUNC:__cxa_vec_delete@@CXXABI_1.2 + FUNC:__cxa_vec_dtor@@CXXABI_1.2 + FUNC:__cxa_vec_new2@@CXXABI_1.2 + FUNC:__cxa_vec_new3@@CXXABI_1.2 + FUNC:__cxa_vec_new@@CXXABI_1.2 + FUNC:__dynamic_cast@@CXXABI_1.2 + FUNC:__gxx_personality_v0@@CXXABI_1.2 + FUNC:_ZdaPv@@GLIBCPP_3.2 + FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZdlPv@@GLIBCPP_3.2 + FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 + FUNC:_Znaj@@GLIBCPP_3.2 + FUNC:_ZnajRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 + FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 + FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 + FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 + FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEjj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEj@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCPP_3.2 + FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofEcj@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofEcj@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCPP_3.2 + FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCPP_3.2 + FUNC:_ZNKSs2atEj@@GLIBCPP_3.2 + FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4copyEPcjj@@GLIBCPP_3.2 + FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4findEcj@@GLIBCPP_3.2 + FUNC:_ZNKSs4findEPKcj@@GLIBCPP_3.2 + FUNC:_ZNKSs4findEPKcjj@@GLIBCPP_3.2 + FUNC:_ZNKSs4findERKSsj@@GLIBCPP_3.2 + FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindEcj@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindEPKcj@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindEPKcjj@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindERKSsj@@GLIBCPP_3.2 + FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 + FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSs6substrEjj@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEjjPKc@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEjjPKcj@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEjjRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 + FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSs7_M_foldEjj@@GLIBCPP_3.2 + FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 + FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 + FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSs8_M_checkEj@@GLIBCPP_3.2 + FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSsixEj@@GLIBCPP_3.2 + FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 + FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 + FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcjRSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwjRSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 + FUNC:_ZNSaIcE10deallocateEPcj@@GLIBCPP_3.2 + FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 + FUNC:_ZNSaIcE8allocateEjPKv@@GLIBCPP_3.2 + FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwE10deallocateEPwj@@GLIBCPP_3.2 + FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 + FUNC:_ZNSaIwE8allocateEjPKv@@GLIBCPP_3.2 + FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 + FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSi3getEPcic@@GLIBCPP_3.2 + FUNC:_ZNSi3getEPci@@GLIBCPP_3.2 + FUNC:_ZNSi3getERc@@GLIBCPP_3.2 + FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 + FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSi3getEv@@GLIBCPP_3.2 + FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 + FUNC:_ZNSi4readEPci@@GLIBCPP_3.2 + FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 + FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 + FUNC:_ZNSi6ignoreEii@@GLIBCPP_3.2 + FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 + FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 + FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSi7getlineEPcic@@GLIBCPP_3.2 + FUNC:_ZNSi7getlineEPci@@GLIBCPP_3.2 + FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 + FUNC:_ZNSi8readsomeEPci@@GLIBCPP_3.2 + FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 + FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 + FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 + FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSirsERb@@GLIBCPP_3.2 + FUNC:_ZNSirsERd@@GLIBCPP_3.2 + FUNC:_ZNSirsERe@@GLIBCPP_3.2 + FUNC:_ZNSirsERf@@GLIBCPP_3.2 + FUNC:_ZNSirsERi@@GLIBCPP_3.2 + FUNC:_ZNSirsERj@@GLIBCPP_3.2 + FUNC:_ZNSirsERl@@GLIBCPP_3.2 + FUNC:_ZNSirsERm@@GLIBCPP_3.2 + FUNC:_ZNSirsERPv@@GLIBCPP_3.2 + FUNC:_ZNSirsERs@@GLIBCPP_3.2 + FUNC:_ZNSirsERt@@GLIBCPP_3.2 + FUNC:_ZNSirsERx@@GLIBCPP_3.2 + FUNC:_ZNSirsERy@@GLIBCPP_3.2 + FUNC:_ZNSo3putEc@@GLIBCPP_3.2 + FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 + FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 + FUNC:_ZNSo5writeEPKci@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 + FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSolsEb@@GLIBCPP_3.2 + FUNC:_ZNSolsEd@@GLIBCPP_3.2 + FUNC:_ZNSolsEe@@GLIBCPP_3.2 + FUNC:_ZNSolsEf@@GLIBCPP_3.2 + FUNC:_ZNSolsEi@@GLIBCPP_3.2 + FUNC:_ZNSolsEj@@GLIBCPP_3.2 + FUNC:_ZNSolsEl@@GLIBCPP_3.2 + FUNC:_ZNSolsEm@@GLIBCPP_3.2 + FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 + FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 + FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 + FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 + FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSolsEs@@GLIBCPP_3.2 + FUNC:_ZNSolsEt@@GLIBCPP_3.2 + FUNC:_ZNSolsEx@@GLIBCPP_3.2 + FUNC:_ZNSolsEy@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 + FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 + FUNC:_ZNSs2atEj@@GLIBCPP_3.2 + FUNC:_ZNSs3endEv@@GLIBCPP_3.2 + FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep9_S_createEjRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs4_RepixEj@@GLIBCPP_3.2 + FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 + FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 + FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 + FUNC:_ZNSs5eraseEjj@@GLIBCPP_3.2 + FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 + FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 + FUNC:_ZNSs6appendEjc@@GLIBCPP_3.2 + FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 + FUNC:_ZNSs6appendEPKcj@@GLIBCPP_3.2 + FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 + FUNC:_ZNSs6appendERKSsjj@@GLIBCPP_3.2 + FUNC:_ZNSs6assignEjc@@GLIBCPP_3.2 + FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 + FUNC:_ZNSs6assignEPKcj@@GLIBCPP_3.2 + FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 + FUNC:_ZNSs6assignERKSsjj@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEjjc@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEjPKc@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEjPKcj@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEjRKSs@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEjRKSsjj@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCPP_3.2 + FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNSs6resizeEjc@@GLIBCPP_3.2 + FUNC:_ZNSs6resizeEj@@GLIBCPP_3.2 + FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 + FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEjjjc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEjjPKc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEjjPKcj@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEjjRKSs@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNSs7reserveEj@@GLIBCPP_3.2 + FUNC:_ZNSs9_M_mutateEjjj@@GLIBCPP_3.2 + FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 + FUNC:_ZNSsaSEc@@GLIBCPP_3.2 + FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 + FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 + FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSsjj@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSsjj@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSsixEj@@GLIBCPP_3.2 + FUNC:_ZNSspLEc@@GLIBCPP_3.2 + FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 + FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPci@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPci@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 + FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcci@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1Ei@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2Ei@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPciRiS4_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwiRiS4_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEjj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEjj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvj@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvjj@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEj@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEjRi@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEj@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEj@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEj@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCPP_3.2 + FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCPP_3.2 + FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 + FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 + FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEjb@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEjb@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 + FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayIjEixEj@@GLIBCPP_3.2 + FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 + FUNC:_Znwj@@GLIBCPP_3.2 + FUNC:_ZnwjRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 + FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 + FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 + FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 + FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 + FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 + FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 + FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 + FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 + FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 + FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 + FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 + FUNC:_ZSt26__uninitialized_fill_n_auxIPSsjSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 + FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9terminatev@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZThn8_NSdD0Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSdD1Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCPP_3.2 + OBJECT:0:CXXABI_1.2 + OBJECT:0:GLIBCPP_3.2 + OBJECT:112:_ZSt9facet_vec@@GLIBCPP_3.2 + OBJECT:12:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 + OBJECT:12:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 + OBJECT:12:_ZSt7ctype_w@@GLIBCPP_3.2 + OBJECT:12:_ZSt9collate_c@@GLIBCPP_3.2 + OBJECT:12:_ZSt9collate_w@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt10bad_typeid@@GLIBCPP_3.2 + OBJECT:12:_ZTISt10istrstream@@GLIBCPP_3.2 + OBJECT:12:_ZTISt10ostrstream@@GLIBCPP_3.2 + OBJECT:12:_ZTISt11logic_error@@GLIBCPP_3.2 + OBJECT:12:_ZTISt11range_error@@GLIBCPP_3.2 + OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt12domain_error@@GLIBCPP_3.2 + OBJECT:12:_ZTISt12length_error@@GLIBCPP_3.2 + OBJECT:12:_ZTISt12out_of_range@@GLIBCPP_3.2 + OBJECT:12:_ZTISt12strstreambuf@@GLIBCPP_3.2 + OBJECT:12:_ZTISt13bad_exception@@GLIBCPP_3.2 + OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt13runtime_error@@GLIBCPP_3.2 + OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt14overflow_error@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt15underflow_error@@GLIBCPP_3.2 + OBJECT:12:_ZTISt16invalid_argument@@GLIBCPP_3.2 + OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt5ctypeIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt5ctypeIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt7collateIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt7collateIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt8bad_cast@@GLIBCPP_3.2 + OBJECT:12:_ZTISt8numpunctIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt8numpunctIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt9bad_alloc@@GLIBCPP_3.2 + OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:12:_ZTISt9strstream@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 + OBJECT:140:_ZSt4cerr@@GLIBCPP_3.2 + OBJECT:140:_ZSt4clog@@GLIBCPP_3.2 + OBJECT:140:_ZSt4cout@@GLIBCPP_3.2 + OBJECT:140:_ZSt7buf_cin@@GLIBCPP_3.2 + OBJECT:140:_ZSt8buf_cerr@@GLIBCPP_3.2 + OBJECT:140:_ZSt8buf_cout@@GLIBCPP_3.2 + OBJECT:144:_ZSt3cin@@GLIBCPP_3.2 + OBJECT:144:_ZSt5wcerr@@GLIBCPP_3.2 + OBJECT:144:_ZSt5wclog@@GLIBCPP_3.2 + OBJECT:144:_ZSt5wcout@@GLIBCPP_3.2 + OBJECT:148:_ZSt4wcin@@GLIBCPP_3.2 + OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 + OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 + OBJECT:156:_ZSt8buf_wcin@@GLIBCPP_3.2 + OBJECT:156:_ZSt9buf_wcerr@@GLIBCPP_3.2 + OBJECT:156:_ZSt9buf_wcout@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 + OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 + OBJECT:16:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 + OBJECT:16:_ZSt10messages_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt10messages_w@@GLIBCPP_3.2 + OBJECT:16:_ZTIPa@@GLIBCPP_3.2 + OBJECT:16:_ZTIPb@@GLIBCPP_3.2 + OBJECT:16:_ZTIPc@@GLIBCPP_3.2 + OBJECT:16:_ZTIPd@@GLIBCPP_3.2 + OBJECT:16:_ZTIPe@@GLIBCPP_3.2 + OBJECT:16:_ZTIPf@@GLIBCPP_3.2 + OBJECT:16:_ZTIPh@@GLIBCPP_3.2 + OBJECT:16:_ZTIPi@@GLIBCPP_3.2 + OBJECT:16:_ZTIPj@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKa@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKb@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKc@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKd@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKe@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKf@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKh@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKi@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKj@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKl@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKm@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKs@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKt@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKv@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKw@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKx@@GLIBCPP_3.2 + OBJECT:16:_ZTIPKy@@GLIBCPP_3.2 + OBJECT:16:_ZTIPl@@GLIBCPP_3.2 + OBJECT:16:_ZTIPm@@GLIBCPP_3.2 + OBJECT:16:_ZTIPs@@GLIBCPP_3.2 + OBJECT:16:_ZTIPt@@GLIBCPP_3.2 + OBJECT:16:_ZTIPv@@GLIBCPP_3.2 + OBJECT:16:_ZTIPw@@GLIBCPP_3.2 + OBJECT:16:_ZTIPx@@GLIBCPP_3.2 + OBJECT:16:_ZTIPy@@GLIBCPP_3.2 + OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 + OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt10istrstream@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt10ostrstream@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 + OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 + OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 + OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 + OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 + OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 + OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 + OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 + OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 + OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 + OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 + OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 + OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 + OBJECT:204:_ZSt11timepunct_c@@GLIBCPP_3.2 + OBJECT:204:_ZSt11timepunct_w@@GLIBCPP_3.2 + OBJECT:20:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 + OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 + OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 + OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 + OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt10bad_typeid@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt11logic_error@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt11range_error@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt12domain_error@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt12length_error@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt12out_of_range@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt13bad_exception@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt13runtime_error@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt14overflow_error@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt15underflow_error@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt16invalid_argument@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt8bad_cast@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt9bad_alloc@@GLIBCPP_3.2 + OBJECT:20:_ZTVSt9exception@@GLIBCPP_3.2 + OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 + OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 + OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 + OBJECT:24:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 + OBJECT:24:_ZSt10numpunct_c@@GLIBCPP_3.2 + OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 + OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 + OBJECT:28:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 + OBJECT:28:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 + OBJECT:28:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 + OBJECT:28:_ZSt10numpunct_w@@GLIBCPP_3.2 + OBJECT:28:_ZSt7ctype_c@@GLIBCPP_3.2 + OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:28:_ZTTSd@@GLIBCPP_3.2 + OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 + OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 + OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 + OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 + OBJECT:28:_ZTVSt7collateIcE@@GLIBCPP_3.2 + OBJECT:28:_ZTVSt7collateIwE@@GLIBCPP_3.2 + OBJECT:28:_ZTVSt8messagesIcE@@GLIBCPP_3.2 + OBJECT:28:_ZTVSt8messagesIwE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 + OBJECT:2:_ZTSa@@GLIBCPP_3.2 + OBJECT:2:_ZTSb@@GLIBCPP_3.2 + OBJECT:2:_ZTSc@@GLIBCPP_3.2 + OBJECT:2:_ZTSd@@GLIBCPP_3.2 + OBJECT:2:_ZTSe@@GLIBCPP_3.2 + OBJECT:2:_ZTSf@@GLIBCPP_3.2 + OBJECT:2:_ZTSh@@GLIBCPP_3.2 + OBJECT:2:_ZTSi@@GLIBCPP_3.2 + OBJECT:2:_ZTSj@@GLIBCPP_3.2 + OBJECT:2:_ZTSl@@GLIBCPP_3.2 + OBJECT:2:_ZTSm@@GLIBCPP_3.2 + OBJECT:2:_ZTSs@@GLIBCPP_3.2 + OBJECT:2:_ZTSt@@GLIBCPP_3.2 + OBJECT:2:_ZTSv@@GLIBCPP_3.2 + OBJECT:2:_ZTSw@@GLIBCPP_3.2 + OBJECT:2:_ZTSx@@GLIBCPP_3.2 + OBJECT:2:_ZTSy@@GLIBCPP_3.2 + OBJECT:32:_ZTISi@@GLIBCPP_3.2 + OBJECT:32:_ZTISo@@GLIBCPP_3.2 + OBJECT:32:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 + OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 + OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 + OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 + OBJECT:32:_ZTVSt9type_info@@GLIBCPP_3.2 + OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:36:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 + OBJECT:36:_ZSt13c_locale_impl@@GLIBCPP_3.2 + OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 + OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 + OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 + OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 + OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 + OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 + OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 + OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 + OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 + OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 + OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:3:_ZTSPa@@GLIBCPP_3.2 + OBJECT:3:_ZTSPb@@GLIBCPP_3.2 + OBJECT:3:_ZTSPc@@GLIBCPP_3.2 + OBJECT:3:_ZTSPd@@GLIBCPP_3.2 + OBJECT:3:_ZTSPe@@GLIBCPP_3.2 + OBJECT:3:_ZTSPf@@GLIBCPP_3.2 + OBJECT:3:_ZTSPh@@GLIBCPP_3.2 + OBJECT:3:_ZTSPi@@GLIBCPP_3.2 + OBJECT:3:_ZTSPj@@GLIBCPP_3.2 + OBJECT:3:_ZTSPl@@GLIBCPP_3.2 + OBJECT:3:_ZTSPm@@GLIBCPP_3.2 + OBJECT:3:_ZTSPs@@GLIBCPP_3.2 + OBJECT:3:_ZTSPt@@GLIBCPP_3.2 + OBJECT:3:_ZTSPv@@GLIBCPP_3.2 + OBJECT:3:_ZTSPw@@GLIBCPP_3.2 + OBJECT:3:_ZTSPx@@GLIBCPP_3.2 + OBJECT:3:_ZTSPy@@GLIBCPP_3.2 + OBJECT:3:_ZTSSd@@GLIBCPP_3.2 + OBJECT:3:_ZTSSi@@GLIBCPP_3.2 + OBJECT:3:_ZTSSo@@GLIBCPP_3.2 + OBJECT:40:_ZSt13moneypunct_fc@@GLIBCPP_3.2 + OBJECT:40:_ZSt13moneypunct_tc@@GLIBCPP_3.2 + OBJECT:40:_ZTISd@@GLIBCPP_3.2 + OBJECT:40:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt8messagesIcE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt8messagesIwE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTTSt9strstream@@GLIBCPP_3.2 + OBJECT:40:_ZTVSi@@GLIBCPP_3.2 + OBJECT:40:_ZTVSo@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt10istrstream@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt10ostrstream@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:44:_ZSt13moneypunct_fw@@GLIBCPP_3.2 + OBJECT:44:_ZSt13moneypunct_tw@@GLIBCPP_3.2 + OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 + OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 + OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 + OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 + OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 + OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 + OBJECT:4:_ZNSs4nposE@@GLIBCPP_3.2 + OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:4:_ZSt8c_locale@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 + OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 + OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 + OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 + OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 + OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 + OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 + OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 + OBJECT:56:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 + OBJECT:56:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTVSd@@GLIBCPP_3.2 + OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTVSt9strstream@@GLIBCPP_3.2 + OBJECT:64:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 + OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt12strstreambuf@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:68:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:68:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZSt10time_get_c@@GLIBCPP_3.2 + OBJECT:8:_ZSt10time_get_w@@GLIBCPP_3.2 + OBJECT:8:_ZSt10time_put_c@@GLIBCPP_3.2 + OBJECT:8:_ZSt10time_put_w@@GLIBCPP_3.2 + OBJECT:8:_ZSt11money_get_c@@GLIBCPP_3.2 + OBJECT:8:_ZSt11money_get_w@@GLIBCPP_3.2 + OBJECT:8:_ZSt11money_put_c@@GLIBCPP_3.2 + OBJECT:8:_ZSt11money_put_w@@GLIBCPP_3.2 + OBJECT:8:_ZSt9codecvt_c@@GLIBCPP_3.2 + OBJECT:8:_ZSt9codecvt_w@@GLIBCPP_3.2 + OBJECT:8:_ZSt9num_get_c@@GLIBCPP_3.2 + OBJECT:8:_ZSt9num_get_w@@GLIBCPP_3.2 + OBJECT:8:_ZSt9num_put_c@@GLIBCPP_3.2 + OBJECT:8:_ZSt9num_put_w@@GLIBCPP_3.2 + OBJECT:8:_ZTIa@@GLIBCPP_3.2 + OBJECT:8:_ZTIb@@GLIBCPP_3.2 + OBJECT:8:_ZTIc@@GLIBCPP_3.2 + OBJECT:8:_ZTId@@GLIBCPP_3.2 + OBJECT:8:_ZTIe@@GLIBCPP_3.2 + OBJECT:8:_ZTIf@@GLIBCPP_3.2 + OBJECT:8:_ZTIh@@GLIBCPP_3.2 + OBJECT:8:_ZTIi@@GLIBCPP_3.2 + OBJECT:8:_ZTIj@@GLIBCPP_3.2 + OBJECT:8:_ZTIl@@GLIBCPP_3.2 + OBJECT:8:_ZTIm@@GLIBCPP_3.2 + OBJECT:8:_ZTINSt6locale5facetE@@GLIBCPP_3.2 + OBJECT:8:_ZTIs@@GLIBCPP_3.2 + OBJECT:8:_ZTISt10ctype_base@@GLIBCPP_3.2 + OBJECT:8:_ZTISt10money_base@@GLIBCPP_3.2 + OBJECT:8:_ZTISt10__num_base@@GLIBCPP_3.2 + OBJECT:8:_ZTISt12codecvt_base@@GLIBCPP_3.2 + OBJECT:8:_ZTISt13messages_base@@GLIBCPP_3.2 + OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:8:_ZTISt8ios_base@@GLIBCPP_3.2 + OBJECT:8:_ZTISt9exception@@GLIBCPP_3.2 + OBJECT:8:_ZTISt9time_base@@GLIBCPP_3.2 + OBJECT:8:_ZTISt9type_info@@GLIBCPP_3.2 + OBJECT:8:_ZTIt@@GLIBCPP_3.2 + OBJECT:8:_ZTIv@@GLIBCPP_3.2 + OBJECT:8:_ZTIw@@GLIBCPP_3.2 + OBJECT:8:_ZTIx@@GLIBCPP_3.2 + OBJECT:8:_ZTIy@@GLIBCPP_3.2 + OBJECT:8:_ZTTSi@@GLIBCPP_3.2 + OBJECT:8:_ZTTSo@@GLIBCPP_3.2 + OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 diff -Nrc3pad gcc-3.2/libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt gcc-3.2.1/libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt *** gcc-3.2/libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt Thu Sep 5 16:36:03 2002 *************** *** 0 **** --- 1,3031 ---- + FUNC:__cxa_allocate_exception@@CXXABI_1.2 + FUNC:__cxa_bad_cast@@CXXABI_1.2 + FUNC:__cxa_bad_typeid@@CXXABI_1.2 + FUNC:__cxa_begin_catch@@CXXABI_1.2 + FUNC:__cxa_call_unexpected@@CXXABI_1.2 + FUNC:__cxa_current_exception_type@@CXXABI_1.2 + FUNC:__cxa_demangle@@CXXABI_1.2 + FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 + FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_append@@CXXABI_1.2 + FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 + FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 + FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 + FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 + FUNC:__cxa_dyn_string_init@@CXXABI_1.2 + FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 + FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 + FUNC:__cxa_dyn_string_new@@CXXABI_1.2 + FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 + FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 + FUNC:__cxa_dyn_string_release@@CXXABI_1.2 + FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 + FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 + FUNC:__cxa_end_catch@@CXXABI_1.2 + FUNC:__cxa_free_exception@@CXXABI_1.2 + FUNC:__cxa_get_globals@@CXXABI_1.2 + FUNC:__cxa_get_globals_fast@@CXXABI_1.2 + FUNC:__cxa_pure_virtual@@CXXABI_1.2 + FUNC:__cxa_rethrow@@CXXABI_1.2 + FUNC:__cxa_throw@@CXXABI_1.2 + FUNC:__cxa_vec_cctor@@CXXABI_1.2 + FUNC:__cxa_vec_cleanup@@CXXABI_1.2 + FUNC:__cxa_vec_ctor@@CXXABI_1.2 + FUNC:__cxa_vec_delete2@@CXXABI_1.2 + FUNC:__cxa_vec_delete3@@CXXABI_1.2 + FUNC:__cxa_vec_delete@@CXXABI_1.2 + FUNC:__cxa_vec_dtor@@CXXABI_1.2 + FUNC:__cxa_vec_new2@@CXXABI_1.2 + FUNC:__cxa_vec_new3@@CXXABI_1.2 + FUNC:__cxa_vec_new@@CXXABI_1.2 + FUNC:__dynamic_cast@@CXXABI_1.2 + FUNC:__gxx_personality_v0@@CXXABI_1.2 + FUNC:_ZdaPv@@GLIBCPP_3.2 + FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZdlPv@@GLIBCPP_3.2 + FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 + FUNC:_Znam@@GLIBCPP_3.2 + FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 + FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 + FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 + FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 + FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 + FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs2atEm@@GLIBCPP_3.2 + FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 + FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2 + FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2 + FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 + FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 + FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 + FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 + FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2 + FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 + FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 + FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2 + FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 + FUNC:_ZNKSsixEm@@GLIBCPP_3.2 + FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 + FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 + FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 + FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 + FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 + FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 + FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 + FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 + FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 + FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 + FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 + FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 + FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2 + FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 + FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2 + FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2 + FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 + FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2 + FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 + FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2 + FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2 + FUNC:_ZNSi3getERc@@GLIBCPP_3.2 + FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 + FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSi3getEv@@GLIBCPP_3.2 + FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 + FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2 + FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 + FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 + FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2 + FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 + FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 + FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2 + FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2 + FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 + FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2 + FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 + FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 + FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 + FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSirsERb@@GLIBCPP_3.2 + FUNC:_ZNSirsERd@@GLIBCPP_3.2 + FUNC:_ZNSirsERe@@GLIBCPP_3.2 + FUNC:_ZNSirsERf@@GLIBCPP_3.2 + FUNC:_ZNSirsERi@@GLIBCPP_3.2 + FUNC:_ZNSirsERj@@GLIBCPP_3.2 + FUNC:_ZNSirsERl@@GLIBCPP_3.2 + FUNC:_ZNSirsERm@@GLIBCPP_3.2 + FUNC:_ZNSirsERPv@@GLIBCPP_3.2 + FUNC:_ZNSirsERs@@GLIBCPP_3.2 + FUNC:_ZNSirsERt@@GLIBCPP_3.2 + FUNC:_ZNSirsERx@@GLIBCPP_3.2 + FUNC:_ZNSirsERy@@GLIBCPP_3.2 + FUNC:_ZNSo3putEc@@GLIBCPP_3.2 + FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 + FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 + FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 + FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSolsEb@@GLIBCPP_3.2 + FUNC:_ZNSolsEd@@GLIBCPP_3.2 + FUNC:_ZNSolsEe@@GLIBCPP_3.2 + FUNC:_ZNSolsEf@@GLIBCPP_3.2 + FUNC:_ZNSolsEi@@GLIBCPP_3.2 + FUNC:_ZNSolsEj@@GLIBCPP_3.2 + FUNC:_ZNSolsEl@@GLIBCPP_3.2 + FUNC:_ZNSolsEm@@GLIBCPP_3.2 + FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 + FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 + FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 + FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 + FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + FUNC:_ZNSolsEs@@GLIBCPP_3.2 + FUNC:_ZNSolsEt@@GLIBCPP_3.2 + FUNC:_ZNSolsEx@@GLIBCPP_3.2 + FUNC:_ZNSolsEy@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 + FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 + FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 + FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 + FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 + FUNC:_ZNSs2atEm@@GLIBCPP_3.2 + FUNC:_ZNSs3endEv@@GLIBCPP_3.2 + FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2 + FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2 + FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 + FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 + FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 + FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2 + FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 + FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 + FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2 + FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 + FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2 + FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 + FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2 + FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 + FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2 + FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 + FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 + FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2 + FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 + FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2 + FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2 + FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 + FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 + FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 + FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2 + FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2 + FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 + FUNC:_ZNSsaSEc@@GLIBCPP_3.2 + FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 + FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 + FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2 + FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 + FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSsixEm@@GLIBCPP_3.2 + FUNC:_ZNSspLEc@@GLIBCPP_3.2 + FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 + FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 + FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 + FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvmm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2 + FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2 + FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2 + FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 + FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 + FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 + FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 + FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2 + FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 + FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 + FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 + FUNC:_Znwm@@GLIBCPP_3.2 + FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2 + FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 + FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 + FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 + FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 + FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 + FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 + FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 + FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 + FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 + FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 + FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 + FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 + FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 + FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 + FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 + FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9terminatev@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 + FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 + FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 + FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 + FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2 + FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2 + OBJECT:0:CXXABI_1.2 + OBJECT:0:GLIBCPP_3.2 + OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 + OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 + OBJECT:112:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 + OBJECT:112:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 + OBJECT:112:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 + OBJECT:112:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSi@@GLIBCPP_3.2 + OBJECT:112:_ZTVSo@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt10istrstream@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt10ostrstream@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:112:_ZTVSt9type_info@@GLIBCPP_3.2 + OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 + OBJECT:128:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 + OBJECT:128:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 + OBJECT:128:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 + OBJECT:128:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 + OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 + OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 + OBJECT:144:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:144:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:144:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:144:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 + OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 + OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 + OBJECT:160:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 + OBJECT:160:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 + OBJECT:160:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 + OBJECT:160:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:160:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:160:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:160:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:160:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:160:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:168:_ZTVSd@@GLIBCPP_3.2 + OBJECT:168:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:168:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:168:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:168:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:168:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:168:_ZTVSt9strstream@@GLIBCPP_3.2 + OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt9codecvt_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt9codecvt_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2 + OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2 + OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2 + OBJECT:16:_ZTIa@@GLIBCPP_3.2 + OBJECT:16:_ZTIb@@GLIBCPP_3.2 + OBJECT:16:_ZTIc@@GLIBCPP_3.2 + OBJECT:16:_ZTId@@GLIBCPP_3.2 + OBJECT:16:_ZTIe@@GLIBCPP_3.2 + OBJECT:16:_ZTIf@@GLIBCPP_3.2 + OBJECT:16:_ZTIh@@GLIBCPP_3.2 + OBJECT:16:_ZTIi@@GLIBCPP_3.2 + OBJECT:16:_ZTIj@@GLIBCPP_3.2 + OBJECT:16:_ZTIl@@GLIBCPP_3.2 + OBJECT:16:_ZTIm@@GLIBCPP_3.2 + OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2 + OBJECT:16:_ZTIs@@GLIBCPP_3.2 + OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2 + OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2 + OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2 + OBJECT:16:_ZTIt@@GLIBCPP_3.2 + OBJECT:16:_ZTIv@@GLIBCPP_3.2 + OBJECT:16:_ZTIw@@GLIBCPP_3.2 + OBJECT:16:_ZTIx@@GLIBCPP_3.2 + OBJECT:16:_ZTIy@@GLIBCPP_3.2 + OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 + OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 + OBJECT:16:_ZTTSi@@GLIBCPP_3.2 + OBJECT:16:_ZTTSo@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:176:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:176:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 + OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 + OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 + OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 + OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 + OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 + OBJECT:192:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 + OBJECT:192:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 + OBJECT:192:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 + OBJECT:192:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 + OBJECT:192:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 + OBJECT:192:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 + OBJECT:192:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 + OBJECT:192:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 + OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 + OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 + OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 + OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 + OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 + OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 + OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 + OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 + OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 + OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 + OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2 + OBJECT:224:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:224:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 + OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 + OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 + OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 + OBJECT:240:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:240:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt12strstreambuf@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 + OBJECT:240:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 + OBJECT:248:_ZSt7buf_cin@@GLIBCPP_3.2 + OBJECT:248:_ZSt8buf_cerr@@GLIBCPP_3.2 + OBJECT:248:_ZSt8buf_cout@@GLIBCPP_3.2 + OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 + OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 + OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2 + OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2 + OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2 + OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2 + OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2 + OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2 + OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2 + OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2 + OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2 + OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2 + OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 + OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 + OBJECT:256:_ZSt8buf_wcin@@GLIBCPP_3.2 + OBJECT:256:_ZSt9buf_wcerr@@GLIBCPP_3.2 + OBJECT:256:_ZSt9buf_wcout@@GLIBCPP_3.2 + OBJECT:256:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:256:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2 + OBJECT:272:_ZSt4clog@@GLIBCPP_3.2 + OBJECT:272:_ZSt4cout@@GLIBCPP_3.2 + OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2 + OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2 + OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2 + OBJECT:280:_ZSt3cin@@GLIBCPP_3.2 + OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2 + OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 + OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 + OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 + OBJECT:2:_ZTSa@@GLIBCPP_3.2 + OBJECT:2:_ZTSb@@GLIBCPP_3.2 + OBJECT:2:_ZTSc@@GLIBCPP_3.2 + OBJECT:2:_ZTSd@@GLIBCPP_3.2 + OBJECT:2:_ZTSe@@GLIBCPP_3.2 + OBJECT:2:_ZTSf@@GLIBCPP_3.2 + OBJECT:2:_ZTSh@@GLIBCPP_3.2 + OBJECT:2:_ZTSi@@GLIBCPP_3.2 + OBJECT:2:_ZTSj@@GLIBCPP_3.2 + OBJECT:2:_ZTSl@@GLIBCPP_3.2 + OBJECT:2:_ZTSm@@GLIBCPP_3.2 + OBJECT:2:_ZTSs@@GLIBCPP_3.2 + OBJECT:2:_ZTSt@@GLIBCPP_3.2 + OBJECT:2:_ZTSv@@GLIBCPP_3.2 + OBJECT:2:_ZTSw@@GLIBCPP_3.2 + OBJECT:2:_ZTSx@@GLIBCPP_3.2 + OBJECT:2:_ZTSy@@GLIBCPP_3.2 + OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 + OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 + OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2 + OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2 + OBJECT:32:_ZTIPa@@GLIBCPP_3.2 + OBJECT:32:_ZTIPb@@GLIBCPP_3.2 + OBJECT:32:_ZTIPc@@GLIBCPP_3.2 + OBJECT:32:_ZTIPd@@GLIBCPP_3.2 + OBJECT:32:_ZTIPe@@GLIBCPP_3.2 + OBJECT:32:_ZTIPf@@GLIBCPP_3.2 + OBJECT:32:_ZTIPh@@GLIBCPP_3.2 + OBJECT:32:_ZTIPi@@GLIBCPP_3.2 + OBJECT:32:_ZTIPj@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKa@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKb@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKc@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKd@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKe@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKf@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKh@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKi@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKj@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKl@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKm@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKs@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKt@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKv@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKw@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKx@@GLIBCPP_3.2 + OBJECT:32:_ZTIPKy@@GLIBCPP_3.2 + OBJECT:32:_ZTIPl@@GLIBCPP_3.2 + OBJECT:32:_ZTIPm@@GLIBCPP_3.2 + OBJECT:32:_ZTIPs@@GLIBCPP_3.2 + OBJECT:32:_ZTIPt@@GLIBCPP_3.2 + OBJECT:32:_ZTIPv@@GLIBCPP_3.2 + OBJECT:32:_ZTIPw@@GLIBCPP_3.2 + OBJECT:32:_ZTIPx@@GLIBCPP_3.2 + OBJECT:32:_ZTIPy@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 + OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 + OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 + OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 + OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:3:_ZTSPa@@GLIBCPP_3.2 + OBJECT:3:_ZTSPb@@GLIBCPP_3.2 + OBJECT:3:_ZTSPc@@GLIBCPP_3.2 + OBJECT:3:_ZTSPd@@GLIBCPP_3.2 + OBJECT:3:_ZTSPe@@GLIBCPP_3.2 + OBJECT:3:_ZTSPf@@GLIBCPP_3.2 + OBJECT:3:_ZTSPh@@GLIBCPP_3.2 + OBJECT:3:_ZTSPi@@GLIBCPP_3.2 + OBJECT:3:_ZTSPj@@GLIBCPP_3.2 + OBJECT:3:_ZTSPl@@GLIBCPP_3.2 + OBJECT:3:_ZTSPm@@GLIBCPP_3.2 + OBJECT:3:_ZTSPs@@GLIBCPP_3.2 + OBJECT:3:_ZTSPt@@GLIBCPP_3.2 + OBJECT:3:_ZTSPv@@GLIBCPP_3.2 + OBJECT:3:_ZTSPw@@GLIBCPP_3.2 + OBJECT:3:_ZTSPx@@GLIBCPP_3.2 + OBJECT:3:_ZTSPy@@GLIBCPP_3.2 + OBJECT:3:_ZTSSd@@GLIBCPP_3.2 + OBJECT:3:_ZTSSi@@GLIBCPP_3.2 + OBJECT:3:_ZTSSo@@GLIBCPP_3.2 + OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2 + OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2 + OBJECT:40:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 + OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 + OBJECT:40:_ZSt10numpunct_c@@GLIBCPP_3.2 + OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 + OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2 + OBJECT:48:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:48:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 + OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 + OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 + OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 + OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 + OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2 + OBJECT:56:_ZTISi@@GLIBCPP_3.2 + OBJECT:56:_ZTISo@@GLIBCPP_3.2 + OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:56:_ZTTSd@@GLIBCPP_3.2 + OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt10bad_typeid@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt11logic_error@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt11range_error@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt12domain_error@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt12length_error@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt12out_of_range@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt13bad_exception@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt13runtime_error@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt14overflow_error@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt15underflow_error@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt16invalid_argument@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt8bad_cast@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt9bad_alloc@@GLIBCPP_3.2 + OBJECT:64:_ZTVSt9exception@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 + OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2 + OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2 + OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2 + OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2 + OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2 + OBJECT:72:_ZTISd@@GLIBCPP_3.2 + OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 + OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 + OBJECT:80:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 + OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2 + OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 + OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt7collateIcE@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt7collateIwE@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt8messagesIcE@@GLIBCPP_3.2 + OBJECT:96:_ZTVSt8messagesIwE@@GLIBCPP_3.2 diff -Nrc3pad gcc-3.2/libstdc++-v3/config/cpu/sparc/bits/atomicity.h gcc-3.2.1/libstdc++-v3/config/cpu/sparc/bits/atomicity.h *** gcc-3.2/libstdc++-v3/config/cpu/sparc/bits/atomicity.h Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/config/cpu/sparc/bits/atomicity.h Fri Sep 6 18:11:56 2002 *************** *** 0 **** --- 1,131 ---- + // Low-level functions for atomic operations: Sparc version -*- C++ -*- + + // Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 2, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING. If not, write to the Free + // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, + // USA. + + // As a special exception, you may use this file as part of a free software + // library without restriction. Specifically, if other files instantiate + // templates or use macros or inline functions from this file, or you compile + // this file and link it with other files to produce an executable, this + // file does not by itself cause the resulting executable to be covered by + // the GNU General Public License. This exception does not however + // invalidate any other reasons why the executable file might be covered by + // the GNU General Public License. + + #ifndef _BITS_ATOMICITY_H + #define _BITS_ATOMICITY_H 1 + + #ifdef __arch64__ + + typedef long _Atomic_word; + + static inline _Atomic_word + __attribute__ ((__unused__)) + __exchange_and_add (volatile _Atomic_word *__mem, int __val) + { + _Atomic_word __tmp1, __tmp2; + + __asm__ __volatile__("1: ldx [%2], %0\n\t" + " add %0, %3, %1\n\t" + " casx [%2], %0, %1\n\t" + " sub %0, %1, %0\n\t" + " brnz,pn %0, 1b\n\t" + " nop" + : "=&r" (__tmp1), "=&r" (__tmp2) + : "r" (__mem), "r" (__val) + : "memory"); + return __tmp2; + } + + static inline void + __attribute__ ((__unused__)) + __atomic_add (volatile _Atomic_word* __mem, int __val) + { + _Atomic_word __tmp1, __tmp2; + + __asm__ __volatile__("1: ldx [%2], %0\n\t" + " add %0, %3, %1\n\t" + " casx [%2], %0, %1\n\t" + " sub %0, %1, %0\n\t" + " brnz,pn %0, 1b\n\t" + " nop" + : "=&r" (__tmp1), "=&r" (__tmp2) + : "r" (__mem), "r" (__val) + : "memory"); + } + + #else /* __arch32__ */ + + typedef int _Atomic_word; + + template + struct __Atomicity_lock + { + static unsigned char _S_atomicity_lock; + }; + + template + unsigned char __Atomicity_lock<__inst>::_S_atomicity_lock = 0; + + template unsigned char __Atomicity_lock<0>::_S_atomicity_lock; + + static int + __attribute__ ((__unused__)) + __exchange_and_add (volatile _Atomic_word* __mem, int __val) + { + _Atomic_word __result, __tmp; + + __asm__ __volatile__("1: ldstub [%1], %0\n\t" + " cmp %0, 0\n\t" + " bne 1b\n\t" + " nop" + : "=&r" (__tmp) + : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) + : "memory"); + __result = *__mem; + *__mem += __val; + __asm__ __volatile__("stb %%g0, [%0]" + : /* no outputs */ + : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) + : "memory"); + return __result; + } + + static void + __attribute__ ((__unused__)) + __atomic_add (volatile _Atomic_word* __mem, int __val) + { + _Atomic_word __tmp; + + __asm__ __volatile__("1: ldstub [%1], %0\n\t" + " cmp %0, 0\n\t" + " bne 1b\n\t" + " nop" + : "=&r" (__tmp) + : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) + : "memory"); + *__mem += __val; + __asm__ __volatile__("stb %%g0, [%0]" + : /* no outputs */ + : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) + : "memory"); + } + + #endif /* __arch32__ */ + + #endif /* atomicity.h */ diff -Nrc3pad gcc-3.2/libstdc++-v3/config/cpu/sparc/sparc32/bits/atomicity.h gcc-3.2.1/libstdc++-v3/config/cpu/sparc/sparc32/bits/atomicity.h *** gcc-3.2/libstdc++-v3/config/cpu/sparc/sparc32/bits/atomicity.h Tue Dec 11 09:41:40 2001 --- gcc-3.2.1/libstdc++-v3/config/cpu/sparc/sparc32/bits/atomicity.h Thu Jan 1 00:00:00 1970 *************** *** 1,88 **** - // Low-level functions for atomic operations: Sparc32 version -*- C++ -*- - - // Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. - // - // This file is part of the GNU ISO C++ Library. This library is free - // software; you can redistribute it and/or modify it under the - // terms of the GNU General Public License as published by the - // Free Software Foundation; either version 2, or (at your option) - // any later version. - - // This library is distributed in the hope that it will be useful, - // but WITHOUT ANY WARRANTY; without even the implied warranty of - // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - // GNU General Public License for more details. - - // You should have received a copy of the GNU General Public License along - // with this library; see the file COPYING. If not, write to the Free - // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, - // USA. - - // As a special exception, you may use this file as part of a free software - // library without restriction. Specifically, if other files instantiate - // templates or use macros or inline functions from this file, or you compile - // this file and link it with other files to produce an executable, this - // file does not by itself cause the resulting executable to be covered by - // the GNU General Public License. This exception does not however - // invalidate any other reasons why the executable file might be covered by - // the GNU General Public License. - - #ifndef _BITS_ATOMICITY_H - #define _BITS_ATOMICITY_H 1 - - typedef int _Atomic_word; - - template - struct __Atomicity_lock - { - static unsigned char _S_atomicity_lock; - }; - - template - unsigned char __Atomicity_lock<__inst>::_S_atomicity_lock = 0; - - template unsigned char __Atomicity_lock<0>::_S_atomicity_lock; - - static int - __attribute__ ((__unused__)) - __exchange_and_add (volatile _Atomic_word* __mem, int __val) - { - _Atomic_word __result, __tmp; - - __asm__ __volatile__("1: ldstub [%1], %0\n\t" - " cmp %0, 0\n\t" - " bne 1b\n\t" - " nop" - : "=&r" (__tmp) - : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) - : "memory"); - __result = *__mem; - *__mem += __val; - __asm__ __volatile__("stb %%g0, [%0]" - : /* no outputs */ - : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) - : "memory"); - return __result; - } - - static void - __attribute__ ((__unused__)) - __atomic_add (volatile _Atomic_word* __mem, int __val) - { - _Atomic_word __tmp; - - __asm__ __volatile__("1: ldstub [%1], %0\n\t" - " cmp %0, 0\n\t" - " bne 1b\n\t" - " nop" - : "=&r" (__tmp) - : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) - : "memory"); - *__mem += __val; - __asm__ __volatile__("stb %%g0, [%0]" - : /* no outputs */ - : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) - : "memory"); - } - - #endif /* atomicity.h */ --- 0 ---- diff -Nrc3pad gcc-3.2/libstdc++-v3/config/cpu/sparc/sparc64/bits/atomicity.h gcc-3.2.1/libstdc++-v3/config/cpu/sparc/sparc64/bits/atomicity.h *** gcc-3.2/libstdc++-v3/config/cpu/sparc/sparc64/bits/atomicity.h Fri Oct 5 18:43:43 2001 --- gcc-3.2.1/libstdc++-v3/config/cpu/sparc/sparc64/bits/atomicity.h Thu Jan 1 00:00:00 1970 *************** *** 1,70 **** - // Low-level functions for atomic operations: Sparc64 version -*- C++ -*- - - // Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. - // - // This file is part of the GNU ISO C++ Library. This library is free - // software; you can redistribute it and/or modify it under the - // terms of the GNU General Public License as published by the - // Free Software Foundation; either version 2, or (at your option) - // any later version. - - // This library is distributed in the hope that it will be useful, - // but WITHOUT ANY WARRANTY; without even the implied warranty of - // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - // GNU General Public License for more details. - - // You should have received a copy of the GNU General Public License along - // with this library; see the file COPYING. If not, write to the Free - // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, - // USA. - - // As a special exception, you may use this file as part of a free software - // library without restriction. Specifically, if other files instantiate - // templates or use macros or inline functions from this file, or you compile - // this file and link it with other files to produce an executable, this - // file does not by itself cause the resulting executable to be covered by - // the GNU General Public License. This exception does not however - // invalidate any other reasons why the executable file might be covered by - // the GNU General Public License. - - #ifndef _BITS_ATOMICITY_H - #define _BITS_ATOMICITY_H 1 - - typedef long _Atomic_word; - - static inline _Atomic_word - __attribute__ ((__unused__)) - __exchange_and_add (volatile _Atomic_word *__mem, int __val) - { - _Atomic_word __tmp1, __tmp2; - - __asm__ __volatile__("1: ldx [%2], %0\n\t" - " add %0, %3, %1\n\t" - " casx [%2], %0, %1\n\t" - " sub %0, %1, %0\n\t" - " brnz,pn %0, 1b\n\t" - " nop" - : "=&r" (__tmp1), "=&r" (__tmp2) - : "r" (__mem), "r" (__val) - : "memory"); - return __tmp2; - } - - static inline void - __attribute__ ((__unused__)) - __atomic_add (volatile _Atomic_word* __mem, int __val) - { - _Atomic_word __tmp1, __tmp2; - - __asm__ __volatile__("1: ldx [%2], %0\n\t" - " add %0, %3, %1\n\t" - " casx [%2], %0, %1\n\t" - " sub %0, %1, %0\n\t" - " brnz,pn %0, 1b\n\t" - " nop" - : "=&r" (__tmp1), "=&r" (__tmp2) - : "r" (__mem), "r" (__val) - : "memory"); - } - - #endif /* atomicity.h */ --- 0 ---- diff -Nrc3pad gcc-3.2/libstdc++-v3/config/linker-map.gnu gcc-3.2.1/libstdc++-v3/config/linker-map.gnu *** gcc-3.2/libstdc++-v3/config/linker-map.gnu Thu Aug 1 21:29:14 2002 --- gcc-3.2.1/libstdc++-v3/config/linker-map.gnu Sun Nov 17 05:14:01 2002 *************** *** 20,26 **** ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## USA. - GLIBCPP_3.2 { global: --- 20,25 ---- *************** GLIBCPP_3.2 { *** 29,49 **** # All but the last are terminated with a semicolon. extern "C++" { ! std::[A-Za-z]*; std::__throw_*; std::__basic_file*; std::__num_base*; std::__timepunct*; std::__numeric_limits_base*; std::_S_bit_count; ! std::_S_first_one; ! std::__default_alloc_template*; ! std::__malloc_alloc_template* }; # Names not in an 'extern' block are mangled names. _ZSt9has_facet*; # operator new(unsigned) _Znwj; # operator new(unsigned, std::nothrow_t const&) --- 28,147 ---- # All but the last are terminated with a semicolon. extern "C++" { ! std::[A-Za]*; ! std::ba[a-r]*; ! std::basic_[a-r]*; ! std::basic_streambuf*; ! std::basic_stringbuf*; ! std::basic_stringstream*; ! std::basic_[t-z]*; ! std::ba[t-z]*; ! std::b[b-z]*; ! std::c[a-n]*; ! std::co[a-c]*; ! std::codecvt_byname*; ! std::codecvt::[A-Za-b]*; ! std::codecvt::[A-Zd-z]*; ! std::codecvt_c; ! std::codecvt_w; ! std::co[e-z]*; ! std::c[p-z]*; ! std::c_[a-z]*; ! std::[A-Zd-k]*; ! std::length_error*; ! std::logic_error*; ! std::locale::[A-Za-z]*; ! std::locale::_[A-Ra-z]*; ! std::locale::_S_classic; ! std::locale::_S_global; ! std::locale::_S_num_categories; ! std::locale::_S_normalize_category*; ! std::locale::_[T-Za-z]*; ! std::[A-Zm-z]*; std::__throw_*; std::__basic_file*; std::__num_base*; std::__timepunct*; std::__numeric_limits_base*; std::_S_bit_count; ! std::_S_first_one }; # Names not in an 'extern' block are mangled names. + + # std::string minus binary operator plus + _ZNKSs*; + _ZNKSb*; + _ZNSs[A-Za-z]*; + _ZNSs[0-9][A-Za-z]*; + _ZNSs[0-9][0-9][A-Za-z]*; + _ZNSs[0-9]_[A-Ra-z]*; + _ZNSs[0-9][0-9]_[A-Ra-z]*; + _ZNSs12_S_empty_repEv; + _ZNSs20_S_empty_rep_storageE; + _ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE; + _ZNSs12_S_constructE*; + _ZNSs13_S_copy_charsE*; + _ZNSbIwSt11char_traitsIwESaIwEE[A-Ra-z]*; + _ZNSbIwSt11char_traitsIwESaIwEE[0-9][A-Ra-z]*; + _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9][A-Ra-z]*; + _ZNSbIwSt11char_traitsIwESaIwEE[0-9]_[A-Ra-z]*; + _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9]_[A-Ra-z]*; + _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_chars*; + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructE[jm]wRKS1_; + _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv; + _ZSt24__uninitialized_copy_auxIN9*; + _ZSt26__uninitialized_fill_n_aux*; + _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_; + _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_; + _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_; + _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_; + + # std::locale destructors + _ZNSt6localeD*; + + # std::codecvt members. + _ZNKSt7codecvtIcc11__mbstate_tE*; + # std::codecvt::~codecvt + _ZNSt7codecvtIcc11__mbstate_tED*; + # std::codecvt::codecvt(size_t), where size_t variable. + _ZNSt7codecvtIcc11__mbstate_tEC[12]E[jm]; + # std::codecvt::id + _ZNSt7codecvtIcc11__mbstate_tE2idE; + + # std::codecvt members. + _ZNKSt7codecvtIwc11__mbstate_tE*; + # std::codecvt::~codecvt + _ZNSt7codecvtIwc11__mbstate_tED*; + # std::codecvt::codecvt(size_t), where size_t variable. + _ZNSt7codecvtIwc11__mbstate_tEC[12]E[jm]; + # std::codecvt::id + _ZNSt7codecvtIwc11__mbstate_tE2idE; + + # std::use_facet + _ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale; + _ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale; + + # std::has_facet* _ZSt9has_facet*; + # std::__default_alloc_template + _ZNSt24__default_alloc_templateILb1ELi0EE10deallocate*; + _ZNSt24__default_alloc_templateILb1ELi0EE8allocate*; + _ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE; + _ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE; + _ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillE*; + + # std::__default_alloc_template to be removed in the future + _ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPv*; + _ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upE*; + _ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocE*; + _ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexE*; + _ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE; + _ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE; + _ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE; + _ZNSt24__default_alloc_templateILb1ELi0EE5_Lock*; + # operator new(unsigned) _Znwj; # operator new(unsigned, std::nothrow_t const&) *************** GLIBCPP_3.2 { *** 72,79 **** # operator delete[](void*, std::nothrow_t const&) _ZdaPvRKSt9nothrow_t; ! # vtable ! _ZTV*; _ZTT*; # typeinfo --- 170,177 ---- # operator delete[](void*, std::nothrow_t const&) _ZdaPvRKSt9nothrow_t; ! # vtable ! _ZTV*; _ZTT*; # typeinfo *************** GLIBCPP_3.2 { *** 95,100 **** --- 193,246 ---- *; }; + # Symbols added after GLIBCPP_3.2 + GLIBCPP_3.2.1 { + + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj; + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj; + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj; + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj; + + _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_; + _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_; + + _ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE; + + # stub functions from libmath + sinf; + sinl; + sinhf; + sinhl; + cosf; + cosl; + coshf; + coshl; + tanf; + tanl; + tanhf; + tanhl; + atan2f; + atan2l; + expf; + expl; + hypotf; + hypotl; + hypot; + logf; + logl; + log10f; + log10l; + powf; + powl; + sqrtf; + sqrtl; + copysignf; + nan; + __signbit; + __signbitf; + __signbitl; + + } GLIBCPP_3.2; # Symbols in the support library (libsupc++) have their own tag. CXXABI_1.2 { diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/generic/c++locale_internal.h gcc-3.2.1/libstdc++-v3/config/locale/generic/c++locale_internal.h *** gcc-3.2/libstdc++-v3/config/locale/generic/c++locale_internal.h Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/config/locale/generic/c++locale_internal.h Thu Sep 5 07:45:10 2002 *************** *** 0 **** --- 1,30 ---- + // Locale internal implementation header -*- C++ -*- + + // Copyright (C) 2002 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 2, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING. If not, write to the Free + // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, + // USA. + + // As a special exception, you may use this file as part of a free software + // library without restriction. Specifically, if other files instantiate + // templates or use macros or inline functions from this file, or you compile + // this file and link it with other files to produce an executable, this + // file does not by itself cause the resulting executable to be covered by + // the GNU General Public License. This exception does not however + // invalidate any other reasons why the executable file might be covered by + // the GNU General Public License. + + // The generic locale code doesn't need to do anything here (yet) diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/generic/c_locale.cc gcc-3.2.1/libstdc++-v3/config/locale/generic/c_locale.cc *** gcc-3.2/libstdc++-v3/config/locale/generic/c_locale.cc Sat May 18 22:00:12 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/generic/c_locale.cc Thu Oct 17 02:04:13 2002 *************** namespace std *** 223,226 **** --- 223,237 ---- __c_locale locale::facet::_S_clone_c_locale(__c_locale&) { return __c_locale(); } + + const char* locale::_S_categories[_S_categories_size + + _S_extra_categories_size] = + { + "LC_CTYPE", + "LC_NUMERIC", + "LC_COLLATE", + "LC_TIME", + "LC_MONETARY", + "LC_MESSAGES" + }; } // namespace std diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/generic/c_locale.h gcc-3.2.1/libstdc++-v3/config/locale/generic/c_locale.h *** gcc-3.2/libstdc++-v3/config/locale/generic/c_locale.h Mon Mar 11 21:12:52 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/generic/c_locale.h Thu Oct 17 02:04:14 2002 *************** *** 1,6 **** // Wrapper for underlying C-language localization -*- C++ -*- ! // Copyright (C) 2001 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,6 ---- // Wrapper for underlying C-language localization -*- C++ -*- ! // Copyright (C) 2001, 2002 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 35,41 **** --- 35,71 ---- #include + #define _GLIBCPP_NUM_CATEGORIES 0 + namespace std { typedef int* __c_locale; + + template + int + __convert_from_v(char* __out, const int __size, const char* __fmt, + _Tv __v, const __c_locale&, int __prec = -1) + { + char* __old = setlocale(LC_ALL, NULL); + char* __sav = static_cast(malloc(strlen(__old) + 1)); + if (__sav) + strcpy(__sav, __old); + setlocale(LC_ALL, "C"); + + int __ret; + #ifdef _GLIBCPP_USE_C99 + if (__prec >= 0) + __ret = snprintf(__out, __size, __fmt, __prec, __v); + else + __ret = snprintf(__out, __size, __fmt, __v); + #else + if (__prec >= 0) + __ret = sprintf(__out, __fmt, __prec, __v); + else + __ret = sprintf(__out, __fmt, __v); + #endif + setlocale(LC_ALL, __sav); + free(__sav); + return __ret; + } } diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/generic/codecvt_members.cc gcc-3.2.1/libstdc++-v3/config/locale/generic/codecvt_members.cc *** gcc-3.2/libstdc++-v3/config/locale/generic/codecvt_members.cc Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/config/locale/generic/codecvt_members.cc Fri Sep 13 01:21:41 2002 *************** *** 0 **** --- 1,101 ---- + // std::codecvt implementation details, generic version -*- C++ -*- + + // Copyright (C) 2002 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 2, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING. If not, write to the Free + // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, + // USA. + + // As a special exception, you may use this file as part of a free software + // library without restriction. Specifically, if other files instantiate + // templates or use macros or inline functions from this file, or you compile + // this file and link it with other files to produce an executable, this + // file does not by itself cause the resulting executable to be covered by + // the GNU General Public License. This exception does not however + // invalidate any other reasons why the executable file might be covered by + // the GNU General Public License. + + // + // ISO C++ 14882: 22.2.1.5 - Template class codecvt + // + + // Written by Benjamin Kosnik + + #include + #include "c++locale_internal.h" + + namespace std + { + // Specializations. + #ifdef _GLIBCPP_USE_WCHAR_T + codecvt_base::result + codecvt:: + do_out(state_type& __state, const intern_type* __from, + const intern_type* __from_end, const intern_type*& __from_next, + extern_type* __to, extern_type* __to_end, + extern_type*& __to_next) const + { + result __ret = error; + size_t __len = min(__from_end - __from, __to_end - __to); + size_t __conv = wcsrtombs(__to, &__from, __len, &__state); + + if (__conv == __len) + { + __from_next = __from; + __to_next = __to + __conv; + __ret = ok; + } + else if (__conv > 0 && __conv < __len) + { + __from_next = __from; + __to_next = __to + __conv; + __ret = partial; + } + else + __ret = error; + + return __ret; + } + + codecvt_base::result + codecvt:: + do_in(state_type& __state, const extern_type* __from, + const extern_type* __from_end, const extern_type*& __from_next, + intern_type* __to, intern_type* __to_end, + intern_type*& __to_next) const + { + result __ret = error; + size_t __len = min(__from_end - __from, __to_end - __to); + size_t __conv = mbsrtowcs(__to, &__from, __len, &__state); + + if (__conv == __len) + { + __from_next = __from; + __to_next = __to + __conv; + __ret = ok; + } + else if (__conv > 0 && __conv < __len) + { + __from_next = __from; + __to_next = __to + __conv; + __ret = partial; + } + else + __ret = error; + + return __ret; + } + #endif + } diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/generic/messages_members.cc gcc-3.2.1/libstdc++-v3/config/locale/generic/messages_members.cc *** gcc-3.2/libstdc++-v3/config/locale/generic/messages_members.cc Mon Mar 11 21:12:52 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/generic/messages_members.cc Sat Sep 7 19:02:21 2002 *************** namespace std *** 42,45 **** --- 42,52 ---- string messages::do_get(catalog, int, int, const string& __dfault) const { return __dfault; } + + #ifdef _GLIBCPP_USE_WCHAR_T + template<> + wstring + messages::do_get(catalog, int, int, const wstring& __dfault) const + { return __dfault; } + #endif } diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/generic/time_members.cc gcc-3.2.1/libstdc++-v3/config/locale/generic/time_members.cc *** gcc-3.2/libstdc++-v3/config/locale/generic/time_members.cc Sat May 18 22:00:12 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/generic/time_members.cc Thu Oct 17 02:04:14 2002 *************** *** 39,51 **** namespace std { template<> - __timepunct::~__timepunct() - { - if (_M_c_locale_timepunct != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_timepunct); - } - - template<> void __timepunct:: _M_put(char* __s, size_t __maxlen, const char* __format, --- 39,44 ---- *************** namespace std *** 122,134 **** #ifdef _GLIBCPP_USE_WCHAR_T template<> - __timepunct::~__timepunct() - { - if (_M_c_locale_timepunct != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_timepunct); - } - - template<> void __timepunct:: _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format, --- 115,120 ---- diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/c++locale_internal.h gcc-3.2.1/libstdc++-v3/config/locale/gnu/c++locale_internal.h *** gcc-3.2/libstdc++-v3/config/locale/gnu/c++locale_internal.h Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/c++locale_internal.h Thu Sep 5 07:45:11 2002 *************** *** 0 **** --- 1,59 ---- + // Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*- + + // Copyright (C) 2002 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 2, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING. If not, write to the Free + // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, + // USA. + + // As a special exception, you may use this file as part of a free software + // library without restriction. Specifically, if other files instantiate + // templates or use macros or inline functions from this file, or you compile + // this file and link it with other files to produce an executable, this + // file does not by itself cause the resulting executable to be covered by + // the GNU General Public License. This exception does not however + // invalidate any other reasons why the executable file might be covered by + // the GNU General Public License. + + // Written by Jakub Jelinek + + #include + + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + + extern "C" __typeof(iswctype_l) __iswctype_l; + extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l; + extern "C" __typeof(strcoll_l) __strcoll_l; + extern "C" __typeof(strftime_l) __strftime_l; + extern "C" __typeof(strtod_l) __strtod_l; + extern "C" __typeof(strtof_l) __strtof_l; + extern "C" __typeof(strtold_l) __strtold_l; + extern "C" __typeof(strtol_l) __strtol_l; + extern "C" __typeof(strtoll_l) __strtoll_l; + extern "C" __typeof(strtoul_l) __strtoul_l; + extern "C" __typeof(strtoull_l) __strtoull_l; + extern "C" __typeof(strxfrm_l) __strxfrm_l; + extern "C" __typeof(towlower_l) __towlower_l; + extern "C" __typeof(towupper_l) __towupper_l; + extern "C" __typeof(wcscoll_l) __wcscoll_l; + extern "C" __typeof(wcsftime_l) __wcsftime_l; + extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l; + extern "C" __typeof(wctype_l) __wctype_l; + extern "C" __typeof(newlocale) __newlocale; + extern "C" __typeof(freelocale) __freelocale; + extern "C" __typeof(duplocale) __duplocale; + extern "C" __typeof(uselocale) __uselocale; + + #endif // GLIBC 2.3 and later diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/c_locale.cc gcc-3.2.1/libstdc++-v3/config/locale/gnu/c_locale.cc *** gcc-3.2/libstdc++-v3/config/locale/gnu/c_locale.cc Fri Apr 19 07:59:03 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/c_locale.cc Thu Oct 17 02:04:14 2002 *************** *** 36,41 **** --- 36,42 ---- #include #include #include + #include "c++locale_internal.h" namespace std { *************** namespace std *** 177,185 **** void locale::facet::_S_destroy_c_locale(__c_locale& __cloc) ! { __freelocale(__cloc); } __c_locale locale::facet::_S_clone_c_locale(__c_locale& __cloc) { return __duplocale(__cloc); } } // namespace std --- 178,206 ---- void locale::facet::_S_destroy_c_locale(__c_locale& __cloc) ! { ! if (_S_c_locale != __cloc) ! __freelocale(__cloc); ! } __c_locale locale::facet::_S_clone_c_locale(__c_locale& __cloc) { return __duplocale(__cloc); } + + const char* locale::_S_categories[_S_categories_size + + _S_extra_categories_size] = + { + "LC_CTYPE", + "LC_NUMERIC", + "LC_COLLATE", + "LC_TIME", + "LC_MONETARY", + "LC_MESSAGES", + "LC_PAPER", + "LC_NAME", + "LC_ADDRESS", + "LC_TELEPHONE", + "LC_MEASUREMENT", + "LC_IDENTIFICATION" + }; } // namespace std diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/c_locale.h gcc-3.2.1/libstdc++-v3/config/locale/gnu/c_locale.h *** gcc-3.2/libstdc++-v3/config/locale/gnu/c_locale.h Mon Mar 11 21:12:54 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/c_locale.h Thu Oct 17 02:04:14 2002 *************** *** 1,6 **** // Wrapper for underlying C-language localization -*- C++ -*- ! // Copyright (C) 2001 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,6 ---- // Wrapper for underlying C-language localization -*- C++ -*- ! // Copyright (C) 2001, 2002 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 40,46 **** --- 40,94 ---- #define _GLIBCPP_C_LOCALE_GNU 1 + #define _GLIBCPP_NUM_CATEGORIES 6 + + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + namespace __gnu_cxx + { + extern "C" __typeof(uselocale) __uselocale; + } + #endif + namespace std { typedef __locale_t __c_locale; + + template + int + __convert_from_v(char* __out, const int __size, const char* __fmt, + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + _Tv __v, const __c_locale& __cloc, int __prec = -1) + { + __c_locale __old = __gnu_cxx::__uselocale(__cloc); + #else + _Tv __v, const __c_locale&, int __prec = -1) + { + char* __old = setlocale(LC_ALL, NULL); + char* __sav = static_cast(malloc(strlen(__old) + 1)); + if (__sav) + strcpy(__sav, __old); + setlocale(LC_ALL, "C"); + #endif + + int __ret; + #ifdef _GLIBCPP_USE_C99 + if (__prec >= 0) + __ret = snprintf(__out, __size, __fmt, __prec, __v); + else + __ret = snprintf(__out, __size, __fmt, __v); + #else + if (__prec >= 0) + __ret = sprintf(__out, __fmt, __prec, __v); + else + __ret = sprintf(__out, __fmt, __v); + #endif + + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __gnu_cxx::__uselocale(__old); + #else + setlocale(LC_ALL, __sav); + free(__sav); + #endif + return __ret; + } } diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/codecvt_members.cc gcc-3.2.1/libstdc++-v3/config/locale/gnu/codecvt_members.cc *** gcc-3.2/libstdc++-v3/config/locale/gnu/codecvt_members.cc Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/codecvt_members.cc Tue Sep 17 00:51:50 2002 *************** *** 0 **** --- 1,113 ---- + // std::codecvt implementation details, GNU version -*- C++ -*- + + // Copyright (C) 2002 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 2, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING. If not, write to the Free + // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, + // USA. + + // As a special exception, you may use this file as part of a free software + // library without restriction. Specifically, if other files instantiate + // templates or use macros or inline functions from this file, or you compile + // this file and link it with other files to produce an executable, this + // file does not by itself cause the resulting executable to be covered by + // the GNU General Public License. This exception does not however + // invalidate any other reasons why the executable file might be covered by + // the GNU General Public License. + + // + // ISO C++ 14882: 22.2.1.5 - Template class codecvt + // + + // Written by Benjamin Kosnik + + #include + #include "c++locale_internal.h" + + namespace std + { + // Specializations. + #ifdef _GLIBCPP_USE_WCHAR_T + codecvt_base::result + codecvt:: + do_out(state_type& __state, const intern_type* __from, + const intern_type* __from_end, const intern_type*& __from_next, + extern_type* __to, extern_type* __to_end, + extern_type*& __to_next) const + { + result __ret = error; + size_t __len = min(__from_end - __from, __to_end - __to); + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __c_locale __old = __uselocale(_S_c_locale); + #endif + size_t __conv = wcsrtombs(__to, &__from, __len, &__state); + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __uselocale(__old); + #endif + + if (__conv == __len) + { + __from_next = __from; + __to_next = __to + __conv; + __ret = ok; + } + else if (__conv > 0 && __conv < __len) + { + __from_next = __from; + __to_next = __to + __conv; + __ret = partial; + } + else + __ret = error; + + return __ret; + } + + codecvt_base::result + codecvt:: + do_in(state_type& __state, const extern_type* __from, + const extern_type* __from_end, const extern_type*& __from_next, + intern_type* __to, intern_type* __to_end, + intern_type*& __to_next) const + { + result __ret = error; + size_t __len = min(__from_end - __from, __to_end - __to); + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __c_locale __old = __uselocale(_S_c_locale); + #endif + size_t __conv = mbsrtowcs(__to, &__from, __len, &__state); + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __uselocale(__old); + #endif + + if (__conv == __len) + { + __from_next = __from; + __to_next = __to + __conv; + __ret = ok; + } + else if (__conv > 0 && __conv < __len) + { + __from_next = __from; + __to_next = __to + __conv; + __ret = partial; + } + else + __ret = error; + + return __ret; + } + #endif + } diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/collate_members.cc gcc-3.2.1/libstdc++-v3/config/locale/gnu/collate_members.cc *** gcc-3.2/libstdc++-v3/config/locale/gnu/collate_members.cc Fri Apr 19 07:59:03 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/collate_members.cc Thu Sep 5 07:45:11 2002 *************** *** 1,6 **** // std::collate implementation details, GNU version -*- C++ -*- ! // Copyright (C) 2001 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,6 ---- // std::collate implementation details, GNU version -*- C++ -*- ! // Copyright (C) 2001, 2002 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 34,39 **** --- 34,40 ---- // Written by Benjamin Kosnik #include + #include "c++locale_internal.h" namespace std { diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/ctype_members.cc gcc-3.2.1/libstdc++-v3/config/locale/gnu/ctype_members.cc *** gcc-3.2/libstdc++-v3/config/locale/gnu/ctype_members.cc Fri May 24 16:15:25 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/ctype_members.cc Thu Oct 17 02:04:14 2002 *************** *** 34,39 **** --- 34,40 ---- // Written by Benjamin Kosnik #include + #include "c++locale_internal.h" namespace std { *************** namespace std *** 43,50 **** ctype_byname::ctype_byname(const char* __s, size_t __refs) : ctype(0, false, __refs) { ! if (_M_c_locale_ctype != _S_c_locale) ! _S_destroy_c_locale(_M_c_locale_ctype); _S_create_c_locale(_M_c_locale_ctype, __s); _M_toupper = _M_c_locale_ctype->__ctype_toupper; _M_tolower = _M_c_locale_ctype->__ctype_tolower; --- 44,50 ---- ctype_byname::ctype_byname(const char* __s, size_t __refs) : ctype(0, false, __refs) { ! _S_destroy_c_locale(_M_c_locale_ctype); _S_create_c_locale(_M_c_locale_ctype, __s); _M_toupper = _M_c_locale_ctype->__ctype_toupper; _M_tolower = _M_c_locale_ctype->__ctype_tolower; *************** namespace std *** 165,179 **** wchar_t ctype:: do_widen(char __c) const ! { return btowc(__c); } ! const char* ctype:: do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const { mbstate_t __state; memset(static_cast(&__state), 0, sizeof(mbstate_t)); mbsrtowcs(__dest, &__lo, __hi - __lo, &__state); return __hi; } --- 165,194 ---- wchar_t ctype:: do_widen(char __c) const ! { ! #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __c_locale __old = __uselocale(_M_c_locale_ctype); ! #endif ! wchar_t __ret = btowc(__c); ! #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __uselocale(__old); ! #endif ! return __ret; ! } ! const char* ctype:: do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const { + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __c_locale __old = __uselocale(_M_c_locale_ctype); + #endif mbstate_t __state; memset(static_cast(&__state), 0, sizeof(mbstate_t)); mbsrtowcs(__dest, &__lo, __hi - __lo, &__state); + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __uselocale(__old); + #endif return __hi; } *************** namespace std *** 181,187 **** --- 196,208 ---- ctype:: do_narrow(wchar_t __wc, char __dfault) const { + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __c_locale __old = __uselocale(_M_c_locale_ctype); + #endif int __c = wctob(__wc); + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __uselocale(__old); + #endif return (__c == EOF ? __dfault : static_cast(__c)); } *************** namespace std *** 190,195 **** --- 211,219 ---- do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault, char* __dest) const { + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __c_locale __old = __uselocale(_M_c_locale_ctype); + #endif size_t __offset = 0; while (true) { *************** namespace std *** 207,212 **** --- 231,239 ---- else break; } + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __uselocale(__old); + #endif return __hi; } #endif // _GLIBCPP_USE_WCHAR_T diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.cc gcc-3.2.1/libstdc++-v3/config/locale/gnu/messages_members.cc *** gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.cc Sat May 18 22:00:14 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/messages_members.cc Thu Sep 5 07:45:11 2002 *************** *** 34,39 **** --- 34,40 ---- // Written by Benjamin Kosnik #include + #include "c++locale_internal.h" namespace std { *************** namespace std *** 56,59 **** --- 57,81 ---- return string(__msg); #endif } + + #ifdef _GLIBCPP_USE_WCHAR_T + template<> + wstring + messages::do_get(catalog, int, int, const wstring& __dfault) const + { + # if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __c_locale __old = __uselocale(_M_c_locale_messages); + char* __msg = gettext(_M_convert_to_char(__dfault)); + __uselocale(__old); + return _M_convert_from_char(__msg); + # else + char* __old = strdup(setlocale(LC_ALL, NULL)); + setlocale(LC_ALL, _M_name_messages); + char* __msg = gettext(_M_convert_to_char(__dfault)); + setlocale(LC_ALL, __old); + free(__old); + return _M_convert_from_char(__msg); + # endif + } + #endif } diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.h gcc-3.2.1/libstdc++-v3/config/locale/gnu/messages_members.h *** gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.h Sat May 18 22:00:14 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/messages_members.h Thu Sep 5 07:45:11 2002 *************** *** 55,80 **** } template - typename messages<_CharT>::string_type - messages<_CharT>::do_get(catalog, int, int, - const string_type& __dfault) const - { - #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) - __c_locale __old = __uselocale(_M_c_locale_messages); - char* __msg = gettext(_M_convert_to_char(__dfault)); - __uselocale(__old); - return _M_convert_from_char(__msg); - #else - char* __old = strdup(setlocale(LC_ALL, NULL)); - setlocale(LC_ALL, _M_name_messages); - char* __msg = gettext(_M_convert_to_char(__dfault)); - setlocale(LC_ALL, __old); - free(__old); - return _M_convert_from_char(__msg); - #endif - } - - template void messages<_CharT>::do_close(catalog) const { } --- 55,60 ---- diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/monetary_members.cc gcc-3.2.1/libstdc++-v3/config/locale/gnu/monetary_members.cc *** gcc-3.2/libstdc++-v3/config/locale/gnu/monetary_members.cc Fri Jul 26 23:23:42 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/monetary_members.cc Thu Oct 17 02:04:14 2002 *************** *** 34,39 **** --- 34,40 ---- // Written by Benjamin Kosnik #include + #include "c++locale_internal.h" namespace std { *************** namespace std *** 219,225 **** moneypunct::_M_initialize_moneypunct(__c_locale __cloc, const char*) { ! if (__cloc == _S_c_locale) { // "C" locale _M_decimal_point = '.'; --- 220,226 ---- moneypunct::_M_initialize_moneypunct(__c_locale __cloc, const char*) { ! if (!__cloc) { // "C" locale _M_decimal_point = '.'; *************** namespace std *** 264,270 **** moneypunct::_M_initialize_moneypunct(__c_locale __cloc, const char*) { ! if (__cloc == _S_c_locale) { // "C" locale _M_decimal_point = '.'; --- 265,271 ---- moneypunct::_M_initialize_moneypunct(__c_locale __cloc, const char*) { ! if (!__cloc) { // "C" locale _M_decimal_point = '.'; *************** namespace std *** 318,324 **** moneypunct::_M_initialize_moneypunct(__c_locale __cloc, const char* __name) { ! if (__cloc == _S_c_locale) { // "C" locale _M_decimal_point = L'.'; --- 319,325 ---- moneypunct::_M_initialize_moneypunct(__c_locale __cloc, const char* __name) { ! if (!__cloc) { // "C" locale _M_decimal_point = L'.'; *************** namespace std *** 334,356 **** else { // Named locale. ! // XXX Fix me. Switch to named locale so that mbsrtowcs will work. char* __old = strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, __name); _M_decimal_point = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w); _M_thousands_sep = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w); _M_grouping = __nl_langinfo_l(GROUPING, __cloc); - mbstate_t __state; - size_t __len; const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc); const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc); const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc); ! // NB: Should swich to __cloc's ctype info first. ! __len = strlen(__cpossign); if (__len) { ++__len; --- 335,359 ---- else { // Named locale. ! #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __c_locale __old = __uselocale(__cloc); ! #else ! // Switch to named locale so that mbsrtowcs will work. char* __old = strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, __name); + #endif _M_decimal_point = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w); _M_thousands_sep = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w); _M_grouping = __nl_langinfo_l(GROUPING, __cloc); const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc); const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc); const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc); ! mbstate_t __state; ! size_t __len = strlen(__cpossign); if (__len) { ++__len; *************** namespace std *** 399,407 **** char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc)); _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn); ! // XXX setlocale(LC_ALL, __old); free(__old); } } --- 402,413 ---- char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc)); _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn); ! #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __uselocale(__old); ! #else setlocale(LC_ALL, __old); free(__old); + #endif } } *************** namespace std *** 410,416 **** moneypunct::_M_initialize_moneypunct(__c_locale __cloc, const char* __name) { ! if (__cloc == _S_c_locale) { // "C" locale _M_decimal_point = L'.'; --- 416,422 ---- moneypunct::_M_initialize_moneypunct(__c_locale __cloc, const char* __name) { ! if (!__cloc) { // "C" locale _M_decimal_point = L'.'; *************** namespace std *** 426,446 **** else { // Named locale. ! // XXX Fix me. Switch to named locale so that mbsrtowcs will work. char* __old = strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, __name); _M_decimal_point = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w); _M_thousands_sep = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w); _M_grouping = __nl_langinfo_l(GROUPING, __cloc); - mbstate_t __state; - size_t __len; const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc); const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc); const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc); ! // NB: Should swich to __cloc's ctype info first. __len = strlen(__cpossign); if (__len) { --- 432,455 ---- else { // Named locale. ! #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __c_locale __old = __uselocale(__cloc); ! #else ! // Switch to named locale so that mbsrtowcs will work. char* __old = strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, __name); + #endif _M_decimal_point = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w); _M_thousands_sep = static_cast(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w); _M_grouping = __nl_langinfo_l(GROUPING, __cloc); const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc); const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc); const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc); ! mbstate_t __state; ! size_t __len; __len = strlen(__cpossign); if (__len) { *************** namespace std *** 490,498 **** char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc)); _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn); ! // XXX setlocale(LC_ALL, __old); free(__old); } } --- 499,510 ---- char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc)); _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn); ! #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __uselocale(__old); ! #else setlocale(LC_ALL, __old); free(__old); + #endif } } diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/numeric_members.cc gcc-3.2.1/libstdc++-v3/config/locale/gnu/numeric_members.cc *** gcc-3.2/libstdc++-v3/config/locale/gnu/numeric_members.cc Fri Apr 19 07:59:03 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/numeric_members.cc Thu Oct 17 02:04:14 2002 *************** *** 34,39 **** --- 34,40 ---- // Written by Benjamin Kosnik #include + #include "c++locale_internal.h" namespace std { *************** namespace std *** 41,47 **** void numpunct::_M_initialize_numpunct(__c_locale __cloc) { ! if (__cloc == _S_c_locale) { // "C" locale _M_decimal_point = '.'; --- 42,48 ---- void numpunct::_M_initialize_numpunct(__c_locale __cloc) { ! if (!__cloc) { // "C" locale _M_decimal_point = '.'; *************** namespace std *** 75,81 **** void numpunct::_M_initialize_numpunct(__c_locale __cloc) { ! if (__cloc == _S_c_locale) { // "C" locale _M_decimal_point = L'.'; --- 76,82 ---- void numpunct::_M_initialize_numpunct(__c_locale __cloc) { ! if (!__cloc) { // "C" locale _M_decimal_point = L'.'; diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/gnu/time_members.cc gcc-3.2.1/libstdc++-v3/config/locale/gnu/time_members.cc *** gcc-3.2/libstdc++-v3/config/locale/gnu/time_members.cc Sat May 18 22:00:14 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/gnu/time_members.cc Thu Oct 17 02:04:14 2002 *************** *** 35,58 **** // Written by Benjamin Kosnik #include namespace std { template<> - __timepunct::~__timepunct() - { - if (_M_c_locale_timepunct != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_timepunct); - } - - template<> void __timepunct:: _M_put(char* __s, size_t __maxlen, const char* __format, const tm* __tm) const { #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __strftime_l(__s, __maxlen, _M_c_locale_timepunct, __format, __tm); #else char* __old = strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, _M_name_timepunct); --- 35,52 ---- // Written by Benjamin Kosnik #include + #include "c++locale_internal.h" namespace std { template<> void __timepunct:: _M_put(char* __s, size_t __maxlen, const char* __format, const tm* __tm) const { #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __strftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct); #else char* __old = strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, _M_name_timepunct); *************** namespace std *** 66,74 **** void __timepunct::_M_initialize_timepunct(__c_locale __cloc) { ! if (__cloc == _S_c_locale) { // "C" locale _M_date_format = "%m/%d/%y"; _M_date_era_format = "%m/%d/%y"; _M_time_format = "%H:%M:%S"; --- 60,70 ---- void __timepunct::_M_initialize_timepunct(__c_locale __cloc) { ! if (!__cloc) { // "C" locale + _M_c_locale_timepunct = _S_c_locale; + _M_date_format = "%m/%d/%y"; _M_date_era_format = "%m/%d/%y"; _M_time_format = "%H:%M:%S"; *************** namespace std *** 189,208 **** #ifdef _GLIBCPP_USE_WCHAR_T template<> - __timepunct::~__timepunct() - { - if (_M_c_locale_timepunct != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_timepunct); - } - - template<> void __timepunct:: _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format, const tm* __tm) const { #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __wcsftime_l(__s, __maxlen, _M_c_locale_timepunct, __format, __tm); #else char* __old = strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, _M_name_timepunct); --- 185,197 ---- #ifdef _GLIBCPP_USE_WCHAR_T template<> void __timepunct:: _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format, const tm* __tm) const { #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct); #else char* __old = strdup(setlocale(LC_ALL, NULL)); setlocale(LC_ALL, _M_name_timepunct); *************** namespace std *** 216,224 **** void __timepunct::_M_initialize_timepunct(__c_locale __cloc) { ! if (__cloc == _S_c_locale) { // "C" locale _M_date_format = L"%m/%d/%y"; _M_date_era_format = L"%m/%d/%y"; _M_time_format = L"%H:%M:%S"; --- 205,215 ---- void __timepunct::_M_initialize_timepunct(__c_locale __cloc) { ! if (!__cloc) { // "C" locale + _M_c_locale_timepunct = _S_c_locale; + _M_date_format = L"%m/%d/%y"; _M_date_era_format = L"%m/%d/%y"; _M_time_format = L"%H:%M:%S"; diff -Nrc3pad gcc-3.2/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc gcc-3.2.1/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc *** gcc-3.2/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc Mon Mar 11 21:12:57 2002 --- gcc-3.2.1/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc Sat Sep 7 19:02:21 2002 *************** namespace std *** 46,49 **** --- 46,61 ---- nl_catd __nlc = reinterpret_cast(__c); return string(catgets(__nlc, __setid, __msgid, __dfault.c_str())); } + + #ifdef _GLIBCPP_USE_WCHAR_T + template<> + wstring + messages::do_get(catalog, int, int, const wstring& __dfault) const + { + nl_catd __nlc = reinterpret_cast(__c); + char* __msg = catgets(__nlc, __setid, __msgid, + _M_convert_to_char(__dfault)); + return _M_convert_from_char(__msg); + } + #endif } diff -Nrc3pad gcc-3.2/libstdc++-v3/config/os/gnu-linux/bits/ctype_base.h gcc-3.2.1/libstdc++-v3/config/os/gnu-linux/bits/ctype_base.h *** gcc-3.2/libstdc++-v3/config/os/gnu-linux/bits/ctype_base.h Wed Jan 16 19:57:27 2002 --- gcc-3.2.1/libstdc++-v3/config/os/gnu-linux/bits/ctype_base.h Mon Sep 9 20:58:40 2002 *************** *** 1,6 **** // Locale support -*- C++ -*- ! // Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,6 ---- // Locale support -*- C++ -*- ! // Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 33,52 **** // Information as gleaned from /usr/include/ctype.h - #if _GLIBCPP_USE_SHADOW_HEADERS - using _C_legacy::_ISspace; - using _C_legacy::_ISprint; - using _C_legacy::_IScntrl; - using _C_legacy::_ISupper; - using _C_legacy::_ISlower; - using _C_legacy::_ISalpha; - using _C_legacy::_ISdigit; - using _C_legacy::_ISpunct; - using _C_legacy::_ISxdigit; - using _C_legacy::_ISalnum; - using _C_legacy::_ISgraph; - #endif - struct ctype_base { // Non-standard typedefs. --- 33,38 ---- diff -Nrc3pad gcc-3.2/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h gcc-3.2.1/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h *** gcc-3.2/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h Fri Apr 19 07:59:07 2002 --- gcc-3.2.1/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h Thu Oct 17 02:04:15 2002 *************** *** 34,49 **** // Information as gleaned from /usr/include/ctype.h ! #if _GLIBCPP_USE_SHADOW_HEADERS ! using _C_legacy::__ctype_toupper; ! using _C_legacy::__ctype_tolower; ! using _C_legacy::__ctype_b; ! #endif ! const ctype_base::mask* ctype::classic_table() throw() ! { return __ctype_b; } ! #if _GLIBCPP_C_LOCALE_GNU ctype::ctype(__c_locale __cloc, const mask* __table, bool __del, size_t __refs) --- 34,64 ---- // Information as gleaned from /usr/include/ctype.h ! #if _GLIBCPP_C_LOCALE_GNU const ctype_base::mask* ctype::classic_table() throw() ! { ! locale::classic(); ! return _S_c_locale->__ctype_b; ! } ! #else ! const ctype_base::mask* ! ctype::classic_table() throw() ! { ! const ctype_base::mask* __ret; ! char* __old = strdup(setlocale(LC_CTYPE, NULL)); ! setlocale(LC_CTYPE, "C"); ! #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! __ret = *__ctype_b_loc(); ! #else ! __ret = __ctype_b; ! #endif ! setlocale(LC_CTYPE, __old); ! free(__old); ! return __ret; ! } ! #endif ! #if _GLIBCPP_C_LOCALE_GNU ctype::ctype(__c_locale __cloc, const mask* __table, bool __del, size_t __refs) *************** *** 57,73 **** #else ctype::ctype(__c_locale, const mask* __table, bool __del, size_t __refs) ! : __ctype_abstract_base(__refs), _M_del(__table != 0 && __del), ! _M_toupper(__ctype_toupper), _M_tolower(__ctype_tolower), ! _M_table(__table ? __table : classic_table()) ! { _M_c_locale_ctype = _S_c_locale; } #endif ctype::ctype(const mask* __table, bool __del, size_t __refs) : ! __ctype_abstract_base(__refs), _M_del(__table != 0 && __del), ! _M_toupper(__ctype_toupper), _M_tolower(__ctype_tolower), ! _M_table(__table ? __table : classic_table()) ! { _M_c_locale_ctype = _S_c_locale; } char ctype::do_toupper(char __c) const --- 72,125 ---- #else ctype::ctype(__c_locale, const mask* __table, bool __del, size_t __refs) ! : __ctype_abstract_base(__refs), _M_del(__table != 0 && __del) ! { ! char* __old=strdup(setlocale(LC_CTYPE, NULL)); ! setlocale(LC_CTYPE, "C"); ! #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! _M_toupper = *__ctype_toupper_loc(); ! _M_tolower = *__ctype_tolower_loc(); ! _M_table = __table ? __table : *__ctype_b_loc(); ! #else ! _M_toupper = __ctype_toupper; ! _M_tolower = __ctype_tolower; ! _M_table = __table ? __table : __ctype_b; ! #endif ! setlocale(LC_CTYPE, __old); ! free(__old); ! _M_c_locale_ctype = _S_c_locale; ! } #endif + #if _GLIBCPP_C_LOCALE_GNU ctype::ctype(const mask* __table, bool __del, size_t __refs) : ! __ctype_abstract_base(__refs), _M_del(__table != 0 && __del) ! { ! _M_c_locale_ctype = _S_c_locale; ! _M_toupper = _M_c_locale_ctype->__ctype_toupper; ! _M_tolower = _M_c_locale_ctype->__ctype_tolower; ! _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b; ! } ! #else ! ctype::ctype(const mask* __table, bool __del, size_t __refs) : ! __ctype_abstract_base(__refs), _M_del(__table != 0 && __del) ! { ! char* __old=strdup(setlocale(LC_CTYPE, NULL)); ! setlocale(LC_CTYPE, "C"); ! #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) ! _M_toupper = *__ctype_toupper_loc(); ! _M_tolower = *__ctype_tolower_loc(); ! _M_table = __table ? __table : *__ctype_b_loc(); ! #else ! _M_toupper = __ctype_toupper; ! _M_tolower = __ctype_tolower; ! _M_table = __table ? __table : __ctype_b; ! #endif ! setlocale(LC_CTYPE, __old); ! free(__old); ! _M_c_locale_ctype = _S_c_locale; ! } ! #endif char ctype::do_toupper(char __c) const diff -Nrc3pad gcc-3.2/libstdc++-v3/config/os/newlib/bits/ctype_inline.h gcc-3.2.1/libstdc++-v3/config/os/newlib/bits/ctype_inline.h *** gcc-3.2/libstdc++-v3/config/os/newlib/bits/ctype_inline.h Tue Dec 19 19:48:59 2000 --- gcc-3.2.1/libstdc++-v3/config/os/newlib/bits/ctype_inline.h Thu Aug 15 22:25:09 2002 *************** *** 1,6 **** // Locale support -*- C++ -*- ! // Copyright (C) 2000 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,6 ---- // Locale support -*- C++ -*- ! // Copyright (C) 2000, 2002 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 37,50 **** bool ctype:: is(mask __m, char __c) const ! { return (_M_table + 1)[(unsigned char)(__c)] & __m; } const char* ctype:: is(const char* __low, const char* __high, mask* __vec) const { while (__low < __high) ! *__vec++ = (_M_table + 1)[(unsigned char) (*__low++)]; return __high; } --- 37,50 ---- bool ctype:: is(mask __m, char __c) const ! { return _M_table[static_cast(__c)] & __m; } const char* ctype:: is(const char* __low, const char* __high, mask* __vec) const { while (__low < __high) ! *__vec++ = _M_table[static_cast(*__low++)]; return __high; } *************** *** 52,58 **** ctype:: scan_is(mask __m, const char* __low, const char* __high) const { ! while (__low < __high && !((_M_table + 1)[(unsigned char)(*__low)] & __m)) ++__low; return __low; } --- 52,58 ---- ctype:: scan_is(mask __m, const char* __low, const char* __high) const { ! while (__low < __high && !this->is(__m, *__low)) ++__low; return __low; } *************** *** 61,73 **** ctype:: scan_not(mask __m, const char* __low, const char* __high) const { ! while (__low < __high ! && ((_M_table + 1)[(unsigned char)(*__low)] & __m) != 0) ++__low; return __low; } - - - - - --- 61,67 ---- ctype:: scan_not(mask __m, const char* __low, const char* __high) const { ! while (__low < __high && this->is(__m, *__low) != 0) ++__low; return __low; } diff -Nrc3pad gcc-3.2/libstdc++-v3/config/os/newlib/bits/ctype_noninline.h gcc-3.2.1/libstdc++-v3/config/os/newlib/bits/ctype_noninline.h *** gcc-3.2/libstdc++-v3/config/os/newlib/bits/ctype_noninline.h Mon Mar 25 23:39:17 2002 --- gcc-3.2.1/libstdc++-v3/config/os/newlib/bits/ctype_noninline.h Thu Aug 15 22:25:09 2002 *************** *** 35,41 **** const ctype_base::mask* ctype::classic_table() throw() ! { return _ctype_; } ctype::ctype(__c_locale, const mask* __table, bool __del, size_t __refs) --- 35,41 ---- const ctype_base::mask* ctype::classic_table() throw() ! { return _ctype_ + 1; } ctype::ctype(__c_locale, const mask* __table, bool __del, size_t __refs) diff -Nrc3pad gcc-3.2/libstdc++-v3/config.h.in gcc-3.2.1/libstdc++-v3/config.h.in *** gcc-3.2/libstdc++-v3/config.h.in Mon May 27 15:01:29 2002 --- gcc-3.2.1/libstdc++-v3/config.h.in Thu Oct 17 02:03:18 2002 *************** *** 24,29 **** --- 24,43 ---- // Define to use concept checking code from the boost libraries. #undef _GLIBCPP_CONCEPT_CHECKS + // Define to use symbol versioning in the shared library. + #undef _GLIBCPP_SYMVER + + // Define symbol versioning in assember directives. If symbol + // versioning is beigng used, and the assembler supports this kind of + // thing, then use it. + // NB: _GLIBCPP_AT_AT is a hack to work around quoting issues in m4. + #if _GLIBCPP_SYMVER + #define _GLIBCPP_ASM_SYMVER(cur, old, version) \ + asm (".symver " #cur "," #old _GLIBCPP_AT_AT #version); + #else + #define _GLIBCPP_ASM_SYMVER(cur, old, version) + #endif + // Define if mbstate_t exists in wchar.h. #undef HAVE_MBSTATE_T diff -Nrc3pad gcc-3.2/libstdc++-v3/configure gcc-3.2.1/libstdc++-v3/configure *** gcc-3.2/libstdc++-v3/configure Fri Jul 26 23:23:04 2002 --- gcc-3.2.1/libstdc++-v3/configure Mon Oct 21 19:34:40 2002 *************** program_suffix=NONE *** 85,91 **** program_transform_name=s,x,x, silent= site= - sitefile= srcdir= target=NONE verbose= --- 85,90 ---- *************** Configuration: *** 200,206 **** --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 --- 199,204 ---- *************** EOF *** 371,381 **** -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=*) --- 369,374 ---- *************** fi *** 541,556 **** 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 --- 534,545 ---- 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 *************** ORIGINAL_LD_FOR_MULTILIBS=$LD *** 599,605 **** PACKAGE=libstdc++ # For libtool versioning info, format is CURRENT:REVISION:AGE ! libtool_VERSION=5:0:0 --- 588,594 ---- PACKAGE=libstdc++ # For libtool versioning info, format is CURRENT:REVISION:AGE ! libtool_VERSION=5:1:0 *************** else { echo "configure: error: can not r *** 688,694 **** fi echo $ac_n "checking host system type""... $ac_c" 1>&6 ! echo "configure:692: checking host system type" >&5 host_alias=$host case "$host_alias" in --- 677,683 ---- fi echo $ac_n "checking host system type""... $ac_c" 1>&6 ! echo "configure:681: checking host system type" >&5 host_alias=$host case "$host_alias" in *************** host_os=`echo $host | sed 's/^\([^-]*\)- *** 709,715 **** echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 ! echo "configure:713: checking target system type" >&5 target_alias=$target case "$target_alias" in --- 698,704 ---- echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 ! echo "configure:702: checking target system type" >&5 target_alias=$target case "$target_alias" in *************** target_os=`echo $target | sed 's/^\([^-] *** 727,733 **** echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:731: checking build system type" >&5 build_alias=$build case "$build_alias" in --- 716,722 ---- echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:720: checking build system type" >&5 build_alias=$build case "$build_alias" in *************** else *** 762,773 **** fi echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 ! echo "configure:766: 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:755: 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 --- 767,773 ---- return __CYGWIN__; ; return 0; } EOF ! if { (eval echo configure:771: \"$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 *** 795,813 **** CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 ! echo "configure:799: 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 --- 784,802 ---- CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 ! echo "configure:788: 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 *************** do *** 846,852 **** # 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:850: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 835,841 ---- # 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:839: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** done *** 880,886 **** # force a particular method. #ac_cv_prog_LN_S='cp -p' echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:884: 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 --- 869,875 ---- # force a particular method. #ac_cv_prog_LN_S='cp -p' echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:873: 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 *** 937,943 **** # 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:941: 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 --- 926,932 ---- # 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:930: 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 *** 967,973 **** # 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:971: 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 --- 956,962 ---- # 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:960: 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 *** 1016,1022 **** fi echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:1020: 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 --- 1005,1011 ---- fi echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:1009: 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 *** 1025,1031 **** yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1029: \"$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 --- 1014,1020 ---- yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1018: \"$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 *************** echo "$ac_t""$ac_cv_prog_gcc" 1>&6 *** 1040,1046 **** ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:1044: 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 --- 1029,1035 ---- ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:1033: 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 *** 1083,1089 **** # 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:1087: 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 --- 1072,1078 ---- # 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:1076: 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 *************** test -n "$glibcpp_CXX" || glibcpp_CXX="g *** 1118,1124 **** 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:1122: 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 --- 1107,1113 ---- 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:1111: 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 *** 1127,1133 **** yes; #endif EOF ! if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1131: \"$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 --- 1116,1122 ---- yes; #endif EOF ! if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1120: \"$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 *************** echo "$ac_t""$ac_cv_prog_gxx" 1>&6 *** 1142,1148 **** ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 ! echo "configure:1146: 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 --- 1131,1137 ---- ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 ! echo "configure:1135: 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 *************** echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6 *** 1172,1208 **** # For directory versioning (e.g., headers) and other variables. echo $ac_n "checking for GCC version number""... $ac_c" 1>&6 ! echo "configure:1176: checking for GCC version number" >&5 gcc_version=`$glibcpp_CXX -dumpversion` echo "$ac_t""$gcc_version" 1>&6 # For some reason, gettext needs this. ! echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 ! echo "configure:1182: checking for POSIXized ISC" >&5 ! if test -d /etc/conf/kconfig.d && ! grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 ! then ! echo "$ac_t""yes" 1>&6 ! ISC=yes # If later tests want to check for ISC. ! cat >> confdefs.h <<\EOF ! #define _POSIX_SOURCE 1 EOF ! if test "$GCC" = yes; then ! CC="$CC -posix" ! else ! CC="$CC -Xp" ! fi else echo "$ac_t""no" 1>&6 - ISC= fi # 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:1206: 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 --- 1161,1219 ---- # For directory versioning (e.g., headers) and other variables. echo $ac_n "checking for GCC version number""... $ac_c" 1>&6 ! echo "configure:1165: checking for GCC version number" >&5 gcc_version=`$glibcpp_CXX -dumpversion` echo "$ac_t""$gcc_version" 1>&6 # For some reason, gettext needs this. ! ! echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 ! echo "configure:1172: checking for strerror in -lcposix" >&5 ! ac_lib_var=`echo cposix'_'strerror | 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 ! ac_save_LIBS="$LIBS" ! LIBS="-lcposix $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 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" + fi + rm -f conftest* + LIBS="$ac_save_LIBS" ! fi ! if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then ! echo "$ac_t""yes" 1>&6 ! LIBS="$LIBS -lcposix" else echo "$ac_t""no" 1>&6 fi + + # 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:1217: 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 *** 1234,1240 **** # 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:1238: 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 --- 1245,1251 ---- # 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:1249: 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 *** 1266,1272 **** # 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:1270: 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 --- 1277,1283 ---- # 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:1281: 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 *** 1298,1304 **** # 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:1302: 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 --- 1309,1315 ---- # 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:1313: 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 *** 1342,1348 **** # 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:1346: 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 --- 1353,1359 ---- # 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:1357: 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= *** 1396,1402 **** echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:1400: 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" --- 1407,1413 ---- echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:1411: 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 *** 1434,1440 **** echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 ! echo "configure:1438: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1445,1451 ---- echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 ! echo "configure:1449: 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 *** 1444,1453 **** rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= ! if { (eval echo configure:1448: \"$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 --- 1455,1464 ---- rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= ! if { (eval echo configure:1459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in ! *.$ac_ext | *.c | *.o | *.obj) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done *************** ac_exeext=$EXEEXT *** 1481,1487 **** echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 ! echo "configure:1485: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile --- 1492,1498 ---- echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 ! echo "configure:1496: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile *************** test "$program_suffix" != NONE && *** 1538,1544 **** 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:1542: 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 --- 1549,1555 ---- 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:1553: 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 *************** EOF *** 1584,1590 **** missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 ! echo "configure:1588: 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. --- 1595,1601 ---- missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 ! echo "configure:1599: 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 *** 1597,1603 **** fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 ! echo "configure:1601: 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. --- 1608,1614 ---- fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 ! echo "configure:1612: 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 *** 1610,1616 **** fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 ! echo "configure:1614: 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. --- 1621,1627 ---- fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 ! echo "configure:1625: 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 *** 1623,1629 **** fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 ! echo "configure:1627: 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. --- 1634,1640 ---- fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 ! echo "configure:1638: 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 *** 1636,1642 **** fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 ! echo "configure:1640: 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. --- 1647,1653 ---- fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 ! echo "configure:1651: 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. *************** ac_prog=ld *** 1735,1741 **** 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:1739: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw --- 1746,1752 ---- 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:1750: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw *************** echo "configure:1739: checking for ld us *** 1765,1774 **** esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 ! echo "configure:1769: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 ! echo "configure:1772: 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 --- 1776,1785 ---- esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 ! echo "configure:1780: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 ! echo "configure:1783: 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 *** 1803,1809 **** 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:1807: 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 --- 1814,1820 ---- 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:1818: 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 *** 1820,1826 **** echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 ! echo "configure:1824: 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 --- 1831,1837 ---- echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 ! echo "configure:1835: 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 *** 1832,1838 **** test -n "$reload_flag" && reload_flag=" $reload_flag" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 ! echo "configure:1836: 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 --- 1843,1849 ---- test -n "$reload_flag" && reload_flag=" $reload_flag" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 ! echo "configure:1847: 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" *** 1870,1876 **** echo "$ac_t""$NM" 1>&6 echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 ! echo "configure:1874: 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 --- 1881,1887 ---- echo "$ac_t""$NM" 1>&6 echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 ! echo "configure:1885: 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 *** 2034,2046 **** deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 ! echo "configure:2038: 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:2044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; --- 2045,2057 ---- deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 ! echo "configure:2049: 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:2055: \"$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 *** 2064,2070 **** 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:2068: 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 --- 2075,2081 ---- 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:2079: 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 *** 2126,2132 **** 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:2130: 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 --- 2137,2143 ---- 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:2141: 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 *** 2197,2203 **** # 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:2201: 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 --- 2208,2214 ---- # 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:2212: 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 *** 2229,2235 **** # 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:2233: 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 --- 2240,2246 ---- # 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:2244: 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 *** 2264,2270 **** # 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:2268: 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 --- 2275,2281 ---- # 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:2279: 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 *** 2296,2302 **** # 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:2300: 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 --- 2307,2313 ---- # 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:2311: 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 *** 2363,2370 **** case $host in *-*-irix6*) # Find out which ABI we are using. ! echo '#line 2367 "configure"' > conftest.$ac_ext ! if { (eval echo configure:2368: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" --- 2374,2381 ---- case $host in *-*-irix6*) # Find out which ABI we are using. ! echo '#line 2378 "configure"' > conftest.$ac_ext ! if { (eval echo configure:2379: \"$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 *** 2385,2391 **** SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 ! echo "configure:2389: 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 --- 2396,2402 ---- SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 ! echo "configure:2400: 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 *** 2398,2411 **** 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 --- 2409,2422 ---- 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 *** 2435,2441 **** esac echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 ! echo "configure:2439: 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 --- 2446,2452 ---- esac echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 ! echo "configure:2450: 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 *** 2448,2459 **** 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:2457: \"$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 : --- 2459,2470 ---- 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:2468: \"$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 *** 2591,2597 **** # Check for c++ or library specific bits that don't require linking. #GLIBCPP_CHECK_COMPILER_VERSION echo $ac_n "checking for GNU make""... $ac_c" 1>&6 ! echo "configure:2595: 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 --- 2602,2608 ---- # Check for c++ or library specific bits that don't require linking. #GLIBCPP_CHECK_COMPILER_VERSION echo $ac_n "checking for GNU make""... $ac_c" 1>&6 ! echo "configure:2606: 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 *************** 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" *************** fi *** 2918,2924 **** case x${target_os} in xlinux* | xgnu*) cat > conftest.$ac_ext < --- 2929,2935 ---- case x${target_os} in xlinux* | xgnu*) cat > conftest.$ac_ext < *************** rm -f conftest* *** 2944,2954 **** enable_clocale_flag=generic else cat > conftest.$ac_ext < int main() { const char __one[] = "Äuglein Augmen"; --- 2955,2971 ---- enable_clocale_flag=generic else cat > conftest.$ac_ext < + #include + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + extern __typeof(newlocale) __newlocale; + extern __typeof(duplocale) __duplocale; + extern __typeof(strcoll_l) __strcoll_l; + #endif int main() { const char __one[] = "Äuglein Augmen"; *************** else *** 2965,2971 **** } EOF ! if { (eval echo configure:2969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then enable_clocale_flag=gnu else --- 2982,2988 ---- } EOF ! if { (eval echo configure:2986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then enable_clocale_flag=gnu else *************** fi *** 3004,3009 **** --- 3021,3027 ---- CLOCALE_H=config/locale/generic/c_locale.h CLOCALE_CC=config/locale/generic/c_locale.cc CCODECVT_H=config/locale/generic/codecvt_specializations.h + CCODECVT_CC=config/locale/generic/codecvt_members.cc CCOLLATE_CC=config/locale/generic/collate_members.cc CCTYPE_CC=config/locale/generic/ctype_members.cc CMESSAGES_H=config/locale/generic/messages_members.h *************** fi *** 3011,3016 **** --- 3029,3035 ---- CMONEY_CC=config/locale/generic/monetary_members.cc CNUMERIC_CC=config/locale/generic/numeric_members.cc CTIME_CC=config/locale/generic/time_members.cc + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h ;; xgnu) echo "$ac_t""gnu" 1>&6 *************** fi *** 3024,3030 **** # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3028: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_check_msgfmt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 3043,3049 ---- # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3047: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_check_msgfmt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 3065,3070 **** --- 3084,3090 ---- CLOCALE_H=config/locale/gnu/c_locale.h CLOCALE_CC=config/locale/gnu/c_locale.cc CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h + CCODECVT_CC=config/locale/gnu/codecvt_members.cc CCOLLATE_CC=config/locale/gnu/collate_members.cc CCTYPE_CC=config/locale/gnu/ctype_members.cc CMESSAGES_H=config/locale/gnu/messages_members.h *************** fi *** 3072,3077 **** --- 3092,3098 ---- CMONEY_CC=config/locale/gnu/monetary_members.cc CNUMERIC_CC=config/locale/gnu/numeric_members.cc CTIME_CC=config/locale/gnu/time_members.cc + CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h ;; xieee_1003.1-2001) echo "$ac_t""generic" 1>&6 *************** fi *** 3079,3084 **** --- 3100,3106 ---- CLOCALE_H=config/locale/ieee_1003.1-2001/c_locale.h CLOCALE_CC=config/locale/ieee_1003.1-2001/c_locale.cc CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h + CCODECVT_CC=config/locale/generic/codecvt_members.cc CCOLLATE_CC=config/locale/generic/collate_members.cc CCTYPE_CC=config/locale/generic/ctype_members.cc CMESSAGES_H=config/locale/ieee_1003.1-2001/messages_members.h *************** fi *** 3086,3091 **** --- 3108,3114 ---- CMONEY_CC=config/locale/generic/monetary_members.cc CNUMERIC_CC=config/locale/generic/numeric_members.cc CTIME_CC=config/locale/generic/time_members.cc + CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h ;; *) echo "$enable_clocale is an unknown locale package" 1>&2 *************** fi *** 3098,3109 **** --- 3121,3138 ---- glibcpp_localedir=${glibcpp_builddir}/po/share/locale + # For the time being, transform ctype_noninline.h to ctype_members_char.cc + # CCTYPE_CHAR_CC=config/${os_include_dir}/ctype_noninline.h + + + # AC_LINK_FILES($CCTYPE_CHAR_CC, src/ctype_members_char.cc) + *************** cross_compiling=$ac_cv_prog_cxx_cross *** 3147,3162 **** # 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:3151: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { fpclassify(0.0); ; return 0; } EOF ! if { (eval echo configure:3160: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3176,3191 ---- # 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:3180: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { fpclassify(0.0); ; return 0; } EOF ! if { (eval echo configure:3189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3166,3179 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isfinite(0.0); ; return 0; } EOF ! if { (eval echo configure:3177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3195,3208 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isfinite(0.0); ; return 0; } EOF ! if { (eval echo configure:3206: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3183,3196 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isinf(0.0); ; 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 --- 3212,3225 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isinf(0.0); ; return 0; } EOF ! if { (eval echo configure:3223: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3200,3213 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isnan(0.0); ; return 0; } EOF ! if { (eval echo configure:3211: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3229,3242 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isnan(0.0); ; return 0; } EOF ! if { (eval echo configure:3240: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3217,3230 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isnormal(0.0); ; return 0; } EOF ! if { (eval echo configure:3228: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3246,3259 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isnormal(0.0); ; 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 *************** else *** 3234,3247 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { signbit(0.0); ; return 0; } EOF ! if { (eval echo configure:3245: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3263,3276 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { signbit(0.0); ; return 0; } EOF ! if { (eval echo configure:3274: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3251,3264 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isgreater(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3262: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3280,3293 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isgreater(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3291: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3268,3281 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isgreaterequal(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3279: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3297,3310 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isgreaterequal(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3308: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3285,3298 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isless(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3296: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3314,3327 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isless(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3325: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3302,3315 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { islessequal(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3331,3344 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { islessequal(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3342: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3319,3332 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { islessgreater(0.0,0.0); ; 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 --- 3348,3361 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { islessgreater(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3336,3349 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { isunordered(0.0,0.0); ; 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 --- 3365,3378 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { isunordered(0.0,0.0); ; return 0; } EOF ! if { (eval echo configure:3376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** rm -f conftest* *** 3357,3372 **** # 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:3361: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { snprintf("12", 0, "%i"); ; return 0; } EOF ! if { (eval echo configure:3370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3386,3401 ---- # 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:3390: checking for ISO C99 support in " >&5 cat > conftest.$ac_ext < int main() { snprintf("12", 0, "%i"); ; return 0; } EOF ! if { (eval echo configure:3399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3376,3382 **** fi rm -f conftest* cat > conftest.$ac_ext < #include --- 3405,3411 ---- fi rm -f conftest* cat > conftest.$ac_ext < #include *************** int main() { *** 3387,3393 **** ; return 0; } EOF ! if { (eval echo configure:3391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3416,3422 ---- ; return 0; } EOF ! if { (eval echo configure:3420: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3397,3403 **** fi rm -f conftest* cat > conftest.$ac_ext < #include --- 3426,3432 ---- fi rm -f conftest* cat > conftest.$ac_ext < #include *************** int main() { *** 3408,3414 **** ; return 0; } EOF ! if { (eval echo configure:3412: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3437,3443 ---- ; return 0; } EOF ! if { (eval echo configure:3441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3418,3424 **** fi rm -f conftest* cat > conftest.$ac_ext < #include --- 3447,3453 ---- fi rm -f conftest* cat > conftest.$ac_ext < #include *************** int main() { *** 3429,3435 **** ; return 0; } EOF ! if { (eval echo configure:3433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3458,3464 ---- ; return 0; } EOF ! if { (eval echo configure:3462: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3439,3445 **** fi rm -f conftest* cat > conftest.$ac_ext < #include --- 3468,3474 ---- fi rm -f conftest* cat > conftest.$ac_ext < #include *************** int main() { *** 3450,3456 **** ; return 0; } EOF ! if { (eval echo configure:3454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3479,3485 ---- ; return 0; } EOF ! if { (eval echo configure:3483: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** rm -f conftest* *** 3464,3483 **** # 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:3468: 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:3481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_c99_lldiv_t=yes else --- 3493,3512 ---- # 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:3497: 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:3510: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_c99_lldiv_t=yes else *************** fi *** 3493,3508 **** echo "$ac_t""$ac_c99_lldiv_t" 1>&6 echo $ac_n "checking for ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:3497: 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:3506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3522,3537 ---- echo "$ac_t""$ac_c99_lldiv_t" 1>&6 echo $ac_n "checking for ISO C99 support in ""... $ac_c" 1>&6 ! echo "configure:3526: 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:3535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3512,3525 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { char* tmp; strtold("gnu", &tmp); ; return 0; } EOF ! if { (eval echo configure:3523: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3541,3554 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { char* tmp; strtold("gnu", &tmp); ; return 0; } EOF ! if { (eval echo configure:3552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3529,3542 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { llabs(10); ; return 0; } EOF ! if { (eval echo configure:3540: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3558,3571 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { llabs(10); ; return 0; } EOF ! if { (eval echo configure:3569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3546,3559 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { lldiv(10,1); ; return 0; } EOF ! if { (eval echo configure:3557: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3575,3588 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { lldiv(10,1); ; return 0; } EOF ! if { (eval echo configure:3586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3563,3576 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { atoll("10"); ; return 0; } EOF ! if { (eval echo configure:3574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3592,3605 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { atoll("10"); ; return 0; } EOF ! if { (eval echo configure:3603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3580,3593 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { _Exit(0); ; return 0; } EOF ! if { (eval echo configure:3591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3609,3622 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { _Exit(0); ; return 0; } EOF ! if { (eval echo configure:3620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** rm -f conftest* *** 3605,3620 **** # 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:3609: 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:3618: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3634,3649 ---- # 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:3638: 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:3647: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3624,3637 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { wcstoll(L"10", NULL, 10); ; return 0; } EOF ! if { (eval echo configure:3635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3653,3666 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { wcstoll(L"10", NULL, 10); ; return 0; } EOF ! if { (eval echo configure:3664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3641,3654 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { wcstoull(L"10", NULL, 10); ; return 0; } EOF ! if { (eval echo configure:3652: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3670,3683 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { wcstoull(L"10", NULL, 10); ; return 0; } EOF ! if { (eval echo configure:3681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** rm -f conftest* *** 3660,3666 **** echo "$ac_t""$ac_c99_wchar" 1>&6 echo $ac_n "checking for enabled ISO C99 support""... $ac_c" 1>&6 ! echo "configure:3664: 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" || --- 3689,3695 ---- echo "$ac_t""$ac_c99_wchar" 1>&6 echo $ac_n "checking for enabled ISO C99 support""... $ac_c" 1>&6 ! echo "configure:3693: 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" || *************** cross_compiling=$ac_cv_prog_cxx_cross *** 3708,3724 **** echo $ac_n "checking for enabled long long I/O support""... $ac_c" 1>&6 ! echo "configure:3712: 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:3722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3737,3753 ---- echo $ac_n "checking for enabled long long I/O support""... $ac_c" 1>&6 ! echo "configure:3741: 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:3751: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** else *** 3728,3741 **** fi rm -f conftest* cat > conftest.$ac_ext < int main() { char* tmp; strtoull("gnu", &tmp, 10); ; return 0; } EOF ! if { (eval echo configure:3739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3757,3770 ---- fi rm -f conftest* cat > conftest.$ac_ext < int main() { char* tmp; strtoull("gnu", &tmp, 10); ; return 0; } EOF ! if { (eval echo configure:3768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** cross_compiling=$ac_cv_prog_cc_cross *** 3763,3769 **** echo $ac_n "checking for c header strategy to use""... $ac_c" 1>&6 ! echo "configure:3767: 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" --- 3792,3798 ---- echo $ac_n "checking for c header strategy to use""... $ac_c" 1>&6 ! echo "configure:3796: 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 *** 3830,3836 **** echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6 ! echo "configure:3834: 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 --- 3859,3865 ---- echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6 ! echo "configure:3863: 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" *** 3883,3889 **** echo $ac_n "checking for exception model to use""... $ac_c" 1>&6 ! echo "configure:3887: 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. --- 3912,3918 ---- echo $ac_n "checking for exception model to use""... $ac_c" 1>&6 ! echo "configure:3916: 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}" *** 3898,3904 **** : else cat > conftest.$ac_ext << EOF ! #line 3902 "configure" struct S { ~S(); }; void bar(); void foo() --- 3927,3933 ---- : else cat > conftest.$ac_ext << EOF ! #line 3931 "configure" struct S { ~S(); }; void bar(); void foo() *************** void foo() *** 3909,3915 **** EOF old_CXXFLAGS="$CXXFLAGS" CXXFLAGS="-S -fexceptions" ! if { (eval echo configure:3913: \"$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 --- 3938,3944 ---- EOF old_CXXFLAGS="$CXXFLAGS" CXXFLAGS="-S -fexceptions" ! if { (eval echo configure:3942: \"$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 *************** cross_compiling=$ac_cv_prog_cc_cross *** 3942,3948 **** echo $ac_n "checking for use of libunwind""... $ac_c" 1>&6 ! echo "configure:3946: checking for use of libunwind" >&5 # Check whether --enable-libunwind-exceptions or --disable-libunwind-exceptions was given. if test "${enable_libunwind_exceptions+set}" = set; then enableval="$enable_libunwind_exceptions" --- 3971,3977 ---- echo $ac_n "checking for use of libunwind""... $ac_c" 1>&6 ! echo "configure:3975: checking for use of libunwind" >&5 # Check whether --enable-libunwind-exceptions or --disable-libunwind-exceptions was given. if test "${enable_libunwind_exceptions+set}" = set; then enableval="$enable_libunwind_exceptions" *************** for ac_hdr in string.h stdlib.h *** 3983,3999 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3987: 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:3997: \"$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* --- 4012,4028 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4016: 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:4026: \"$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 test -n "$with_cross_host" || test x" *** 4051,4057 **** # GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT # GLIBCPP_CHECK_MATH_SUPPORT ! case "$target_alias" in *-linux*) # Check for available headers. for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \ --- 4080,4086 ---- # GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT # GLIBCPP_CHECK_MATH_SUPPORT ! case "$target" in *-linux*) # Check for available headers. for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \ *************** if test -n "$with_cross_host" || test x" *** 4060,4076 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4064: 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:4074: \"$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* --- 4089,4105 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4093: 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:4103: \"$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 *** 4148,4159 **** # 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:4152: 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:4181: 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 --- 4193,4199 ---- } EOF ! if { (eval echo configure:4197: \"$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 *** 4198,4204 **** echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:4202: 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 --- 4227,4233 ---- echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:4231: 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 *** 4206,4219 **** 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 --- 4235,4248 ---- 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 *** 4243,4254 **** for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4247: 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:4276: 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 --- 4300,4306 ---- ; return 0; } EOF ! if { (eval echo configure:4304: \"$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 *** 4300,4311 **** for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4304: 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:4333: 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 --- 4357,4363 ---- ; return 0; } EOF ! if { (eval echo configure:4361: \"$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 *** 4356,4367 **** for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4360: 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:4389: 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 --- 4413,4419 ---- ; return 0; } EOF ! if { (eval echo configure:4417: \"$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 *** 4414,4425 **** for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4418: 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:4447: 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 --- 4471,4477 ---- ; return 0; } EOF ! if { (eval echo configure:4475: \"$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 *** 4474,4489 **** echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:4478: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:4487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else --- 4503,4518 ---- echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:4507: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:4516: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else *************** EOF *** 4505,4521 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4509: 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:4519: \"$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* --- 4534,4550 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4538: 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:4548: \"$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 *** 4546,4562 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4550: 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:4560: \"$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* --- 4575,4591 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4579: 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:4589: \"$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 *** 4589,4604 **** test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:4593: 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:4602: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else --- 4618,4633 ---- test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:4622: 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:4631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else *************** rm -f conftest* *** 4611,4619 **** echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:4615: checking for WEOF" >&5 cat > conftest.$ac_ext < --- 4640,4648 ---- echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:4644: checking for WEOF" >&5 cat > conftest.$ac_ext < *************** int main() { *** 4622,4628 **** wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:4626: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else --- 4651,4657 ---- wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:4655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else *************** rm -f conftest* *** 4638,4649 **** for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4642: 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:4671: 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 --- 4695,4701 ---- ; return 0; } EOF ! if { (eval echo configure:4699: \"$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 *** 4701,4712 **** wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4705: 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:4734: 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 --- 4758,4764 ---- ; return 0; } EOF ! if { (eval echo configure:4762: \"$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 *** 4757,4763 **** echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:4761: 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 --- 4786,4792 ---- echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:4790: 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 *************** echo "configure:4761: checking for ISO C *** 4769,4785 **** ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:4773: 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:4783: \"$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* --- 4798,4814 ---- ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:4802: 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:4812: \"$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 *** 4803,4819 **** ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:4807: 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:4817: \"$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* --- 4832,4848 ---- ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:4836: 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:4846: \"$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 *** 4837,4843 **** echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:4841: 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 --- 4866,4872 ---- echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:4870: 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 *** 4845,4851 **** 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 --- 4885,4891 ---- iconv() ; return 0; } EOF ! if { (eval echo configure:4889: \"$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 *** 4882,4893 **** 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:4886: 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:4915: 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 --- 4939,4945 ---- ; return 0; } EOF ! if { (eval echo configure:4943: \"$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 *** 4940,4946 **** LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:4944: 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 --- 4969,4975 ---- LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:4973: 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 *************** echo "configure:4944: checking for XPG2 *** 4951,4957 **** echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:4955: 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 --- 4980,4986 ---- echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:4984: 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 *** 5010,5026 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5014: 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:5024: \"$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* --- 5039,5055 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5043: 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:5053: \"$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 *** 5098,5109 **** # 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:5102: 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:5131: 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 --- 5143,5149 ---- } EOF ! if { (eval echo configure:5147: \"$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 *** 5148,5154 **** echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:5152: 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 --- 5177,5183 ---- echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:5181: 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 *** 5156,5169 **** 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 --- 5185,5198 ---- 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 *** 5193,5204 **** for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5197: 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:5226: 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 --- 5250,5256 ---- ; return 0; } EOF ! if { (eval echo configure:5254: \"$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 *** 5250,5261 **** for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5254: 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:5283: 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 --- 5307,5313 ---- ; return 0; } EOF ! if { (eval echo configure:5311: \"$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 *** 5306,5317 **** for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5310: 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:5339: 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 --- 5363,5369 ---- ; return 0; } EOF ! if { (eval echo configure:5367: \"$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 *** 5364,5375 **** for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5368: 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:5397: 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 --- 5421,5427 ---- ; 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* eval "ac_cv_func_$ac_func=yes" else *************** done *** 5424,5439 **** echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:5428: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:5437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else --- 5453,5468 ---- echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:5457: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:5466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else *************** EOF *** 5455,5471 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5459: 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:5469: \"$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* --- 5484,5500 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5488: 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:5498: \"$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 *** 5496,5512 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5500: 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:5510: \"$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* --- 5525,5541 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5529: 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:5539: \"$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 *** 5539,5554 **** test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:5543: 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:5552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else --- 5568,5583 ---- test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:5572: 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:5581: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else *************** rm -f conftest* *** 5561,5569 **** echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:5565: checking for WEOF" >&5 cat > conftest.$ac_ext < --- 5590,5598 ---- echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:5594: checking for WEOF" >&5 cat > conftest.$ac_ext < *************** int main() { *** 5572,5578 **** wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:5576: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else --- 5601,5607 ---- wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:5605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else *************** rm -f conftest* *** 5588,5599 **** for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5592: 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:5621: 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 --- 5645,5651 ---- ; return 0; } EOF ! if { (eval echo configure:5649: \"$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 *** 5651,5662 **** wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5655: 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:5684: 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 --- 5708,5714 ---- ; return 0; } EOF ! if { (eval echo configure:5712: \"$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 *** 5707,5713 **** echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:5711: 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 --- 5736,5742 ---- echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:5740: 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 *************** echo "configure:5711: checking for ISO C *** 5719,5735 **** ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:5723: 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:5733: \"$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* --- 5748,5764 ---- ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:5752: 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:5762: \"$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 *** 5753,5769 **** ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:5757: 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:5767: \"$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* --- 5782,5798 ---- ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:5786: 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:5796: \"$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 *** 5787,5793 **** echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:5791: 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 --- 5816,5822 ---- echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:5820: 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 *** 5795,5801 **** 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 --- 5835,5841 ---- iconv() ; return 0; } EOF ! if { (eval echo configure:5839: \"$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 *** 5832,5843 **** 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:5836: 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:5865: 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 --- 5889,5895 ---- ; return 0; } EOF ! if { (eval echo configure:5893: \"$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 *** 5890,5896 **** LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:5894: 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 --- 5919,5925 ---- LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:5923: 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 *************** echo "configure:5894: checking for XPG2 *** 5901,5907 **** echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:5905: 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 --- 5930,5936 ---- echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:5934: 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 *** 5954,5970 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5958: 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:5968: \"$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* --- 5983,5999 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5987: 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:5997: \"$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 *** 6042,6053 **** # 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:6046: 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:6075: 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 --- 6087,6093 ---- } EOF ! if { (eval echo configure:6091: \"$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 *** 6092,6098 **** echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:6096: 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 --- 6121,6127 ---- echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:6125: 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 *** 6100,6113 **** 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 --- 6129,6142 ---- 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 *** 6137,6148 **** for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6141: 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:6170: 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 --- 6194,6200 ---- ; return 0; } EOF ! if { (eval echo configure:6198: \"$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 *** 6194,6205 **** for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6198: 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:6227: 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 --- 6251,6257 ---- ; return 0; } EOF ! if { (eval echo configure:6255: \"$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 *** 6250,6261 **** for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6254: 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:6283: 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 --- 6307,6313 ---- ; return 0; } EOF ! if { (eval echo configure:6311: \"$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 *** 6308,6319 **** for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6312: 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:6341: 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 --- 6365,6371 ---- ; return 0; } EOF ! if { (eval echo configure:6369: \"$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 *** 6368,6383 **** echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:6372: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:6381: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else --- 6397,6412 ---- echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:6401: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:6410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else *************** EOF *** 6399,6415 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:6403: 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:6413: \"$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* --- 6428,6444 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:6432: 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:6442: \"$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 *** 6440,6456 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:6444: 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:6454: \"$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* --- 6469,6485 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:6473: 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:6483: \"$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 *** 6483,6498 **** test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:6487: 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:6496: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else --- 6512,6527 ---- test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:6516: 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:6525: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else *************** rm -f conftest* *** 6505,6513 **** echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:6509: checking for WEOF" >&5 cat > conftest.$ac_ext < --- 6534,6542 ---- echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:6538: checking for WEOF" >&5 cat > conftest.$ac_ext < *************** int main() { *** 6516,6522 **** wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:6520: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else --- 6545,6551 ---- wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:6549: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else *************** rm -f conftest* *** 6532,6543 **** for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6536: 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:6565: 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 --- 6589,6595 ---- ; return 0; } EOF ! if { (eval echo configure:6593: \"$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 *** 6595,6606 **** wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6599: 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:6628: 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 --- 6652,6658 ---- ; return 0; } EOF ! if { (eval echo configure:6656: \"$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 *** 6651,6657 **** echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:6655: 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 --- 6680,6686 ---- echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:6684: 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 *************** echo "configure:6655: checking for ISO C *** 6663,6679 **** ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:6667: 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:6677: \"$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* --- 6692,6708 ---- ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:6696: 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:6706: \"$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 *** 6697,6713 **** ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:6701: 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:6711: \"$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* --- 6726,6742 ---- ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:6730: 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:6740: \"$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 *** 6731,6737 **** echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:6735: 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 --- 6760,6766 ---- echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:6764: 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 *** 6739,6745 **** 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 --- 6779,6785 ---- iconv() ; return 0; } EOF ! if { (eval echo configure:6783: \"$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 *** 6776,6787 **** 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:6780: 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:6809: 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 --- 6833,6839 ---- ; return 0; } EOF ! if { (eval echo configure:6837: \"$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 *** 6834,6840 **** LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:6838: 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 --- 6863,6869 ---- LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:6867: 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 *************** echo "configure:6838: checking for XPG2 *** 6845,6851 **** echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:6849: 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 --- 6874,6880 ---- echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:6878: 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 *** 6887,6903 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:6891: 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:6901: \"$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* --- 6916,6932 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:6920: 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:6930: \"$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 *** 6973,6984 **** # 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:6977: 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:7006: 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 --- 7018,7024 ---- } EOF ! if { (eval echo configure:7022: \"$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 *** 7023,7029 **** echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:7027: 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 --- 7052,7058 ---- echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:7056: 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 *** 7031,7044 **** 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 --- 7060,7073 ---- 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 *** 7068,7079 **** for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7072: 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:7101: 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 --- 7125,7131 ---- ; return 0; } EOF ! if { (eval echo configure:7129: \"$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 *** 7125,7136 **** for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7129: 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:7158: 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 --- 7182,7188 ---- ; return 0; } EOF ! if { (eval echo configure:7186: \"$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 *** 7181,7192 **** for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7185: 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:7214: 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 --- 7238,7244 ---- ; return 0; } EOF ! if { (eval echo configure:7242: \"$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 *** 7239,7250 **** for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7243: 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:7272: 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 --- 7296,7302 ---- ; return 0; } EOF ! if { (eval echo configure:7300: \"$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 *** 7299,7314 **** echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:7303: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:7312: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else --- 7328,7343 ---- echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:7332: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:7341: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else *************** EOF *** 7330,7346 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:7334: 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:7344: \"$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* --- 7359,7375 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:7363: 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:7373: \"$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 *** 7371,7387 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:7375: 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:7385: \"$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* --- 7400,7416 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:7404: 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:7414: \"$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 *** 7414,7429 **** test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:7418: 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:7427: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else --- 7443,7458 ---- test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:7447: 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:7456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else *************** rm -f conftest* *** 7436,7444 **** echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:7440: checking for WEOF" >&5 cat > conftest.$ac_ext < --- 7465,7473 ---- echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:7469: checking for WEOF" >&5 cat > conftest.$ac_ext < *************** int main() { *** 7447,7453 **** wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:7451: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else --- 7476,7482 ---- wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:7480: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else *************** rm -f conftest* *** 7463,7474 **** for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7467: 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:7496: 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 --- 7520,7526 ---- ; return 0; } EOF ! if { (eval echo configure:7524: \"$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 *** 7526,7537 **** wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7530: 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:7559: 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 --- 7583,7589 ---- ; return 0; } EOF ! if { (eval echo configure:7587: \"$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 *** 7582,7588 **** echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:7586: 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 --- 7611,7617 ---- echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:7615: 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 *************** echo "configure:7586: checking for ISO C *** 7594,7610 **** ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:7598: 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:7608: \"$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* --- 7623,7639 ---- ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:7627: 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:7637: \"$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 *** 7628,7644 **** ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:7632: 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:7642: \"$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* --- 7657,7673 ---- ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:7661: 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:7671: \"$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 *** 7662,7668 **** echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:7666: 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 --- 7691,7697 ---- echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:7695: 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 *** 7670,7676 **** 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 --- 7710,7716 ---- iconv() ; return 0; } EOF ! if { (eval echo configure:7714: \"$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 *** 7707,7718 **** 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:7711: 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:7740: 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 --- 7764,7770 ---- ; return 0; } EOF ! if { (eval echo configure:7768: \"$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 *** 7765,7771 **** LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:7769: 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 --- 7794,7800 ---- LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:7798: 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 *************** echo "configure:7769: checking for XPG2 *** 7776,7782 **** echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:7780: 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 --- 7805,7811 ---- echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:7809: 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 *** 7846,7857 **** # 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:7850: 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:7879: 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 --- 7891,7897 ---- } EOF ! if { (eval echo configure:7895: \"$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 *** 7896,7902 **** echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:7900: 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 --- 7925,7931 ---- echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:7929: 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 *** 7904,7917 **** 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 --- 7933,7946 ---- 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 *** 7941,7952 **** for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:7945: 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:7974: 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 --- 7998,8004 ---- ; return 0; } EOF ! if { (eval echo configure:8002: \"$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 *** 7998,8009 **** for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8002: 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 *** 8054,8065 **** for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8058: 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:8087: 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 --- 8111,8117 ---- ; return 0; } EOF ! if { (eval echo configure:8115: \"$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 *** 8112,8123 **** for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8116: 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:8145: 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 --- 8169,8175 ---- ; return 0; } EOF ! if { (eval echo configure:8173: \"$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 *** 8172,8187 **** echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:8176: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:8185: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else --- 8201,8216 ---- echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:8205: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:8214: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else *************** EOF *** 8203,8219 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:8207: 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:8217: \"$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* --- 8232,8248 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:8236: 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:8246: \"$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 *** 8244,8260 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:8248: 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:8258: \"$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* --- 8273,8289 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:8277: 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:8287: \"$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 *** 8287,8302 **** test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:8291: 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:8300: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else --- 8316,8331 ---- test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:8320: 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:8329: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else *************** rm -f conftest* *** 8309,8317 **** echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:8313: checking for WEOF" >&5 cat > conftest.$ac_ext < --- 8338,8346 ---- echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:8342: checking for WEOF" >&5 cat > conftest.$ac_ext < *************** int main() { *** 8320,8326 **** wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:8324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else --- 8349,8355 ---- wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:8353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else *************** rm -f conftest* *** 8336,8347 **** for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8340: 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:8369: 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 --- 8393,8399 ---- ; return 0; } EOF ! if { (eval echo configure:8397: \"$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 *** 8399,8410 **** wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:8403: 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:8432: 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 --- 8456,8462 ---- ; return 0; } EOF ! if { (eval echo configure:8460: \"$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 *** 8455,8461 **** echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:8459: 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 --- 8484,8490 ---- echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:8488: 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 *************** echo "configure:8459: checking for ISO C *** 8467,8483 **** ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:8471: 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:8481: \"$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* --- 8496,8512 ---- ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:8500: 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:8510: \"$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 *** 8501,8517 **** ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:8505: 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:8515: \"$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* --- 8530,8546 ---- ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:8534: 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:8544: \"$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 *** 8535,8541 **** echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:8539: 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 --- 8564,8570 ---- echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:8568: 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 *** 8543,8549 **** 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 --- 8583,8589 ---- iconv() ; return 0; } EOF ! if { (eval echo configure:8587: \"$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 *** 8580,8591 **** 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:8584: 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:8613: 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 --- 8637,8643 ---- ; return 0; } EOF ! if { (eval echo configure:8641: \"$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 *** 8638,8644 **** LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:8642: 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 --- 8667,8673 ---- LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:8671: 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 *************** echo "configure:8642: checking for XPG2 *** 8649,8655 **** echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:8653: 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 --- 8678,8684 ---- echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:8682: 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 *** 8723,8729 **** ;; esac ! case "$target_alias" in *-mingw32*) ;; *) --- 8752,8758 ---- ;; esac ! case "$target" in *-mingw32*) ;; *) *************** else *** 8992,9008 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:8996: 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:9006: \"$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* --- 9021,9037 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:9025: 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:9035: \"$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 *** 9053,9062 **** # Check for -ffunction-sections -fdata-sections echo $ac_n "checking for g++ that supports -ffunction-sections -fdata-sections""... $ac_c" 1>&6 ! echo "configure:9057: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 CXXFLAGS='-Werror -ffunction-sections -fdata-sections' cat > conftest.$ac_ext <&6 ! echo "configure:9086: 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 --- 9093,9099 ---- ; return 0; } EOF ! if { (eval echo configure:9097: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_fdsections=yes else *************** cross_compiling=$ac_cv_prog_cc_cross *** 9146,9157 **** # 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:9150: 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:9179: 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 --- 9191,9197 ---- } EOF ! if { (eval echo configure:9195: \"$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 *** 9197,9203 **** echo $ac_n "checking for __builtin_abs declaration""... $ac_c" 1>&6 ! echo "configure:9201: 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 --- 9226,9232 ---- echo $ac_n "checking for __builtin_abs declaration""... $ac_c" 1>&6 ! echo "configure:9230: 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 *** 9212,9225 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_abs(0); ; return 0; } EOF ! if { (eval echo configure:9223: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_abs_use=yes else --- 9241,9254 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_abs(0); ; return 0; } EOF ! if { (eval echo configure:9252: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_abs_use=yes else *************** fi *** 9243,9263 **** 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:9247: 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:9261: \"$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 --- 9272,9292 ---- 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:9276: 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:9290: \"$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 *** 9283,9289 **** echo $ac_n "checking for __builtin_fabsf declaration""... $ac_c" 1>&6 ! echo "configure:9287: 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 --- 9312,9318 ---- echo $ac_n "checking for __builtin_fabsf declaration""... $ac_c" 1>&6 ! echo "configure:9316: 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 *** 9298,9311 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabsf(0); ; return 0; } EOF ! if { (eval echo configure:9309: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsf_use=yes else --- 9327,9340 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabsf(0); ; return 0; } EOF ! if { (eval echo configure:9338: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsf_use=yes else *************** fi *** 9329,9349 **** 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:9333: 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:9347: \"$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 --- 9358,9378 ---- 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:9362: 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:9376: \"$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 *** 9369,9375 **** echo $ac_n "checking for __builtin_fabs declaration""... $ac_c" 1>&6 ! echo "configure:9373: 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 --- 9398,9404 ---- echo $ac_n "checking for __builtin_fabs declaration""... $ac_c" 1>&6 ! echo "configure:9402: 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 *** 9384,9397 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabs(0); ; return 0; } EOF ! if { (eval echo configure:9395: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabs_use=yes else --- 9413,9426 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabs(0); ; return 0; } EOF ! if { (eval echo configure:9424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabs_use=yes else *************** fi *** 9415,9435 **** 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:9419: 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:9433: \"$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 --- 9444,9464 ---- 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:9448: 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:9462: \"$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 *** 9455,9461 **** echo $ac_n "checking for __builtin_fabsl declaration""... $ac_c" 1>&6 ! echo "configure:9459: 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 --- 9484,9490 ---- echo $ac_n "checking for __builtin_fabsl declaration""... $ac_c" 1>&6 ! echo "configure:9488: 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 *** 9470,9483 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabsl(0); ; return 0; } EOF ! if { (eval echo configure:9481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsl_use=yes else --- 9499,9512 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_fabsl(0); ; return 0; } EOF ! if { (eval echo configure:9510: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsl_use=yes else *************** fi *** 9501,9521 **** 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:9505: 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:9519: \"$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 --- 9530,9550 ---- 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:9534: 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:9548: \"$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 *** 9541,9547 **** echo $ac_n "checking for __builtin_labs declaration""... $ac_c" 1>&6 ! echo "configure:9545: 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 --- 9570,9576 ---- echo $ac_n "checking for __builtin_labs declaration""... $ac_c" 1>&6 ! echo "configure:9574: 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 *** 9556,9569 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_labs(0); ; return 0; } EOF ! if { (eval echo configure:9567: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_labs_use=yes else --- 9585,9598 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_labs(0); ; return 0; } EOF ! if { (eval echo configure:9596: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_labs_use=yes else *************** fi *** 9587,9607 **** 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:9591: 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:9605: \"$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 --- 9616,9636 ---- 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:9620: 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:9634: \"$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 *** 9628,9634 **** echo $ac_n "checking for __builtin_sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:9632: 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 --- 9657,9663 ---- echo $ac_n "checking for __builtin_sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:9661: 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 *** 9643,9656 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:9654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtf_use=yes else --- 9672,9685 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:9683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtf_use=yes else *************** fi *** 9674,9694 **** 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:9678: 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:9692: \"$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 --- 9703,9723 ---- 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:9707: 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:9721: \"$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 *** 9714,9720 **** echo $ac_n "checking for __builtin_sqrt declaration""... $ac_c" 1>&6 ! echo "configure:9718: checking for __builtin_sqrt declaration" >&5 if test x${glibcpp_cv_func___builtin_sqrt_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrt_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 9743,9749 ---- echo $ac_n "checking for __builtin_sqrt declaration""... $ac_c" 1>&6 ! echo "configure:9747: checking for __builtin_sqrt declaration" >&5 if test x${glibcpp_cv_func___builtin_sqrt_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrt_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 9729,9742 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrt(0); ; return 0; } EOF ! if { (eval echo configure:9740: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrt_use=yes else --- 9758,9771 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrt(0); ; return 0; } EOF ! if { (eval echo configure:9769: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrt_use=yes else *************** fi *** 9760,9780 **** echo "$ac_t""$glibcpp_cv_func___builtin_sqrt_use" 1>&6 if test x$glibcpp_cv_func___builtin_sqrt_use = x"yes"; then echo $ac_n "checking for __builtin_sqrt linkage""... $ac_c" 1>&6 ! echo "configure:9764: checking for __builtin_sqrt linkage" >&5 if test x${glibcpp_cv_func___builtin_sqrt_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrt_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sqrt(0); ; return 0; } EOF ! if { (eval echo configure:9778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sqrt_link=yes else --- 9789,9809 ---- echo "$ac_t""$glibcpp_cv_func___builtin_sqrt_use" 1>&6 if test x$glibcpp_cv_func___builtin_sqrt_use = x"yes"; then echo $ac_n "checking for __builtin_sqrt linkage""... $ac_c" 1>&6 ! echo "configure:9793: checking for __builtin_sqrt linkage" >&5 if test x${glibcpp_cv_func___builtin_sqrt_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrt_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { __builtin_sqrt(0); ; return 0; } EOF ! if { (eval echo configure:9807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sqrt_link=yes else *************** EOF *** 9800,9806 **** echo $ac_n "checking for __builtin_sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:9804: 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 --- 9829,9835 ---- echo $ac_n "checking for __builtin_sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:9833: 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 *** 9815,9828 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:9826: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtl_use=yes else --- 9844,9857 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:9855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtl_use=yes else *************** fi *** 9846,9866 **** 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:9850: 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:9864: \"$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 --- 9875,9895 ---- 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:9879: 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:9893: \"$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 *** 9887,9893 **** echo $ac_n "checking for __builtin_sinf declaration""... $ac_c" 1>&6 ! echo "configure:9891: 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 --- 9916,9922 ---- echo $ac_n "checking for __builtin_sinf declaration""... $ac_c" 1>&6 ! echo "configure:9920: 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 *** 9902,9915 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sinf(0); ; return 0; } EOF ! if { (eval echo configure:9913: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinf_use=yes else --- 9931,9944 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sinf(0); ; return 0; } EOF ! if { (eval echo configure:9942: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinf_use=yes else *************** fi *** 9933,9953 **** 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:9937: 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:9951: \"$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 --- 9962,9982 ---- 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:9966: 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:9980: \"$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 *** 9973,9979 **** echo $ac_n "checking for __builtin_sin declaration""... $ac_c" 1>&6 ! echo "configure:9977: 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 --- 10002,10008 ---- echo $ac_n "checking for __builtin_sin declaration""... $ac_c" 1>&6 ! echo "configure:10006: 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 *** 9988,10001 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sin(0); ; return 0; } EOF ! if { (eval echo configure:9999: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sin_use=yes else --- 10017,10030 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sin(0); ; return 0; } EOF ! if { (eval echo configure:10028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sin_use=yes else *************** fi *** 10019,10039 **** 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:10023: 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:10037: \"$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 --- 10048,10068 ---- 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:10052: 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:10066: \"$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 *** 10059,10065 **** echo $ac_n "checking for __builtin_sinl declaration""... $ac_c" 1>&6 ! echo "configure:10063: 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 --- 10088,10094 ---- echo $ac_n "checking for __builtin_sinl declaration""... $ac_c" 1>&6 ! echo "configure:10092: 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 *** 10074,10087 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sinl(0); ; return 0; } EOF ! if { (eval echo configure:10085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinl_use=yes else --- 10103,10116 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_sinl(0); ; return 0; } EOF ! if { (eval echo configure:10114: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinl_use=yes else *************** fi *** 10105,10125 **** 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:10109: 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:10123: \"$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 --- 10134,10154 ---- 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:10138: 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:10152: \"$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 *** 10146,10152 **** echo $ac_n "checking for __builtin_cosf declaration""... $ac_c" 1>&6 ! echo "configure:10150: 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 --- 10175,10181 ---- echo $ac_n "checking for __builtin_cosf declaration""... $ac_c" 1>&6 ! echo "configure:10179: 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 *** 10161,10174 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cosf(0); ; return 0; } EOF ! if { (eval echo configure:10172: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosf_use=yes else --- 10190,10203 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cosf(0); ; return 0; } EOF ! if { (eval echo configure:10201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosf_use=yes else *************** fi *** 10192,10212 **** 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:10196: 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:10210: \"$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 --- 10221,10241 ---- 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:10225: 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:10239: \"$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 *** 10232,10238 **** echo $ac_n "checking for __builtin_cos declaration""... $ac_c" 1>&6 ! echo "configure:10236: 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 --- 10261,10267 ---- echo $ac_n "checking for __builtin_cos declaration""... $ac_c" 1>&6 ! echo "configure:10265: 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 *** 10247,10260 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cos(0); ; return 0; } EOF ! if { (eval echo configure:10258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cos_use=yes else --- 10276,10289 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cos(0); ; return 0; } EOF ! if { (eval echo configure:10287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cos_use=yes else *************** fi *** 10278,10298 **** 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:10282: 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:10296: \"$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 --- 10307,10327 ---- 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:10311: 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:10325: \"$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 *** 10318,10324 **** echo $ac_n "checking for __builtin_cosl declaration""... $ac_c" 1>&6 ! echo "configure:10322: 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 --- 10347,10353 ---- echo $ac_n "checking for __builtin_cosl declaration""... $ac_c" 1>&6 ! echo "configure:10351: 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 *** 10333,10346 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cosl(0); ; return 0; } EOF ! if { (eval echo configure:10344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosl_use=yes else --- 10362,10375 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { __builtin_cosl(0); ; return 0; } EOF ! if { (eval echo configure:10373: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosl_use=yes else *************** fi *** 10364,10384 **** 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:10368: 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:10382: \"$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 --- 10393,10413 ---- 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:10397: 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:10411: \"$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 *** 10469,10475 **** CXXFLAGS='-fno-builtins -D_GNU_SOURCE' echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 ! echo "configure:10473: 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 --- 10498,10504 ---- CXXFLAGS='-fno-builtins -D_GNU_SOURCE' echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 ! echo "configure:10502: 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 *** 10477,10483 **** 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 --- 10517,10523 ---- sin() ; return 0; } EOF ! if { (eval echo configure:10521: \"$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 *** 10514,10520 **** echo $ac_n "checking for isinf declaration""... $ac_c" 1>&6 ! echo "configure:10518: 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 --- 10543,10549 ---- echo $ac_n "checking for isinf declaration""... $ac_c" 1>&6 ! echo "configure:10547: 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 *** 10529,10535 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10558,10564 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10540,10546 **** isinf(0); ; return 0; } EOF ! if { (eval echo configure:10544: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinf_use=yes else --- 10569,10575 ---- isinf(0); ; return 0; } EOF ! if { (eval echo configure:10573: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinf_use=yes else *************** fi *** 10567,10578 **** for ac_func in isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10571: 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:10600: 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 --- 10624,10630 ---- ; return 0; } EOF ! if { (eval echo configure:10628: \"$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 *** 10622,10628 **** else echo $ac_n "checking for _isinf declaration""... $ac_c" 1>&6 ! echo "configure:10626: 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 --- 10651,10657 ---- else echo $ac_n "checking for _isinf declaration""... $ac_c" 1>&6 ! echo "configure:10655: 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 *** 10637,10643 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10666,10672 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10648,10654 **** _isinf(0); ; return 0; } EOF ! if { (eval echo configure:10652: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinf_use=yes else --- 10677,10683 ---- _isinf(0); ; return 0; } EOF ! if { (eval echo configure:10681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinf_use=yes else *************** fi *** 10675,10686 **** for ac_func in _isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10679: 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:10708: 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 --- 10732,10738 ---- ; return 0; } EOF ! if { (eval echo configure:10736: \"$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 *** 10733,10739 **** echo $ac_n "checking for isnan declaration""... $ac_c" 1>&6 ! echo "configure:10737: 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 --- 10762,10768 ---- echo $ac_n "checking for isnan declaration""... $ac_c" 1>&6 ! echo "configure:10766: 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 *** 10748,10754 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10777,10783 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10759,10765 **** isnan(0); ; return 0; } EOF ! if { (eval echo configure:10763: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnan_use=yes else --- 10788,10794 ---- isnan(0); ; return 0; } EOF ! if { (eval echo configure:10792: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnan_use=yes else *************** fi *** 10786,10797 **** for ac_func in isnan do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:10790: 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:10819: 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 --- 10843,10849 ---- ; return 0; } EOF ! if { (eval echo configure:10847: \"$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 **** else echo $ac_n "checking for _isnan declaration""... $ac_c" 1>&6 ! echo "configure:10845: 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 --- 10870,10876 ---- else echo $ac_n "checking for _isnan declaration""... $ac_c" 1>&6 ! echo "configure:10874: 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 *** 10856,10862 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10885,10891 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10867,10873 **** _isnan(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__isnan_use=yes else --- 10896,10902 ---- _isnan(0); ; return 0; } EOF ! if { (eval echo configure:10900: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnan_use=yes else *************** fi *** 10894,10905 **** for ac_func in _isnan 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:10927: 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 --- 10951,10957 ---- ; return 0; } EOF ! if { (eval echo configure:10955: \"$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 *** 10952,10958 **** echo $ac_n "checking for finite declaration""... $ac_c" 1>&6 ! echo "configure:10956: 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 --- 10981,10987 ---- echo $ac_n "checking for finite declaration""... $ac_c" 1>&6 ! echo "configure:10985: 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 *** 10967,10973 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 10996,11002 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 10978,10984 **** finite(0); ; return 0; } EOF ! if { (eval echo configure:10982: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finite_use=yes else --- 11007,11013 ---- finite(0); ; return 0; } EOF ! if { (eval echo configure:11011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finite_use=yes else *************** fi *** 11005,11016 **** for ac_func in finite do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11009: 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:11038: 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 --- 11062,11068 ---- ; return 0; } EOF ! if { (eval echo configure:11066: \"$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 **** else echo $ac_n "checking for _finite declaration""... $ac_c" 1>&6 ! echo "configure:11064: 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 --- 11089,11095 ---- else echo $ac_n "checking for _finite declaration""... $ac_c" 1>&6 ! echo "configure:11093: 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 *** 11075,11081 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11104,11110 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11086,11092 **** _finite(0); ; return 0; } EOF ! if { (eval echo configure:11090: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finite_use=yes else --- 11115,11121 ---- _finite(0); ; return 0; } EOF ! if { (eval echo configure:11119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finite_use=yes else *************** fi *** 11113,11124 **** for ac_func in _finite do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11117: 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:11146: 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 --- 11170,11176 ---- ; return 0; } EOF ! if { (eval echo configure:11174: \"$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 *** 11171,11177 **** echo $ac_n "checking for copysign declaration""... $ac_c" 1>&6 ! echo "configure:11175: 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 --- 11200,11206 ---- echo $ac_n "checking for copysign declaration""... $ac_c" 1>&6 ! echo "configure:11204: 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 *** 11186,11199 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { copysign(0, 0); ; return 0; } EOF ! if { (eval echo configure:11197: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysign_use=yes else --- 11215,11228 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { copysign(0, 0); ; return 0; } EOF ! if { (eval echo configure:11226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysign_use=yes else *************** fi *** 11220,11231 **** for ac_func in copysign do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11224: 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:11253: 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 --- 11277,11283 ---- ; return 0; } EOF ! if { (eval echo configure:11281: \"$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 *** 11275,11281 **** else echo $ac_n "checking for _copysign declaration""... $ac_c" 1>&6 ! echo "configure:11279: 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 --- 11304,11310 ---- else echo $ac_n "checking for _copysign declaration""... $ac_c" 1>&6 ! echo "configure:11308: 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 *** 11290,11303 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _copysign(0, 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__copysign_use=yes else --- 11319,11332 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _copysign(0, 0); ; return 0; } EOF ! if { (eval echo configure:11330: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__copysign_use=yes else *************** fi *** 11324,11335 **** for ac_func in _copysign 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:11357: 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 --- 11381,11387 ---- ; return 0; } EOF ! if { (eval echo configure:11385: \"$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 *** 11382,11388 **** echo $ac_n "checking for sincos declaration""... $ac_c" 1>&6 ! echo "configure:11386: 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 --- 11411,11417 ---- echo $ac_n "checking for sincos declaration""... $ac_c" 1>&6 ! echo "configure:11415: 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 *** 11397,11410 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincos(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:11408: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincos_use=yes else --- 11426,11439 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincos(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:11437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincos_use=yes else *************** fi *** 11431,11442 **** for ac_func in sincos do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11435: 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:11464: 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 --- 11488,11494 ---- ; return 0; } EOF ! if { (eval echo configure:11492: \"$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 *** 11486,11492 **** else echo $ac_n "checking for _sincos declaration""... $ac_c" 1>&6 ! echo "configure:11490: 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 --- 11515,11521 ---- else echo $ac_n "checking for _sincos declaration""... $ac_c" 1>&6 ! echo "configure:11519: 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 *** 11501,11514 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincos(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:11512: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincos_use=yes else --- 11530,11543 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincos(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:11541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincos_use=yes else *************** fi *** 11535,11546 **** for ac_func in _sincos do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11539: 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:11568: 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 --- 11592,11598 ---- ; return 0; } EOF ! if { (eval echo configure:11596: \"$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 *** 11593,11599 **** echo $ac_n "checking for fpclass declaration""... $ac_c" 1>&6 ! echo "configure:11597: 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 --- 11622,11628 ---- echo $ac_n "checking for fpclass declaration""... $ac_c" 1>&6 ! echo "configure:11626: 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 *** 11608,11614 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11637,11643 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11619,11625 **** fpclass(0); ; return 0; } EOF ! if { (eval echo configure:11623: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fpclass_use=yes else --- 11648,11654 ---- fpclass(0); ; return 0; } EOF ! if { (eval echo configure:11652: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fpclass_use=yes else *************** fi *** 11646,11657 **** for ac_func in fpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11650: 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:11679: 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 --- 11703,11709 ---- ; return 0; } EOF ! if { (eval echo configure:11707: \"$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 *** 11701,11707 **** else echo $ac_n "checking for _fpclass declaration""... $ac_c" 1>&6 ! echo "configure:11705: 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 --- 11730,11736 ---- else echo $ac_n "checking for _fpclass declaration""... $ac_c" 1>&6 ! echo "configure:11734: 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 *** 11716,11722 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11745,11751 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11727,11733 **** _fpclass(0); ; return 0; } EOF ! if { (eval echo configure:11731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fpclass_use=yes else --- 11756,11762 ---- _fpclass(0); ; return 0; } EOF ! if { (eval echo configure:11760: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fpclass_use=yes else *************** fi *** 11754,11765 **** for ac_func in _fpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11758: 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:11787: 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 --- 11811,11817 ---- ; return 0; } EOF ! if { (eval echo configure:11815: \"$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 *** 11812,11818 **** echo $ac_n "checking for qfpclass declaration""... $ac_c" 1>&6 ! echo "configure:11816: 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 --- 11841,11847 ---- echo $ac_n "checking for qfpclass declaration""... $ac_c" 1>&6 ! echo "configure:11845: 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 *** 11827,11833 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11856,11862 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11838,11844 **** qfpclass(0); ; return 0; } EOF ! if { (eval echo configure:11842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_qfpclass_use=yes else --- 11867,11873 ---- qfpclass(0); ; return 0; } EOF ! if { (eval echo configure:11871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_qfpclass_use=yes else *************** fi *** 11865,11876 **** for ac_func in qfpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11869: 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:11898: 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 --- 11922,11928 ---- ; return 0; } EOF ! if { (eval echo configure:11926: \"$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 *** 11920,11926 **** else echo $ac_n "checking for _qfpclass declaration""... $ac_c" 1>&6 ! echo "configure:11924: 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 --- 11949,11955 ---- else echo $ac_n "checking for _qfpclass declaration""... $ac_c" 1>&6 ! echo "configure:11953: 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 *** 11935,11941 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 11964,11970 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 11946,11952 **** _qfpclass(0); ; return 0; } EOF ! if { (eval echo configure:11950: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__qfpclass_use=yes else --- 11975,11981 ---- _qfpclass(0); ; return 0; } EOF ! if { (eval echo configure:11979: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__qfpclass_use=yes else *************** fi *** 11973,11984 **** for ac_func in _qfpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:11977: 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:12006: 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 --- 12030,12036 ---- ; return 0; } EOF ! if { (eval echo configure:12034: \"$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 *** 12031,12037 **** echo $ac_n "checking for hypot declaration""... $ac_c" 1>&6 ! echo "configure:12035: 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 --- 12060,12066 ---- echo $ac_n "checking for hypot declaration""... $ac_c" 1>&6 ! echo "configure:12064: 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 *** 12046,12059 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypot(0, 0); ; return 0; } EOF ! if { (eval echo configure:12057: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypot_use=yes else --- 12075,12088 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypot(0, 0); ; return 0; } EOF ! if { (eval echo configure:12086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypot_use=yes else *************** fi *** 12080,12091 **** for ac_func in hypot do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12084: 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:12113: 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 --- 12137,12143 ---- ; return 0; } EOF ! if { (eval echo configure:12141: \"$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 **** else echo $ac_n "checking for _hypot declaration""... $ac_c" 1>&6 ! echo "configure:12139: 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 --- 12164,12170 ---- else echo $ac_n "checking for _hypot declaration""... $ac_c" 1>&6 ! echo "configure:12168: 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 *** 12150,12163 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypot(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__hypot_use=yes else --- 12179,12192 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypot(0, 0); ; return 0; } EOF ! if { (eval echo configure:12190: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypot_use=yes else *************** fi *** 12184,12195 **** for ac_func in _hypot 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:12217: 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 --- 12241,12247 ---- ; return 0; } EOF ! if { (eval echo configure:12245: \"$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 *** 12242,12248 **** echo $ac_n "checking for float trig functions""... $ac_c" 1>&6 ! echo "configure:12246: 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 --- 12271,12277 ---- echo $ac_n "checking for float trig functions""... $ac_c" 1>&6 ! echo "configure:12275: 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 *** 12256,12262 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { --- 12285,12291 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { *************** int main() { *** 12265,12271 **** coshf sinhf tanhf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:12269: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_trig_use=yes else --- 12294,12300 ---- coshf sinhf tanhf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:12298: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_trig_use=yes else *************** fi *** 12291,12302 **** coshf sinhf tanhf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12295: 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:12324: 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 --- 12348,12354 ---- ; return 0; } EOF ! if { (eval echo configure:12352: \"$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 *** 12347,12353 **** echo $ac_n "checking for float round functions""... $ac_c" 1>&6 ! echo "configure:12351: 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 --- 12376,12382 ---- echo $ac_n "checking for float round functions""... $ac_c" 1>&6 ! echo "configure:12380: 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 *** 12361,12374 **** 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:12372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_round_use=yes else --- 12390,12403 ---- 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:12401: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_round_use=yes else *************** fi *** 12392,12403 **** for ac_func in ceilf floorf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12396: 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:12425: 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 --- 12449,12455 ---- ; return 0; } EOF ! if { (eval echo configure:12453: \"$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 *** 12449,12455 **** echo $ac_n "checking for expf declaration""... $ac_c" 1>&6 ! echo "configure:12453: checking for expf declaration" >&5 if test x${glibcpp_cv_func_expf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_expf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12478,12484 ---- echo $ac_n "checking for expf declaration""... $ac_c" 1>&6 ! echo "configure:12482: checking for expf declaration" >&5 if test x${glibcpp_cv_func_expf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_expf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 12464,12470 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 12493,12499 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12475,12481 **** expf(0); ; return 0; } EOF ! if { (eval echo configure:12479: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_expf_use=yes else --- 12504,12510 ---- expf(0); ; return 0; } EOF ! if { (eval echo configure:12508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_expf_use=yes else *************** fi *** 12502,12513 **** for ac_func in expf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12506: 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:12535: 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 --- 12559,12565 ---- ; return 0; } EOF ! if { (eval echo configure:12563: \"$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 **** else echo $ac_n "checking for _expf declaration""... $ac_c" 1>&6 ! echo "configure:12561: checking for _expf declaration" >&5 if test x${glibcpp_cv_func__expf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__expf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 12586,12592 ---- else echo $ac_n "checking for _expf declaration""... $ac_c" 1>&6 ! echo "configure:12590: checking for _expf declaration" >&5 if test x${glibcpp_cv_func__expf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__expf_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 --- 12601,12607 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12583,12589 **** _expf(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__expf_use=yes else --- 12612,12618 ---- _expf(0); ; return 0; } EOF ! if { (eval echo configure:12616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__expf_use=yes else *************** fi *** 12610,12621 **** for ac_func in _expf 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:12643: 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 --- 12667,12673 ---- ; return 0; } EOF ! if { (eval echo configure:12671: \"$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 *** 12668,12674 **** echo $ac_n "checking for isnanf declaration""... $ac_c" 1>&6 ! echo "configure:12672: 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 --- 12697,12703 ---- echo $ac_n "checking for isnanf declaration""... $ac_c" 1>&6 ! echo "configure:12701: 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 *** 12683,12689 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 12712,12718 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12694,12700 **** isnanf(0); ; return 0; } EOF ! if { (eval echo configure:12698: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanf_use=yes else --- 12723,12729 ---- isnanf(0); ; return 0; } EOF ! if { (eval echo configure:12727: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanf_use=yes else *************** fi *** 12721,12732 **** for ac_func in isnanf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12725: 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:12754: 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 --- 12778,12784 ---- ; return 0; } EOF ! if { (eval echo configure:12782: \"$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 **** else echo $ac_n "checking for _isnanf declaration""... $ac_c" 1>&6 ! echo "configure:12780: 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 --- 12805,12811 ---- else echo $ac_n "checking for _isnanf declaration""... $ac_c" 1>&6 ! echo "configure:12809: 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 *** 12791,12797 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 12820,12826 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12802,12808 **** _isnanf(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__isnanf_use=yes else --- 12831,12837 ---- _isnanf(0); ; return 0; } EOF ! if { (eval echo configure:12835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnanf_use=yes else *************** fi *** 12829,12840 **** for ac_func in _isnanf 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:12862: 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 --- 12886,12892 ---- ; return 0; } EOF ! if { (eval echo configure:12890: \"$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 *** 12887,12893 **** echo $ac_n "checking for isinff declaration""... $ac_c" 1>&6 ! echo "configure:12891: 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 --- 12916,12922 ---- echo $ac_n "checking for isinff declaration""... $ac_c" 1>&6 ! echo "configure:12920: 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 *** 12902,12908 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 12931,12937 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 12913,12919 **** isinff(0); ; return 0; } EOF ! if { (eval echo configure:12917: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinff_use=yes else --- 12942,12948 ---- isinff(0); ; return 0; } EOF ! if { (eval echo configure:12946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinff_use=yes else *************** fi *** 12940,12951 **** for ac_func in isinff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:12944: 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:12973: 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 --- 12997,13003 ---- ; return 0; } EOF ! if { (eval echo configure:13001: \"$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 **** else echo $ac_n "checking for _isinff declaration""... $ac_c" 1>&6 ! echo "configure:12999: 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 --- 13024,13030 ---- else echo $ac_n "checking for _isinff declaration""... $ac_c" 1>&6 ! echo "configure:13028: 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 *** 13010,13016 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 13039,13045 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 13021,13027 **** _isinff(0); ; return 0; } EOF ! if { (eval echo configure:13025: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinff_use=yes else --- 13050,13056 ---- _isinff(0); ; return 0; } EOF ! if { (eval echo configure:13054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinff_use=yes else *************** fi *** 13048,13059 **** for ac_func in _isinff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13052: 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:13081: 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 --- 13105,13111 ---- ; return 0; } EOF ! if { (eval echo configure:13109: \"$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 *** 13106,13112 **** echo $ac_n "checking for atan2f declaration""... $ac_c" 1>&6 ! echo "configure:13110: 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 --- 13135,13141 ---- echo $ac_n "checking for atan2f declaration""... $ac_c" 1>&6 ! echo "configure:13139: 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 *** 13121,13134 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { atan2f(0, 0); ; return 0; } EOF ! if { (eval echo configure:13132: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2f_use=yes else --- 13150,13163 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { atan2f(0, 0); ; return 0; } EOF ! if { (eval echo configure:13161: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2f_use=yes else *************** fi *** 13155,13166 **** for ac_func in atan2f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13159: 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:13188: 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 --- 13212,13218 ---- ; return 0; } EOF ! if { (eval echo configure:13216: \"$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 *** 13210,13216 **** else echo $ac_n "checking for _atan2f declaration""... $ac_c" 1>&6 ! echo "configure:13214: 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 --- 13239,13245 ---- else echo $ac_n "checking for _atan2f declaration""... $ac_c" 1>&6 ! echo "configure:13243: 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 *** 13225,13238 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _atan2f(0, 0); ; return 0; } EOF ! if { (eval echo configure:13236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2f_use=yes else --- 13254,13267 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _atan2f(0, 0); ; return 0; } EOF ! if { (eval echo configure:13265: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2f_use=yes else *************** fi *** 13259,13270 **** for ac_func in _atan2f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13263: 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:13292: 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 --- 13316,13322 ---- ; return 0; } EOF ! if { (eval echo configure:13320: \"$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 *** 13317,13323 **** echo $ac_n "checking for fabsf declaration""... $ac_c" 1>&6 ! echo "configure:13321: 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 --- 13346,13352 ---- echo $ac_n "checking for fabsf declaration""... $ac_c" 1>&6 ! echo "configure:13350: 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 *** 13332,13338 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 13361,13367 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 13343,13349 **** fabsf(0); ; return 0; } EOF ! if { (eval echo configure:13347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsf_use=yes else --- 13372,13378 ---- fabsf(0); ; return 0; } EOF ! if { (eval echo configure:13376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsf_use=yes else *************** fi *** 13370,13381 **** for ac_func in fabsf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13374: 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:13403: 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 --- 13427,13433 ---- ; return 0; } EOF ! if { (eval echo configure:13431: \"$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 *** 13425,13431 **** else echo $ac_n "checking for _fabsf declaration""... $ac_c" 1>&6 ! echo "configure:13429: 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 --- 13454,13460 ---- else echo $ac_n "checking for _fabsf declaration""... $ac_c" 1>&6 ! echo "configure:13458: 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 *** 13440,13446 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 13469,13475 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 13451,13457 **** _fabsf(0); ; return 0; } EOF ! if { (eval echo configure:13455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsf_use=yes else --- 13480,13486 ---- _fabsf(0); ; return 0; } EOF ! if { (eval echo configure:13484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsf_use=yes else *************** fi *** 13478,13489 **** for ac_func in _fabsf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13482: 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:13511: 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 --- 13535,13541 ---- ; return 0; } EOF ! if { (eval echo configure:13539: \"$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 *** 13536,13542 **** echo $ac_n "checking for fmodf declaration""... $ac_c" 1>&6 ! echo "configure:13540: 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 --- 13565,13571 ---- echo $ac_n "checking for fmodf declaration""... $ac_c" 1>&6 ! echo "configure:13569: 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 *** 13551,13564 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { fmodf(0, 0); ; return 0; } EOF ! if { (eval echo configure:13562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodf_use=yes else --- 13580,13593 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { fmodf(0, 0); ; return 0; } EOF ! if { (eval echo configure:13591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodf_use=yes else *************** fi *** 13585,13596 **** for ac_func in fmodf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13589: 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:13618: 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 --- 13642,13648 ---- ; return 0; } EOF ! if { (eval echo configure:13646: \"$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 *** 13640,13646 **** else echo $ac_n "checking for _fmodf declaration""... $ac_c" 1>&6 ! echo "configure:13644: 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 --- 13669,13675 ---- else echo $ac_n "checking for _fmodf declaration""... $ac_c" 1>&6 ! echo "configure:13673: 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 *** 13655,13668 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _fmodf(0, 0); ; return 0; } EOF ! if { (eval echo configure:13666: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodf_use=yes else --- 13684,13697 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _fmodf(0, 0); ; return 0; } EOF ! if { (eval echo configure:13695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodf_use=yes else *************** fi *** 13689,13700 **** for ac_func in _fmodf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13693: 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:13722: 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 --- 13746,13752 ---- ; return 0; } EOF ! if { (eval echo configure:13750: \"$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 *** 13747,13753 **** echo $ac_n "checking for frexpf declaration""... $ac_c" 1>&6 ! echo "configure:13751: 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 --- 13776,13782 ---- echo $ac_n "checking for frexpf declaration""... $ac_c" 1>&6 ! echo "configure:13780: 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 *** 13762,13775 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { frexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:13773: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpf_use=yes else --- 13791,13804 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { frexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:13802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpf_use=yes else *************** fi *** 13796,13807 **** for ac_func in frexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13800: 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:13829: 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 --- 13853,13859 ---- ; return 0; } EOF ! if { (eval echo configure:13857: \"$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 *** 13851,13857 **** else echo $ac_n "checking for _frexpf declaration""... $ac_c" 1>&6 ! echo "configure:13855: 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 --- 13880,13886 ---- else echo $ac_n "checking for _frexpf declaration""... $ac_c" 1>&6 ! echo "configure:13884: 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 *** 13866,13879 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _frexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:13877: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpf_use=yes else --- 13895,13908 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _frexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:13906: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpf_use=yes else *************** fi *** 13900,13911 **** for ac_func in _frexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:13904: 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:13933: 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 --- 13957,13963 ---- ; return 0; } EOF ! if { (eval echo configure:13961: \"$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 *** 13958,13964 **** echo $ac_n "checking for hypotf declaration""... $ac_c" 1>&6 ! echo "configure:13962: 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 --- 13987,13993 ---- echo $ac_n "checking for hypotf declaration""... $ac_c" 1>&6 ! echo "configure:13991: 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 *** 13973,13986 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypotf(0, 0); ; return 0; } EOF ! if { (eval echo configure:13984: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotf_use=yes else --- 14002,14015 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypotf(0, 0); ; return 0; } EOF ! if { (eval echo configure:14013: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotf_use=yes else *************** fi *** 14007,14018 **** for ac_func in hypotf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14011: 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:14040: 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 --- 14064,14070 ---- ; return 0; } EOF ! if { (eval echo configure:14068: \"$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 *** 14062,14068 **** else echo $ac_n "checking for _hypotf declaration""... $ac_c" 1>&6 ! echo "configure:14066: 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 --- 14091,14097 ---- else echo $ac_n "checking for _hypotf declaration""... $ac_c" 1>&6 ! echo "configure:14095: 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 *** 14077,14090 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypotf(0, 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__hypotf_use=yes else --- 14106,14119 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypotf(0, 0); ; return 0; } EOF ! if { (eval echo configure:14117: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypotf_use=yes else *************** fi *** 14111,14122 **** for ac_func in _hypotf 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:14144: 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 --- 14168,14174 ---- ; return 0; } EOF ! if { (eval echo configure:14172: \"$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 *** 14169,14175 **** echo $ac_n "checking for ldexpf declaration""... $ac_c" 1>&6 ! echo "configure:14173: 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 --- 14198,14204 ---- echo $ac_n "checking for ldexpf declaration""... $ac_c" 1>&6 ! echo "configure:14202: 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 *** 14184,14197 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { ldexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:14195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpf_use=yes else --- 14213,14226 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { ldexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:14224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpf_use=yes else *************** fi *** 14218,14229 **** for ac_func in ldexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14222: 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:14251: 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 --- 14275,14281 ---- ; return 0; } EOF ! if { (eval echo configure:14279: \"$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 *** 14273,14279 **** else echo $ac_n "checking for _ldexpf declaration""... $ac_c" 1>&6 ! echo "configure:14277: 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 --- 14302,14308 ---- else echo $ac_n "checking for _ldexpf declaration""... $ac_c" 1>&6 ! echo "configure:14306: 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 *** 14288,14301 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _ldexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:14299: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpf_use=yes else --- 14317,14330 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _ldexpf(0, 0); ; return 0; } EOF ! if { (eval echo configure:14328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpf_use=yes else *************** fi *** 14322,14333 **** for ac_func in _ldexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14326: 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:14355: 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 --- 14379,14385 ---- ; return 0; } EOF ! if { (eval echo configure:14383: \"$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 *** 14380,14386 **** echo $ac_n "checking for logf declaration""... $ac_c" 1>&6 ! echo "configure:14384: 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 --- 14409,14415 ---- echo $ac_n "checking for logf declaration""... $ac_c" 1>&6 ! echo "configure:14413: 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 *** 14395,14401 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 14424,14430 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 14406,14412 **** logf(0); ; return 0; } EOF ! if { (eval echo configure:14410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logf_use=yes else --- 14435,14441 ---- logf(0); ; return 0; } EOF ! if { (eval echo configure:14439: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logf_use=yes else *************** fi *** 14433,14444 **** for ac_func in logf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14437: 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:14466: 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 --- 14490,14496 ---- ; return 0; } EOF ! if { (eval echo configure:14494: \"$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 **** else echo $ac_n "checking for _logf declaration""... $ac_c" 1>&6 ! echo "configure:14492: 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 --- 14517,14523 ---- else echo $ac_n "checking for _logf declaration""... $ac_c" 1>&6 ! echo "configure:14521: 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 *** 14503,14509 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 14532,14538 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 14514,14520 **** _logf(0); ; return 0; } EOF ! if { (eval echo configure:14518: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logf_use=yes else --- 14543,14549 ---- _logf(0); ; return 0; } EOF ! if { (eval echo configure:14547: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logf_use=yes else *************** fi *** 14541,14552 **** for ac_func in _logf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14545: 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:14574: 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 --- 14598,14604 ---- ; return 0; } EOF ! if { (eval echo configure:14602: \"$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 *** 14599,14605 **** echo $ac_n "checking for log10f declaration""... $ac_c" 1>&6 ! echo "configure:14603: 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 --- 14628,14634 ---- echo $ac_n "checking for log10f declaration""... $ac_c" 1>&6 ! echo "configure:14632: 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 *** 14614,14620 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 14643,14649 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 14625,14631 **** log10f(0); ; return 0; } EOF ! if { (eval echo configure:14629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10f_use=yes else --- 14654,14660 ---- log10f(0); ; return 0; } EOF ! if { (eval echo configure:14658: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10f_use=yes else *************** fi *** 14652,14663 **** for ac_func in log10f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14656: 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:14685: 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 --- 14709,14715 ---- ; return 0; } EOF ! if { (eval echo configure:14713: \"$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 *** 14707,14713 **** else echo $ac_n "checking for _log10f declaration""... $ac_c" 1>&6 ! echo "configure:14711: 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 --- 14736,14742 ---- else echo $ac_n "checking for _log10f declaration""... $ac_c" 1>&6 ! echo "configure:14740: 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 *** 14722,14728 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 14751,14757 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 14733,14739 **** _log10f(0); ; return 0; } EOF ! if { (eval echo configure:14737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10f_use=yes else --- 14762,14768 ---- _log10f(0); ; return 0; } EOF ! if { (eval echo configure:14766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10f_use=yes else *************** fi *** 14760,14771 **** for ac_func in _log10f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14764: 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:14793: 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 --- 14817,14823 ---- ; return 0; } EOF ! if { (eval echo configure:14821: \"$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 *** 14818,14824 **** echo $ac_n "checking for modff declaration""... $ac_c" 1>&6 ! echo "configure:14822: 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 --- 14847,14853 ---- echo $ac_n "checking for modff declaration""... $ac_c" 1>&6 ! echo "configure:14851: 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 *** 14833,14846 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { modff(0, 0); ; return 0; } EOF ! if { (eval echo configure:14844: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modff_use=yes else --- 14862,14875 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { modff(0, 0); ; return 0; } EOF ! if { (eval echo configure:14873: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modff_use=yes else *************** fi *** 14867,14878 **** for ac_func in modff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14871: 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:14900: 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 --- 14924,14930 ---- ; return 0; } EOF ! if { (eval echo configure:14928: \"$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 *** 14922,14928 **** else echo $ac_n "checking for _modff declaration""... $ac_c" 1>&6 ! echo "configure:14926: 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 --- 14951,14957 ---- else echo $ac_n "checking for _modff declaration""... $ac_c" 1>&6 ! echo "configure:14955: 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 *** 14937,14950 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _modff(0, 0); ; return 0; } EOF ! if { (eval echo configure:14948: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modff_use=yes else --- 14966,14979 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _modff(0, 0); ; return 0; } EOF ! if { (eval echo configure:14977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modff_use=yes else *************** fi *** 14971,14982 **** for ac_func in _modff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:14975: 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:15004: 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 --- 15028,15034 ---- ; return 0; } EOF ! if { (eval echo configure:15032: \"$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 *** 15029,15035 **** echo $ac_n "checking for powf declaration""... $ac_c" 1>&6 ! echo "configure:15033: 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 --- 15058,15064 ---- echo $ac_n "checking for powf declaration""... $ac_c" 1>&6 ! echo "configure:15062: 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 *** 15044,15057 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { powf(0, 0); ; return 0; } EOF ! if { (eval echo configure:15055: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powf_use=yes else --- 15073,15086 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { powf(0, 0); ; return 0; } EOF ! if { (eval echo configure:15084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powf_use=yes else *************** fi *** 15078,15089 **** for ac_func in powf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15082: 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:15111: 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 --- 15135,15141 ---- ; return 0; } EOF ! if { (eval echo configure:15139: \"$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 *** 15133,15139 **** else echo $ac_n "checking for _powf declaration""... $ac_c" 1>&6 ! echo "configure:15137: 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 --- 15162,15168 ---- else echo $ac_n "checking for _powf declaration""... $ac_c" 1>&6 ! echo "configure:15166: 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 *** 15148,15161 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _powf(0, 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__powf_use=yes else --- 15177,15190 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _powf(0, 0); ; return 0; } EOF ! if { (eval echo configure:15188: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__powf_use=yes else *************** fi *** 15182,15193 **** for ac_func in _powf 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:15215: 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 --- 15239,15245 ---- ; return 0; } EOF ! if { (eval echo configure:15243: \"$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 *** 15240,15246 **** echo $ac_n "checking for sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:15244: 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 --- 15269,15275 ---- echo $ac_n "checking for sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:15273: 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 *** 15255,15261 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 15284,15290 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 15266,15272 **** sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:15270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtf_use=yes else --- 15295,15301 ---- sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:15299: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtf_use=yes else *************** fi *** 15293,15304 **** for ac_func in sqrtf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15297: 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:15326: 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 --- 15350,15356 ---- ; return 0; } EOF ! if { (eval echo configure:15354: \"$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 *** 15348,15354 **** else echo $ac_n "checking for _sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:15352: 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 --- 15377,15383 ---- else echo $ac_n "checking for _sqrtf declaration""... $ac_c" 1>&6 ! echo "configure:15381: 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 *** 15363,15369 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 15392,15398 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 15374,15380 **** _sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:15378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtf_use=yes else --- 15403,15409 ---- _sqrtf(0); ; return 0; } EOF ! if { (eval echo configure:15407: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtf_use=yes else *************** fi *** 15401,15412 **** for ac_func in _sqrtf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15405: 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:15434: 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 --- 15458,15464 ---- ; return 0; } EOF ! if { (eval echo configure:15462: \"$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 *** 15459,15465 **** echo $ac_n "checking for sincosf declaration""... $ac_c" 1>&6 ! echo "configure:15463: 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 --- 15488,15494 ---- echo $ac_n "checking for sincosf declaration""... $ac_c" 1>&6 ! echo "configure:15492: 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 *** 15474,15487 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincosf(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:15485: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosf_use=yes else --- 15503,15516 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincosf(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:15514: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosf_use=yes else *************** fi *** 15508,15519 **** for ac_func in sincosf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15512: 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:15541: 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 --- 15565,15571 ---- ; return 0; } EOF ! if { (eval echo configure:15569: \"$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 *** 15563,15569 **** else echo $ac_n "checking for _sincosf declaration""... $ac_c" 1>&6 ! echo "configure:15567: 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 --- 15592,15598 ---- else echo $ac_n "checking for _sincosf declaration""... $ac_c" 1>&6 ! echo "configure:15596: 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 *** 15578,15591 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincosf(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:15589: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosf_use=yes else --- 15607,15620 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincosf(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:15618: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosf_use=yes else *************** fi *** 15612,15623 **** for ac_func in _sincosf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15616: 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:15645: 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 --- 15669,15675 ---- ; return 0; } EOF ! if { (eval echo configure:15673: \"$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 *** 15670,15676 **** echo $ac_n "checking for finitef declaration""... $ac_c" 1>&6 ! echo "configure:15674: 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 --- 15699,15705 ---- echo $ac_n "checking for finitef declaration""... $ac_c" 1>&6 ! echo "configure:15703: 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 *** 15685,15691 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 15714,15720 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 15696,15702 **** finitef(0); ; return 0; } EOF ! if { (eval echo configure:15700: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitef_use=yes else --- 15725,15731 ---- finitef(0); ; return 0; } EOF ! if { (eval echo configure:15729: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitef_use=yes else *************** fi *** 15723,15734 **** for ac_func in finitef do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15727: 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:15756: 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 --- 15780,15786 ---- ; return 0; } EOF ! if { (eval echo configure:15784: \"$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 *** 15778,15784 **** else echo $ac_n "checking for _finitef declaration""... $ac_c" 1>&6 ! echo "configure:15782: 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 --- 15807,15813 ---- else echo $ac_n "checking for _finitef declaration""... $ac_c" 1>&6 ! echo "configure:15811: 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 *** 15793,15799 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 15822,15828 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 15804,15810 **** _finitef(0); ; return 0; } EOF ! if { (eval echo configure:15808: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitef_use=yes else --- 15833,15839 ---- _finitef(0); ; return 0; } EOF ! if { (eval echo configure:15837: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitef_use=yes else *************** fi *** 15831,15842 **** for ac_func in _finitef do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15835: 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:15864: 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 --- 15888,15894 ---- ; return 0; } EOF ! if { (eval echo configure:15892: \"$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 *** 15889,15895 **** echo $ac_n "checking for long double trig functions""... $ac_c" 1>&6 ! echo "configure:15893: 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 --- 15918,15924 ---- echo $ac_n "checking for long double trig functions""... $ac_c" 1>&6 ! echo "configure:15922: 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 *** 15903,15909 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { --- 15932,15938 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { *************** int main() { *** 15912,15918 **** coshl sinhl tanhl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15916: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_trig_use=yes else --- 15941,15947 ---- coshl sinhl tanhl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:15945: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_trig_use=yes else *************** fi *** 15938,15949 **** coshl sinhl tanhl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:15942: 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:15971: 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 --- 15995,16001 ---- ; return 0; } EOF ! if { (eval echo configure:15999: \"$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 *** 15994,16000 **** echo $ac_n "checking for long double round functions""... $ac_c" 1>&6 ! echo "configure:15998: 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 --- 16023,16029 ---- echo $ac_n "checking for long double round functions""... $ac_c" 1>&6 ! echo "configure:16027: 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 *** 16008,16021 **** 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:16019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_round_use=yes else --- 16037,16050 ---- 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:16048: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_round_use=yes else *************** fi *** 16039,16050 **** for ac_func in ceill floorl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16043: 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:16072: 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 --- 16096,16102 ---- ; return 0; } EOF ! if { (eval echo configure:16100: \"$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 *** 16096,16102 **** echo $ac_n "checking for isnanl declaration""... $ac_c" 1>&6 ! echo "configure:16100: 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 --- 16125,16131 ---- echo $ac_n "checking for isnanl declaration""... $ac_c" 1>&6 ! echo "configure:16129: 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 *** 16111,16117 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 16140,16146 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 16122,16128 **** isnanl(0); ; return 0; } EOF ! if { (eval echo configure:16126: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanl_use=yes else --- 16151,16157 ---- isnanl(0); ; return 0; } EOF ! if { (eval echo configure:16155: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanl_use=yes else *************** fi *** 16149,16160 **** for ac_func in isnanl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16153: 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:16182: 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 --- 16206,16212 ---- ; return 0; } EOF ! if { (eval echo configure:16210: \"$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 *** 16204,16210 **** else echo $ac_n "checking for _isnanl declaration""... $ac_c" 1>&6 ! echo "configure:16208: 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 --- 16233,16239 ---- else echo $ac_n "checking for _isnanl declaration""... $ac_c" 1>&6 ! echo "configure:16237: 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 *** 16219,16225 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 16248,16254 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 16230,16236 **** _isnanl(0); ; return 0; } EOF ! if { (eval echo configure:16234: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnanl_use=yes else --- 16259,16265 ---- _isnanl(0); ; return 0; } EOF ! if { (eval echo configure:16263: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnanl_use=yes else *************** fi *** 16257,16268 **** for ac_func in _isnanl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16261: 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:16290: 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 --- 16314,16320 ---- ; return 0; } EOF ! if { (eval echo configure:16318: \"$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 *** 16315,16321 **** echo $ac_n "checking for isinfl declaration""... $ac_c" 1>&6 ! echo "configure:16319: 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 --- 16344,16350 ---- echo $ac_n "checking for isinfl declaration""... $ac_c" 1>&6 ! echo "configure:16348: 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 *** 16330,16336 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 16359,16365 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 16341,16347 **** isinfl(0); ; return 0; } EOF ! if { (eval echo configure:16345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinfl_use=yes else --- 16370,16376 ---- isinfl(0); ; return 0; } EOF ! if { (eval echo configure:16374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinfl_use=yes else *************** fi *** 16368,16379 **** for ac_func in isinfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16372: 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:16401: 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 --- 16425,16431 ---- ; return 0; } EOF ! if { (eval echo configure:16429: \"$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 *** 16423,16429 **** else echo $ac_n "checking for _isinfl declaration""... $ac_c" 1>&6 ! echo "configure:16427: 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 --- 16452,16458 ---- else echo $ac_n "checking for _isinfl declaration""... $ac_c" 1>&6 ! echo "configure:16456: 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 *** 16438,16444 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 16467,16473 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 16449,16455 **** _isinfl(0); ; return 0; } EOF ! if { (eval echo configure:16453: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinfl_use=yes else --- 16478,16484 ---- _isinfl(0); ; return 0; } EOF ! if { (eval echo configure:16482: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinfl_use=yes else *************** fi *** 16476,16487 **** for ac_func in _isinfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16480: 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:16509: 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 --- 16533,16539 ---- ; return 0; } EOF ! if { (eval echo configure:16537: \"$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 *** 16534,16540 **** echo $ac_n "checking for copysignl declaration""... $ac_c" 1>&6 ! echo "configure:16538: 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 --- 16563,16569 ---- echo $ac_n "checking for copysignl declaration""... $ac_c" 1>&6 ! echo "configure:16567: 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 *** 16549,16562 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { copysignl(0, 0); ; return 0; } EOF ! if { (eval echo configure:16560: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysignl_use=yes else --- 16578,16591 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { copysignl(0, 0); ; return 0; } EOF ! if { (eval echo configure:16589: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysignl_use=yes else *************** fi *** 16583,16594 **** for ac_func in copysignl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16587: 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:16616: 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 --- 16640,16646 ---- ; return 0; } EOF ! if { (eval echo configure:16644: \"$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 *** 16638,16644 **** else echo $ac_n "checking for _copysignl declaration""... $ac_c" 1>&6 ! echo "configure:16642: 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 --- 16667,16673 ---- else echo $ac_n "checking for _copysignl declaration""... $ac_c" 1>&6 ! echo "configure:16671: 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 *** 16653,16666 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _copysignl(0, 0); ; return 0; } EOF ! if { (eval echo configure:16664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__copysignl_use=yes else --- 16682,16695 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _copysignl(0, 0); ; return 0; } EOF ! if { (eval echo configure:16693: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__copysignl_use=yes else *************** fi *** 16687,16698 **** for ac_func in _copysignl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16691: 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:16720: 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 --- 16744,16750 ---- ; return 0; } EOF ! if { (eval echo configure:16748: \"$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 *** 16745,16751 **** echo $ac_n "checking for atan2l declaration""... $ac_c" 1>&6 ! echo "configure:16749: 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 --- 16774,16780 ---- echo $ac_n "checking for atan2l declaration""... $ac_c" 1>&6 ! echo "configure:16778: 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 *** 16760,16773 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { atan2l(0, 0); ; return 0; } EOF ! if { (eval echo configure:16771: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2l_use=yes else --- 16789,16802 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { atan2l(0, 0); ; return 0; } EOF ! if { (eval echo configure:16800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2l_use=yes else *************** fi *** 16794,16805 **** for ac_func in atan2l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16798: 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:16827: 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 --- 16851,16857 ---- ; return 0; } EOF ! if { (eval echo configure:16855: \"$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 *** 16849,16855 **** else echo $ac_n "checking for _atan2l declaration""... $ac_c" 1>&6 ! echo "configure:16853: 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 --- 16878,16884 ---- else echo $ac_n "checking for _atan2l declaration""... $ac_c" 1>&6 ! echo "configure:16882: 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 *** 16864,16877 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _atan2l(0, 0); ; return 0; } EOF ! if { (eval echo configure:16875: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2l_use=yes else --- 16893,16906 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _atan2l(0, 0); ; return 0; } EOF ! if { (eval echo configure:16904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2l_use=yes else *************** fi *** 16898,16909 **** for ac_func in _atan2l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:16902: 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:16931: 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 --- 16955,16961 ---- ; return 0; } EOF ! if { (eval echo configure:16959: \"$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 *** 16956,16962 **** echo $ac_n "checking for expl declaration""... $ac_c" 1>&6 ! echo "configure:16960: 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 --- 16985,16991 ---- echo $ac_n "checking for expl declaration""... $ac_c" 1>&6 ! echo "configure:16989: 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 *** 16971,16977 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 17000,17006 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 16982,16988 **** expl(0); ; return 0; } EOF ! if { (eval echo configure:16986: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_expl_use=yes else --- 17011,17017 ---- expl(0); ; return 0; } EOF ! if { (eval echo configure:17015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_expl_use=yes else *************** fi *** 17009,17020 **** for ac_func in expl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17013: 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:17042: 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 --- 17066,17072 ---- ; return 0; } EOF ! if { (eval echo configure:17070: \"$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 *** 17064,17070 **** else echo $ac_n "checking for _expl declaration""... $ac_c" 1>&6 ! echo "configure:17068: 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 --- 17093,17099 ---- else echo $ac_n "checking for _expl declaration""... $ac_c" 1>&6 ! echo "configure:17097: 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 *** 17079,17085 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 17108,17114 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 17090,17096 **** _expl(0); ; return 0; } EOF ! if { (eval echo configure:17094: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__expl_use=yes else --- 17119,17125 ---- _expl(0); ; return 0; } EOF ! if { (eval echo configure:17123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__expl_use=yes else *************** fi *** 17117,17128 **** for ac_func in _expl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17121: 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:17150: 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 --- 17174,17180 ---- ; return 0; } EOF ! if { (eval echo configure:17178: \"$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 *** 17175,17181 **** echo $ac_n "checking for fabsl declaration""... $ac_c" 1>&6 ! echo "configure:17179: 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 --- 17204,17210 ---- echo $ac_n "checking for fabsl declaration""... $ac_c" 1>&6 ! echo "configure:17208: 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 *** 17190,17196 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 17219,17225 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 17201,17207 **** fabsl(0); ; return 0; } EOF ! if { (eval echo configure:17205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsl_use=yes else --- 17230,17236 ---- fabsl(0); ; return 0; } EOF ! if { (eval echo configure:17234: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsl_use=yes else *************** fi *** 17228,17239 **** for ac_func in fabsl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17232: 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:17261: 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 --- 17285,17291 ---- ; return 0; } EOF ! if { (eval echo configure:17289: \"$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 *** 17283,17289 **** else echo $ac_n "checking for _fabsl declaration""... $ac_c" 1>&6 ! echo "configure:17287: 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 --- 17312,17318 ---- else echo $ac_n "checking for _fabsl declaration""... $ac_c" 1>&6 ! echo "configure:17316: 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 *** 17298,17304 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 17327,17333 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 17309,17315 **** _fabsl(0); ; return 0; } EOF ! if { (eval echo configure:17313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsl_use=yes else --- 17338,17344 ---- _fabsl(0); ; return 0; } EOF ! if { (eval echo configure:17342: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsl_use=yes else *************** fi *** 17336,17347 **** for ac_func in _fabsl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17340: 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:17369: 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 --- 17393,17399 ---- ; return 0; } EOF ! if { (eval echo configure:17397: \"$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 *** 17394,17400 **** echo $ac_n "checking for fmodl declaration""... $ac_c" 1>&6 ! echo "configure:17398: 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 --- 17423,17429 ---- echo $ac_n "checking for fmodl declaration""... $ac_c" 1>&6 ! echo "configure:17427: 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 *** 17409,17422 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { fmodl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17420: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodl_use=yes else --- 17438,17451 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { fmodl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodl_use=yes else *************** fi *** 17443,17454 **** for ac_func in fmodl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17447: 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:17476: 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 --- 17500,17506 ---- ; return 0; } EOF ! if { (eval echo configure:17504: \"$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 *** 17498,17504 **** else echo $ac_n "checking for _fmodl declaration""... $ac_c" 1>&6 ! echo "configure:17502: 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 --- 17527,17533 ---- else echo $ac_n "checking for _fmodl declaration""... $ac_c" 1>&6 ! echo "configure:17531: 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 *** 17513,17526 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _fmodl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17524: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodl_use=yes else --- 17542,17555 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _fmodl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17553: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodl_use=yes else *************** fi *** 17547,17558 **** for ac_func in _fmodl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17551: 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:17580: 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 --- 17604,17610 ---- ; return 0; } EOF ! if { (eval echo configure:17608: \"$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 *** 17605,17611 **** echo $ac_n "checking for frexpl declaration""... $ac_c" 1>&6 ! echo "configure:17609: 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 --- 17634,17640 ---- echo $ac_n "checking for frexpl declaration""... $ac_c" 1>&6 ! echo "configure:17638: 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 *** 17620,17633 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { frexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpl_use=yes else --- 17649,17662 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { frexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpl_use=yes else *************** fi *** 17654,17665 **** for ac_func in frexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17658: 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:17687: 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 --- 17711,17717 ---- ; return 0; } EOF ! if { (eval echo configure:17715: \"$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 *** 17709,17715 **** else echo $ac_n "checking for _frexpl declaration""... $ac_c" 1>&6 ! echo "configure:17713: 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 --- 17738,17744 ---- else echo $ac_n "checking for _frexpl declaration""... $ac_c" 1>&6 ! echo "configure:17742: 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 *** 17724,17737 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _frexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17735: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpl_use=yes else --- 17753,17766 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _frexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17764: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpl_use=yes else *************** fi *** 17758,17769 **** for ac_func in _frexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17762: 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:17791: 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 --- 17815,17821 ---- ; return 0; } EOF ! if { (eval echo configure:17819: \"$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 *** 17816,17822 **** echo $ac_n "checking for hypotl declaration""... $ac_c" 1>&6 ! echo "configure:17820: 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 --- 17845,17851 ---- echo $ac_n "checking for hypotl declaration""... $ac_c" 1>&6 ! echo "configure:17849: 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 *** 17831,17844 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypotl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotl_use=yes else --- 17860,17873 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { hypotl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotl_use=yes else *************** fi *** 17865,17876 **** for ac_func in hypotl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17869: 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:17898: 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 --- 17922,17928 ---- ; return 0; } EOF ! if { (eval echo configure:17926: \"$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 *** 17920,17926 **** else echo $ac_n "checking for _hypotl declaration""... $ac_c" 1>&6 ! echo "configure:17924: 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 --- 17949,17955 ---- else echo $ac_n "checking for _hypotl declaration""... $ac_c" 1>&6 ! echo "configure:17953: 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 *** 17935,17948 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypotl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypotl_use=yes else --- 17964,17977 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _hypotl(0, 0); ; return 0; } EOF ! if { (eval echo configure:17975: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypotl_use=yes else *************** fi *** 17969,17980 **** for ac_func in _hypotl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:17973: 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:18002: 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 --- 18026,18032 ---- ; return 0; } EOF ! if { (eval echo configure:18030: \"$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 *** 18027,18033 **** echo $ac_n "checking for ldexpl declaration""... $ac_c" 1>&6 ! echo "configure:18031: 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 --- 18056,18062 ---- echo $ac_n "checking for ldexpl declaration""... $ac_c" 1>&6 ! echo "configure:18060: 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 *** 18042,18055 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { ldexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpl_use=yes else --- 18071,18084 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { ldexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpl_use=yes else *************** fi *** 18076,18087 **** for ac_func in ldexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:18080: 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:18109: 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 --- 18133,18139 ---- ; return 0; } EOF ! if { (eval echo configure:18137: \"$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 *** 18131,18137 **** else echo $ac_n "checking for _ldexpl declaration""... $ac_c" 1>&6 ! echo "configure:18135: 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 --- 18160,18166 ---- else echo $ac_n "checking for _ldexpl declaration""... $ac_c" 1>&6 ! echo "configure:18164: 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 *** 18146,18159 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _ldexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpl_use=yes else --- 18175,18188 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _ldexpl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18186: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpl_use=yes else *************** fi *** 18180,18191 **** for ac_func in _ldexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:18184: 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:18213: 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 --- 18237,18243 ---- ; return 0; } EOF ! if { (eval echo configure:18241: \"$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 *** 18238,18244 **** echo $ac_n "checking for logl declaration""... $ac_c" 1>&6 ! echo "configure:18242: 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 --- 18267,18273 ---- echo $ac_n "checking for logl declaration""... $ac_c" 1>&6 ! echo "configure:18271: 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 *** 18253,18259 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 18282,18288 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 18264,18270 **** logl(0); ; return 0; } EOF ! if { (eval echo configure:18268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logl_use=yes else --- 18293,18299 ---- logl(0); ; return 0; } EOF ! if { (eval echo configure:18297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logl_use=yes else *************** fi *** 18291,18302 **** for ac_func in logl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:18295: 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:18324: 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 --- 18348,18354 ---- ; return 0; } EOF ! if { (eval echo configure:18352: \"$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 *** 18346,18352 **** else echo $ac_n "checking for _logl declaration""... $ac_c" 1>&6 ! echo "configure:18350: 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 --- 18375,18381 ---- else echo $ac_n "checking for _logl declaration""... $ac_c" 1>&6 ! echo "configure:18379: 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 *** 18361,18367 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 18390,18396 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 18372,18378 **** _logl(0); ; return 0; } EOF ! if { (eval echo configure:18376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logl_use=yes else --- 18401,18407 ---- _logl(0); ; return 0; } EOF ! if { (eval echo configure:18405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logl_use=yes else *************** fi *** 18399,18410 **** for ac_func in _logl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:18403: 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:18432: 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 --- 18456,18462 ---- ; return 0; } EOF ! if { (eval echo configure:18460: \"$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 *** 18457,18463 **** echo $ac_n "checking for log10l declaration""... $ac_c" 1>&6 ! echo "configure:18461: 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 --- 18486,18492 ---- echo $ac_n "checking for log10l declaration""... $ac_c" 1>&6 ! echo "configure:18490: 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 *** 18472,18478 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 18501,18507 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 18483,18489 **** log10l(0); ; return 0; } EOF ! if { (eval echo configure:18487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10l_use=yes else --- 18512,18518 ---- log10l(0); ; return 0; } EOF ! if { (eval echo configure:18516: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10l_use=yes else *************** fi *** 18510,18521 **** for ac_func in log10l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:18514: 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:18543: 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 --- 18567,18573 ---- ; return 0; } EOF ! if { (eval echo configure:18571: \"$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 *** 18565,18571 **** else echo $ac_n "checking for _log10l declaration""... $ac_c" 1>&6 ! echo "configure:18569: 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 --- 18594,18600 ---- else echo $ac_n "checking for _log10l declaration""... $ac_c" 1>&6 ! echo "configure:18598: 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 *** 18580,18586 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 18609,18615 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 18591,18597 **** _log10l(0); ; return 0; } EOF ! if { (eval echo configure:18595: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10l_use=yes else --- 18620,18626 ---- _log10l(0); ; return 0; } EOF ! if { (eval echo configure:18624: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10l_use=yes else *************** fi *** 18618,18629 **** for ac_func in _log10l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:18622: 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:18651: 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 --- 18675,18681 ---- ; return 0; } EOF ! if { (eval echo configure:18679: \"$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 *** 18676,18682 **** echo $ac_n "checking for modfl declaration""... $ac_c" 1>&6 ! echo "configure:18680: 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 --- 18705,18711 ---- echo $ac_n "checking for modfl declaration""... $ac_c" 1>&6 ! echo "configure:18709: 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 *** 18691,18704 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { modfl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18702: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modfl_use=yes else --- 18720,18733 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { modfl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modfl_use=yes else *************** fi *** 18725,18736 **** for ac_func in modfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:18729: 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:18758: 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 --- 18782,18788 ---- ; return 0; } EOF ! if { (eval echo configure:18786: \"$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 *** 18780,18786 **** else echo $ac_n "checking for _modfl declaration""... $ac_c" 1>&6 ! echo "configure:18784: 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 --- 18809,18815 ---- else echo $ac_n "checking for _modfl declaration""... $ac_c" 1>&6 ! echo "configure:18813: 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 *** 18795,18808 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _modfl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18806: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modfl_use=yes else --- 18824,18837 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _modfl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modfl_use=yes else *************** fi *** 18829,18840 **** for ac_func in _modfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:18833: 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:18862: 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 --- 18886,18892 ---- ; return 0; } EOF ! if { (eval echo configure:18890: \"$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 *** 18887,18893 **** echo $ac_n "checking for powl declaration""... $ac_c" 1>&6 ! echo "configure:18891: 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 --- 18916,18922 ---- echo $ac_n "checking for powl declaration""... $ac_c" 1>&6 ! echo "configure:18920: 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 *** 18902,18915 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { powl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18913: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powl_use=yes else --- 18931,18944 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { powl(0, 0); ; return 0; } EOF ! if { (eval echo configure:18942: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powl_use=yes else *************** fi *** 18936,18947 **** for ac_func in powl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:18940: 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:18969: 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 --- 18993,18999 ---- ; return 0; } EOF ! if { (eval echo configure:18997: \"$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 *** 18991,18997 **** else echo $ac_n "checking for _powl declaration""... $ac_c" 1>&6 ! echo "configure:18995: 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 --- 19020,19026 ---- else echo $ac_n "checking for _powl declaration""... $ac_c" 1>&6 ! echo "configure:19024: 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 *** 19006,19019 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _powl(0, 0); ; return 0; } EOF ! if { (eval echo configure:19017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__powl_use=yes else --- 19035,19048 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _powl(0, 0); ; return 0; } EOF ! if { (eval echo configure:19046: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__powl_use=yes else *************** fi *** 19040,19051 **** for ac_func in _powl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:19044: 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:19073: 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 --- 19097,19103 ---- ; return 0; } EOF ! if { (eval echo configure:19101: \"$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 *** 19098,19104 **** echo $ac_n "checking for sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:19102: 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 --- 19127,19133 ---- echo $ac_n "checking for sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:19131: 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 *** 19113,19119 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 19142,19148 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 19124,19130 **** sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:19128: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtl_use=yes else --- 19153,19159 ---- sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:19157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtl_use=yes else *************** fi *** 19151,19162 **** for ac_func in sqrtl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:19155: 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:19184: 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 --- 19208,19214 ---- ; return 0; } EOF ! if { (eval echo configure:19212: \"$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 *** 19206,19212 **** else echo $ac_n "checking for _sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:19210: 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 --- 19235,19241 ---- else echo $ac_n "checking for _sqrtl declaration""... $ac_c" 1>&6 ! echo "configure:19239: 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 *** 19221,19227 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 19250,19256 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 19232,19238 **** _sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:19236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtl_use=yes else --- 19261,19267 ---- _sqrtl(0); ; return 0; } EOF ! if { (eval echo configure:19265: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtl_use=yes else *************** fi *** 19259,19270 **** for ac_func in _sqrtl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:19263: 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:19292: 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 --- 19316,19322 ---- ; return 0; } EOF ! if { (eval echo configure:19320: \"$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 *** 19317,19323 **** echo $ac_n "checking for sincosl declaration""... $ac_c" 1>&6 ! echo "configure:19321: 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 --- 19346,19352 ---- echo $ac_n "checking for sincosl declaration""... $ac_c" 1>&6 ! echo "configure:19350: 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 *** 19332,19345 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincosl(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:19343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosl_use=yes else --- 19361,19374 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { sincosl(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:19372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosl_use=yes else *************** fi *** 19366,19377 **** for ac_func in sincosl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:19370: 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:19399: 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 --- 19423,19429 ---- ; return 0; } EOF ! if { (eval echo configure:19427: \"$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 *** 19421,19427 **** else echo $ac_n "checking for _sincosl declaration""... $ac_c" 1>&6 ! echo "configure:19425: 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 --- 19450,19456 ---- else echo $ac_n "checking for _sincosl declaration""... $ac_c" 1>&6 ! echo "configure:19454: 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 *** 19436,19449 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincosl(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:19447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosl_use=yes else --- 19465,19478 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { _sincosl(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:19476: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosl_use=yes else *************** fi *** 19470,19481 **** for ac_func in _sincosl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:19474: 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:19503: 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 --- 19527,19533 ---- ; return 0; } EOF ! if { (eval echo configure:19531: \"$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 *** 19528,19534 **** echo $ac_n "checking for finitel declaration""... $ac_c" 1>&6 ! echo "configure:19532: 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 --- 19557,19563 ---- echo $ac_n "checking for finitel declaration""... $ac_c" 1>&6 ! echo "configure:19561: 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 *** 19543,19549 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 19572,19578 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 19554,19560 **** finitel(0); ; return 0; } EOF ! if { (eval echo configure:19558: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitel_use=yes else --- 19583,19589 ---- finitel(0); ; return 0; } EOF ! if { (eval echo configure:19587: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitel_use=yes else *************** fi *** 19581,19592 **** for ac_func in finitel do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:19585: 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:19614: 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 --- 19638,19644 ---- ; return 0; } EOF ! if { (eval echo configure:19642: \"$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 *** 19636,19642 **** else echo $ac_n "checking for _finitel declaration""... $ac_c" 1>&6 ! echo "configure:19640: 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 --- 19665,19671 ---- else echo $ac_n "checking for _finitel declaration""... $ac_c" 1>&6 ! echo "configure:19669: 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 *** 19651,19657 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H --- 19680,19686 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < #ifdef HAVE_IEEEFP_H *************** int main() { *** 19662,19668 **** _finitel(0); ; return 0; } EOF ! if { (eval echo configure:19666: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitel_use=yes else --- 19691,19697 ---- _finitel(0); ; return 0; } EOF ! if { (eval echo configure:19695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitel_use=yes else *************** fi *** 19689,19700 **** for ac_func in _finitel do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:19693: 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:19722: 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 --- 19746,19752 ---- ; return 0; } EOF ! if { (eval echo configure:19750: \"$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 *** 19748,19754 **** echo $ac_n "checking for _float trig functions""... $ac_c" 1>&6 ! echo "configure:19752: 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 --- 19777,19783 ---- echo $ac_n "checking for _float trig functions""... $ac_c" 1>&6 ! echo "configure:19781: 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 *** 19762,19768 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { --- 19791,19797 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { *************** int main() { *** 19771,19777 **** _coshf _sinhf _tanhf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:19775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_trig_use=yes else --- 19800,19806 ---- _coshf _sinhf _tanhf; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:19804: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_trig_use=yes else *************** fi *** 19797,19808 **** _coshf _sinhf _tanhf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:19801: 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:19830: 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 --- 19854,19860 ---- ; return 0; } EOF ! if { (eval echo configure:19858: \"$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 *** 19853,19859 **** echo $ac_n "checking for _float round functions""... $ac_c" 1>&6 ! echo "configure:19857: 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 --- 19882,19888 ---- echo $ac_n "checking for _float round functions""... $ac_c" 1>&6 ! echo "configure:19886: 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 *** 19867,19880 **** 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:19878: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_round_use=yes else --- 19896,19909 ---- 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:19907: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_round_use=yes else *************** fi *** 19898,19909 **** for ac_func in _ceilf _floorf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:19902: 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:19931: 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 --- 19955,19961 ---- ; return 0; } EOF ! if { (eval echo configure:19959: \"$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 *** 19955,19961 **** echo $ac_n "checking for _long double trig functions""... $ac_c" 1>&6 ! echo "configure:19959: 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 --- 19984,19990 ---- echo $ac_n "checking for _long double trig functions""... $ac_c" 1>&6 ! echo "configure:19988: 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 *** 19969,19975 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { --- 19998,20004 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { *************** int main() { *** 19978,19984 **** _coshl _sinhl _tanhl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:19982: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_trig_use=yes else --- 20007,20013 ---- _coshl _sinhl _tanhl; do echo "$x (0);"; done` ; return 0; } EOF ! if { (eval echo configure:20011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_trig_use=yes else *************** fi *** 20004,20015 **** _coshl _sinhl _tanhl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:20008: 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:20037: 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 --- 20061,20067 ---- ; return 0; } EOF ! if { (eval echo configure:20065: \"$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 *** 20060,20066 **** echo $ac_n "checking for _long double round functions""... $ac_c" 1>&6 ! echo "configure:20064: 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 --- 20089,20095 ---- echo $ac_n "checking for _long double round functions""... $ac_c" 1>&6 ! echo "configure:20093: 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 *** 20074,20087 **** 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:20085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_round_use=yes else --- 20103,20116 ---- 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:20114: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_round_use=yes else *************** fi *** 20105,20116 **** for ac_func in _ceill _floorl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:20109: 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:20138: 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 --- 20162,20168 ---- ; return 0; } EOF ! if { (eval echo configure:20166: \"$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 *** 20165,20171 **** echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:20169: 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 --- 20194,20200 ---- echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 ! echo "configure:20198: 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 *** 20173,20186 **** 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 --- 20202,20215 ---- 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 *** 20210,20221 **** for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:20214: 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:20243: 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 --- 20267,20273 ---- ; return 0; } EOF ! if { (eval echo configure:20271: \"$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 *** 20267,20278 **** for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:20271: 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:20300: 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 --- 20324,20330 ---- ; return 0; } EOF ! if { (eval echo configure:20328: \"$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 *** 20323,20334 **** for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:20327: 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:20356: 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 --- 20380,20386 ---- ; return 0; } EOF ! if { (eval echo configure:20384: \"$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 *** 20381,20392 **** for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:20385: 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:20414: 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 --- 20438,20444 ---- ; return 0; } EOF ! if { (eval echo configure:20442: \"$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 *** 20441,20456 **** echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:20445: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:20454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else --- 20470,20485 ---- echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 ! echo "configure:20474: checking for mbstate_t" >&5 cat > conftest.$ac_ext < int main() { mbstate_t teststate; ; return 0; } EOF ! if { (eval echo configure:20483: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else *************** EOF *** 20472,20488 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:20476: 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:20486: \"$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* --- 20501,20517 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:20505: 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:20515: \"$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 *** 20513,20529 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:20517: 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:20527: \"$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* --- 20542,20558 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:20546: 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:20556: \"$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 *** 20556,20571 **** test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:20560: 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:20569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else --- 20585,20600 ---- test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 ! echo "configure:20589: 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:20598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else *************** rm -f conftest* *** 20578,20586 **** echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:20582: checking for WEOF" >&5 cat > conftest.$ac_ext < --- 20607,20615 ---- echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 ! echo "configure:20611: checking for WEOF" >&5 cat > conftest.$ac_ext < *************** int main() { *** 20589,20595 **** wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:20593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else --- 20618,20624 ---- wint_t i = WEOF; ; return 0; } EOF ! if { (eval echo configure:20622: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else *************** rm -f conftest* *** 20605,20616 **** for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:20609: 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:20638: 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 --- 20662,20668 ---- ; return 0; } EOF ! if { (eval echo configure:20666: \"$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 *** 20668,20679 **** wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:20672: 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:20701: 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 --- 20725,20731 ---- ; return 0; } EOF ! if { (eval echo configure:20729: \"$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 *** 20724,20730 **** echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:20728: 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 --- 20753,20759 ---- echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 ! echo "configure:20757: 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 *************** echo "configure:20728: checking for ISO *** 20736,20752 **** ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:20740: 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:20750: \"$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* --- 20765,20781 ---- ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 ! echo "configure:20769: 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:20779: \"$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 *** 20770,20786 **** ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:20774: 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:20784: \"$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* --- 20799,20815 ---- ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 ! echo "configure:20803: 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:20813: \"$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 *** 20804,20810 **** echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:20808: 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 --- 20833,20839 ---- echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 ! echo "configure:20837: 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 *** 20812,20818 **** 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 --- 20852,20858 ---- iconv() ; return 0; } EOF ! if { (eval echo configure:20856: \"$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 *** 20849,20860 **** 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:20853: 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:20882: 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 --- 20906,20912 ---- ; return 0; } EOF ! if { (eval echo configure:20910: \"$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 *** 20907,20913 **** LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:20911: 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 --- 20936,20942 ---- LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 ! echo "configure:20940: 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 *************** echo "configure:20911: checking for XPG2 *** 20918,20924 **** echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:20922: 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 --- 20947,20953 ---- echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 ! echo "configure:20951: 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 *** 20940,20946 **** echo $ac_n "checking for strtold declaration""... $ac_c" 1>&6 ! echo "configure:20944: 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 --- 20969,20975 ---- echo $ac_n "checking for strtold declaration""... $ac_c" 1>&6 ! echo "configure:20973: 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 *** 20955,20968 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { strtold(0, 0); ; return 0; } EOF ! if { (eval echo configure:20966: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_strtold_use=yes else --- 20984,20997 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { strtold(0, 0); ; return 0; } EOF ! if { (eval echo configure:20995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_strtold_use=yes else *************** fi *** 20988,20999 **** for ac_func in strtold do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:20992: 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:21021: 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 --- 21045,21051 ---- ; return 0; } EOF ! if { (eval echo configure:21049: \"$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 *** 21044,21050 **** echo $ac_n "checking for strtof declaration""... $ac_c" 1>&6 ! echo "configure:21048: checking for strtof declaration" >&5 if test x${glibcpp_cv_func_strtof_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_strtof_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 21073,21079 ---- echo $ac_n "checking for strtof declaration""... $ac_c" 1>&6 ! echo "configure:21077: checking for strtof declaration" >&5 if test x${glibcpp_cv_func_strtof_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_strtof_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 21059,21072 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { strtof(0, 0); ; return 0; } EOF ! if { (eval echo configure:21070: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_strtof_use=yes else --- 21088,21101 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { strtof(0, 0); ; return 0; } EOF ! if { (eval echo configure:21099: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_strtof_use=yes else *************** fi *** 21092,21103 **** for ac_func in strtof do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:21096: 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:21125: 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 --- 21149,21155 ---- ; return 0; } EOF ! if { (eval echo configure:21153: \"$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 *** 21149,21160 **** for ac_func in drand48 do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:21153: 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:21182: 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 --- 21206,21212 ---- ; return 0; } EOF ! if { (eval echo configure:21210: \"$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 *** 21207,21223 **** ac_safe=`echo "locale.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for locale.h""... $ac_c" 1>&6 ! echo "configure:21211: 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:21221: \"$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* --- 21236,21252 ---- ac_safe=`echo "locale.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for locale.h""... $ac_c" 1>&6 ! echo "configure:21240: 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:21250: \"$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 *** 21235,21253 **** echo "$ac_t""yes" 1>&6 echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 ! echo "configure:21239: 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:21251: \"$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 --- 21264,21282 ---- echo "$ac_t""yes" 1>&6 echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 ! echo "configure:21268: 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:21280: \"$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 *************** fi *** 21274,21280 **** cat > conftest.$ac_ext < --- 21303,21309 ---- cat > conftest.$ac_ext < *************** int main() { *** 21283,21289 **** sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1); ; return 0; } EOF ! if { (eval echo configure:21287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_SIGSETJMP 1 --- 21312,21318 ---- sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1); ; return 0; } EOF ! if { (eval echo configure:21316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_SIGSETJMP 1 *************** rm -f conftest* *** 21300,21316 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:21304: 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:21314: \"$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* --- 21329,21345 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:21333: 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:21343: \"$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 *** 21339,21350 **** for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:21343: 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:21372: 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 --- 21396,21402 ---- ; return 0; } EOF ! if { (eval echo configure:21400: \"$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 *** 21392,21398 **** done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 ! echo "configure:21396: 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 --- 21421,21427 ---- done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 ! echo "configure:21425: 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 *** 21400,21406 **** 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 --- 21569,21575 ---- } EOF ! if { (eval echo configure:21573: \"$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 *** 21571,21587 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:21575: 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:21585: \"$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* --- 21600,21616 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:21604: 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:21614: \"$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 *** 21614,21620 **** # Can't do these in a loop, else the resulting syntax is wrong. cat > conftest.$ac_ext < #include --- 21643,21649 ---- # Can't do these in a loop, else the resulting syntax is wrong. cat > conftest.$ac_ext < #include *************** int main() { *** 21623,21629 **** int f = RLIMIT_DATA ; ; return 0; } EOF ! if { (eval echo configure:21627: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else --- 21652,21658 ---- int f = RLIMIT_DATA ; ; return 0; } EOF ! if { (eval echo configure:21656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else *************** EOF *** 21640,21646 **** cat > conftest.$ac_ext < #include --- 21669,21675 ---- cat > conftest.$ac_ext < #include *************** int main() { *** 21649,21655 **** int f = RLIMIT_RSS ; ; return 0; } EOF ! if { (eval echo configure:21653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else --- 21678,21684 ---- int f = RLIMIT_RSS ; ; return 0; } EOF ! if { (eval echo configure:21682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else *************** EOF *** 21666,21672 **** cat > conftest.$ac_ext < #include --- 21695,21701 ---- cat > conftest.$ac_ext < #include *************** int main() { *** 21675,21681 **** int f = RLIMIT_VMEM ; ; return 0; } EOF ! if { (eval echo configure:21679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else --- 21704,21710 ---- int f = RLIMIT_VMEM ; ; return 0; } EOF ! if { (eval echo configure:21708: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else *************** EOF *** 21692,21698 **** cat > conftest.$ac_ext < #include --- 21721,21727 ---- cat > conftest.$ac_ext < #include *************** int main() { *** 21701,21707 **** int f = RLIMIT_AS ; ; return 0; } EOF ! if { (eval echo configure:21705: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else --- 21730,21736 ---- int f = RLIMIT_AS ; ; return 0; } EOF ! if { (eval echo configure:21734: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else *************** EOF *** 21723,21729 **** else cat > conftest.$ac_ext < #include --- 21752,21758 ---- else cat > conftest.$ac_ext < #include *************** int main() { *** 21732,21738 **** struct rlimit r; setrlimit(0, &r); ; return 0; } EOF ! if { (eval echo configure:21736: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_setrlimit=yes else --- 21761,21767 ---- struct rlimit r; setrlimit(0, &r); ; return 0; } EOF ! if { (eval echo configure:21765: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_setrlimit=yes else *************** fi *** 21748,21754 **** fi echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6 ! echo "configure:21752: 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 --- 21777,21783 ---- fi echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6 ! echo "configure:21781: 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 *************** EOF *** 21764,21770 **** # Look for setenv, so that extended locale tests can be performed. echo $ac_n "checking for setenv declaration""... $ac_c" 1>&6 ! echo "configure:21768: checking for setenv declaration" >&5 if test x${glibcpp_cv_func_setenv_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_setenv_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 21793,21799 ---- # Look for setenv, so that extended locale tests can be performed. echo $ac_n "checking for setenv declaration""... $ac_c" 1>&6 ! echo "configure:21797: checking for setenv declaration" >&5 if test x${glibcpp_cv_func_setenv_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_setenv_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** ac_link='${CXX-g++} -o conftest${ac_exee *** 21779,21792 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { setenv(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:21790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_setenv_use=yes else --- 21808,21821 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { setenv(0, 0, 0); ; return 0; } EOF ! if { (eval echo configure:21819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_setenv_use=yes else *************** fi *** 21812,21823 **** for ac_func in setenv do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:21816: 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:21845: 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 --- 21869,21875 ---- ; return 0; } EOF ! if { (eval echo configure:21873: \"$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 *** 21867,21872 **** --- 21896,21916 ---- fi + # Export file names for ABI checking. + baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt" + + + # Don't do ABI checking unless native. + + + if test x"$build" = x"$host" && test -z "$with_cross_host"; then + GLIBCPP_BUILD_ABI_CHECK_TRUE= + GLIBCPP_BUILD_ABI_CHECK_FALSE='#' + else + GLIBCPP_BUILD_ABI_CHECK_TRUE='#' + GLIBCPP_BUILD_ABI_CHECK_FALSE= + fi + fi # This depends on the possibly-skipped linker test above. *************** fi *** 21895,21912 **** # Check to see if libgcc_s exists, indicating that shared libgcc is possible. echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6 ! echo "configure:21899: checking for shared libgcc" >&5 ac_save_CFLAGS="$CFLAGS" CFLAGS=' -lgcc_s' cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_shared_libgcc=yes else --- 21939,21956 ---- # Check to see if libgcc_s exists, indicating that shared libgcc is possible. echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6 ! echo "configure:21943: checking for shared libgcc" >&5 ac_save_CFLAGS="$CFLAGS" CFLAGS=' -lgcc_s' cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_shared_libgcc=yes else *************** if test $enable_symvers = yes ; then *** 21940,21953 **** echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* enable_symvers=gnu else --- 21984,21997 ---- echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* enable_symvers=gnu else *************** case $enable_symvers in *** 21975,21980 **** --- 22019,22028 ---- ;; gnu) LINKER_MAP=config/linker-map.gnu + cat >> confdefs.h <<\EOF + #define _GLIBCPP_SYMVER 1 + EOF + ;; esac *************** else *** 21989,21995 **** GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE= fi echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6 ! echo "configure:21993: checking versioning on shared library symbols" >&5 echo "$ac_t""$enable_symvers" 1>&6 --- 22037,22043 ---- GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE= fi echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6 ! echo "configure:22041: checking versioning on shared library symbols" >&5 echo "$ac_t""$enable_symvers" 1>&6 *************** glibcpp_prefixdir=${prefix} *** 22077,22083 **** # Process the option --with-gxx-include-dir= echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6 ! echo "configure:22081: 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" --- 22125,22131 ---- # Process the option --with-gxx-include-dir= echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6 ! echo "configure:22129: 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 *** 22101,22107 **** # Process the option "--enable-version-specific-runtime-libs" echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6 ! echo "configure:22105: 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" --- 22149,22155 ---- # Process the option "--enable-version-specific-runtime-libs" echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6 ! echo "configure:22153: 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"; *** 22147,22153 **** fi echo $ac_n "checking for install location""... $ac_c" 1>&6 ! echo "configure:22151: checking for install location" >&5 echo "$ac_t""$gxx_include_dir" 1>&6 --- 22195,22201 ---- fi echo $ac_n "checking for install location""... $ac_c" 1>&6 ! echo "configure:22199: checking for install location" >&5 echo "$ac_t""$gxx_include_dir" 1>&6 *************** s%@SECTION_LDFLAGS@%$SECTION_LDFLAGS%g *** 22426,22431 **** --- 22474,22482 ---- s%@OPT_LDFLAGS@%$OPT_LDFLAGS%g s%@LIBMATHOBJS@%$LIBMATHOBJS%g s%@WERROR@%$WERROR%g + s%@baseline_file@%$baseline_file%g + s%@GLIBCPP_BUILD_ABI_CHECK_TRUE@%$GLIBCPP_BUILD_ABI_CHECK_TRUE%g + s%@GLIBCPP_BUILD_ABI_CHECK_FALSE@%$GLIBCPP_BUILD_ABI_CHECK_FALSE%g s%@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@%$GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE%g s%@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@%$GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE%g s%@OS_INC_SRCDIR@%$OS_INC_SRCDIR%g *************** fi; done *** 22659,22666 **** EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF --- 22710,22717 ---- EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF diff -Nrc3pad gcc-3.2/libstdc++-v3/configure.in gcc-3.2.1/libstdc++-v3/configure.in *** gcc-3.2/libstdc++-v3/configure.in Fri Jul 26 23:23:04 2002 --- gcc-3.2.1/libstdc++-v3/configure.in Mon Oct 21 19:35:41 2002 *************** ORIGINAL_LD_FOR_MULTILIBS=$LD *** 13,19 **** PACKAGE=libstdc++ AC_SUBST(PACKAGE) # For libtool versioning info, format is CURRENT:REVISION:AGE ! libtool_VERSION=5:0:0 AC_SUBST(libtool_VERSION) GLIBCPP_TOPREL_CONFIGURE --- 13,19 ---- PACKAGE=libstdc++ AC_SUBST(PACKAGE) # For libtool versioning info, format is CURRENT:REVISION:AGE ! libtool_VERSION=5:1:0 AC_SUBST(libtool_VERSION) GLIBCPP_TOPREL_CONFIGURE *************** if test -n "$with_cross_host" || test x" *** 91,97 **** # GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT # GLIBCPP_CHECK_MATH_SUPPORT ! case "$target_alias" in *-linux*) # Check for available headers. AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ --- 91,97 ---- # GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT # GLIBCPP_CHECK_MATH_SUPPORT ! case "$target" in *-linux*) # Check for available headers. AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ *************** changequote([,])dnl *** 185,191 **** ;; esac ! case "$target_alias" in *-mingw32*) ;; *) --- 185,191 ---- ;; esac ! case "$target" in *-mingw32*) ;; *) diff -Nrc3pad gcc-3.2/libstdc++-v3/configure.target gcc-3.2.1/libstdc++-v3/configure.target *** gcc-3.2/libstdc++-v3/configure.target Fri Jun 28 08:22:31 2002 --- gcc-3.2.1/libstdc++-v3/configure.target Fri Sep 6 18:32:08 2002 *************** *** 27,32 **** --- 27,33 ---- # DEFAULTS c_model=c_std c_compatibility=no + abi_baseline_triplet=${target} # TARGET-SPECIFIC OVERRIDES *************** case "${target_cpu}" in *** 60,70 **** s390 | s390x) cpu_include_dir="config/cpu/s390" ;; ! sparc64 | ultrasparc) ! cpu_include_dir="config/cpu/sparc/sparc64" ! ;; ! sparc*) ! cpu_include_dir="config/cpu/sparc/sparc32" ;; x86_64*) cpu_include_dir="config/cpu/x86-64" --- 61,68 ---- s390 | s390x) cpu_include_dir="config/cpu/s390" ;; ! sparc* | ultrasparc) ! cpu_include_dir="config/cpu/sparc" ;; x86_64*) cpu_include_dir="config/cpu/x86-64" diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/doxygen/run_doxygen gcc-3.2.1/libstdc++-v3/docs/doxygen/run_doxygen *** gcc-3.2/libstdc++-v3/docs/doxygen/run_doxygen Sat Jul 20 06:34:50 2002 --- gcc-3.2.1/libstdc++-v3/docs/doxygen/run_doxygen Wed Sep 25 17:52:15 2002 *************** rm stdheader *** 219,225 **** # implementations of man(1), e.g., Linux's. We need to have another top-level # *roff tag to /stop/ the .SH NAME entry. #problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3` ! problematic='Containers.3 Sequences.3 Assoc_containers.3 Allocators.3' for f in $problematic; do sed '/^\.SH NAME/{ n --- 219,226 ---- # implementations of man(1), e.g., Linux's. We need to have another top-level # *roff tag to /stop/ the .SH NAME entry. #problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3` ! problematic='Containers.3 Sequences.3 Assoc_containers.3 Allocators.3 ! Iterator_types.3' for f in $problematic; do sed '/^\.SH NAME/{ n diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/17_intro/C++STYLE gcc-3.2.1/libstdc++-v3/docs/html/17_intro/C++STYLE *** gcc-3.2/libstdc++-v3/docs/html/17_intro/C++STYLE Fri Nov 23 16:29:00 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/17_intro/C++STYLE Wed Sep 25 17:52:17 2002 *************** Notable areas of divergence from what ma *** 173,179 **** int foo; 13. Spacing WRT return statements. ! no extra spacing before returns ie } --- 173,179 ---- int foo; 13. Spacing WRT return statements. ! no extra spacing before returns, no parenthesis ie } *************** Notable areas of divergence from what ma *** 184,189 **** --- 184,195 ---- return __ret; + -NOT- + + } + return (__ret); + + 14. Location of global variables. All global variables of class type, whether in the "user visable" space (e.g., cin) or the implementation namespace, must be defined *************** namespace std *** 264,270 **** int two_lines(const char* arg) ! { return strchr(arg, 'a'); } inline int three_lines(); // inline, but defined below. --- 270,276 ---- int two_lines(const char* arg) ! { return strchr(arg, 'a'); } inline int three_lines(); // inline, but defined below. *************** namespace std *** 360,366 **** } } // namespace std - - - - --- 366,368 ---- diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/17_intro/RELEASE-NOTES gcc-3.2.1/libstdc++-v3/docs/html/17_intro/RELEASE-NOTES *** gcc-3.2/libstdc++-v3/docs/html/17_intro/RELEASE-NOTES Sat May 18 14:47:57 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/17_intro/RELEASE-NOTES Wed Sep 25 17:52:17 2002 *************** Obtain the library snapshot via ftp (inc *** 64,70 **** ftp://gcc.gnu.org/pub/libstdc++/ The library is maintained by Benjamin Kosnik, Gabriel ! Dos Reis, Phil Edwards, and Ulrich Drepper. Development tools: --- 64,71 ---- ftp://gcc.gnu.org/pub/libstdc++/ The library is maintained by Benjamin Kosnik, Gabriel ! Dos Reis, Phil Edwards, Ulrich Drepper, Loren James Rittle, ! and Paolo Carlini. Development tools: diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/17_intro/TODO gcc-3.2.1/libstdc++-v3/docs/html/17_intro/TODO *** gcc-3.2/libstdc++-v3/docs/html/17_intro/TODO Mon Mar 25 21:07:14 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/17_intro/TODO Thu Aug 15 22:51:01 2002 *************** executable speed. *** 17,23 **** - benchmarking addition to the testsuite that does the above. ! - implement symbol versioning for ELF targets. - exception specifications need to be reviewed for all parts of the library support and utility areas, particularly . --- 17,32 ---- - benchmarking addition to the testsuite that does the above. ! - implement testing for symbol versioning for ELF targets. ! ! - review streambuf, filebuf, stringbuf to optimize data member ! placement. Do pback bits need to be in streambuf? How about ! _M_set_indeterminate, etc? ! ! - Think about naming all member data and member functions consistently ! as per ! funtions: _M_verb_adverb ! data: _M_noun_adjective - exception specifications need to be reviewed for all parts of the library support and utility areas, particularly . diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/17_intro/contribute.html gcc-3.2.1/libstdc++-v3/docs/html/17_intro/contribute.html *** gcc-3.2/libstdc++-v3/docs/html/17_intro/contribute.html Sun Dec 10 04:03:09 2000 --- gcc-3.2.1/libstdc++-v3/docs/html/17_intro/contribute.html Wed Sep 25 17:52:17 2002 *************** *** 1,19 **** - How to contribute !

How to contribute

The Standard C++ Library v3, or libstc++-2.90.x, follows an open development model. Active contributors are assigned maintainer-ship responsibility, and given write access to the CVS repository. First time submitors and all other potential contributors should follow this procedure: !

!


ONE : read the documentation

-

-

  • Get and read the relevant sections of the C++ language specification. Copies of the full ISO 14882 standard are available on --- 1,18 ---- How to contribute ! ! !

    How to contribute

    The Standard C++ Library v3, or libstc++-2.90.x, follows an open development model. Active contributors are assigned maintainer-ship responsibility, and given write access to the CVS repository. First time submitors and all other potential contributors should follow this procedure: +

    !

    ONE : read the documentation

    • Get and read the relevant sections of the C++ language specification. Copies of the full ISO 14882 standard are available on *************** and their web-site is right *** 27,51 **** here. (And if you've already registered with them, clicking this link will take you to directly to the place where you can buy the standard on-line.)
    • The library working group bugs, and known defects, can be obtained at these web sites: http://www.dkuug.dk/jtc1/sc22/wg21 and http://www.comeaucomputing.com/iso/
    • The newsgroup dedicated to standardization issues is comp.std.c++: this FAQ for this group is quite useful and can be found here .
    • Peruse the GNU Coding Standards, and chuckle when you hit the part about "Using Languages Other Than C."
    • Be familiar with the extensions that preceded these general GNU rules. These style issues for libstdc++ can be found in the file C++STYLE, located in the root level of the distribution, or here.
    • And last but certainly not least, read the library-specific information found here.
    !

    !


    TWO : copyright assignment

    Small changes can be accepted without a copyright assignment form on --- 26,55 ---- here. (And if you've already registered with them, clicking this link will take you to directly to the place where you can buy the standard on-line.) +

  • The library working group bugs, and known defects, can be obtained at these web sites: http://www.dkuug.dk/jtc1/sc22/wg21 and http://www.comeaucomputing.com/iso/ +
  • The newsgroup dedicated to standardization issues is comp.std.c++: this FAQ for this group is quite useful and can be found here . +
  • Peruse the GNU Coding Standards, and chuckle when you hit the part about "Using Languages Other Than C." +
  • Be familiar with the extensions that preceded these general GNU rules. These style issues for libstdc++ can be found in the file C++STYLE, located in the root level of the distribution, or here. +
  • And last but certainly not least, read the library-specific information found here. +
!

TWO : copyright assignment

Small changes can be accepted without a copyright assignment form on *************** to fill out appropriate disclaimer forms *** 56,95 **** Please contact Benjamin Kosnik if you are confused about the assignment or have general licensing questions. !

!


THREE : submitting patches

-

Every patch must have several pieces of information before it can be properly evaluated. Ideally (and to ensure the fastest possible response from the maintainers) it would have all of these pieces: !

  • A description of the bug and how your patch fixes this bug. For ! new features a description of the feature and your implementation.
  • A ChangeLog entry as plaintext; see the various ChangeLog files for format and content. If using you are using emacs as your editor, simply position the insertion point at the beginning of your change and hit CX-4a to bring up the appropriate ChangeLog ! entry. See--magic! Similar functionality also exists for vi.
  • A testsuite submission or sample program that will easily and ! simply show the existing error or test new functionality.
  • The patch itself. If you are accessing the CVS repository at Cygnus, use "cvs update; cvs diff -c3p NEW"; else, use "diff -c3p OLD NEW" ... If your version of diff does not support these options, then ! get the latest version of GNU diff.
  • When you have all these pieces, bundle them up in a mail message and send it to libstdc++@gcc.gnu.org. All patches and related ! discussion should be sent to the libstdc++ mailinglist.
--- 60,102 ---- Please contact Benjamin Kosnik if you are confused about the assignment or have general licensing questions. +

!

THREE : submitting patches

+

Every patch must have several pieces of information before it can be properly evaluated. Ideally (and to ensure the fastest possible response from the maintainers) it would have all of these pieces: !

!
  • A description of the bug and how your patch fixes this bug. For ! new features a description of the feature and your implementation.
  • A ChangeLog entry as plaintext; see the various ChangeLog files for format and content. If using you are using emacs as your editor, simply position the insertion point at the beginning of your change and hit CX-4a to bring up the appropriate ChangeLog ! entry. See--magic! Similar functionality also exists for vi.
  • A testsuite submission or sample program that will easily and ! simply show the existing error or test new functionality.
  • The patch itself. If you are accessing the CVS repository at Cygnus, use "cvs update; cvs diff -c3p NEW"; else, use "diff -c3p OLD NEW" ... If your version of diff does not support these options, then ! get the latest version of GNU diff.
  • When you have all these pieces, bundle them up in a mail message and send it to libstdc++@gcc.gnu.org. All patches and related ! discussion should be sent to the libstdc++ mailinglist.
+ + diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/17_intro/howto.html gcc-3.2.1/libstdc++-v3/docs/html/17_intro/howto.html *** gcc-3.2/libstdc++-v3/docs/html/17_intro/howto.html Tue Apr 2 02:07:50 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/17_intro/howto.html Wed Sep 25 17:52:17 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 17 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 17 ! *************** *** 21,38 **** !

Contents

!
--- 20,37 ---- !

Contents

!
*************** *** 51,57 **** all compile and run.

!

The Standard C++ library and multithreading

This section discusses issues surrounding the proper compilation of multithreaded applications which use the Standard C++ --- 50,56 ---- all compile and run.

!

The Standard C++ library and multithreading

This section discusses issues surrounding the proper compilation of multithreaded applications which use the Standard C++ *************** *** 129,144 **** 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.

  • Our threading expert Loren gives a breakdown of the ! six situations involving threads for the 3.0 release series.
  • 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.) --- 128,144 ---- 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. +

  • Our threading expert Loren gives a breakdown of the ! six situations involving threads for the 3.0 release series.
  • 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.) *************** *** 150,156 **** to the FAQ.

!

<foo> vs <foo.h>

The new-style headers are fully supported in libstdc++-v3. The compiler itself fully supports namespaces, including std::. --- 150,156 ---- to the FAQ.

!

<foo> vs <foo.h>

The new-style headers are fully supported in libstdc++-v3. The compiler itself fully supports namespaces, including std::. *************** *** 158,179 ****

For those of you new to ISO C++98, no, that isn't a typo, the headers really have new names. Marshall Cline's C++ FAQ Lite has a good explanation in ! item [25.4].

Return to top of page or to the FAQ.

!

Behavior specific to libstdc++-v3

The ISO standard defines the following phrase:

!
[1.3.5] implementation-defined behavior
behavior, for a well-formed program construct and correct data, that depends on the implementation and that each implementation shall document.
! We do so here, for the C++ library only. Behavior of the compiler, linker, runtime loader, and other elements of "the implementation" are documented elsewhere. Everything listed in Annex B, Implemenation Qualities, are also part of the compiler, not --- 158,181 ----

For those of you new to ISO C++98, no, that isn't a typo, the headers really have new names. Marshall Cline's C++ FAQ Lite has a good explanation in ! item [26.4].

Return to top of page or to the FAQ.

!

Behavior specific to libstdc++-v3

The ISO standard defines the following phrase: +

!
[1.3.5] implementation-defined behavior
behavior, for a well-formed program construct and correct data, that depends on the implementation and that each implementation shall document. +
!

We do so here, for the C++ library only. Behavior of the compiler, linker, runtime loader, and other elements of "the implementation" are documented elsewhere. Everything listed in Annex B, Implemenation Qualities, are also part of the compiler, not *************** *** 196,205 **** sections, libstdc++-v3 has zero control over what the cleanup code hands back to the runtime loader. Talk to the compiler people. :-)

!

[18.4.2.1]/5 (bad_alloc),
! [18.5.2]/5 (bad_cast),
! [18.5.3]/5 (bad_typeid),
! [18.6.1]/8 (exception),
[18.6.2.1]/5 (bad_exception): The what() member function of class std::exception, and these other classes publicly derived from it, simply returns the name of the --- 198,207 ---- sections, libstdc++-v3 has zero control over what the cleanup code hands back to the runtime loader. Talk to the compiler people. :-)

!

[18.4.2.1]/5 (bad_alloc),
! [18.5.2]/5 (bad_cast),
! [18.5.3]/5 (bad_typeid),
! [18.6.1]/8 (exception),
[18.6.2.1]/5 (bad_exception): The what() member function of class std::exception, and these other classes publicly derived from it, simply returns the name of the *************** *** 225,234 **** have any allocators which compare non-equal, so we can't describe how they behave.

!

[21.1.3.1]/3,4,
! [21.1.3.2]/2,
! [23.*]'s foo::iterator,
! [27.*]'s foo::*_type,
others... Nope, these types are called implementation-defined because you shouldn't be taking advantage of their underlying types. Listing them --- 227,236 ---- have any allocators which compare non-equal, so we can't describe how they behave.

!

[21.1.3.1]/3,4,
! [21.1.3.2]/2,
! [23.*]'s foo::iterator,
! [27.*]'s foo::*_type,
others... Nope, these types are called implementation-defined because you shouldn't be taking advantage of their underlying types. Listing them *************** *** 257,263 **** than the minimum required. I don't think we're currently taking advantage of this yet.

!

[27.7.1.3]/16,
[27.8.1.4]/10 The effects of pubsetbuf/setbuf are described in this chapter. --- 259,265 ---- than the minimum required. I don't think we're currently taking advantage of this yet.

!

[27.7.1.3]/16,
[27.8.1.4]/10 The effects of pubsetbuf/setbuf are described in this chapter. *************** *** 269,275 **** to the FAQ.

!

Preprocessor macros controlling the library

Some of the semantics of the libstdc++-v3 implementation are controlled by preprocessor macros, both during build/installation and --- 271,277 ---- to the FAQ.

!

Preprocessor macros controlling the library

Some of the semantics of the libstdc++-v3 implementation are controlled by preprocessor macros, both during build/installation and *************** *** 297,302 **** --- 299,305 ---- The default state of the symbol is listed. "Configurable" (or "Not configurable") means that the symbol is initially chosen (or not) based on --enable/--disable options at configure time. +

_GLIBCPP_DEPRECATED
Undefined by default. Not configurable. Turning this on enables *************** *** 329,335 ****
-->
-

Return to top of page or to the FAQ.

--- 332,337 ---- *************** *** 338,344 **** !

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 340,346 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/17_intro/license.html gcc-3.2.1/libstdc++-v3/docs/html/17_intro/license.html *** gcc-3.2/libstdc++-v3/docs/html/17_intro/license.html Tue Nov 20 00:51:37 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/17_intro/license.html Wed Sep 25 17:52:17 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 copying ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 copying ! *************** *** 21,27 **** writing this page is a programmer, not a lawyer.

!

The Code: Runtime GPL

--- 20,26 ---- writing this page is a programmer, not a lawyer.

!

The Code: Runtime GPL

*************** *** 29,35 **** GNU General Public License, with the so-called "runtime exception," as follows (or see any header or implementation file): !
     As a special exception, you may use this file as part of a free software
     library without restriction.  Specifically, if other files instantiate
     templates or use macros or inline functions from this file, or you compile
--- 28,35 ----
     GNU General Public License, with the so-called
     "runtime exception," as follows (or see any header or
     implementation file):
! 

!
     As a special exception, you may use this file as part of a free software
     library without restriction.  Specifically, if other files instantiate
     templates or use macros or inline functions from this file, or you compile
***************
*** 38,45 ****
     the GNU General Public License.  This exception does not however
     invalidate any other reasons why the executable file might be covered by
     the GNU General Public License.
!    
!

Hopefully that text is self-explanatory. If it isn't, you need to speak to your lawyer, or the Free Software Foundation. --- 38,44 ---- the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. !

Hopefully that text is self-explanatory. If it isn't, you need to speak to your lawyer, or the Free Software Foundation. *************** *** 50,63 **** http://gcc.gnu.org/ml/libstdc++/2000-q2/subjects.html#00050 -->

Q: So any program which uses libstdc++ falls under the GPL? !
A: No. The special exception permits use of the library in proprietary applications.

Q: How is that different from the GNU {Lesser,Library} GPL? !
A: The LGPL requires that users be able to replace the LGPL code with a modified version; this is trivial if the library in question is a C shared library. But there's no way to make that work with C++, where much of the library consists of inline functions and templates, which --- 49,62 ---- http://gcc.gnu.org/ml/libstdc++/2000-q2/subjects.html#00050 -->

Q: So any program which uses libstdc++ falls under the GPL? !
A: No. The special exception permits use of the library in proprietary applications.

Q: How is that different from the GNU {Lesser,Library} GPL? !
A: The LGPL requires that users be able to replace the LGPL code with a modified version; this is trivial if the library in question is a C shared library. But there's no way to make that work with C++, where much of the library consists of inline functions and templates, which *************** *** 68,78 ****

Q: I see. So, what restrictions are there on programs that use the library? !
A: None. We encourage such programs to be released as open source, but we won't punish you or sue you if you choose otherwise.

!

The Docs: FDL

--- 67,77 ----

Q: I see. So, what restrictions are there on programs that use the library? !
A: None. We encourage such programs to be released as open source, but we won't punish you or sue you if you choose otherwise.

!

The Docs: FDL

*************** *** 92,98 **** !

Comments and suggestions about this page are welcome, and may be sent to the libstdc++ mailing list. --- 91,97 ---- !


Comments and suggestions about this page are welcome, and may be sent to the libstdc++ mailing list. diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/18_support/howto.html gcc-3.2.1/libstdc++-v3/docs/html/18_support/howto.html *** gcc-3.2/libstdc++-v3/docs/html/18_support/howto.html Tue Apr 2 02:07:51 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/18_support/howto.html Wed Sep 25 17:52:17 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 18 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 18 ! *************** *** 24,40 **** !


Contents

!
--- 23,39 ---- !

Contents

!
*************** *** 55,66 **** always a pointer.)

In his book ! Effective C++, Scott Meyers points out that the best way to solve this problem is to not overload on pointer-vs-integer types to begin with. He also offers a way to make your own magic NULL that will match pointers before it matches integers: !

     const                             // this is a const object...
     class {
     public:
--- 54,66 ----
        always a pointer.)
     

In his book ! Effective C++, Scott Meyers points out that the best way to solve this problem is to not overload on pointer-vs-integer types to begin with. He also offers a way to make your own magic NULL that will match pointers before it matches integers: !

!
     const                             // this is a const object...
     class {
     public:
***************
*** 77,83 ****
                                       // taken (see Item 27)...
  
     } NULL;                           // and whose name is NULL
!       
(Cribbed from the published version of the Effective C++ CD, reproduced here with permission.)

--- 77,84 ---- // taken (see Item 27)... } NULL; // and whose name is NULL !
!

(Cribbed from the published version of the Effective C++ CD, reproduced here with permission.)

*************** *** 93,99 **** print this stuff, it prompted him to run this code through current compilers to see what the state of the art is with respect to member template functions. He posted ! an article to Usenet after discovering that the code above is not valid! Even though it has no data members, it still needs a user-defined constructor (which means that the class needs a type name --- 94,100 ---- print this stuff, it prompted him to run this code through current compilers to see what the state of the art is with respect to member template functions. He posted ! an article to Usenet after discovering that the code above is not valid! Even though it has no data members, it still needs a user-defined constructor (which means that the class needs a type name *************** *** 105,118 **** to the FAQ.

!

Implementation properties

-

<limits>

! This header mainly defines traits classes to give access to various implementation defined-aspects of the fundamental types. The traits classes -- fourteen in total -- are all specilizations of the template class numeric_limits defined as follows:
     template<typename T> struct class {
        static const bool is_specialized;
--- 106,119 ----
        to the FAQ.
     

!

Implementation properties

<limits>

!

This header mainly defines traits classes to give access to various implementation defined-aspects of the fundamental types. The traits classes -- fourteen in total -- are all specilizations of the template class numeric_limits defined as follows: +

     template<typename T> struct class {
        static const bool is_specialized;
***************
*** 150,161 ****
        static const bool tinyness_before;
        static const float_round_style round_style;
     };
-

Return to top of page or to the FAQ.

!

Start and Termination

Not many changes here to <cstdlib> (the old stdlib.h). You should note that the abort() function does not call --- 151,161 ---- static const bool tinyness_before; static const float_round_style round_style; };

Return to top of page or to the FAQ.

!

Start and Termination

Not many changes here to <cstdlib> (the old stdlib.h). You should note that the abort() function does not call *************** *** 166,176 **** --- 166,179 ----

The good old exit() function can be a bit funky, too, until you look closer. Basically, three points to remember are: +

  1. Static objects are destroyed in reverse order of their creation. +
  2. Functions registered with atexit() are called in reverse order of registration, once per registration call. (This isn't actually new.) +
  3. The previous two actions are "interleaved," that is, given this pseudocode:
    ***************
    *** 181,192 ****
                    atexit(f1);
                    static Thing obj2;
                    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.
-

Note also that atexit() is only required to store 32 functions, and the compiler/library might already be using some of those slots. If you think you may run out, we recommend using --- 184,196 ---- atexit(f1); static Thing obj2; 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. +

Note also that atexit() is only required to store 32 functions, and the compiler/library might already be using some of those slots. If you think you may run out, we recommend using *************** *** 196,216 **** to the FAQ.

!

Dynamic memory management

There are six flavors each of new and delete, so make certain that you're using the right ones! Here are quickie descriptions of new: !

    !
  • single object form, throwing a bad_alloc on errors; ! this is what most people are used to using !
  • single object "nothrow" form, returning NULL on errors !
  • array new, throwing bad_alloc on errors !
  • array nothrow new, returning NULL on errors !
  • placement new, which does nothing (like it's supposed to) !
  • placement array new, which also does nothing !
! They are distinguished by the parameters that you pass to them, like any other overloaded function. The six flavors of delete are distinguished the same way, but none of them are allowed to throw an exception under any circumstances anyhow. (They match up for --- 200,221 ---- to the FAQ.

!

Dynamic memory management

There are six flavors each of new and delete, so make certain that you're using the right ones! Here are quickie descriptions of new: !

!
    !
  • single object form, throwing a bad_alloc on errors; ! this is what most people are used to using
  • !
  • single object "nothrow" form, returning NULL on errors
  • !
  • array new, throwing bad_alloc on errors
  • !
  • array nothrow new, returning NULL on errors
  • !
  • placement new, which does nothing (like it's supposed to)
  • !
  • placement array new, which also does nothing
  • !
!

They are distinguished by the parameters that you pass to them, like any other overloaded function. The six flavors of delete are distinguished the same way, but none of them are allowed to throw an exception under any circumstances anyhow. (They match up for *************** *** 225,231 **** bad_alloc exception (or, technically, some class derived from it). You can change this by writing your own function (called a new-handler) and then registering it with set_new_handler(): !

     typedef void (*PFV)(void);
  
     static char*  safety;
--- 230,237 ----
        bad_alloc exception (or, technically, some class derived
        from it).  You can change this by writing your own function (called a
        new-handler) and then registering it with set_new_handler():
!         

!
     typedef void (*PFV)(void);
  
     static char*  safety;
***************
*** 247,254 ****
         old_handler = set_new_handler (&my_new_handler);
         ...
     }
!       
!

bad_alloc is derived from the base exception class defined in Chapter 19.

--- 253,259 ---- old_handler = set_new_handler (&my_new_handler); ... } !

bad_alloc is derived from the base exception class defined in Chapter 19.

*************** *** 256,262 **** to the FAQ.

!

RTTI, the ABI, and demangling

If you have read the source documentation for namespace abi then you are aware --- 261,267 ---- to the FAQ.

!

RTTI, the ABI, and demangling

If you have read the source documentation for namespace abi then you are aware *************** *** 271,277 ****

Probably the only times you'll be interested in demangling at runtime are when you're seeing typeid strings in RTTI, or when you're handling the runtime-support exception classes. For example: !

  #include <exception>
  #include <iostream>
  #include <cxxabi.h>
--- 276,283 ----
     

Probably the only times you'll be interested in demangling at runtime are when you're seeing typeid strings in RTTI, or when you're handling the runtime-support exception classes. For example: !

!
  #include <exception>
  #include <iostream>
  #include <cxxabi.h>
*************** int main()
*** 304,314 ****
    free(realname);
  
    return 0;
! }

!

With GCC 3.1 and later, this prints

!       St13bad_exception       => std::bad_exception   : 0
!       3barI5emptyLi17EE       => bar<empty, 17>       : 0

The demangler interface is described in the source documentation linked to above. It is actually written in C, so you don't need to be writing C++ in order to demangle C++. (That also means we have to --- 310,321 ---- free(realname); return 0; ! }

!

With GCC 3.1 and later, this prints

+
+       St13bad_exception       => std::bad_exception   : 0
+       3barI5emptyLi17EE       => bar<empty, 17>       : 0 

The demangler interface is described in the source documentation linked to above. It is actually written in C, so you don't need to be writing C++ in order to demangle C++. (That also means we have to *************** int main() *** 322,328 **** !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 329,335 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/19_diagnostics/howto.html gcc-3.2.1/libstdc++-v3/docs/html/19_diagnostics/howto.html *** gcc-3.2/libstdc++-v3/docs/html/19_diagnostics/howto.html Mon Apr 1 22:09:29 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/19_diagnostics/howto.html Wed Sep 25 17:52:18 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 19 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 19 ! *************** *** 20,35 **** !


Contents

!
--- 19,34 ---- !

Contents

!
*************** *** 56,62 **** to the FAQ.

!

Exception class hierarchy diagram

At one point we were going to make up a PDF of the exceptions hierarchy, akin to the one done for the I/O class hierarchy. --- 55,61 ---- to the FAQ.

!

Exception class hierarchy diagram

At one point we were going to make up a PDF of the exceptions hierarchy, akin to the one done for the I/O class hierarchy. *************** *** 72,78 **** to the FAQ.

!

Concept checkers -- new and improved!

Better taste! Less fat! Literally!

In 1999, SGI added concept checkers to their implementation --- 71,77 ---- to the FAQ.

!

Concept checkers -- new and improved!

Better taste! Less fat! Literally!

In 1999, SGI added concept checkers to their implementation *************** *** 89,95 **** were found in it on more than one occasion.

The primary author of the checking code, Jeremy Siek, had already ! started work on a replcement implementation. The new code has been formally reviewed and accepted into the Boost libraries, and we are pleased to incorporate it into the --- 88,94 ---- were found in it on more than one occasion.

The primary author of the checking code, Jeremy Siek, had already ! started work on a replacement implementation. The new code has been formally reviewed and accepted into the Boost libraries, and we are pleased to incorporate it into the *************** *** 109,120 **** 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()
--- 108,120 ----
        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()
***************
*** 123,129 ****
         ...
         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 --- 123,128 ---- *************** *** 133,139 **** without returning; this one calls abort.

For example: !

     #include <exception>
     #include <stdexcept>
  
--- 132,139 ----
        without returning; this one calls abort.
     

For example: !

!
     #include <exception>
     #include <stdexcept>
  
***************
*** 151,159 ****
         else
             throw argc;
     }
-

In GCC 3.1 and later, this gives !

     % ./a.out
     terminate called after throwing a `int'
     Aborted
--- 151,159 ----
         else
             throw argc;
     }

In GCC 3.1 and later, this gives !

!
     % ./a.out
     terminate called after throwing a `int'
     Aborted
***************
*** 162,168 ****
     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. --- 162,168 ---- 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. *************** *** 171,177 **** !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 171,177 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/20_util/howto.html gcc-3.2.1/libstdc++-v3/docs/html/20_util/howto.html *** gcc-3.2/libstdc++-v3/docs/html/20_util/howto.html Wed Mar 27 22:38:39 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/20_util/howto.html Wed Sep 25 17:52:18 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 20 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 20 ! *************** *** 19,34 **** !


Contents

!
--- 18,33 ---- !

Contents

!
*************** *** 47,53 ****

AP is meant to prevent nasty leaks in the presence of exceptions. That's all. This code is AP-friendly: !

      // not a recommend naming scheme, but good for web-based FAQs
      typedef std::auto_ptr<MyClass>  APMC;
  
--- 46,53 ----
     

AP is meant to prevent nasty leaks in the presence of exceptions. That's all. This code is AP-friendly: !

!
      // not a recommend naming scheme, but good for web-based FAQs
      typedef std::auto_ptr<MyClass>  APMC;
  
***************
*** 62,82 ****
  
          function_taking_MyClass_pointer (ap.get());
      }
!       
When an exception gets thrown, the instance of MyClass that's been created on the heap will be delete'd as the stack is unwound past func().

Changing that code as follows is not AP-friendly: !

          APMC  ap (new MyClass[22]);
!       
You will get the same problems as you would without the use of AP: !
          char*  array = new char[10];       // array new...
          ...
          delete array;                      // ...but single-object delete
!       
!

AP cannot tell whether the pointer you've passed at creation points to one or many things. If it points to many things, you are about to die. AP is trivial to write, however, so you could write your --- 62,85 ---- function_taking_MyClass_pointer (ap.get()); } !

!

When an exception gets thrown, the instance of MyClass that's been created on the heap will be delete'd as the stack is unwound past func().

Changing that code as follows is not AP-friendly: !

!
          APMC  ap (new MyClass[22]);
!    
!

You will get the same problems as you would without the use of AP: !

!
          char*  array = new char[10];       // array new...
          ...
          delete array;                      // ...but single-object delete
!    

AP cannot tell whether the pointer you've passed at creation points to one or many things. If it points to many things, you are about to die. AP is trivial to write, however, so you could write your *************** *** 87,104 **** to the FAQ.

!

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
      {
          My_Type (My_Type const&);
      };
!       
! Note the const keyword; the object being copied shouldn't change. The template class auto_ptr (called AP here) does not meet this requirement. Creating a new AP by copying an existing one transfers ownership of the pointed-to object, which means that --- 90,108 ---- to the FAQ.

!

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
      {
          My_Type (My_Type const&);
      };
!    
!

Note the const keyword; the object being copied shouldn't change. The template class auto_ptr (called AP here) does not meet this requirement. Creating a new AP by copying an existing one transfers ownership of the pointed-to object, which means that *************** *** 113,119 **** concept checks built in to this implementation will issue an error if you try to compile code like this: !

      #include <vector>
      #include <memory>
      
--- 117,124 ----
        concept checks built
        in to this implementation will issue an error if you try to
        compile code like this:
!    

!
      #include <vector>
      #include <memory>
      
***************
*** 121,134 ****
      {
          std::vector< std::auto_ptr<int> >   vec_ap_int;
      }
!       
! Should you try this with the checks enabled, you will see an error.

Return to top of page or to the FAQ.

!

Functors

If you don't know what functors are, you're not alone. Many people get slightly the wrong idea. In the interest of not reinventing --- 126,139 ---- { std::vector< std::auto_ptr<int> > vec_ap_int; } !

!

Should you try this with the checks enabled, you will see an error.

Return to top of page or to the FAQ.

!

Functors

If you don't know what functors are, you're not alone. Many people get slightly the wrong idea. In the interest of not reinventing *************** *** 141,147 **** to the FAQ.

!

Pairs

The pair<T1,T2> is a simple and handy way to carry around a pair of objects. One is of type T1, and another of --- 146,152 ---- to the FAQ.

!

Pairs

The pair<T1,T2> is a simple and handy way to carry around a pair of objects. One is of type T1, and another of *************** *** 151,166 ****

Construction is simple. The default ctor initializes each member with its respective default ctor. The other simple ctor, !

      pair (const T1& x, const T2& y);
!       
does what you think it does, first getting x and second getting y.

There is a copy constructor, but it requires that your compiler handle member function templates: !

      template <class U, class V> pain (const pair<U,V>& p);
!       
The compiler will convert as necessary from U to T1 and from V to T2 in order to perform the respective initializations.

The comparison operators are done for you. Equality --- 156,175 ----

Construction is simple. The default ctor initializes each member with its respective default ctor. The other simple ctor, !

!
      pair (const T1& x, const T2& y);
!    
!

does what you think it does, first getting x and second getting y.

There is a copy constructor, but it requires that your compiler handle member function templates: !

!
      template <class U, class V> pain (const pair<U,V>& p);
!    
!

The compiler will convert as necessary from U to T1 and from V to T2 in order to perform the respective initializations.

The comparison operators are done for you. Equality *************** *** 170,193 **** operator== functions (for types like MyClass) or builtin comparisons (for types like int, char, etc).

! !

The less-than operator is a bit odd the first time you see it. It is defined as evaluating to: !

      x.first  <  y.first  ||
          ( !(y.first  <  x.first)  &&  x.second  <  y.second )
!       
! The other operators are not defined using the rel_ops functions above, but their semantics are the same.

-

Finally, there is a template function called make_pair that takes two references-to-const objects and returns an instance of a pair instantiated on their respective types: -

-     pair<int,MyClass> p = make_pair(4,myobject);
-       

Return to top of page or to the FAQ.

--- 179,203 ---- operator== functions (for types like MyClass) or builtin comparisons (for types like int, char, etc).

!

! The less-than operator is a bit odd the first time you see it. It is defined as evaluating to: ! !

!
      x.first  <  y.first  ||
          ( !(y.first  <  x.first)  &&  x.second  <  y.second )
!    
!

The other operators are not defined using the rel_ops functions above, but their semantics are the same.

Finally, there is a template function called make_pair that takes two references-to-const objects and returns an instance of a pair instantiated on their respective types:

+
+     pair<int,MyClass> p = make_pair(4,myobject);
+    

Return to top of page or to the FAQ.

*************** *** 197,203 **** !

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 207,213 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/21_strings/howto.html gcc-3.2.1/libstdc++-v3/docs/html/21_strings/howto.html *** gcc-3.2/libstdc++-v3/docs/html/21_strings/howto.html Fri Nov 23 16:29:00 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/21_strings/howto.html Wed Sep 25 17:52:19 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 21 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 21 ! *************** *** 18,33 **** !


Contents

!
--- 17,33 ---- !

Contents

!
*************** *** 42,65 ****

Things are not as bad as they seem. In this message, Joe Buck points out a few very important things:

  • The Standard string supports all the operations that CString does, with three exceptions.
  • Two of those exceptions (whitespace trimming and case conversion) are trivial to implement. In fact, we do so on this page.
  • The third is CString::Format, which allows formatting in the style of sprintf. This deserves some mention:
!

! !

The old libg++ library had a function called form(), which did much the same thing. But for a Standard solution, you should use the 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>
     #include <sstream>
--- 42,70 ----
     

Things are not as bad as they seem. In this message, Joe Buck points out a few very important things: +

  • The Standard string supports all the operations that CString does, with three exceptions. +
  • Two of those exceptions (whitespace trimming and case conversion) are trivial to implement. In fact, we do so on this page. +
  • The third is CString::Format, which allows formatting in the style of sprintf. This deserves some mention: +
!

! The old libg++ library had a function called form(), which did much the same thing. But for a Standard solution, you should use the 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>
     #include <sstream>
***************
*** 79,88 ****
  
         return output_stream.str();
     } 
-

A serious problem with CString is a design bug in its memory allocation. Specifically, quoting from that same message: !

     CString suffers from a common programming error that results in
     poor performance.  Consider the following code:
     
--- 84,93 ----
  
         return output_stream.str();
     } 

A serious problem with CString is a design bug in its memory allocation. Specifically, quoting from that same message: !

!
     CString suffers from a common programming error that results in
     poor performance.  Consider the following code:
     
***************
*** 103,124 ****
     
     If you replace CString with string in the above function, the
     performance is O(n).
!       
!

Joe Buck also pointed out some other things to keep in mind when comparing CString and the Standard string class:

  • CString permits access to its internal representation; coders who exploited that may have problems moving to string.
  • Microsoft ships the source to CString (in the files MFC\SRC\Str{core,ex}.cpp), so you could fix the allocation bug and rebuild your MFC libraries. ! Note: It looks like the the CString shipped with ! VC++6.0 has fixed this, although it may in fact have been one ! of the VC++ SPs that did it.
  • string operations like this have O(n) complexity if the implementors do it correctly. The libstdc++ implementors did it correctly. Other vendors might not.
  • While parts of the SGI STL are used in libstdc++-v3, their string class is not. The SGI string is essentially vector<char> and does not do any reference --- 108,132 ---- If you replace CString with string in the above function, the performance is O(n). !

Joe Buck also pointed out some other things to keep in mind when comparing CString and the Standard string class: +

  • CString permits access to its internal representation; coders who exploited that may have problems moving to string. +
  • Microsoft ships the source to CString (in the files MFC\SRC\Str{core,ex}.cpp), so you could fix the allocation bug and rebuild your MFC libraries. ! Note: It looks like the the CString shipped ! with VC++6.0 has fixed this, although it may in fact have been ! one of the VC++ SPs that did it. !
  • string operations like this have O(n) complexity if the implementors do it correctly. The libstdc++ implementors did it correctly. Other vendors might not. +
  • While parts of the SGI STL are used in libstdc++-v3, their string class is not. The SGI string is essentially vector<char> and does not do any reference *************** *** 128,140 **** libstdc++ string, the SGI string, and the SGI rope, and this is all before any allocator or traits customizations! (More choices than you can shake a stick at -- want fries with that?)
-

Return to top of page or to the FAQ.

!

A case-insensitive string class

The well-known-and-if-it-isn't-well-known-it-ought-to-be Guru of the Week --- 136,148 ---- libstdc++ string, the SGI string, and the SGI rope, and this is all before any allocator or traits customizations! (More choices than you can shake a stick at -- want fries with that?) +

Return to top of page or to the FAQ.

!

A case-insensitive string class

The well-known-and-if-it-isn't-well-known-it-ought-to-be Guru of the Week *************** *** 143,149 **** is identical to the standard 'string' class, but is case-insensitive in the same way as the (common but nonstandard) C function stricmp():" !

     ci_string s( "AbCdE" );
  
     // case insensitive
--- 151,158 ----
        is identical to the standard 'string' class, but is
        case-insensitive in the same way as the (common but nonstandard)
        C function stricmp():"
!    

!
     ci_string s( "AbCdE" );
  
     // case insensitive
***************
*** 153,159 ****
     // still case-preserving, of course
     assert( strcmp( s.c_str(), "AbCdE" ) == 0 );
     assert( strcmp( s.c_str(), "abcde" ) != 0 ); 
-

The solution is surprisingly easy. The original answer pages on the GotW website were removed into cold storage, in --- 162,167 ---- *************** *** 188,194 **** to the FAQ.

!

Breaking a C++ string into tokens

The Standard C (and C++) function strtok() leaves a lot to be desired in terms of user-friendliness. It's unintuitive, it --- 196,202 ---- to the FAQ.

!

Breaking a C++ string into tokens

The Standard C (and C++) function strtok() leaves a lot to be desired in terms of user-friendliness. It's unintuitive, it *************** *** 209,229 **** comments on what kind of string it will accept). The author uses a more general (but less readable) form of it for parsing command strings and the like. If you compiled and ran this code using it: !

     std::list<string>  ls;
     stringtok (ls, " this  \t is\t\n  a test  ");
     for (std::list<string>const_iterator i = ls.begin();
          i != ls.end(); ++i)
     {
         std::cerr << ':' << (*i) << ":\n";
!    }
! You would see this as output: !
     :this:
     :is:
     :a:
!    :test:
! with all the whitespace removed. The original s is still available for use, ls will clean up after itself, and ls.size() will return how many tokens there were.

--- 217,239 ---- comments on what kind of string it will accept). The author uses a more general (but less readable) form of it for parsing command strings and the like. If you compiled and ran this code using it: !

!
     std::list<string>  ls;
     stringtok (ls, " this  \t is\t\n  a test  ");
     for (std::list<string>const_iterator i = ls.begin();
          i != ls.end(); ++i)
     {
         std::cerr << ':' << (*i) << ":\n";
!    } 
!

You would see this as output: !

!
     :this:
     :is:
     :a:
!    :test: 
!

with all the whitespace removed. The original s is still available for use, ls will clean up after itself, and ls.size() will return how many tokens there were.

*************** *** 247,253 **** to the FAQ.

!

Simple transformations

Here are Standard, simple, and portable ways to perform common transformations on a string instance, such as "convert --- 257,263 ---- to the FAQ.

!

Simple transformations

Here are Standard, simple, and portable ways to perform common transformations on a string instance, such as "convert *************** *** 257,263 ****

This code will go through some iterations (no pun). Here's the simplistic version usually seen on Usenet: !

     #include <string>
     #include <algorithm>
     #include <cctype>      // old <ctype.h>
--- 267,274 ----
     

This code will go through some iterations (no pun). Here's the simplistic version usually seen on Usenet: !

!
     #include <string>
     #include <algorithm>
     #include <cctype>      // old <ctype.h>
***************
*** 275,281 ****
     std::string  capital_s;
     capital_s.reserve(s.size());
     std::transform (s.begin(), s.end(), capital_s.begin(), tolower); 
! Note that these calls all involve the global C locale through the use of the C functions toupper/tolower. This is absolutely guaranteed to work -- but only if the string contains only characters --- 286,292 ---- std::string capital_s; capital_s.reserve(s.size()); std::transform (s.begin(), s.end(), capital_s.begin(), tolower);
!

Note that these calls all involve the global C locale through the use of the C functions toupper/tolower. This is absolutely guaranteed to work -- but only if the string contains only characters *************** *** 286,297 **** characters (hahahahahaha), then you're done.

At minimum, you can write short wrappers like !

     char toLower (char c)
     {
        return tolower(static_cast<unsigned char>(c));
!    }
!

The correct method is to use a facet for a particular locale and call its conversion functions. These are discussed more in Chapter 22; the specific part is --- 297,308 ---- characters (hahahahahaha), then you're done.

At minimum, you can write short wrappers like !

!
     char toLower (char c)
     {
        return tolower(static_cast<unsigned char>(c));
!    } 

The correct method is to use a facet for a particular locale and call its conversion functions. These are discussed more in Chapter 22; the specific part is *************** *** 303,309 **** like transformations, this task is trivial with the use of string's find family. These examples are broken into multiple statements for readability: !

     std::string  str (" \t blah blah blah    \n ");
  
     // trim leading whitespace
--- 314,321 ----
        like transformations, this task is trivial with the use of string's
        find family.  These examples are broken into multiple
        statements for readability:
!    

!
     std::string  str (" \t blah blah blah    \n ");
  
     // trim leading whitespace
***************
*** 313,319 ****
     // trim trailing whitespace
     notwhite = str.find_last_not_of(" \t\n"); 
     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.

--- 325,331 ---- // trim trailing whitespace notwhite = str.find_last_not_of(" \t\n"); 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.

*************** *** 321,331 **** to the FAQ.

!

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 333,352 ---- to the FAQ.

+
+

Making strings of arbitrary character types

+

how to work with char_traits -- in the archives, just need to + go through and pull the examples together +

+

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

+ !

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/22_locale/codecvt.html gcc-3.2.1/libstdc++-v3/docs/html/22_locale/codecvt.html *** gcc-3.2/libstdc++-v3/docs/html/22_locale/codecvt.html Mon Sep 17 23:24:39 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/22_locale/codecvt.html Wed Sep 25 17:52:19 2002 *************** *** 1,14 ****

Notes on the codecvt implementation.

! ! prepared by Benjamin Kosnik (bkoz@redhat.com) on August 28, 2000 ! -

1. Abstract

--- 1,22 ---- + + + + + Notes on the codecvt implementation. + + +

Notes on the codecvt implementation.

!

! prepared by Benjamin Kosnik (bkoz@redhat.com) on August 28, 2000 ! !

1. Abstract

*************** wide and narrow characters and the imple *** 28,53 **** functionality are given.

-

2. What the standard says

Around page 425 of the C++ Standard, this charming heading comes into view: !
22.2.1.5 - Template class codecvt [lib.locale.codecvt] !
The text around the codecvt definition gives some clues: !
! -1- The class codecvt<internT,externT,stateT> is for use when converting from one codeset to another, such as from wide characters to multibyte characters, between wide character encodings such as Unicode and EUC. ! !

Hmm. So, in some unspecified way, Unicode encodings and --- 36,60 ---- functionality are given.

2. What the standard says

Around page 425 of the C++ Standard, this charming heading comes into view: !
22.2.1.5 - Template class codecvt [lib.locale.codecvt] !
The text around the codecvt definition gives some clues: !
! -1- The class codecvt<internT,externT,stateT> is for use when converting from one codeset to another, such as from wide characters to multibyte characters, between wide character encodings such as Unicode and EUC. ! !

Hmm. So, in some unspecified way, Unicode encodings and *************** translations between other character set *** 55,72 **** class.

!
! -2- The stateT argument selects the pair of codesets being mapped between. ! !

Ah ha! Another clue...

!
! -3- The instantiations required in the Table ?? (lib.locale.category), namely codecvt<wchar_t,char,mbstate_t> and codecvt<char,char,mbstate_t>, convert the implementation-defined --- 62,79 ---- class.

!
! -2- The stateT argument selects the pair of codesets being mapped between. ! !

Ah ha! Another clue...

!
! -3- The instantiations required in the Table ?? (lib.locale.category), namely codecvt<wchar_t,char,mbstate_t> and codecvt<char,char,mbstate_t>, convert the implementation-defined *************** mbstate_t perform conversion between enc *** 78,88 **** implementor. Other encodings can be converted by specializing on a user-defined stateT type. The stateT object can contain any state that is useful to communicate to or from the specialized do_convert member. ! !

At this point, a couple points become clear:

One: The standard clearly implies that attempts to add non-required --- 85,96 ---- implementor. Other encodings can be converted by specializing on a user-defined stateT type. The stateT object can contain any state that is useful to communicate to or from the specialized do_convert member. ! !

At this point, a couple points become clear: +

One: The standard clearly implies that attempts to add non-required *************** template parameter, imply an implementat *** 95,101 **** (or wholly) based on the underlying C library, and the functions mcsrtombs and wcsrtombs in particular.

-

3. Some thoughts on what would be useful

--- 103,108 ---- *************** represent wide characters, and use an in *** 116,130 **** --- 123,141 ---- UCS4. (GNU/Linux systems using glibc, in particular.) The C programming language (and thus C++) does not specify a specific size for the type wchar_t. +

Thus, portable C++ code cannot assume a byte size (or endianness) either. +

Getting back to the frequently asked question: What about Unicode strings? +

What magic spell will do this conversion? +

A couple of comments: *************** includes: *** 142,148 ****

  • !

    Identifiers for each of the codesets involved in the conversion. For example, using the iconv family of functions from the Single Unix Specification (what used to be called X/Open) hosted on the GNU/Linux --- 153,159 ----
    • !

      Identifiers for each of the codesets involved in the conversion. For example, using the iconv family of functions from the Single Unix Specification (what used to be called X/Open) hosted on the GNU/Linux *************** operating system allows bi-directional m *** 150,159 **** the following tantalizing possibilities:

      (An edited list taken from `iconv --list` on a Red Hat 6.2/Intel system: !
      !
        8859_1, 8859_9, 10646-1:1993, 10646-1:1993/UCS4, ARABIC, ARABIC7,
        ASCII, EUC-CN, EUC-JP, EUC-KR, EUC-TW, GREEK-CCIcode, GREEK, GREEK7-OLD,
        GREEK7, GREEK8, HEBREW, ISO-8859-1, ISO-8859-2, ISO-8859-3,
      --- 161,172 ----
        the following tantalizing possibilities: 
        

      +

      (An edited list taken from `iconv --list` on a Red Hat 6.2/Intel system: +

      !
      !
        8859_1, 8859_9, 10646-1:1993, 10646-1:1993/UCS4, ARABIC, ARABIC7,
        ASCII, EUC-CN, EUC-JP, EUC-KR, EUC-TW, GREEK-CCIcode, GREEK, GREEK7-OLD,
        GREEK7, GREEK8, HEBREW, ISO-8859-1, ISO-8859-2, ISO-8859-3,
      *************** ISO-8859-15, ISO-10646, ISO-10646/UCS2, 
      *** 163,170 ****
        ISO-10646/UTF-8, ISO-10646/UTF8, SHIFT-JIS, SHIFT_JIS, UCS-2, UCS-4,
        UCS2, UCS4, UNICODE, UNICODEBIG, UNICODELIcodeLE, US-ASCII, US, UTF-8,
        UTF-16, UTF8, UTF16).
      ! 
      !

      For iconv-based implementations, string literals for each of the --- 176,183 ---- ISO-10646/UTF-8, ISO-10646/UTF8, SHIFT-JIS, SHIFT_JIS, UCS-2, UCS-4, UCS2, UCS4, UNICODE, UNICODEBIG, UNICODELIcodeLE, US-ASCII, US, UTF-8, UTF-16, UTF8, UTF16). !

      !

      For iconv-based implementations, string literals for each of the *************** encodings (ie. "UCS-2" and &qu *** 172,180 **** --- 185,196 ---- although for other, non-iconv implementations a table of enumerated values or some other mechanism may be required. +

      +
    • Maximum length of the identifying string literal. +
    • Some encodings are require explicit endian-ness. As such, some kind *************** mechanism may be required. *** 182,187 **** --- 198,204 ---- "Footnotes for C/C++ developers" in Haible for more information on UCS-2/Unicode endian issues. (Summary: big endian seems most likely, however implementations, most notably Microsoft, vary.) +
    • Types representing the conversion state, for conversions involving *************** mechanism may be required. *** 189,212 **** conversions using iconv (such as the type iconv_t.) Note that the conversion descriptor encodes more information than a simple encoding state type.
    • Conversion descriptors for both directions of encoding. (ie, both UCS-2 to UTF-8 and UTF-8 to UCS-2.)
    • Something to indicate if the conversion requested if valid.
    • Something to represent if the conversion descriptors are valid.
    • Some way to enforce strict type checking on the internal and external types. As part of this, the size of the internal and external types will need to be known.
    -

    4. Problems with "C" code conversions : thread safety, global locales, termination. --- 206,233 ---- conversions using iconv (such as the type iconv_t.) Note that the conversion descriptor encodes more information than a simple encoding state type. +

  • Conversion descriptors for both directions of encoding. (ie, both UCS-2 to UTF-8 and UTF-8 to UCS-2.) +
  • Something to indicate if the conversion requested if valid. +
  • Something to represent if the conversion descriptors are valid. +
  • Some way to enforce strict type checking on the internal and external types. As part of this, the size of the internal and external types will need to be known. +

4. Problems with "C" code conversions : thread safety, global locales, termination. *************** when implemented using standard "C& *** 219,229 **** --- 240,252 ----

Three problems arise, one big, one of medium importance, and one small. +

First, the small: mcsrtombs and wcsrtombs may not be multithread-safe on all systems required by the GNU tools. For GNU/Linux and glibc, this is not an issue. +

Of medium concern, in the grand scope of things, is that the functions *************** used to implement this specialization wo *** 231,236 **** --- 254,260 ---- strings. Buffers, especially file buffers, may not be null-terminated, thus giving conversions that end prematurely or are otherwise incorrect. Yikes! +

The last, and fundamental problem, is the assumption of a global *************** the GNU C++ library would like to offer *** 242,255 **** multiple locales and or simultaneous usage with computationally correct results. In short, libstdc++-v3 is trying to offer, as an option, a high-quality implementation, damn the additional complexity!

For the required specialization codecvt<wchar_t, char, mbstate_t> , conversions are made between the internal character set (always UCS4 on GNU/Linux) and whatever the currently selected locale for the LC_CTYPE category implements. -

5. Design

--- 266,280 ---- multiple locales and or simultaneous usage with computationally correct results. In short, libstdc++-v3 is trying to offer, as an option, a high-quality implementation, damn the additional complexity! +

For the required specialization codecvt<wchar_t, char, mbstate_t> , conversions are made between the internal character set (always UCS4 on GNU/Linux) and whatever the currently selected locale for the LC_CTYPE category implements. +

5. Design

*************** The two required specializations are imp *** 259,283 **** --- 284,313 ---- codecvt<char, char, mbstate_t> +

This is a degenerate (ie, does nothing) specialization. Implementing this was a piece of cake. +

codecvt<char, wchar_t, mbstate_t> +

This specialization, by specifying all the template parameters, pretty much ties the hands of implementors. As such, the implementation is straightforward, involving mcsrtombs for the conversions between char to wchar_t and wcsrtombs for conversions between wchar_t and char. +

Neither of these two required specializations deals with Unicode characters. As such, libstdc++-v3 implements a partial specialization of the codecvt class with and iconv wrapper class, __enc_traits as the third template parameter. +

This implementation should be standards conformant. First of all, the *************** non-required conversions. Second of all, *** 288,320 **** --- 318,357 ---- of all, the requirements for the stateT type elsewhere in the standard (see 21.1.2 traits typedefs) only indicate that this type be copy constructible. +

As such, the type __enc_traits is defined as a non-templatized, POD type to be used as the third type of a codecvt instantiation. This type is just a wrapper class for iconv, and provides an easy interface to iconv functionality. +

There are two constructors for __enc_traits: +

__enc_traits() : __in_desc(0), __out_desc(0) +

This default constructor sets the internal encoding to some default (currently UCS4) and the external encoding to whatever is returned by nl_langinfo(CODESET). +

__enc_traits(const char* __int, const char* __ext) +

This constructor takes as parameters string literals that indicate the desired internal and external encoding. There are no defaults for either argument. +

One of the issues with iconv is that the string literals identifying *************** inducing) strategy was implemented: end- *** 325,348 **** --- 362,389 ---- (subject to a pre-determined length qualifier, currently 32 bytes) for encodings. It is up to the user to make sure that these strings are valid on the target system. +

void _M_init() +

Strangely enough, this member function attempts to open conversion descriptors for a given __enc_traits object. If the conversion descriptors are not valid, the conversion descriptors returned will not be valid and the resulting calls to the codecvt conversion functions will return error. +

bool _M_good() +

Provides a way to see if the given __enc_traits object has been properly initialized. If the string literals describing the desired *************** fail, and this will return false. If the *** 351,407 **** encodings are valid, but iconv_open could not allocate conversion descriptors, this will also return false. Otherwise, the object is ready to convert and will return true.

__enc_traits(const __enc_traits&)

As iconv allocates memory and sets up conversion descriptors, the copy constructor can only copy the member data pertaining to the internal and external code conversions, and not the conversion descriptors themselves.

Definitions for all the required codecvt member functions are provided for this specialization, and usage of codecvt<internal character type, external character type, __enc_traits> is consistent with other codecvt usage. -

6. Examples

    !
  • ! a. conversions involving string literals
    !   typedef codecvt_base::result			result;
    !   typedef unsigned short			unicode_t;
    !   typedef unicode_t				int_type;
    !   typedef char					ext_type;
    !   typedef __enc_traits				enc_type;
    !   typedef codecvt<int_type, ext_type, enc_type>	unicode_codecvt;
      
    !   const ext_type* 	e_lit = "black pearl jasmine tea";
    !   int 			size = strlen(e_lit);
    !   int_type 		i_lit_base[24] = 
        { 25088, 27648, 24832, 25344, 27392, 8192, 28672, 25856, 24832, 29184, 
          27648, 8192, 27136, 24832, 29440, 27904, 26880, 28160, 25856, 8192, 29696,
          25856, 24832, 2560
        };
    !   const int_type* 	i_lit = i_lit_base;
        const ext_type*       efrom_next;
        const int_type*       ifrom_next;
    !   ext_type* 		e_arr = new ext_type[size + 1];
    !   ext_type*		eto_next;
    !   int_type* 		i_arr = new int_type[size + 1];
    !   int_type*		ito_next;
      
        // construct a locale object with the specialized facet.
    !   locale 		loc(locale::classic(), new unicode_codecvt);
        // sanity check the constructed locale has the specialized facet.
        VERIFY( has_facet<unicode_codecvt>(loc) );
        const unicode_codecvt& cvt = use_facet<unicode_codecvt>(loc); 
    --- 392,451 ----
      encodings are valid, but iconv_open could not allocate conversion
      descriptors, this will also return false. Otherwise, the object is
      ready to convert and will return true.
    + 

    __enc_traits(const __enc_traits&) +

    As iconv allocates memory and sets up conversion descriptors, the copy constructor can only copy the member data pertaining to the internal and external code conversions, and not the conversion descriptors themselves. +

    Definitions for all the required codecvt member functions are provided for this specialization, and usage of codecvt<internal character type, external character type, __enc_traits> is consistent with other codecvt usage. +

    6. Examples

      !
    • ! a. conversions involving string literals
      !   typedef codecvt_base::result                  result;
      !   typedef unsigned short                        unicode_t;
      !   typedef unicode_t                             int_type;
      !   typedef char                                  ext_type;
      !   typedef __enc_traits                          enc_type;
      !   typedef codecvt<int_type, ext_type, enc_type> unicode_codecvt;
        
      !   const ext_type*       e_lit = "black pearl jasmine tea";
      !   int                   size = strlen(e_lit);
      !   int_type              i_lit_base[24] = 
          { 25088, 27648, 24832, 25344, 27392, 8192, 28672, 25856, 24832, 29184, 
            27648, 8192, 27136, 24832, 29440, 27904, 26880, 28160, 25856, 8192, 29696,
            25856, 24832, 2560
          };
      !   const int_type*       i_lit = i_lit_base;
          const ext_type*       efrom_next;
          const int_type*       ifrom_next;
      !   ext_type*             e_arr = new ext_type[size + 1];
      !   ext_type*             eto_next;
      !   int_type*             i_arr = new int_type[size + 1];
      !   int_type*             ito_next;
        
          // construct a locale object with the specialized facet.
      !   locale                loc(locale::classic(), new unicode_codecvt);
          // sanity check the constructed locale has the specialized facet.
          VERIFY( has_facet<unicode_codecvt>(loc) );
          const unicode_codecvt& cvt = use_facet<unicode_codecvt>(loc); 
      *************** codecvt usage.
      *** 409,478 ****
          unicode_codecvt::state_type state01("UNICODE", "ISO_8859-1");
          initialize_state(state01);
          result r1 = cvt.in(state01, e_lit, e_lit + size, efrom_next, 
      ! 		     i_arr, i_arr + size, ito_next);
          VERIFY( r1 == codecvt_base::ok );
          VERIFY( !int_traits::compare(i_arr, i_lit, size) ); 
          VERIFY( efrom_next == e_lit + size );
          VERIFY( ito_next == i_arr + size );
        
      !
    • ! b. conversions involving std::string !
    • ! c. conversions involving std::filebuf and std::ostream
    More information can be found in the following testcases:
      !
    • testsuite/22_locale/codecvt_char_char.cc !
    • testsuite/22_locale/codecvt_unicode_wchar_t.cc !
    • testsuite/22_locale/codecvt_unicode_char.cc !
    • testsuite/22_locale/codecvt_wchar_t_char.cc
    -

    7. Unresolved Issues

    • ! a. things that are sketchy, or remain unimplemented: ! do_encoding, max_length and length member functions ! are only weakly implemented. I have no idea how to do ! this correctly, and in a generic manner. Nathan?
    • ! b. conversions involving std::string !
        !
      • ! how should operators != and == work for string of ! different/same encoding? !
      • ! what is equal? A byte by byte comparison or an ! encoding then byte comparison? ! !
      • ! conversions between narrow, wide, and unicode strings !
    • ! c. conversions involving std::filebuf and std::ostream !
        !
      • ! how to initialize the state object in a ! standards-conformant manner? !
      • ! how to synchronize the "C" and "C++" ! conversion information? !
      • ! wchar_t/char internal buffers and conversions between ! internal/external buffers? !
    -

    8. Acknowledgments

    --- 453,532 ---- unicode_codecvt::state_type state01("UNICODE", "ISO_8859-1"); initialize_state(state01); result r1 = cvt.in(state01, e_lit, e_lit + size, efrom_next, ! i_arr, i_arr + size, ito_next); VERIFY( r1 == codecvt_base::ok ); VERIFY( !int_traits::compare(i_arr, i_lit, size) ); VERIFY( efrom_next == e_lit + size ); VERIFY( ito_next == i_arr + size );
    !
  • !
  • ! b. conversions involving std::string !
  • !
  • ! c. conversions involving std::filebuf and std::ostream !
More information can be found in the following testcases:
    !
  • testsuite/22_locale/codecvt_char_char.cc
  • !
  • testsuite/22_locale/codecvt_unicode_wchar_t.cc
  • !
  • testsuite/22_locale/codecvt_unicode_char.cc
  • !
  • testsuite/22_locale/codecvt_wchar_t_char.cc

7. Unresolved Issues

  • ! a. things that are sketchy, or remain unimplemented: ! do_encoding, max_length and length member functions ! are only weakly implemented. I have no idea how to do ! this correctly, and in a generic manner. Nathan? !
  • ! b. conversions involving std::string !
      !
    • ! how should operators != and == work for string of ! different/same encoding? !
    • !
    • ! what is equal? A byte by byte comparison or an ! encoding then byte comparison? !
    • ! !
    • ! conversions between narrow, wide, and unicode strings !
    • !
    !
  • ! c. conversions involving std::filebuf and std::ostream !
      !
    • ! how to initialize the state object in a ! standards-conformant manner? !
    • !
    • ! how to synchronize the "C" and "C++" ! conversion information? !
    • !
    • ! wchar_t/char internal buffers and conversions between ! internal/external buffers? !
    • !
    !

8. Acknowledgments

*************** Ulrich Drepper for the iconv suggestions *** 480,486 **** late-night questions, Jason Merrill for the template partial specialization hints, language clarification, and wchar_t fixes. -

9. Bibliography / Referenced Documents

--- 534,539 ---- *************** Drepper, Ulrich, GNU libc (glibc) 2.2 ma *** 489,522 ****

Drepper, Ulrich, Numerous, late-night email correspondence

Feather, Clive, "A brief description of Normative Addendum 1," in particular the parts on Extended Character Sets http://www.lysator.liu.se/c/na1.html

Haible, Bruno, "The Unicode HOWTO" v0.18, 4 August 2000 ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode-HOWTO.html

ISO/IEC 14882:1998 Programming languages - C++

ISO/IEC 9899:1999 Programming languages - C

Khun, Markus, "UTF-8 and Unicode FAQ for Unix/Linux" http://www.cl.cam.ac.uk/~mgk25/unicode.html

Langer, Angelika and Klaus Kreft, Standard C++ IOStreams and Locales, Advanced Programmer's Guide and Reference, Addison Wesley Longman, Inc. 2000

Stroustrup, Bjarne, Appendix D, The C++ Programming Language, Special Edition, Addison Wesley, Inc. 2000

System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) The Open Group/The Institute of Electrical and Electronics Engineers, Inc. http://www.opennc.org/austin/docreg.html ! --- 542,585 ----

Drepper, Ulrich, Numerous, late-night email correspondence +

Feather, Clive, "A brief description of Normative Addendum 1," in particular the parts on Extended Character Sets http://www.lysator.liu.se/c/na1.html +

Haible, Bruno, "The Unicode HOWTO" v0.18, 4 August 2000 ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode-HOWTO.html +

ISO/IEC 14882:1998 Programming languages - C++ +

ISO/IEC 9899:1999 Programming languages - C +

Khun, Markus, "UTF-8 and Unicode FAQ for Unix/Linux" http://www.cl.cam.ac.uk/~mgk25/unicode.html +

Langer, Angelika and Klaus Kreft, Standard C++ IOStreams and Locales, Advanced Programmer's Guide and Reference, Addison Wesley Longman, Inc. 2000 +

Stroustrup, Bjarne, Appendix D, The C++ Programming Language, Special Edition, Addison Wesley, Inc. 2000 +

System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) The Open Group/The Institute of Electrical and Electronics Engineers, Inc. http://www.opennc.org/austin/docreg.html +

! ! diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/22_locale/ctype.html gcc-3.2.1/libstdc++-v3/docs/html/22_locale/ctype.html *** gcc-3.2/libstdc++-v3/docs/html/22_locale/ctype.html Mon Sep 17 23:24:39 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/22_locale/ctype.html Wed Sep 25 17:52:19 2002 *************** *** 1,14 ****

Notes on the ctype implementation.

! ! prepared by Benjamin Kosnik (bkoz@redhat.com) on August 30, 2000 ! -

1. Abstract

--- 1,20 ---- + + + + + Notes on the ctype implementation. + + +

Notes on the ctype implementation.

! prepared by Benjamin Kosnik (bkoz@redhat.com) on August 30, 2000 !

1. Abstract

*************** prepared by Benjamin Kosnik (bkoz@redhat *** 16,28 **** Woe is me.

-

2. What the standard says

-

3. Problems with "C" ctype : global locales, termination.

--- 22,32 ---- *************** For the required specialization codecvt& *** 32,39 **** conversions are made between the internal character set (always UCS4 on GNU/Linux) and whatever the currently selected locale for the LC_CTYPE category implements. -

4. Design

--- 36,43 ---- conversions are made between the internal character set (always UCS4 on GNU/Linux) and whatever the currently selected locale for the LC_CTYPE category implements. +

4. Design

*************** The two required specializations are imp *** 43,122 **** ctype<char>

This is simple specialization. Implementing this was a piece of cake.

ctype<wchar_t>

This specialization, by specifying all the template parameters, pretty much ties the hands of implementors. As such, the implementation is straightforward, involving mcsrtombs for the conversions between char to wchar_t and wcsrtombs for conversions between wchar_t and char.

Neither of these two required specializations deals with Unicode characters. As such, libstdc++-v3 implements - - -

5. Examples

!   typedef ctype cctype;
  
More information can be found in the following testcases:
    !
  • testsuite/22_locale/ctype_char_members.cc !
  • testsuite/22_locale/ctype_wchar_t_members.cc
-

6. Unresolved Issues

    !
  • how to deal with the global locale issue? !
  • how to deal with different types than char, wchar_t? !
  • codecvt/ctype overlap: narrow/widen !
  • mask typedef in codecvt_base, argument types in codecvt. ! what is know about this type? !
  • why mask* argument in codecvt? ! !
  • can this be made (more) generic? is there a simple way to ! straighten out the configure-time mess that is a by-product of ! this class? !
  • get the ctype::mask stuff under control. Need to ! make some kind of static table, and not do lookup evertime ! somebody hits the do_is... functions. Too bad we can't just ! redefine mask for ctype ! !
  • rename abstract base class. See if just smash-overriding ! is a better approach. Clarify, add sanity to naming.
-

7. Acknowledgments

Ulrich Drepper for patient answering of late-night questions, skeletal examples, and C language expertise. -

8. Bibliography / Referenced Documents

--- 47,125 ---- ctype<char> +

This is simple specialization. Implementing this was a piece of cake. +

ctype<wchar_t> +

This specialization, by specifying all the template parameters, pretty much ties the hands of implementors. As such, the implementation is straightforward, involving mcsrtombs for the conversions between char to wchar_t and wcsrtombs for conversions between wchar_t and char. +

Neither of these two required specializations deals with Unicode characters. As such, libstdc++-v3 implements +

5. Examples

!   typedef ctype<char> cctype;
  
More information can be found in the following testcases:
    !
  • testsuite/22_locale/ctype_char_members.cc
  • !
  • testsuite/22_locale/ctype_wchar_t_members.cc

6. Unresolved Issues

    !
  • how to deal with the global locale issue?
  • !
  • how to deal with different types than char, wchar_t?
  • !
  • codecvt/ctype overlap: narrow/widen
  • !
  • mask typedef in codecvt_base, argument types in codecvt. ! what is know about this type?
  • !
  • why mask* argument in codecvt?
  • ! !
  • can this be made (more) generic? is there a simple way to ! straighten out the configure-time mess that is a by-product of ! this class?
  • !
  • get the ctype<wchar_t>::mask stuff under control. Need to ! make some kind of static table, and not do lookup evertime ! somebody hits the do_is... functions. Too bad we can't just ! redefine mask for ctype<wchar_t>
  • ! !
  • rename abstract base class. See if just smash-overriding ! is a better approach. Clarify, add sanity to naming.

7. Acknowledgments

Ulrich Drepper for patient answering of late-night questions, skeletal examples, and C language expertise.

8. Bibliography / Referenced Documents

*************** Drepper, Ulrich, GNU libc (glibc) 2.2 ma *** 125,146 ****

Drepper, Ulrich, Numerous, late-night email correspondence

ISO/IEC 14882:1998 Programming languages - C++

ISO/IEC 9899:1999 Programming languages - C

Langer, Angelika and Klaus Kreft, Standard C++ IOStreams and Locales, Advanced Programmer's Guide and Reference, Addison Wesley Longman, Inc. 2000

Stroustrup, Bjarne, Appendix D, The C++ Programming Language, Special Edition, Addison Wesley, Inc. 2000

System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) The Open Group/The Institute of Electrical and Electronics Engineers, Inc. http://www.opennc.org/austin/docreg.html ! --- 128,156 ----

Drepper, Ulrich, Numerous, late-night email correspondence +

ISO/IEC 14882:1998 Programming languages - C++ +

ISO/IEC 9899:1999 Programming languages - C +

Langer, Angelika and Klaus Kreft, Standard C++ IOStreams and Locales, Advanced Programmer's Guide and Reference, Addison Wesley Longman, Inc. 2000 +

Stroustrup, Bjarne, Appendix D, The C++ Programming Language, Special Edition, Addison Wesley, Inc. 2000 +

System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) The Open Group/The Institute of Electrical and Electronics Engineers, Inc. http://www.opennc.org/austin/docreg.html +

! ! diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/22_locale/howto.html gcc-3.2.1/libstdc++-v3/docs/html/22_locale/howto.html *** gcc-3.2/libstdc++-v3/docs/html/22_locale/howto.html Thu Aug 1 21:29:14 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/22_locale/howto.html Wed Sep 25 17:52:19 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 22 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 22 ! *************** *** 16,54 ****

Chapter 22 deals with the C++ localization facilities.

!

Contents

!

class locale

Notes made during the implementation of locales can be found here.

!

class codecvt

Notes made during the implementation of codecvt can be found here.

The following is the abstract from the implementation notes:

The standard class codecvt attempts to address conversions between different character encoding schemes. In particular, the standard --- 15,54 ----

Chapter 22 deals with the C++ localization facilities.

!

Contents

!

class locale

Notes made during the implementation of locales can be found here.

!

class codecvt

Notes made during the implementation of codecvt can be found here.

The following is the abstract from the implementation notes: +

The standard class codecvt attempts to address conversions between different character encoding schemes. In particular, the standard *************** *** 64,84 **** the required specializations for wide and narrow characters and the implementation-provided extended functionality are given.
-

!

class ctype

Notes made during the implementation of ctype can be found here.

!

class messages

Notes made during the implementation of messages can be found here.

!

Stroustrup on Locales

Dr. Bjarne Stroustrup has released a pointer --- 64,83 ---- the required specializations for wide and narrow characters and the implementation-provided extended functionality are given.

!

class ctype

Notes made during the implementation of ctype can be found here.

!

class messages

Notes made during the implementation of messages can be found here.

!

Stroustrup on Locales

Dr. Bjarne Stroustrup has released a pointer *************** *** 88,109 **** description of locales and how to use them.

He also writes:

Please note that I still consider this detailed description of locales beyond the needs of most C++ programmers. It is written with experienced programmers in mind and novices will do best to avoid it.
-

!

Nathan Myers on Locales

An article entitled "The Standard C++ Locale" was published in Dr. Dobb's Journal and can be found here.

!

Correct Transformations

A very common question on newsgroups and mailing lists is, "How --- 87,108 ---- description of locales and how to use them.

He also writes: +

Please note that I still consider this detailed description of locales beyond the needs of most C++ programmers. It is written with experienced programmers in mind and novices will do best to avoid it.
!

Nathan Myers on Locales

An article entitled "The Standard C++ Locale" was published in Dr. Dobb's Journal and can be found here.

!

Correct Transformations

A very common question on newsgroups and mailing lists is, "How *************** *** 131,136 **** --- 130,136 ---- is created. Then member functions of that locale are called to perform minor tasks. Continuing the example from Chapter 21, we wish to use the following convenience functions: +

     namespace std {
       template <class charT>
***************
*** 140,145 ****
--- 140,146 ----
         charT
         tolower (charT c, const locale& loc) const;
     }
+

This function extracts the appropriate "facet" from the locale loc and calls the appropriate member function of that facet, passing c as its argument. The resulting character *************** *** 154,159 **** --- 155,161 ---- parameter. So we write simple wrapper structs to handle that.

The next-to-final version of the code started in Chapter 21 looks like: +

     #include <iterator>    // for back_inserter
     #include <locale>
***************
*** 195,201 ****
        std::string  capital_s;
        std::transform(s.begin(), s.end(), std::back_inserter(capital_s), up);
     }
-

The final version of the code uses bind2nd to eliminate the wrapper structs, but the resulting code is tricky. I have not shown it here because no compilers currently available to me will --- 197,202 ---- *************** *** 205,211 **** !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 206,212 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/22_locale/locale.html gcc-3.2.1/libstdc++-v3/docs/html/22_locale/locale.html *** gcc-3.2/libstdc++-v3/docs/html/22_locale/locale.html Sun Oct 7 18:02:45 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/22_locale/locale.html Thu Oct 17 02:04:15 2002 *************** *** 1,122 **** !

Notes on the locale implementation.

! ! ! prepared by Benjamin Kosnik (bkoz@redhat.com) on August 8, 2001 ! -

! 1. Abstract Describes the basic locale object, including nested ! classes id, facet, and the reference-counted implementation object, ! class _Impl.

-

2. What the standard says - See Chapter 22 of the standard.

!

! 3. Problems with "C" locales : global locales, termination. !

! The major problem is fitting an object-orientated and non-global locale ! design ontop of POSIX and other relevant stanards, which include the ! Single Unix (nee X/Open.) ! Because POSIX falls down so completely, portibility is an issue.

! 4. Design

- Class locale in non-templatized and has three distinct types nested - inside of it: ! class facet ! 22.1.1.1.2 Class locale::facet ! Facets actually implement locale functionality. For instance, a facet ! called numpunct is the data objects that can be used to query for the ! thousands separator is in the German locale. ! Literally, a facet is strictly defined: ! - containing ! public: ! static locale::id id; ! - or derived from another facet ! The only other thing of interest in this class is the memory ! management of facets. Each constructor of a facet class takes a ! std::size_t __refs argument: if __refs == 0, the facet is deleted when ! no longer used. if __refs == 1, the facet is not destroyed, even when ! it is no longer reference. ! class id ! Provides an index for looking up specific facets. - class _Impl

5. Examples

-
-   typedef __locale_t locale;
- 
- More information can be found in the following testcases:
    !
  • testsuite/22_locale/ctype_char_members.cc !
  • testsuite/22_locale/ctype_wchar_t_members.cc
-

6. Unresolved Issues

    !
  • locale -a displays available locales on linux ! !
  • locale initialization: at what point does _S_classic, ! _S_global get initialized? Can named locales assume this ! initialization has already taken place? !
  • document how named locales error check when filling data ! members. Ie, a fr_FR locale that doesn't have ! numpunct::truename(): does it use "true"? Or is it a blank ! string? What's the convention? !
  • explain how locale aliasing happens. When does "de_DE" ! use "de" information? What is the rule for locales composed of ! just an ISO language code (say, "de") and locales with both an ! ISO language code and ISO country code (say, "de_DE"). !
  • what should non-required facet instantiations do? If the ! generic implemenation is provided, then how to end-users ! provide specializations?
-

7. Acknowledgments

-

8. Bibliography / Referenced Documents

--- 1,504 ---- ! ! ! + + + + + Notes on the locale implementation. + + +

Notes on the locale implementation.

! ! prepared by Benjamin Kosnik (bkoz@redhat.com) on October 14, 2002 !

! 1. Abstract

+ Describes the basic locale object, including nested + classes id, facet, and the reference-counted implementation object, + class _Impl.

2. What the standard says

+ Class locale is non-templatized and has two distinct types nested + inside of it: +
+ + class facet + 22.1.1.1.2 Class locale::facet + +

! Facets actually implement locale functionality. For instance, a facet ! called numpunct is the data objects that can be used to query for the ! thousands separator is in the German locale. !

! ! Literally, a facet is strictly defined: !
    !
  • containing the following public data member: !

    ! static locale::id id; !

    !
  • ! !
  • derived from another facet: !

    ! class gnu_codecvt: public std::ctype<user-defined-type> !

    !
  • !

! Of interest in this class are the memory management options explicitly ! specified as an argument to facet's constructor. Each constructor of a ! facet class takes a std::size_t __refs argument: if __refs == 0, the ! facet is deleted when the locale containing it is destroyed. If __refs ! == 1, the facet is not destroyed, even when it is no longer ! referenced. !

! !
! ! class id ! 22.1.1.1.3 - Class locale::id ! !
!

! Provides an index for looking up specific facets.

+

! 3. Interacting with "C" locales.

!

! Some help on determining the underlying support for locales on a system. ! Note, this is specific to linux (and glibc-2.3.x) !

!
    !
  • `locale -a` displays available locales. !
    !
    ! af_ZA
    ! ar_AE
    ! ar_AE.utf8
    ! ar_BH
    ! ar_BH.utf8
    ! ar_DZ
    ! ar_DZ.utf8
    ! ar_EG
    ! ar_EG.utf8
    ! ar_IN
    ! ar_IQ
    ! ar_IQ.utf8
    ! ar_JO
    ! ar_JO.utf8
    ! ar_KW
    ! ar_KW.utf8
    ! ar_LB
    ! ar_LB.utf8
    ! ar_LY
    ! ar_LY.utf8
    ! ar_MA
    ! ar_MA.utf8
    ! ar_OM
    ! ar_OM.utf8
    ! ar_QA
    ! ar_QA.utf8
    ! ar_SA
    ! ar_SA.utf8
    ! ar_SD
    ! ar_SD.utf8
    ! ar_SY
    ! ar_SY.utf8
    ! ar_TN
    ! ar_TN.utf8
    ! ar_YE
    ! ar_YE.utf8
    ! be_BY
    ! be_BY.utf8
    ! bg_BG
    ! bg_BG.utf8
    ! br_FR
    ! bs_BA
    ! C
    ! ca_ES
    ! ca_ES@euro
    ! ca_ES.utf8
    ! ca_ES.utf8@euro
    ! cs_CZ
    ! cs_CZ.utf8
    ! cy_GB
    ! da_DK
    ! da_DK.iso885915
    ! da_DK.utf8
    ! de_AT
    ! de_AT@euro
    ! de_AT.utf8
    ! de_AT.utf8@euro
    ! de_BE
    ! de_BE@euro
    ! de_BE.utf8
    ! de_BE.utf8@euro
    ! de_CH
    ! de_CH.utf8
    ! de_DE
    ! de_DE@euro
    ! de_DE.utf8
    ! de_DE.utf8@euro
    ! de_LU
    ! de_LU@euro
    ! de_LU.utf8
    ! de_LU.utf8@euro
    ! el_GR
    ! el_GR.utf8
    ! en_AU
    ! en_AU.utf8
    ! en_BW
    ! en_BW.utf8
    ! en_CA
    ! en_CA.utf8
    ! en_DK
    ! en_DK.utf8
    ! en_GB
    ! en_GB.iso885915
    ! en_GB.utf8
    ! en_HK
    ! en_HK.utf8
    ! en_IE
    ! en_IE@euro
    ! en_IE.utf8
    ! en_IE.utf8@euro
    ! en_IN
    ! en_NZ
    ! en_NZ.utf8
    ! en_PH
    ! en_PH.utf8
    ! en_SG
    ! en_SG.utf8
    ! en_US
    ! en_US.iso885915
    ! en_US.utf8
    ! en_ZA
    ! en_ZA.utf8
    ! en_ZW
    ! en_ZW.utf8
    ! es_AR
    ! es_AR.utf8
    ! es_BO
    ! es_BO.utf8
    ! es_CL
    ! es_CL.utf8
    ! es_CO
    ! es_CO.utf8
    ! es_CR
    ! es_CR.utf8
    ! es_DO
    ! es_DO.utf8
    ! es_EC
    ! es_EC.utf8
    ! es_ES
    ! es_ES@euro
    ! es_ES.utf8
    ! es_ES.utf8@euro
    ! es_GT
    ! es_GT.utf8
    ! es_HN
    ! es_HN.utf8
    ! es_MX
    ! es_MX.utf8
    ! es_NI
    ! es_NI.utf8
    ! es_PA
    ! es_PA.utf8
    ! es_PE
    ! es_PE.utf8
    ! es_PR
    ! es_PR.utf8
    ! es_PY
    ! es_PY.utf8
    ! es_SV
    ! es_SV.utf8
    ! es_US
    ! es_US.utf8
    ! es_UY
    ! es_UY.utf8
    ! es_VE
    ! es_VE.utf8
    ! et_EE
    ! et_EE.utf8
    ! eu_ES
    ! eu_ES@euro
    ! eu_ES.utf8
    ! eu_ES.utf8@euro
    ! fa_IR
    ! fi_FI
    ! fi_FI@euro
    ! fi_FI.utf8
    ! fi_FI.utf8@euro
    ! fo_FO
    ! fo_FO.utf8
    ! fr_BE
    ! fr_BE@euro
    ! fr_BE.utf8
    ! fr_BE.utf8@euro
    ! fr_CA
    ! fr_CA.utf8
    ! fr_CH
    ! fr_CH.utf8
    ! fr_FR
    ! fr_FR@euro
    ! fr_FR.utf8
    ! fr_FR.utf8@euro
    ! fr_LU
    ! fr_LU@euro
    ! fr_LU.utf8
    ! fr_LU.utf8@euro
    ! ga_IE
    ! ga_IE@euro
    ! ga_IE.utf8
    ! ga_IE.utf8@euro
    ! gl_ES
    ! gl_ES@euro
    ! gl_ES.utf8
    ! gl_ES.utf8@euro
    ! gv_GB
    ! gv_GB.utf8
    ! he_IL
    ! he_IL.utf8
    ! hi_IN
    ! hr_HR
    ! hr_HR.utf8
    ! hu_HU
    ! hu_HU.utf8
    ! id_ID
    ! id_ID.utf8
    ! is_IS
    ! is_IS.utf8
    ! it_CH
    ! it_CH.utf8
    ! it_IT
    ! it_IT@euro
    ! it_IT.utf8
    ! it_IT.utf8@euro
    ! iw_IL
    ! iw_IL.utf8
    ! ja_JP.eucjp
    ! ja_JP.utf8
    ! ka_GE
    ! kl_GL
    ! kl_GL.utf8
    ! ko_KR.euckr
    ! ko_KR.utf8
    ! kw_GB
    ! kw_GB.utf8
    ! lt_LT
    ! lt_LT.utf8
    ! lv_LV
    ! lv_LV.utf8
    ! mi_NZ
    ! mk_MK
    ! mk_MK.utf8
    ! mr_IN
    ! ms_MY
    ! ms_MY.utf8
    ! mt_MT
    ! mt_MT.utf8
    ! nl_BE
    ! nl_BE@euro
    ! nl_BE.utf8
    ! nl_BE.utf8@euro
    ! nl_NL
    ! nl_NL@euro
    ! nl_NL.utf8
    ! nl_NL.utf8@euro
    ! nn_NO
    ! nn_NO.utf8
    ! no_NO
    ! no_NO.utf8
    ! oc_FR
    ! pl_PL
    ! pl_PL.utf8
    ! POSIX
    ! pt_BR
    ! pt_BR.utf8
    ! pt_PT
    ! pt_PT@euro
    ! pt_PT.utf8
    ! pt_PT.utf8@euro
    ! ro_RO
    ! ro_RO.utf8
    ! ru_RU
    ! ru_RU.koi8r
    ! ru_RU.utf8
    ! ru_UA
    ! ru_UA.utf8
    ! se_NO
    ! sk_SK
    ! sk_SK.utf8
    ! sl_SI
    ! sl_SI.utf8
    ! sq_AL
    ! sq_AL.utf8
    ! sr_YU
    ! sr_YU@cyrillic
    ! sr_YU.utf8
    ! sr_YU.utf8@cyrillic
    ! sv_FI
    ! sv_FI@euro
    ! sv_FI.utf8
    ! sv_FI.utf8@euro
    ! sv_SE
    ! sv_SE.iso885915
    ! sv_SE.utf8
    ! ta_IN
    ! te_IN
    ! tg_TJ
    ! th_TH
    ! th_TH.utf8
    ! tl_PH
    ! tr_TR
    ! tr_TR.utf8
    ! uk_UA
    ! uk_UA.utf8
    ! ur_PK
    ! uz_UZ
    ! vi_VN
    ! vi_VN.tcvn
    ! wa_BE
    ! wa_BE@euro
    ! yi_US
    ! zh_CN
    ! zh_CN.gb18030
    ! zh_CN.gbk
    ! zh_CN.utf8
    ! zh_HK
    ! zh_HK.utf8
    ! zh_TW
    ! zh_TW.euctw
    ! zh_TW.utf8
    ! 
    !
    !
  • ! !
  • `locale` displays environmental variables ! that impact how locale("") will be deduced. !
    !
    ! LANG=en_US
    ! LC_CTYPE="en_US"
    ! LC_NUMERIC="en_US"
    ! LC_TIME="en_US"
    ! LC_COLLATE="en_US"
    ! LC_MONETARY="en_US"
    ! LC_MESSAGES="en_US"
    ! LC_PAPER="en_US"
    ! LC_NAME="en_US"
    ! LC_ADDRESS="en_US"
    ! LC_TELEPHONE="en_US"
    ! LC_MEASUREMENT="en_US"
    ! LC_IDENTIFICATION="en_US"
    ! LC_ALL=
    ! 
    !
    !
  • !
!

! From Josuttis, p. 697-698, which says, that "there is only *one* ! relation (of the C++ locale mechanism) to the C locale mechanism: the ! global C locale is modified if a named C++ locale object is set as the ! global locale" (emphasis Paolo), that is: !

! std::locale::global(std::locale("")); !

affects the C functions as if the following call was made:

+ std::setlocale(LC_ALL, ""); !

! On the other hand, there is *no* viceversa, that is, calling setlocale ! has *no* whatsoever on the C++ locale mechanism, in particular on the ! working of locale(""), which constructs the locale object from the ! environment of the running program, that is, in practice, the set of ! LC_ALL, LANG, etc. variable of the shell. !

! ! !

! 4. Design !

+ The major design challenge is fitting an object-orientated and + non-global locale design ontop of POSIX and other relevant stanards, + which include the Single Unix (nee X/Open.) +

+ +

+ Because POSIX falls down so completely, portibility is an issue. +

+ + class _Impl + The internal representation of the std::locale object. + +

5. Examples

More information can be found in the following testcases:
    !
  • testsuite/22_locale/all

6. Unresolved Issues

    !
  • locale initialization: at what point does _S_classic, ! _S_global get initialized? Can named locales assume this ! initialization has already taken place?
  • !
  • document how named locales error check when filling data ! members. Ie, a fr_FR locale that doesn't have ! numpunct::truename(): does it use "true"? Or is it a blank ! string? What's the convention?
  • !
  • explain how locale aliasing happens. When does "de_DE" ! use "de" information? What is the rule for locales composed of ! just an ISO language code (say, "de") and locales with both an ! ISO language code and ISO country code (say, "de_DE").
  • !
  • what should non-required facet instantiations do? If the ! generic implemenation is provided, then how to end-users ! provide specializations?

7. Acknowledgments

8. Bibliography / Referenced Documents

*************** Drepper, Ulrich, GNU libc (glibc) 2.2 ma *** 125,144 **** --- 507,537 ----

Drepper, Ulrich, Numerous, late-night email correspondence +

ISO/IEC 14882:1998 Programming languages - C++ +

ISO/IEC 9899:1999 Programming languages - C +

Langer, Angelika and Klaus Kreft, Standard C++ IOStreams and Locales, Advanced Programmer's Guide and Reference, Addison Wesley Longman, Inc. 2000 +

Stroustrup, Bjarne, Appendix D, The C++ Programming Language, Special Edition, Addison Wesley, Inc. 2000 +

System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) The Open Group/The Institute of Electrical and Electronics Engineers, Inc. http://www.opennc.org/austin/docreg.html +

+ + + + + diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/22_locale/messages.html gcc-3.2.1/libstdc++-v3/docs/html/22_locale/messages.html *** gcc-3.2/libstdc++-v3/docs/html/22_locale/messages.html Thu Jan 31 00:24:56 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/22_locale/messages.html Wed Sep 25 17:52:19 2002 *************** *** 1,14 **** !

! Notes on the messages implementation. !

! prepared by Benjamin Kosnik (bkoz@redhat.com) on August 8, 2001 ! -

1. Abstract

--- 1,20 ---- ! ! ! ! ! Notes on the messages implementation. ! ! !

! Notes on the messages implementation. !

! prepared by Benjamin Kosnik (bkoz@redhat.com) on August 8, 2001 !

1. Abstract

*************** equivalent to Java's java.text.MessageFo *** 18,24 **** or IEEE 1003.1-200 functions.

-

2. What the standard says

--- 24,29 ---- *************** locale to the other. For instance, conve *** 29,37 **** const char* c = "please" to a German-localized "bitte" during program execution. !
22.2.7.1 - Template class messages [lib.locale.messages] !
This class has three public member functions, which directly correspond to three protected virtual member functions. --- 34,42 ---- const char* c = "please" to a German-localized "bitte" during program execution. !
22.2.7.1 - Template class messages [lib.locale.messages] !
This class has three public member functions, which directly correspond to three protected virtual member functions. *************** correspond to three protected virtual me *** 39,90 **** The public member functions are:

! catalog open(const string&, const locale&) const

! string_type get(catalog, int, int, const string_type&) const

void close(catalog) const

While the virtual functions are:

! catalog do_open(const string&, const locale&) const !

! -1- Returns: A value that may be passed to get() to retrieve a message, from the message catalog identified by the string name according to an implementation-defined mapping. The result can be used until it is passed to close(). Returns a value less than 0 if no such catalog can be opened. ! !

! string_type do_get(catalog, int, int, const string_type&) const !

! -3- Requires: A catalog cat obtained from open() and not yet closed. -4- Returns: A message identified by arguments set, msgid, and dfault, according to an implementation-defined mapping. If no such message can be found, returns dfault. ! !

void do_close(catalog) const !

! -5- Requires: A catalog cat obtained from open() and not yet closed. -6- Effects: Releases unspecified resources associated with cat. -7- Notes: The limit on such resources, if any, is implementation-defined. ! !
-

3. Problems with "C" messages: thread safety, over-specification, and assumptions. --- 44,101 ---- The public member functions are:

! catalog open(const string&, const locale&) const !

! string_type get(catalog, int, int, const string_type&) const !

void close(catalog) const +

While the virtual functions are: +

! catalog do_open(const string&, const locale&) const !

!
! -1- Returns: A value that may be passed to get() to retrieve a message, from the message catalog identified by the string name according to an implementation-defined mapping. The result can be used until it is passed to close(). Returns a value less than 0 if no such catalog can be opened. ! !

! string_type do_get(catalog, int, int, const string_type&) const !

!
! -3- Requires: A catalog cat obtained from open() and not yet closed. -4- Returns: A message identified by arguments set, msgid, and dfault, according to an implementation-defined mapping. If no such message can be found, returns dfault. ! !

void do_close(catalog) const !

!
! -5- Requires: A catalog cat obtained from open() and not yet closed. -6- Effects: Releases unspecified resources associated with cat. -7- Notes: The limit on such resources, if any, is implementation-defined. ! !

3. Problems with "C" messages: thread safety, over-specification, and assumptions. *************** First, why is messages_base::catal *** 96,132 **** to int? This makes sense for implementations that use catopen, but not for others. Fortunately, it's not heavily used and so only a minor irritant.

Second, by making the member functions const, it is impossible to save state in them. Thus, storing away information used in the 'open' member function for use in 'get' is impossible. This is unfortunate.

The 'open' member function in particular seems to be oddly designed. The signature seems quite peculiar. Why specify a const ! string& argument, for instance, instead of just const ! char*? Or, why specify a const locale& argument that is to be used in the 'get' member function? How, exactly, is this locale argument useful? What was the intent? It might make sense if a locale argument was associated with a given default message string in the 'open' member function, for instance. Quite murky and unclear, on reflection.

Lastly, it seems odd that messages, which explicitly require code conversion, don't use the codecvt facet. Because the messages facet has only one template parameter, it is assumed that ctype, and not codecvt, is to be used to convert between character sets.

It is implicitly assumed that the locale for the default message string in 'get' is in the "C" locale. Thus, all source code is assumed to be written in English, so translations are always from "en_US" to other, explicitly named locales. -

4. Design and Implementation Details

--- 107,147 ---- to int? This makes sense for implementations that use catopen, but not for others. Fortunately, it's not heavily used and so only a minor irritant. +

Second, by making the member functions const, it is impossible to save state in them. Thus, storing away information used in the 'open' member function for use in 'get' is impossible. This is unfortunate. +

The 'open' member function in particular seems to be oddly designed. The signature seems quite peculiar. Why specify a const ! string& argument, for instance, instead of just const ! char*? Or, why specify a const locale& argument that is to be used in the 'get' member function? How, exactly, is this locale argument useful? What was the intent? It might make sense if a locale argument was associated with a given default message string in the 'open' member function, for instance. Quite murky and unclear, on reflection. +

Lastly, it seems odd that messages, which explicitly require code conversion, don't use the codecvt facet. Because the messages facet has only one template parameter, it is assumed that ctype, and not codecvt, is to be used to convert between character sets. +

It is implicitly assumed that the locale for the default message string in 'get' is in the "C" locale. Thus, all source code is assumed to be written in English, so translations are always from "en_US" to other, explicitly named locales. +

4. Design and Implementation Details

*************** dependent on the capabilities of the und *** 140,174 ****

Three different mechanisms have been provided, selectable via configure flags:

    !
  • generic !

    ! This model does very little, and is what is used by default. !

    !
  • gnu !

    ! The gnu model is complete and fully tested. It's based on the ! GNU gettext package, which is part of glibc. It uses the functions ! textdomain, bindtextdomain, gettext ! to implement full functionality. Creating message ! catalogs is a relatively straight-forward process and is ! lightly documented below, and fully documented in gettext's ! distributed documentation. !

    !
  • ieee_1003.1-200x !

    ! This is a complete, though untested, implementation based on ! the IEEE standard. The functions ! catopen, catgets, catclose ! are used to retrieve locale-specific messages given the ! appropriate message catalogs that have been constructed for ! their use. Note, the script po2msg.sed that is part ! of the gettext distribution can convert gettext catalogs into ! catalogs that catopen can use. !

--- 155,193 ----

Three different mechanisms have been provided, selectable via configure flags: +

    !
  • generic !

    ! This model does very little, and is what is used by default. !

    !
  • !
  • gnu !

    ! The gnu model is complete and fully tested. It's based on the ! GNU gettext package, which is part of glibc. It uses the functions ! textdomain, bindtextdomain, gettext ! to implement full functionality. Creating message ! catalogs is a relatively straight-forward process and is ! lightly documented below, and fully documented in gettext's ! distributed documentation. !

    !
  • !
  • ieee_1003.1-200x !

    ! This is a complete, though untested, implementation based on ! the IEEE standard. The functions ! catopen, catgets, catclose ! are used to retrieve locale-specific messages given the ! appropriate message catalogs that have been constructed for ! their use. Note, the script po2msg.sed that is part ! of the gettext distribution can convert gettext catalogs into ! catalogs that catopen can use. !

    !

*************** A new, standards-conformant non-virtual *** 176,184 **** --- 195,205 ---- added for 'open' so that a directory could be specified with a given message catalog. This simplifies calling conventions for the gnu model. +

The rest of this document discusses details of the GNU model. +

The messages facet, because it is retrieving and converting between *************** necessary for more than just the L *** 188,352 **** LC_CTYPE is also necessary. To avoid any unpleasantness, all bits of the "C" mask (ie LC_ALL) are set before retrieving messages.

Making the message catalogs can be initially tricky, but become quite simple with practice. For complete info, see the gettext documentation. Here's an idea of what is required:

    !
  • Make a source file with the required string literals ! that need to be translated. See ! intl/string_literals.cc for an example. !

    !

  • Make initial catalog (see "4 Making the PO Template File" ! from the gettext docs). !

    ! xgettext --c++ --debug string_literals.cc -o libstdc++.pot ! !

    !

  • Make language and country-specific locale catalogs. !

    ! cp libstdc++.pot fr_FR.po !

    ! cp libstdc++.pot de_DE.po !

    !

  • Edit localized catalogs in emacs so that strings are ! translated. !

    ! emacs fr_FR.po ! !

    !

  • Make the binary mo files. !

    ! msgfmt fr_FR.po -o fr_FR.mo !

    ! msgfmt de_DE.po -o de_DE.mo !

    !

  • Copy the binary files into the correct directory structure. !

    ! cp fr_FR.mo (dir)/fr_FR/LC_MESSAGES/libstdc++-v3.mo !

    ! cp de_DE.mo (dir)/de_DE/LC_MESSAGES/libstdc++-v3.mo !

    !

  • Use the new message catalogs. !

    ! locale loc_de("de_DE"); !

    ! ! use_facet >(loc_de).open("libstdc++", locale(), dir); !

-

5. Examples

    !
  • message converting, simple example using the GNU model.
    ! #include 
    ! #include 
      using namespace std;
      
      void test01()
      {
    !   typedef messages::catalog catalog;
        const char* dir =
        "/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/po/share/locale";  
        const locale loc_de("de_DE");
    !   const messages& mssg_de = use_facet >(loc_de); 
      
        catalog cat_de = mssg_de.open("libstdc++", loc_de, dir);
        string s01 = mssg_de.get(cat_de, 0, 0, "please");
        string s02 = mssg_de.get(cat_de, 0, 0, "thank you");
    !   cout << "please in german:" << s01 << '\n';
    !   cout << "thank you in german:" << s02 << '\n';
        mssg_de.close(cat_de);
      }
      
More information can be found in the following testcases:
    !
  • testsuite/22_locale/messages.cc !
  • testsuite/22_locale/messages_byname.cc !
  • testsuite/22_locale/messages_char_members.cc
-

6. Unresolved Issues

    !
  • Things that are sketchy, or remain unimplemented: !
      !
    • _M_convert_from_char, _M_convert_to_char are in ! flux, depending on how the library ends up doing ! character set conversions. It might not be possible to ! do a real character set based conversion, due to the ! fact that the template parameter for messages is not ! enough to instantiate the codecvt facet (1 supplied, ! need at least 2 but would prefer 3). !
    • There are issues with gettext needing the global ! locale set to extract a message. This dependence on ! the global locale makes the current "gnu" model non ! MT-safe. Future versions of glibc, ie glibc 2.3.x will ! fix this, and the C++ library bits are already in ! place. !
    ! !

    !

  • Development versions of the GNU "C" library, glibc 2.3 will allow ! a more efficient, MT implementation of std::messages, and will ! allow the removal of the _M_name_messages data member. If this ! is done, it will change the library ABI. The C++ parts to ! support glibc 2.3 have already been coded, but are not in use: ! once this version of the "C" library is released, the marked ! parts of the messages implementation can be switched over to ! the new "C" library functionality. !

  • At some point in the near future, std::numpunct will probably use ! std::messages facilities to implement truename/falename ! correctly. This is currently not done, but entries in ! libstdc++.pot have already been made for "true" and "false" ! string literals, so all that remains is the std::numpunct ! coding and the configure/make hassles to make the installed ! library search its own catalog. Currently the libstdc++.mo ! catalog is only searched for the testsuite cases involving ! messages members. !

    !

  • The following member functions: !

    ! catalog ! open(const basic_string& __s, const locale& __loc) const ! !

    ! ! catalog ! open(const basic_string&, const locale&, const char*) const; ! !

    ! Don't actually return a "value less than 0 if no such catalog ! can be opened" as required by the standard in the "gnu" ! model. As of this writing, it is unknown how to query to see ! if a specified message catalog exists using the gettext ! package.

-

7. Acknowledgments

--- 209,390 ---- LC_CTYPE is also necessary. To avoid any unpleasantness, all bits of the "C" mask (ie LC_ALL) are set before retrieving messages. +

Making the message catalogs can be initially tricky, but become quite simple with practice. For complete info, see the gettext documentation. Here's an idea of what is required: +

    !
  • Make a source file with the required string literals ! that need to be translated. See ! intl/string_literals.cc for an example. !
  • !
  • Make initial catalog (see "4 Making the PO Template File" ! from the gettext docs). !

    ! xgettext --c++ --debug string_literals.cc -o libstdc++.pot !

    !
  • ! !
  • Make language and country-specific locale catalogs. !

    ! cp libstdc++.pot fr_FR.po !

    !

    ! cp libstdc++.pot de_DE.po !

    !
  • !
  • Edit localized catalogs in emacs so that strings are ! translated. !

    ! emacs fr_FR.po !

    !
  • ! !
  • Make the binary mo files. !

    ! msgfmt fr_FR.po -o fr_FR.mo !

    !

    ! msgfmt de_DE.po -o de_DE.mo !

    !
  • !
  • Copy the binary files into the correct directory structure. !

    ! cp fr_FR.mo (dir)/fr_FR/LC_MESSAGES/libstdc++-v3.mo !

    !

    ! cp de_DE.mo (dir)/de_DE/LC_MESSAGES/libstdc++-v3.mo !

    !
  • !
  • Use the new message catalogs. !

    ! locale loc_de("de_DE"); !

    !

    ! ! use_facet<messages<char> >(loc_de).open("libstdc++", locale(), dir); ! !

    !

5. Examples

    !
  • message converting, simple example using the GNU model.
    ! #include <iostream>
    ! #include <locale>
      using namespace std;
      
      void test01()
      {
    !   typedef messages<char>::catalog catalog;
        const char* dir =
        "/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/po/share/locale";  
        const locale loc_de("de_DE");
    !   const messages<char>& mssg_de = use_facet<messages<char> >(loc_de); 
      
        catalog cat_de = mssg_de.open("libstdc++", loc_de, dir);
        string s01 = mssg_de.get(cat_de, 0, 0, "please");
        string s02 = mssg_de.get(cat_de, 0, 0, "thank you");
    !   cout << "please in german:" << s01 << '\n';
    !   cout << "thank you in german:" << s02 << '\n';
        mssg_de.close(cat_de);
      }
      
    +
More information can be found in the following testcases:
    !
  • testsuite/22_locale/messages.cc
  • !
  • testsuite/22_locale/messages_byname.cc
  • !
  • testsuite/22_locale/messages_char_members.cc

6. Unresolved Issues

    !
  • Things that are sketchy, or remain unimplemented: !
      !
    • _M_convert_from_char, _M_convert_to_char are in ! flux, depending on how the library ends up doing ! character set conversions. It might not be possible to ! do a real character set based conversion, due to the ! fact that the template parameter for messages is not ! enough to instantiate the codecvt facet (1 supplied, ! need at least 2 but would prefer 3). !
    • !
    • There are issues with gettext needing the global ! locale set to extract a message. This dependence on ! the global locale makes the current "gnu" model non ! MT-safe. Future versions of glibc, ie glibc 2.3.x will ! fix this, and the C++ library bits are already in ! place. !
    • !
    !
  • ! !
  • Development versions of the GNU "C" library, glibc 2.3 will allow ! a more efficient, MT implementation of std::messages, and will ! allow the removal of the _M_name_messages data member. If this ! is done, it will change the library ABI. The C++ parts to ! support glibc 2.3 have already been coded, but are not in use: ! once this version of the "C" library is released, the marked ! parts of the messages implementation can be switched over to ! the new "C" library functionality. !
  • At some point in the near future, std::numpunct will probably use ! std::messages facilities to implement truename/falename ! correctly. This is currently not done, but entries in ! libstdc++.pot have already been made for "true" and "false" ! string literals, so all that remains is the std::numpunct ! coding and the configure/make hassles to make the installed ! library search its own catalog. Currently the libstdc++.mo ! catalog is only searched for the testsuite cases involving ! messages members. !
  • !
  • The following member functions: !

    ! catalog ! open(const basic_string<char>& __s, const locale& __loc) const ! !

    !

    ! ! catalog ! open(const basic_string<char>&, const locale&, const char*) const; ! !

    !

    ! Don't actually return a "value less than 0 if no such catalog ! can be opened" as required by the standard in the "gnu" ! model. As of this writing, it is unknown how to query to see ! if a specified message catalog exists using the gettext ! package. !

    !

7. Acknowledgments

*************** Ulrich Drepper for the character set exp *** 354,360 **** and patient answering of late-night questions, Tom Tromey for the java details. -

8. Bibliography / Referenced Documents

--- 392,397 ---- *************** Drepper, Ulrich, GNU libc (glibc) 2.2 ma *** 366,401 **** --- 403,451 ---- Drepper, Ulrich, Thread-Aware Locale Model, A proposal. This is a draft document describing the design of glibc 2.3 MT locale functionality. +

Drepper, Ulrich, Numerous, late-night email correspondence +

ISO/IEC 9899:1999 Programming languages - C +

ISO/IEC 14882:1998 Programming languages - C++ +

Java 2 Platform, Standard Edition, v 1.3.1 API Specification. In particular, java.util.Properties, java.text.MessageFormat, java.util.Locale, java.util.ResourceBundle. http://java.sun.com/j2se/1.3/docs/api +

System Interface Definitions, Issue 7 (IEEE Std. 1003.1-200x) The Open Group/The Institute of Electrical and Electronics Engineers, Inc. In particular see lines 5268-5427. http://www.opennc.org/austin/docreg.html +

GNU gettext tools, version 0.10.38, Native Language Support Library and Tools. http://sources.redhat.com/gettext +

Langer, Angelika and Klaus Kreft, Standard C++ IOStreams and Locales, Advanced Programmer's Guide and Reference, Addison Wesley Longman, Inc. 2000. See page 725, Internationalized Messages. +

Stroustrup, Bjarne, Appendix D, The C++ Programming Language, Special Edition, Addison Wesley, Inc. 2000 +

+ + + + diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/23_containers/howto.html gcc-3.2.1/libstdc++-v3/docs/html/23_containers/howto.html *** gcc-3.2/libstdc++-v3/docs/html/23_containers/howto.html Sat Jul 20 06:34:50 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/23_containers/howto.html Wed Sep 25 17:52:20 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 23 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 23 ! *************** *** 18,36 **** !

Contents

!
--- 17,35 ---- !

Contents

!
*************** *** 65,73 **** code size or execution time.

The result is that if all your algorithm calls look like !

     std::transform(beginof(foo), endof(foo), beginof(foo), SomeFunction);
! then the type of foo can change from an array of ints to a vector of ints to a deque of ints and back again, without ever changing any client code.

--- 64,73 ---- code size or execution time.

The result is that if all your algorithm calls look like !

!
     std::transform(beginof(foo), endof(foo), beginof(foo), SomeFunction);
!

then the type of foo can change from an array of ints to a vector of ints to a deque of ints and back again, without ever changing any client code.

*************** *** 86,104 **** give the extra three lines and avoid confusion.

Second, the line !

      inline unsigned int lengthof (T (&)[sz]) { return sz; } 
! looks just weird! Hint: unused parameters can be left nameless.

Return to top of page or to the FAQ.

!

Variable-sized bitmasks

No, you cannot write code of the form !

        #include <bitset>
  
        void foo (size_t n)
--- 86,106 ----
        give the extra three lines and avoid confusion.
     

Second, the line !

!
      inline unsigned int lengthof (T (&)[sz]) { return sz; } 
!

looks just weird! Hint: unused parameters can be left nameless.

Return to top of page or to the FAQ.

!

Variable-sized bitmasks

No, you cannot write code of the form +

!
        #include <bitset>
  
        void foo (size_t n)
***************
*** 106,124 ****
            std::bitset<n>   bits;
            ....
        } 
! because n must be known at compile time. Your compiler is correct; it is not a bug. That's the way templates work. (Yes, it is a feature.)

There are a couple of ways to handle this kind of thing. Please consider all of them before passing judgement. They include, in no particular order:

    !
  • A very large N in bitset<N>. !
  • A container<bool>. !
  • Extremely weird solutions.
-

A very large N in bitset<N>.   It has been pointed out a few times in newsgroups that N bits only takes up --- 108,126 ---- std::bitset<n> bits; .... }

!

because n must be known at compile time. Your compiler is correct; it is not a bug. That's the way templates work. (Yes, it is a feature.)

There are a couple of ways to handle this kind of thing. Please consider all of them before passing judgement. They include, in no particular order: +

    !
  • A very large N in bitset<N>.
  • !
  • A container<bool>.
  • !
  • Extremely weird solutions.

A very large N in bitset<N>.   It has been pointed out a few times in newsgroups that N bits only takes up *************** *** 192,198 **** to the FAQ.

!

Containers and multithreading

This section discusses issues surrounding the design of multithreaded applications which use Standard C++ containers. --- 194,200 ---- to the FAQ.

!

Containers and multithreading

This section discusses issues surrounding the design of multithreaded applications which use Standard C++ containers. *************** *** 204,217 **** multithreading as it relates to libstdc++, including details on the proper compilation of threaded code (and compatibility between threaded and non-threaded code), see Chapter 17. !

Two excellent pages to read when working with the Standard C++ containers and threads are SGI's http://www.sgi.com/tech/stl/thread_safety.html and SGI's http://www.sgi.com/tech/stl/Allocators.html. !

However, please ignore all discussions about the user-level configuration of the lock implementation inside the STL container-memory allocator on those pages. For the sake of this --- 206,219 ---- multithreading as it relates to libstdc++, including details on the proper compilation of threaded code (and compatibility between threaded and non-threaded code), see Chapter 17. !

Two excellent pages to read when working with the Standard C++ containers and threads are SGI's http://www.sgi.com/tech/stl/thread_safety.html and SGI's http://www.sgi.com/tech/stl/Allocators.html. !

However, please ignore all discussions about the user-level configuration of the lock implementation inside the STL container-memory allocator on those pages. For the sake of this *************** *** 223,229 **** STL. This is no longer required for any port and should no longer be done unless you really know what you are doing and assume all responsibility. !

Since the container implementation of libstdc++-v3 uses the SGI code, we use the same definition of thread safety as SGI when discussing design. A key point that beginners may miss is the --- 225,231 ---- STL. This is no longer required for any port and should no longer be done unless you really know what you are doing and assume all responsibility. !

Since the container implementation of libstdc++-v3 uses the SGI code, we use the same definition of thread safety as SGI when discussing design. A key point that beginners may miss is the *************** *** 235,241 **** element is constructed uses an internal lock obtained and released solely within libstdc++-v3 code (in fact, this is the reason STL requires any knowledge of the thread configuration). !

For implementing a container which does its own locking, it is trivial to provide a wrapper class which obtains the lock (as SGI suggests), performs the container operation, and then --- 237,243 ---- element is constructed uses an internal lock obtained and released solely within libstdc++-v3 code (in fact, this is the reason STL requires any knowledge of the thread configuration). !

For implementing a container which does its own locking, it is trivial to provide a wrapper class which obtains the lock (as SGI suggests), performs the container operation, and then *************** *** 249,255 **** 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:)

--- 251,258 ---- 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:)

*************** *** 271,278 **** 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 --- 274,281 ---- 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 *************** *** 290,302 **** to the FAQ.

!

"Hinting" during insertion

Section [23.1.2], Table 69, of the C++ standard lists this function for all of the associative containers (map, set, etc): !

        a.insert(p,t);
! where 'p' is an iterator into the container 'a', and 't' is the item to insert. The standard says that "iterator p is a hint pointing to where the insert should start to search," but specifies nothing more. (LWG Issue #233, currently in review, --- 293,306 ---- to the FAQ.

!

"Hinting" during insertion

Section [23.1.2], Table 69, of the C++ standard lists this function for all of the associative containers (map, set, etc): !

!
        a.insert(p,t);
!

where 'p' is an iterator into the container 'a', and 't' is the item to insert. The standard says that "iterator p is a hint pointing to where the insert should start to search," but specifies nothing more. (LWG Issue #233, currently in review, *************** *** 321,343 **** their new meanings in the next paragraph. *grin*

If the hint parameter ('p' above) is equivalent to:

  • begin(), then the item being inserted should have a key less than all the other keys in the container. The item will be inserted at the beginning of the container, becoming the new entry at begin().
  • end(), then the item being inserted should have a key greater than all the other keys in the container. The item will be inserted at the end of the container, becoming the new entry at end().
  • neither begin() nor end(), then: Let h 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.
-

For multimap and multiset, the restrictions are slightly looser: "greater than" should be replaced by "not less than" and "less than" should be replaced --- 325,350 ---- their new meanings in the next paragraph. *grin*

If the hint parameter ('p' above) is equivalent to: +

  • begin(), then the item being inserted should have a key less than all the other keys in the container. The item will be inserted at the beginning of the container, becoming the new entry at begin(). +
  • end(), then the item being inserted should have a key greater than all the other keys in the container. The item will be inserted at the end of the container, becoming the new entry at end(). +
  • neither begin() nor end(), then: Let h 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. +

For multimap and multiset, the restrictions are slightly looser: "greater than" should be replaced by "not less than" and "less than" should be replaced *************** *** 372,378 **** to the FAQ.

!

Bitmasks and string arguments

Bitmasks do not take char* nor const char* arguments in their constructors. This is something of an accident, but you can read --- 379,385 ---- to the FAQ.

!

Bitmasks and string arguments

Bitmasks do not take char* nor const char* arguments in their constructors. This is something of an accident, but you can read *************** *** 383,388 **** --- 390,396 ----

For now you can simply make a temporary string object using the constructor expression: +

        std::bitset<5> b ( std::string("10110") );
        
*************** *** 390,406 ****
        std::bitset<5> b ( "10110" );    // invalid
        
-

Return to top of page or to the FAQ.

!

std::list::size() is O(n)!

Yes it is, and that's okay. This is a decision that we preserved when we imported SGI's STL implementation. The following is quoted from their FAQ: !

The size() member function, for list and slist, takes time proportional to the number of elements in the list. This was a deliberate tradeoff. The only way to get a constant-time size() for --- 398,414 ----

        std::bitset<5> b ( "10110" );    // invalid
        

Return to top of page or to the FAQ.

!

std::list::size() is O(n)!

Yes it is, and that's okay. This is a decision that we preserved when we imported SGI's STL implementation. The following is quoted from their FAQ: !

!

The size() member function, for list and slist, takes time proportional to the number of elements in the list. This was a deliberate tradeoff. The only way to get a constant-time size() for *************** *** 419,424 **** --- 427,433 ---- is supposed to do something unless there is a good reason not to.

One implication of linear time size(): you should never write +

           if (L.size() == 0)
               ...
*************** *** 426,440 ****
           if (L.empty())
               ...
!

!
!

Return to top of page or to the FAQ.

!
!

Space overhead management for vectors

In this message to the list, Daniel Kostecky announced work on an --- 435,447 ----

           if (L.empty())
               ...
!

Return to top of page or to the FAQ.

!
!

Space overhead management for vectors

In this message to the list, Daniel Kostecky announced work on an *************** *** 457,463 **** !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 464,470 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/24_iterators/howto.html gcc-3.2.1/libstdc++-v3/docs/html/24_iterators/howto.html *** gcc-3.2/libstdc++-v3/docs/html/24_iterators/howto.html Thu Oct 11 18:41:46 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/24_iterators/howto.html Wed Sep 25 17:52:20 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 24 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 24 ! *************** *** 19,32 **** !


Contents

!
--- 18,31 ---- !

Contents

!
*************** *** 67,107 **** to the FAQ.

!

It ends where?

This starts off sounding complicated, but is actually very easy, especially towards the end. Trust me. !

Beginners usually have a little trouble understand the whole 'past-the-end' thing, until they remember their early algebra classes ! (see, they told you that stuff would come in handy!) and the concept of half-open ranges.

First, some history, and a reminder of some of the funkier rules in C and C++ for builtin arrays. The following rules have always been true for both languages: !

    !
  1. You can point anywhere in the array, or to the first element ! past the end of the array. A pointer that points to one ! past the end of the array is guaranteed to be as unique as a ! pointer to somewhere inside the array, so that you can compare ! such pointers safely. !
  2. You can only dereference a pointer that points into an array. ! If your array pointer points outside the array -- even to just ! one past the end -- and you dereference it, Bad Things happen. !
  3. Strictly speaking, simply pointing anywhere else invokes ! undefined behavior. Most programs won't puke until such a ! pointer is actually dereferenced, but the standards leave that ! up to the platform. !
! The reason this past-the-end addressing was allowed is to make it easy to write a loop to go over an entire array, e.g., while (*d++ = *s++);.

So, when you think of two pointers delimiting an array, don't think of them as indexing 0 through n-1. Think of them as boundary markers: !

  
     beginning            end
       |                   |
--- 66,111 ----
        to the FAQ.
     

!

It ends where?

This starts off sounding complicated, but is actually very easy, especially towards the end. Trust me. !

Beginners usually have a little trouble understand the whole 'past-the-end' thing, until they remember their early algebra classes ! (see, they told you that stuff would come in handy!) and the concept of half-open ranges.

First, some history, and a reminder of some of the funkier rules in C and C++ for builtin arrays. The following rules have always been true for both languages: !

!
    !
  1. You can point anywhere in the array, or to the first element ! past the end of the array. A pointer that points to one ! past the end of the array is guaranteed to be as unique as a ! pointer to somewhere inside the array, so that you can compare ! such pointers safely. !
  2. !
  3. You can only dereference a pointer that points into an array. ! If your array pointer points outside the array -- even to just ! one past the end -- and you dereference it, Bad Things happen. !
  4. !
  5. Strictly speaking, simply pointing anywhere else invokes ! undefined behavior. Most programs won't puke until such a ! pointer is actually dereferenced, but the standards leave that ! up to the platform. !
  6. !
!

The reason this past-the-end addressing was allowed is to make it easy to write a loop to go over an entire array, e.g., while (*d++ = *s++);.

So, when you think of two pointers delimiting an array, don't think of them as indexing 0 through n-1. Think of them as boundary markers: !

!
  
     beginning            end
       |                   |
***************
*** 121,128 ****
       |                       |           dereference 'end'.
     beginning                end
  
!       
! See? Everything between the boundary markers is part of the array. Simple.

Now think back to your junior-high school algebra course, when you --- 125,132 ---- | | dereference 'end'. beginning end !

!

See? Everything between the boundary markers is part of the array. Simple.

Now think back to your junior-high school algebra course, when you *************** *** 171,177 **** !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 175,181 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/25_algorithms/howto.html gcc-3.2.1/libstdc++-v3/docs/html/25_algorithms/howto.html *** gcc-3.2/libstdc++-v3/docs/html/25_algorithms/howto.html Thu Oct 11 18:41:46 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/25_algorithms/howto.html Wed Sep 25 17:52:20 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 25 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 25 ! *************** *** 19,32 **** !


Contents

!
--- 18,31 ---- !

Contents

!
*************** *** 34,49 ****

The neatest accomplishment of the algorithms chapter is that all the work is done via iterators, not containers directly. This means two important things: -

    -
  1. Anything that behaves like an iterator can be used in one of - these algorithms. Raw pointers make great candidates, thus - built-in arrays are fine containers, as well as your own iterators. -
  2. The algorithms do not (and cannot) affect the container as a - whole; only the things between the two iterator endpoints. If - you pass a range of iterators only enclosing the middle third of - a container, then anything outside that range is inviolate. -

Even strings can be fed through the algorithms here, although the string class has specialized versions of many of these functions (for example, string::find()). Most of the examples on this --- 33,50 ----

The neatest accomplishment of the algorithms chapter is that all the work is done via iterators, not containers directly. This means two important things:

+
    +
  1. Anything that behaves like an iterator can be used in one of + these algorithms. Raw pointers make great candidates, thus + built-in arrays are fine containers, as well as your own iterators. +
  2. +
  3. The algorithms do not (and cannot) affect the container as a + whole; only the things between the two iterator endpoints. If + you pass a range of iterators only enclosing the middle third of + a container, then anything outside that range is inviolate. +
  4. +

Even strings can be fed through the algorithms here, although the string class has specialized versions of many of these functions (for example, string::find()). Most of the examples on this *************** *** 67,73 **** to the FAQ.

!

Special swaps

If you call std::swap(x,y); where x and y are standard containers, then the call will automatically be replaced by a call to --- 68,74 ---- to the FAQ.

!

Special swaps

If you call std::swap(x,y); where x and y are standard containers, then the call will automatically be replaced by a call to *************** *** 90,96 **** !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 91,97 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/26_numerics/howto.html gcc-3.2.1/libstdc++-v3/docs/html/26_numerics/howto.html *** gcc-3.2/libstdc++-v3/docs/html/26_numerics/howto.html Fri Nov 23 16:29:01 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/26_numerics/howto.html Wed Sep 25 17:52:21 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 26 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 26 ! *************** *** 15,43 ****

Chapter 26 deals with building block abstractions to aid in numerical computing: !

    !
  • Template data structures such as valarray<> ! and complex<>. !
  • Template numerical functions such as accumulate, ! inner_product, partial_sum, and ! adjacent_difference. !
! All of the Standard C math functions are of course included in C++, and overloaded versions for long, float, and long double have been added for all of them.

!

Contents

!
--- 14,45 ----

Chapter 26 deals with building block abstractions to aid in numerical computing: !

!
    !
  • Template data structures such as valarray<> ! and complex<>. !
  • !
  • Template numerical functions such as accumulate, ! inner_product, partial_sum, and ! adjacent_difference. !
  • !
!

All of the Standard C math functions are of course included in C++, and overloaded versions for long, float, and long double have been added for all of them.

!

Contents

!
*************** *** 62,68 **** to the FAQ.

!

Array Processing

One of the major reasons why FORTRAN can chew through numbers so well is that it is defined to be free of pointer aliasing, an assumption --- 64,70 ---- to the FAQ.

!

Array Processing

One of the major reasons why FORTRAN can chew through numbers so well is that it is defined to be free of pointer aliasing, an assumption *************** *** 87,108 **** to the FAQ.

!

Numerical Functions

There are four generalized functions in the <numeric> header that follow the same conventions as those in <algorithm>. Each of them is overloaded: one signature for common default operations, and a second for fully general operations. Their names are self-explanatory to anyone who works with numerics on a regular basis: -

    -
  • accumulate -
  • inner_product -
  • partial_sum -
  • adjacent_difference -

Here is a simple example of the two forms of accumulate. !

     int   ar[50];
     int   someval = somefunction();
  
--- 89,111 ----
        to the FAQ.
     

!

Numerical Functions

There are four generalized functions in the <numeric> header that follow the same conventions as those in <algorithm>. Each of them is overloaded: one signature for common default operations, and a second for fully general operations. Their names are self-explanatory to anyone who works with numerics on a regular basis:

+
    +
  • accumulate
  • +
  • inner_product
  • +
  • partial_sum
  • +
  • adjacent_difference
  • +

Here is a simple example of the two forms of accumulate. !

!
     int   ar[50];
     int   someval = somefunction();
  
***************
*** 111,118 ****
     int  sum       = std::accumulate(ar,ar+50,0);
     int  sum_stuff = std::accumulate(ar,ar+50,someval);
     int  product   = std::accumulate(ar,ar+50,1,std::multiplies<int>());
!       
! The first call adds all the members of the array, using zero as an initial value for sum. The second does the same, but uses someval as the starting value (thus, sum_stuff == sum + someval). The final call uses the second of the two signatures, --- 114,121 ---- int sum = std::accumulate(ar,ar+50,0); int sum_stuff = std::accumulate(ar,ar+50,someval); int product = std::accumulate(ar,ar+50,1,std::multiplies<int>()); !
!

The first call adds all the members of the array, using zero as an initial value for sum. The second does the same, but uses someval as the starting value (thus, sum_stuff == sum + someval). The final call uses the second of the two signatures, *************** *** 125,131 **** to the FAQ.

!

C99

In addition to the other topics on this page, we'll note here some of the C99 features that appear in libstdc++-v3. --- 128,134 ---- to the FAQ.

!

C99

In addition to the other topics on this page, we'll note here some of the C99 features that appear in libstdc++-v3. *************** *** 151,157 **** !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 154,160 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/27_io/howto.html gcc-3.2.1/libstdc++-v3/docs/html/27_io/howto.html *** gcc-3.2/libstdc++-v3/docs/html/27_io/howto.html Wed May 1 22:58:58 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/27_io/howto.html Wed Sep 25 17:52:21 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 27 ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Chapter 27 ! *************** *** 19,38 **** !


Contents

!
--- 18,37 ---- !

Contents

!
*************** *** 40,66 ****

So you want to copy a file quickly and easily, and most important, completely portably. And since this is C++, you have an open ifstream (call it IN) and an open ofstream (call it OUT): !

     #include <fstream>
  
     std::ifstream  IN ("input_file");
     std::ofstream  OUT ("output_file"); 
-

Here's the easiest way to get it completely wrong: !

     OUT << IN;
! For those of you who don't already know why this doesn't work (probably from having done it before), I invite you to quickly create a simple text file called "input_file" containing the sentence
!    The quick brown fox jumped over the lazy dog.
! surrounded by blank lines. Code it up and try it. The contents of "output_file" may surprise you.

Seriously, go do it. Get surprised, then come back. It's worth it.

!

The thing to remember is that the basic_[io]stream classes handle formatting, nothing else. In particular, they break up on whitespace. The actual reading, writing, and storing of data is --- 39,67 ----

So you want to copy a file quickly and easily, and most important, completely portably. And since this is C++, you have an open ifstream (call it IN) and an open ofstream (call it OUT): !

!
     #include <fstream>
  
     std::ifstream  IN ("input_file");
     std::ofstream  OUT ("output_file"); 

Here's the easiest way to get it completely wrong: !

!
     OUT << IN;
!

For those of you who don't already know why this doesn't work (probably from having done it before), I invite you to quickly create a simple text file called "input_file" containing the sentence +

!       The quick brown fox jumped over the lazy dog.
!

surrounded by blank lines. Code it up and try it. The contents of "output_file" may surprise you.

Seriously, go do it. Get surprised, then come back. It's worth it.

!

The thing to remember is that the basic_[io]stream classes handle formatting, nothing else. In particular, they break up on whitespace. The actual reading, writing, and storing of data is *************** *** 76,84 **** as well as the streams themselves. The pointer is easily retrieved using the rdbuf() member function. Therefore, the easiest way to copy the file is: -

-    OUT << IN.rdbuf();

So what was happening with OUT<<IN? Undefined behavior, since that particular << isn't defined by the Standard. I have seen instances where it is implemented, but the character --- 77,85 ---- as well as the streams themselves. The pointer is easily retrieved using the rdbuf() member function. Therefore, the easiest way to copy the file is:

+
+    OUT << IN.rdbuf();

So what was happening with OUT<<IN? Undefined behavior, since that particular << isn't defined by the Standard. I have seen instances where it is implemented, but the character *************** *** 89,95 **** file then contains a perfect text representation of a hexidecimal address (quite a big surprise). Others don't compile at all.

!

Also note that none of this is specific to o*f*streams. The operators shown above are all defined in the parent basic_ostream class and are therefore available with all possible descendents. --- 90,96 ---- file then contains a perfect text representation of a hexidecimal address (quite a big surprise). Others don't compile at all.

!

Also note that none of this is specific to o*f*streams. The operators shown above are all defined in the parent basic_ostream class and are therefore available with all possible descendents. *************** *** 98,104 **** to the FAQ.

!

The buffering is screwing up my program!

!

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 556,562 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/Makefile gcc-3.2.1/libstdc++-v3/docs/html/Makefile *** gcc-3.2/libstdc++-v3/docs/html/Makefile Sat Jul 20 06:34:50 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/Makefile Wed Sep 25 17:52:16 2002 *************** *** 1,10 **** - PWD=$${PWDCMD-pwd} MAKEINFO=makeinfo INC=../../../gcc/doc/include ! all: faq/index.txt 17_intro/porting.html 17_intro/porting-howto.html faq/index.txt: faq/index.html lynx -dump $< | sed "s%file://localhost`${PWD}`%..%" > $@ --- 1,28 ---- + PWD=$${PWDCMD-pwd} MAKEINFO=makeinfo INC=../../../gcc/doc/include ! all: documentation.html \ ! faq/index.txt \ ! 17_intro/porting.html \ ! 17_intro/porting-howto.html + # chock full of GNUism, probably + documentation.html: $(wildcard */howto.html) + sed -n '1,/beginlist/p' $@ > tmp.top + sed -n '/endlist/,$$p' $@ > tmp.bottom + echo '

    ' > tmp.middle + for i in [0-9]*/howto.html; do \ + title=`grep 'h1 ' $$i |\ + sed 's=.*\(Chapter [[:digit:]]*\):[[:space:]]*\(.*\).*=\2 (\1)='` ;\ + awk -v file=$$i -v "title=$$title" -f makedoc.awk $$i >> tmp.middle ;\ + done + awk -v file=ext/howto.html -v "title=Extensions to the Standard Library"\ + -f makedoc.awk ext/howto.html >> tmp.middle ;\ + echo '
' >> tmp.middle + cat tmp.top tmp.middle tmp.bottom > $@ + rm tmp.top tmp.middle tmp.bottom faq/index.txt: faq/index.html lynx -dump $< | sed "s%file://localhost`${PWD}`%..%" > $@ *************** faq/index.txt: faq/index.html *** 16,18 **** --- 34,37 ---- 17_intro/porting-howto.html: 17_intro/porting-howto.xml xltproc -o $@ /usr/share/xml/docbook/xsl-stylesheets-1.48-2/html/docbook.xsl $< + # vim:noet ts=4 diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/abi.txt gcc-3.2.1/libstdc++-v3/docs/html/abi.txt *** gcc-3.2/libstdc++-v3/docs/html/abi.txt Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/docs/html/abi.txt Thu Oct 17 02:04:15 2002 *************** *** 0 **** --- 1,389 ---- + + 2002-10-14 Benjamin Kosnik + + Description of the libstdc++ ABI. + + I. What is an ABI? What's covered? What's not? + + - scope of document, of use to system integrators. + + - What's the deal with C++? Why can't different compiler's object + files link with each other? Bug? Feature? + + - compilation includes and linked library binary must match up.. + + - shared library only, static is immutable. + + - What's an ABI? + + - library ABI, compiler ABI different issues, (but related) + + - GNU C++ does not have a compiler command line option to switch + between various different C++ ABIs. For instance, there is no way to + switch between the gcc-3.0.x ABI, gcc-3.1.x ABI, and the gcc-3.2.x + ABI during compilation. Other C++ compilers do allow this, and some + g++ command line options may change the ABI (-fno-exceptions, see + the complete list), but there is no version switch. Sorry. + + To use a specific C++ABI, one must use the corresponding GNU C++ + toolchain. + + - How can this complexity be managed? What does C++ versioning mean? + Because library and compiler changes often make binaries compiled + with one version of the GNU tools incompatible with binaries + compiled with other (either newer or older) versions of the same GNU + tools, specific techniques are used to make managing this complexity + easier. + + The following techniques are used: + + - Release versioning on the libgcc_s.so binary. + + It is versioned as follows: + gcc-3.0.0: libgcc_s.so.1 + gcc-3.0.1: libgcc_s.so.1 + gcc-3.0.2: libgcc_s.so.1 + gcc-3.0.3: libgcc_s.so.1 + gcc-3.0.4: libgcc_s.so.1 + gcc-3.1.0: libgcc_s.so.1 + gcc-3.1.1: libgcc_s.so.1 + gcc-3.2.0: libgcc_s.so.1 + + + - Release versioning on the libstdc++.so binary. + + It is versioned as follows: + gcc-3.0.0: libstdc++.so.3.0.0 + gcc-3.0.1: libstdc++.so.3.0.1 + gcc-3.0.2: libstdc++.so.3.0.2 + gcc-3.0.3: libstdc++.so.3.0.2 (Error, should be libstdc++.so.3.0.3) + gcc-3.0.4: libstdc++.so.3.0.4 + gcc-3.1.0: libstdc++.so.4.0.0 + gcc-3.1.1: libstdc++.so.4.0.1 + gcc-3.2.0: libstdc++.so.5.0.0 + + + - Symbol versioning on the libgcc_s.so binary. + + file: gcc/libgcc-std.ver + + It is versioned as follows: + gcc-3.0.0: GCC_3.0 + gcc-3.0.1: GCC_3.0 + gcc-3.0.2: GCC_3.0 + gcc-3.0.3: GCC_3.0 + gcc-3.0.4: GCC_3.0 + gcc-3.1.0: GCC_3.0 + gcc-3.1.1: GCC_3.0 + gcc-3.2.0: GCC_3.0 + + + - Symbol versioning on the libstdc++.so binary. + + It is versioned as follows: + gcc-3.0.0: (Error, unversioned) + gcc-3.0.1: (Error, unversioned) + gcc-3.0.2: (Error, unversioned) + gcc-3.0.3: (Error, unversioned) + gcc-3.0.4: (Error, unversioned) + gcc-3.1.0: GLIBCPP_3.1, CXXABI_1 + gcc-3.1.1: GLIBCPP_3.1, CXXABI_1 + gcc-3.2.0: GLIBCPP_3.2, CXXABI_1.2 + + file: libstdc++-v3/config/linker-map.gnu + + + - Incremental bumping of a compiler pre-defined macro, + __GXX_ABI_VERSION. This macro is defined as the version of the + compiler v3 ABI, with g++ 3.0.x being version 100. This macro will + be automatically defined whenever g++ is used (the curious can + test this by invoking g++ with the '-v' flag.) + + This macro is defined in the file "lang-specs.h" in the gcc/cp directory. + Later versions define it in "c-common.c" in the gcc directory. + + It is versioned as follows: + gcc-3.0.x: 100 + gcc-3.1.x: 100 (Error, should be 101) + gcc-3.2.x: 102 + + + - Incremental bumping of a library pre-defined macro, + __GLIBCPP__. This macro is defined as the date the library was + released, in compressed ISO date format, as an unsigned long. + + This macro is defined in the file "c++config" in the + "libstdc++-v3/include/bits" directory and is changed every night + by an automated script. + + It is versioned as follows: + gcc-3.0.0: 20010615 + gcc-3.0.1: 20010819 + gcc-3.0.2: 20011023 + gcc-3.0.3: 20011220 + gcc-3.0.4: 20020220 + gcc-3.1.0: 20020514 + gcc-3.1.1: 20020725 + gcc-3.2.0: 20020814 + + + - Incremental bumping of a library pre-defined macro, + _GLIBCPP_VERSION. This macro is defined as the released version of + the library, as a string literal. This is only implemented in + gcc-3.1.0 releases and higher. + + This macro is defined in the file "c++config" in the + "libstdc++-v3/include/bits" directory and is generated + automatically by autoconf as part of the configure-time generation + of config.h. + + It is versioned as follows: + gcc-3.0.0: "3.0.0" + gcc-3.0.1: "3.0.0" (Error, should be "3.0.1") + gcc-3.0.2: "3.0.0" (Error, should be "3.0.2") + gcc-3.0.3: "3.0.0" (Error, should be "3.0.3") + gcc-3.0.4: "3.0.0" (Error, should be "3.0.4") + gcc-3.1.0: "3.1.0" + gcc-3.1.1: "3.1.1" + gcc-3.2.0: "3.2" + + + - Matching each specific C++ compiler release to a specific set of + C++ include files. This is only implemented in gcc-3.1.1 releases + and higher. + + All C++ includes are installed in include/c++, then nest in a + directory hierarchy corresponding to the C++ compiler's released + version. This version corresponds to the variable "gcc_version" in + "libstdc++-v3/acinclude.m4," and more details can be found in that + file's macro GLIBCPP_CONFIGURE. + + C++ includes are versioned as follows: + gcc-3.0.0: include/g++-v3 + gcc-3.0.1: include/g++-v3 + gcc-3.0.2: include/g++-v3 + gcc-3.0.3: include/g++-v3 + gcc-3.0.4: include/g++-v3 + gcc-3.1.0: include/g++-v3 + gcc-3.1.1: include/c++/3.1.1 + gcc-3.2.0: include/c++/3.2 + + Taken together, these techniques can accurately specify interface + and implementation changes in the GNU C++ tools themselves. Used + properly, they allow both the GNU C++ tools implementation, and + programs using them, an evolving yet controlled development that + maintains backward compatibility. + + - Minimum environment that supports a versioned ABI: what's needed? A + supported dynamic linker, a GNU linker of sufficient vintage to + understand demangled C++ name globbing (ld), a shared executable + compiled with g++, and shared libraries (libgcc_s, libstdc++-v3) + compiled by a compiler (g++) with a compatible ABI. Phew. + + On top of all that, an additional constraint: libstdc++ did not + attempt to version symbols (or age gracefully, really) until version + 3.1.0. + + Most modern Linux and BSD versions, particularly ones using + gcc-3.1.x tools, will meet the requirements above. + + - What configure options impact symbol versioning? + + It turns out that most of the configure options that change default + behavior will impact the mangled names of exported symbols, and thus + impact versioning and compatibility. + + For more information on configure options, including ABI impacts, see: + http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html + + There is one flag that explicitly deals with symbol versioning: + --enable-symvers. + + In particular, libstdc++-v3/acinclude.m4 has a macro called + GLIBCPP_ENABLE_SYMVERS that defaults to yes (or the argument passed + in via --enable-symvers=foo). At that point, the macro attempts to + make sure that all the requirement for symbol versioning are in + place. For more information, please consult acinclude.m4. + + - How can I tell if symbol versioning is, indeed, active? + + When the GNU C++ library is being built with symbol versioning on, + you should see the following at configure time for libstdc++-v3: + + checking versioning on shared library symbols... gnu + + If you don't see this line in the configure output, or if this line + appears but the last word is 'no', then you are out of luck. + + If the compiler is pre-installed, a quick way to test is to compile + the following (or any) simple C++ file: + + #include + + int main() + { std::cout << "hello" << std::endl; return 0; } + + %g++ hello.cc -o hello.out + %nm hello.out + + If you see symbols in the resulting output with "GLIBCPP_3.x" as part + of the name, then the executable is versioned. Here's an example: + + U _ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.1 + + + II. Library ABI changes + + The following will cause the library major version number to + increase, say from "libstdc++.so.3.0.4" to "libstdc++.so.4.0.0". + + - (anything) changing in the gcc/g++ compiler ABI + + - (anything) changing size of an exported symbol + + - (anything) changing alignment of an exported symbol + + - (anything) changing the layout of an exported symbol + + - (anything) changing mangling on an exported symbol + + - (anything) deleting an exported symbol + + - (anything) changing the size, alignment, or layout of types + specified in the C++ standard. These may not necessarily be + instantiated or otherwise exported in the library binary, and + include all the required locale facets, as well as things like + std::basic_streambuf, et al. + + Note: adding an exported symbol, if it's in a new and dependent + interface name, is ok. + + The following will cause the library revision version number to + increase, say from "libstdc++.so.5.0.0" to "libstdc++.so.5.0.1". + + - any release of the gcc toolchain. + + + III. Versioning + + - include files + + - versioning headers with version, why necessary + (need to control member/non-member functions, add delete files) + + - shared library binaries + + - release versions + + - libtool versions + + - when does so version get a bump? what are the options? + + - how is the link map used? + + - in an non-abi breaking minor release, how are symbols added? + removed? + + - in an abi-breaking major release, what happens? symbol fall back + + + IV. Testing ABI changes + + Testing for GNU C++ ABI changes is composed of two distinct areas: + testing the C++ compiler (g++) for compiler changes, and testing the + C++ library (libstdc++) for library changes. + + Testing the C++ compiler ABI can be done various ways. + + One. + Intel ABI checker. More information can be obtained + here. + + Two. + The second is yet unreleased, but has been announced on the gcc + mailing list. It is yet unspecified if these tools will be freely + available, and able to be included in a GNU project. Please contact + Mark Mitchell (mark@codesourcery.com) for more details, and current + status. + + Three. + Involves using the vlad.consistency test framework. This has also been + discussed on the gcc mailing lists. + + Testing the C++ library ABI can also be done various ways. + + One. + (Brendan Kehoe, Jeff Law suggestion to run 'make check-c++' two ways, + one with a new compiler and an old library, and the other with an old + compiler and a new library, and look for testsuite regressions) + + Details on how to set this kind of test up can be found here: + http://gcc.gnu.org/ml/gcc/2002-08/msg00142.html + + Two. + Use the 'make check-abi' rule in the libstdc++-v3 Makefile. + + This is a proactive check the library ABI. Currently, exported symbol + names that are either weak or defined are checked against a last known + good baseline. Currently, this baseline is keyed off of 3.2.0 + binaries, as this was the last time the .so number was incremented. In + addition, all exported names are demangled, and the exported objects + are checked to make sure they are the same size as the same object in + the baseline. + + This dataset is insufficient, yet a start. Also needed is a + comprehensive check for all user-visible types part of the standard + library for sizeof() and alignof() changes. + + Verifying compatible layouts of objects is not even attempted. It + should be possible to use sizeof, alignof, and offsetof to compute + offsets for each structure and type in the standard library, saving to + another datafile. Then, compute this in a similar way for new + binaries, and look for differences. + + Another approach might be to use the -fdump-class-hierarchy flag to + get information. However, currently this approach gives insufficient + data for use in library testing, as class data members, their offsets, + and other detailed data is not displayed with this flag. + (See g++/7470 on how this was used to find bugs.) + + Perhaps there are other C++ ABI checkers. If so, please notify + us. We'd like to know about them! + + + V. Issues not directly addressed, and possible suggestions + + - what to do about multi-ABI systems (nathan scenario)? + + - compatibility libs + + --enable-version-specific-runtime-libs + + - Alexandre Oliva proposal to have extended name attributes, modify ld + + - directory-level versioning + + - wrapping C++ API's in "C" to use the C ABI. + + + V. References + + ABIcheck, a vague idea of checking ABI compatibility + http://abicheck.sourceforge.net/ + + C++ ABI reference + http://www.codesourcery.com/cxx-abi/ + + Intel ABI documentation + "Intel® Compilers for Linux* -Compatibility with the GNU Compilers" + (included in icc 6.0) + + Sun Solaris 2.9 docs + Linker and Libraries Guide (document 816-1386) + C++ Migration Guide (document 816-2459) + http://docs.sun.com/db/prod/solaris.9 + http://docs.sun.com/?p=/doc/816-1386&a=load + + Ulrich Drepper, "ELF Symbol Versioning" + http://people.redhat.com/drepper/symbol-versioning + diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/configopts.html gcc-3.2.1/libstdc++-v3/docs/html/configopts.html *** gcc-3.2/libstdc++-v3/docs/html/configopts.html Tue Jul 2 06:22:38 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/configopts.html Wed Sep 25 17:52:16 2002 *************** *** 1,12 **** - ! ! ! ! libstdc++-v3 configure options ! --- 1,11 ---- ! ! ! ! libstdc++-v3 configure options ! *************** options

*** 19,28 ****

To the libstdc++-v3 homepage. ! !


Here are some of the non-obvious options to libstdc++'s configure. Keep in mind that --- 18,27 ----

To the libstdc++-v3 homepage. !

!

Here are some of the non-obvious options to libstdc++'s configure. Keep in mind that *************** options *** 34,50 ****

The canonical way to find out the configure options that are available for a given set of libstdc++ sources is to go to the source directory and then type: ./configure --help

!
--enable-multilib [default]

This is part of the generic multilib support for building cross compilers. As such, targets like "powerpc-elf" will have libstdc++ built many different ways: "-msoft-float" and not, etc. A different libstdc++ will be built for each of the different multilib versions. This option is on by default.

!
--enable-debug

The configure script will automatically detect the highest level of optimization that the compiler in use can use. This --enable flag will disable all optimizations and instruct --- 33,82 ----

The canonical way to find out the configure options that are available for a given set of libstdc++ sources is to go to the source directory and then type: ./configure --help +

!
--enable-multilib [default]

This is part of the generic multilib support for building cross compilers. As such, targets like "powerpc-elf" will have libstdc++ built many different ways: "-msoft-float" and not, etc. A different libstdc++ will be built for each of the different multilib versions. This option is on by default.

+
!
--enable-sjlj-exceptions
!

Forces old, set-jump/long-jump exception handling model. If ! at all possible, the new, frame unwinding exception handling routines ! should be used instead, as they significantly reduce both ! runtime memory usage and executable size. This option can ! change the library ABI. !

!
! !
--enable-version-specific-runtime-libs
!

Specify that run-time libraries should be installed in the ! compiler-specific subdirectory (i.e., ! ${libdir}/gcc-lib/${target_alias}/${gcc_version}) ! instead of ${libdir}. This option is useful if you ! intend to use several versions of gcc in parallel. In addition, ! libstdc++'s include files will be installed in ! ${libdir}/gcc-lib/${target_alias}/${gcc_version}/include/g++, ! unless you also specify ! --with-gxx-include-dir=dirname during configuration. !

!
! !
--with-gxx-include-dir=<include-files dir>
!

Adds support for named libstdc++ include directory. For instance, ! the following puts all the libstdc++ headers into a directory ! called "2.97-20001008" instead of the usual ! "g++-v3". !

!
!    --with-gxx-include-dir=/foo/H-x86-gcc-3-c-gxx-inc/include/2.97-20001008
! !
--enable-debug

The configure script will automatically detect the highest level of optimization that the compiler in use can use. This --enable flag will disable all optimizations and instruct *************** options *** 54,66 **** configuration difference: make CXXFLAGS='-g -O0' all

!
--enable-cstdio

This is an abbreviated form of '--enable-cstdio=stdio' ! (described next).

!
--enable-cstdio=LIB

Select a target-specific I/O package. As of libstdc++-v3 snapshot 3.0.96, the choices are 'libio' to specify the GNU I/O package (from --- 86,100 ---- configuration difference: make CXXFLAGS='-g -O0' all

+
!
--enable-cstdio

This is an abbreviated form of '--enable-cstdio=stdio' ! (described next). This option can change the library ABI.

+
!
--enable-cstdio=OPTION

Select a target-specific I/O package. As of libstdc++-v3 snapshot 3.0.96, the choices are 'libio' to specify the GNU I/O package (from *************** options *** 69,171 **** abstraction. The default is 'stdio'. A longer explanation is here.

!
--enable-sjlj-exceptions !

Forces old, set-jump/long-jump exception handling model. If ! at all possible, the new, frame unwinding exception handling routines ! should be used instead, as they significantly reduce both runtime ! memory usage and executable size. !

! !
--enable-clocale

This is an abbreviated form of '--enable-clocale=generic' ! (described next).

!
--enable-clocale=MODEL

Select a target-specific underlying locale package. The choices are 'ieee_1003.1-2001' to specify an X/Open, Standard Unix (IEEE Std. 1003.1-2001) model based on langinfo/iconv/catgets, 'gnu' to specify a model based on functionality from the GNU C ! library (langinfo/iconv/gettext) (from glibc, the GNU C library), or 'generic' to use a generic "C" ! abstraction which consists of "C" locale info. The ! default is 'generic'.

!
--enable-c99 !

The "long long" type was introduced in C99, along ! with many other functions for wide characters, and math ! classification macros, etc. If enabled, all C99 functions not ! specified by the C++ standard will be put into namespace ! __gnu_cxx, and then all these names will ! be injected into namespace std, so that C99 functions can be ! used "as if" they were in the C++ standard (as they ! will eventually be in some future revision of the standard, ! without a doubt). By default, C99 support is on, assuming the ! configure probes find all the necessary functions and bits ! necessary. !

! !
--enable-long-long !

The "long long" type was introduced in C99. It is ! provided as a GNU extension to C++98 in g++. This flag builds ! support for "long long" into the library (specialized ! templates and the like for iostreams). This option is on by default: ! if enabled, users will have to either use the new-style "C" ! headers by default (i.e., <cmath> not <math.h>) ! or add appropriate compile-time flags to all compile lines to ! allow "C" visibility of this feature (on GNU/Linux, ! the flag is -D_ISOC99_SOURCE, which is added automatically via ! CPLUSPLUS_CPP_SPEC's addition of _GNU_SOURCE).

!
--enable-cheaders=OPTION

This allows the user to define what kind of C headers are used. Options are: c, c_std, and c_shadow. These correspond to the source directory's include/c, include/c_std, and include/c_shadow directories. The default is c_std.

!
--enable-threads

This is an abbreviated form of '--enable-threads=yes' ! (described next).

!
--enable-threads=LIB

Select a threading library. A full description is given in the general compiler configuration instructions.

!
--enable-version-specific-runtime-libs !

Specify that run-time libraries should be installed in the ! compiler-specific subdirectory (i.e., ! ${libdir}/gcc-lib/${target_alias}/${gcc_version}) ! instead of ${libdir}. This option is useful if you ! intend to use several versions of gcc in parallel. In addition, ! libstdc++'s include files will be installed in ! ${libdir}/gcc-lib/${target_alias}/${gcc_version}/include/g++, ! unless you also specify ! --with-gxx-include-dir=dirname during configuration. !

! !
--with-gxx-include-dir=<include-files dir> !

Adds support for named libstdc++ include directory. For instance, ! the following puts all the libstdc++ headers into a directory ! called "2.97-20001008" instead of the usual ! "g++-v3". !

!    --with-gxx-include-dir=/foo/H-x86-gcc-3-c-gxx-inc/include/2.97-20001008
!

! !
--enable-cxx-flags=FLAGS

With this option, you can pass a string of -f (functionality) ! flags to the compiler to use when building libstdc++. FLAGS ! is a quoted string of options, like

    --enable-cxx-flags='-fvtable-gc -fomit-frame-pointer -ansi'
Note that the flags don't necessarily have to all be -f flags, as shown, but usually those are the ones that will make sense for experimentation and configure-time overriding. --- 103,166 ---- abstraction. The default is 'stdio'. A longer explanation is here.

+
!
--enable-clocale

This is an abbreviated form of '--enable-clocale=generic' ! (described next). This option can change the library ABI.

+
!
--enable-clocale=OPTION

Select a target-specific underlying locale package. The choices are 'ieee_1003.1-2001' to specify an X/Open, Standard Unix (IEEE Std. 1003.1-2001) model based on langinfo/iconv/catgets, 'gnu' to specify a model based on functionality from the GNU C ! library (langinfo/iconv/gettext) (from glibc, the GNU C library), or 'generic' to use a generic "C" ! abstraction which consists of "C" locale info.

!

As part of the configuration process, the "C" library is ! probed both for sufficient vintage, and installed locale ! data. If either of these elements are not present, the C++ ! locale model default to 'generic.' On glibc-based systems of ! version 2.2.5 and above with installed locale files, 'gnu' is ! automatically selected.

+
!
--enable-cheaders=OPTION

This allows the user to define what kind of C headers are used. Options are: c, c_std, and c_shadow. These correspond to the source directory's include/c, include/c_std, and include/c_shadow directories. The default is c_std.

+
!
--enable-threads

This is an abbreviated form of '--enable-threads=yes' ! (described next). This option can change the library ABI.

+
!
--enable-threads=OPTION

Select a threading library. A full description is given in the general compiler configuration instructions.

+
!
--enable-cxx-flags=FLAGS

With this option, you can pass a string of -f (functionality) ! flags to the compiler to use when building libstdc++. This ! option can change the library ABI. FLAGS is a quoted string of ! options, like !

    --enable-cxx-flags='-fvtable-gc -fomit-frame-pointer -ansi'
+

Note that the flags don't necessarily have to all be -f flags, as shown, but usually those are the ones that will make sense for experimentation and configure-time overriding. *************** options *** 176,208 **** as well, so that everything matches.

Fun flags to try might include combinations of

    -fstrict-aliasing
    -fno-exceptions
    -ffunction-sections
    -fvtable-gc
! and opposite forms (-fno-) of the same. Tell us (the libstdc++ mailing list) if you discover more!

!
--enable-c-mbchar [default]

Certain template specializations are required for wide character conversion support. This is tricky and currently changing rapidly, and can cause problems on new platforms. Disabling wide character specializations is useful for initial porting steps, but builds only a subset of what is required by ! ISO. By default, this option is on.

!
--enable-concept-checks

This turns on additional compile-time checks for instantiated library templates, in the form of specialized templates, described here. They can help users discover when they break the rules of the STL, before their programs run.

!
--enable-symvers[=style]

In 3.1, tries to turn on symbol versioning in the shared library (if a shared library has been requested). The only 'style' currently supported is 'gnu' which requires that a recent version of the GNU --- 171,238 ---- as well, so that everything matches.

Fun flags to try might include combinations of +

    -fstrict-aliasing
    -fno-exceptions
    -ffunction-sections
    -fvtable-gc
!

and opposite forms (-fno-) of the same. Tell us (the libstdc++ mailing list) if you discover more!

+
!
--enable-c99
!

The "long long" type was introduced in C99, along ! with many other functions for wide characters, and math ! classification macros, etc. If enabled, all C99 functions not ! specified by the C++ standard will be put into namespace ! __gnu_cxx, and then all these names will ! be injected into namespace std, so that C99 functions can be ! used "as if" they were in the C++ standard (as they ! will eventually be in some future revision of the standard, ! without a doubt). By default, C99 support is on, assuming the ! configure probes find all the necessary functions and bits ! necessary. This option can change the library ABI. !

!
! !
--enable-c-mbchar [default]

Certain template specializations are required for wide character conversion support. This is tricky and currently changing rapidly, and can cause problems on new platforms. Disabling wide character specializations is useful for initial porting steps, but builds only a subset of what is required by ! ISO. By default, this option is on. This option can change ! the library ABI.

+
!
--enable-long-long
!

The "long long" type was introduced in C99. It is ! provided as a GNU extension to C++98 in g++. This flag builds ! support for "long long" into the library (specialized ! templates and the like for iostreams). This option is on by default: ! if enabled, users will have to either use the new-style "C" ! headers by default (i.e., <cmath> not <math.h>) ! or add appropriate compile-time flags to all compile lines to ! allow "C" visibility of this feature (on GNU/Linux, ! the flag is -D_ISOC99_SOURCE, which is added automatically via ! CPLUSPLUS_CPP_SPEC's addition of _GNU_SOURCE). ! This option can change the library ABI. !

!
! !
--enable-concept-checks

This turns on additional compile-time checks for instantiated library templates, in the form of specialized templates, described here. They can help users discover when they break the rules of the STL, before their programs run.

+
!
--enable-symvers[=style]

In 3.1, tries to turn on symbol versioning in the shared library (if a shared library has been requested). The only 'style' currently supported is 'gnu' which requires that a recent version of the GNU *************** options *** 210,217 **** try to guess if the 'gnu' style can be used, and if so, will turn it on. Hopefully people will volunteer to do other 'style' options.

-

Return to the top of the page or to the libstdc++ homepage.

--- 240,247 ---- try to guess if the 'gnu' style can be used, and if so, will turn it on. Hopefully people will volunteer to do other 'style' options.

+

Return to the top of the page or to the libstdc++ homepage.

*************** options *** 219,225 **** !

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 249,255 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/documentation.html gcc-3.2.1/libstdc++-v3/docs/html/documentation.html *** gcc-3.2/libstdc++-v3/docs/html/documentation.html Sat Jul 20 06:34:50 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/documentation.html Wed Sep 25 17:52:16 2002 *************** *** 1,8 **** ! ! Standard C++ Library v3 ! --- 1,9 ---- ! ! GNU C++ Standard Library ! *************** *** 14,115 ****


!

Source Documentation

!

In addition to the distribution documentation (these pages), we also ! have a set of HTML documents generated from the sources themselves, ! using the Doxygen tool. These are useful for examining the signatures ! of public member functions for the library classes, etc. !

!

The collections are available in the libstdc++ snapshots directory at ! <URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/>. ! You will almost certainly need to use one of the ! mirror sites to download ! the tarball. After unpacking, simply load libstdc++-html-*/index.html ! into a browser. Feedback (and additional documentation!) is welcome.

!

The available user-level collections are also viewable online: !

! Other collections (man pages, maintainer docs) are only available on the ! FTP sites.

! !

Beginning with 3.0.95, an initial set of man pages are also available in ! the same place as the HTML collections. Start with Intro(3).

-
!

Configuring, Building, Installing

!
!

Introductory notes for libstdc++

!

This is a short list of text files pertaining to this implementation of ! ISO 14882. A brief description follows the name of the file. !

!

!
!

Chapter-Specific Information, Extensions, Notes and Advice

!
    !
  1. Chapter 17 (Intro) !
  2. Chapter 18 (Library Support) !
  3. Chapter 19 (Diagnostics) !
  4. Chapter 20 (Utilities) !
  5. Chapter 21 (Strings) !
  6. Chapter 22 (Localization) !
  7. Chapter 23 (Containers) !
  8. Chapter 24 (Iterators) !
  9. Chapter 25 (Algorithms) !
  10. Chapter 26 (Numerics) !
  11. Chapter 27 (I/O) !
  12. Extensions to the Standard Library !

Return to the libstdc++ homepage.

!

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 15,248 ----


+
+

Introduction

+

This is a short list of text files pertaining to this implementation of + ISO 14882. A brief description may follow the name of the file. +

+ !
!
!

Configuring, Building, Installing

! ! ! !
!
!

Source-Level Documentation

!

The library sources have been specially formatted so that with the ! proper invocation of another tool (Doxygen), a set of HTML pages ! are generated from the sources files themselves. The resultant ! documentation is referred to as Source-Level Documentation, and is ! useful for examining the signatures of public member functions for ! the library classes, finding out what is in a particular include ! file, looking at inheritance diagrams, etc.

!

The Source-Level documentation can be viewed online:

! !

This generated HTML collection, as above, is also available for download in ! the libstdc++ snapshots directory at ! <URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/>. ! You will almost certainly need to use one of the mirror sites to download ! the tarball. After unpacking, simply load ! libstdc++-html-*/index.html into a browser. Feedback (and ! additional documentation!) is welcome.

!

! In addition, an initial set of man pages are also available in the ! same place as the HTML collections. Start with Intro(3).

!
!
!

Chapter-Specific Documentation

!

Information, extensions, notes and advice on specific implementation ! capabilites and/or liabilities broken down into chapter names based on the ! C++ standard. !

! ! + + +
+
+

Contributor-Specific Information

+

Return to the libstdc++ homepage.

!

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/explanations.html gcc-3.2.1/libstdc++-v3/docs/html/explanations.html *** gcc-3.2/libstdc++-v3/docs/html/explanations.html Wed Nov 28 00:02:04 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/explanations.html Wed Sep 25 17:52:16 2002 *************** *** 1,12 **** - ! ! ! ! Explanatory notes about libstdc++-v3 design ! --- 1,11 ---- ! ! ! ! Explanatory notes about libstdc++-v3 design ! *************** design *** 19,29 ****

To the libstdc++-v3 homepage. !


!

"I/O packages", --enable-cstdio

In addition to all the nifty things which C++ can do for I/O, its library also includes all of the I/O capabilites of C. Making them work together can be a challenge, not only --- 18,29 ----

To the libstdc++-v3 homepage. +

!
!

"I/O packages", --enable-cstdio

In addition to all the nifty things which C++ can do for I/O, its library also includes all of the I/O capabilites of C. Making them work together can be a challenge, not only *************** design *** 61,68 ****

!
!

Internal Allocators

Return to the top of the page or --- 61,68 ----

!
!

Internal Allocators

Return to the top of the page or *************** design *** 72,78 **** !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 72,78 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/ext/howto.html gcc-3.2.1/libstdc++-v3/docs/html/ext/howto.html *** gcc-3.2/libstdc++-v3/docs/html/ext/howto.html Sat Jul 20 06:34:51 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/ext/howto.html Wed Sep 25 17:52:22 2002 *************** *** 1,13 **** - ! ! ! ! ! libstdc++-v3 HOWTO: Extensions ! --- 1,12 ---- ! ! ! ! ! libstdc++-v3 HOWTO: Extensions ! *************** *** 18,62 **** and some just seemed to appear on the doorstep.

Before you leap in and use these, be aware of two things: -

    -
  1. Non-Standard means exactly that. The behavior, and the very - existence, of these extensions may change with little or no - warning. (Ideally, the really good ones will appear in the next - revision of C++.) Also, other platforms, other compilers, other - versions of g++ or libstdc++-v3 may not recognize these names, or - treat them differently, or... -
  2. You should know how to access - these headers properly. -

!

Contents

!

Ropes and trees and hashes, oh my!

!

The SGI headers !

       <bvector>
       <hash_map>
       <hash_set>
       <rope>
       <slist>
       <tree>
!      
are all here; <bvector> exposes the old bit_vector class that was used before specialization of vector<bool> was available (it's actually a typedef for the specialization now). <hash_map> and <hash_set> --- 17,62 ---- and some just seemed to appear on the doorstep.

Before you leap in and use these, be aware of two things:

+
    +
  1. Non-Standard means exactly that. The behavior, and the very + existence, of these extensions may change with little or no + warning. (Ideally, the really good ones will appear in the next + revision of C++.) Also, other platforms, other compilers, other + versions of g++ or libstdc++-v3 may not recognize these names, or + treat them differently, or...
  2. +
  3. You should know how to access + these headers properly.
  4. +
!

Contents

!

Ropes and trees and hashes, oh my!

!

The SGI headers

!
       <bvector>
       <hash_map>
       <hash_set>
       <rope>
       <slist>
       <tree>
!    
!

are all here; <bvector> exposes the old bit_vector class that was used before specialization of vector<bool> was available (it's actually a typedef for the specialization now). <hash_map> and <hash_set> *************** *** 88,112 ****

Why would you want to use a hashing class instead of the "normal" implementations? Matt Austern writes: -

[W]ith a well chosen hash function, hash tables - generally provide much better average-case performance than binary - search trees, and much worse worst-case performance. So if your - implementation has hash_map, if you don't mind using nonstandard - components, and if you aren't scared about the possibility of - pathological cases, you'll probably get better performance from - hash_map.

(Side note: for those of you wondering, "Why wasn't a hash table included in the Standard in the first #!$@ place?" I'll give a quick answer: it was proposed, but too late and in too unorganized a fashion. Some sort of hashing will undoubtedly be ! included in a future Standard.

Return to top of page or to the FAQ.

!

Added members and types

Some of the classes in the Standard Library have additional publicly-available members, and some classes are themselves not in --- 88,112 ----

Why would you want to use a hashing class instead of the "normal" implementations? Matt Austern writes:

+
[W]ith a well chosen hash function, hash tables + generally provide much better average-case performance than binary + search trees, and much worse worst-case performance. So if your + implementation has hash_map, if you don't mind using nonstandard + components, and if you aren't scared about the possibility of + pathological cases, you'll probably get better performance from + hash_map.

(Side note: for those of you wondering, "Why wasn't a hash table included in the Standard in the first #!$@ place?" I'll give a quick answer: it was proposed, but too late and in too unorganized a fashion. Some sort of hashing will undoubtedly be ! included in a future Standard.)

Return to top of page or to the FAQ.

!

Added members and types

Some of the classes in the Standard Library have additional publicly-available members, and some classes are themselves not in *************** *** 114,142 **** for example, additional typedefs. Those won't be described here (or anywhere else).

!

!

  • The extensions added by SGI are so numerous that they have their own page. Since the SGI STL is no longer actively maintained, we will try and keep this code working ourselves.
  • !
  • 3.0.x filebufs have another ctor with this signature:
    ! basic_filebuf(__c_file_type*, ios_base::openmode, int_type); !
    This comes in very handy in a number of places, such as attaching Unix sockets, pipes, and anything else which uses file descriptors, into the IOStream buffering classes. The three arguments are as follows:
    • __c_file_type* F // the __c_file_type typedef usually boils down to stdio's FILE
    • ios_base::openmode M // same as all the other uses of openmode
    • int_type B // buffer size, defaults to BUFSIZ if not specified
    For those wanting to use file descriptors instead of FILE*'s, I invite you to contemplate the mysteries of C's fdopen(). !
  • In library snapshot 3.0.95 and later, filebufs bring back an old extension: the fd() member function. The integer returned from this function can be used for whatever file --- 114,145 ---- for example, additional typedefs. Those won't be described here (or anywhere else).

    !
    • The extensions added by SGI are so numerous that they have their own page. Since the SGI STL is no longer actively maintained, we will try and keep this code working ourselves.
    • !
    • 3.0.x filebufs have another ctor with this signature: !
      ! basic_filebuf(__c_file_type*, ios_base::openmode, int_type); !
      This comes in very handy in a number of places, such as attaching Unix sockets, pipes, and anything else which uses file descriptors, into the IOStream buffering classes. The three arguments are as follows:
      • __c_file_type* F // the __c_file_type typedef usually boils down to stdio's FILE +
      • ios_base::openmode M // same as all the other uses of openmode +
      • int_type B // buffer size, defaults to BUFSIZ if not specified +
      For those wanting to use file descriptors instead of FILE*'s, I invite you to contemplate the mysteries of C's fdopen(). !
    • In library snapshot 3.0.95 and later, filebufs bring back an old extension: the fd() member function. The integer returned from this function can be used for whatever file *************** *** 144,174 **** library cannot track what you do on your own with a file descriptor, so if you perform any I/O directly, don't expect the library to be aware of it.
    • Beginning with 3.1, the extra filebuf constructor and the fd() function were removed from the standard filebuf. Instead, <ext/stdio_filebuf.h> contains a derived class called __gnu_cxx::stdio_filebuf. !
    !

    Return to top of page or to the FAQ.

    !

    Allocators (versions 3.0, 3.1, 3.2)

    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 --- 147,181 ---- library cannot track what you do on your own with a file descriptor, so if you perform any I/O directly, don't expect the library to be aware of it. +
    • Beginning with 3.1, the extra filebuf constructor and the fd() function were removed from the standard filebuf. Instead, <ext/stdio_filebuf.h> contains a derived class called __gnu_cxx::stdio_filebuf. !
    • !

    Return to top of page or to the FAQ.

    !

    Allocators (versions 3.0, 3.1, 3.2)

    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 *************** *** 180,192 **** 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 --- 187,200 ---- 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 *************** *** 235,267 **** information for maintainers and contributors in addition to users.

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.

--- 243,281 ---- information for maintainers and contributors in addition to users.

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.

*************** *** 297,311 ****

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" --- 311,325 ----

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

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

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" *************** *** 326,337 **** (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, --- 340,351 ---- (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, *************** *** 339,349 ****

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.

--- 353,364 ----

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.

*************** *** 365,371 **** to the FAQ.

!

Allocators (version 3.3)

Changes are coming...

--- 380,386 ---- to the FAQ.

!

Allocators (version 3.3)

Changes are coming...

*************** *** 373,379 **** to the FAQ.

!

Compile-time checks

Currently libstdc++-v3 uses the concept checkers from the Boost library to perform optional --- 388,394 ---- to the FAQ.

!

Compile-time checks

Currently libstdc++-v3 uses the concept checkers from the Boost library to perform optional *************** *** 384,390 **** to the FAQ.

!

LWG Issues

Everybody's got issues. Even the C++ Standard Library.

--- 399,405 ---- to the FAQ.

!

LWG Issues

Everybody's got issues. Even the C++ Standard Library.

*************** *** 418,551 **** examples of style. Note that we usually do not make changes to the code until an issue has reached DR status.

!

5: string::compare specification questionable
This should be two overloaded functions rather than a single function.
17: 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.
48: Use of non-existent exception constructor
An instance of ios_base::failure is constructed instead.
49: Underspecification of ios_base::sync_with_stdio
The return type is the previous state of synchronization.
50: Copy constructor and assignment operator of ios_base
These members functions are declared private and are thus inaccessible. Specifying the correct semantics of "copying stream state" was deemed too complicated.
68: Extractors for char* should store null at end
And they do now. An editing glitch in the last item in the list of [27.6.1.2.3]/7.
74: Garbled text for codecvt::do_max_length
The text of the standard was gibberish. Typos gone rampant.
83: string::npos vs. string::max_size()
Safety checks on the size of the string should test against max_size() rather than npos.
109: Missing binders for non-const sequence elements
The binder1st and binder2nd didn't have an operator() taking a non-const parameter.
110: istreambuf_iterator::equal not const
This was not a const member function. Note that the DR says to 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.
136: seekp, seekg setting wrong streams?
seekp should only set the output stream, and seekg should only set the input stream.
167: Improper use of traits_type::length()
op<< with a const char* was calculating an incorrect number of characters to write.
181: make_pair() unintended behavior
This function used to take its arguments as reference-to-const, now it copies them (pass by value).
195: Should basic_istream::sentry's constructor ever set eofbit?
Yes, it can, specifically if EOF is reached while skipping whitespace.
211: operator>>(istream&, string&) doesn't set failbit
If nothing is extracted into the string, op>> now sets failbit (which can cause an exception, etc, etc).
214: set::find() missing const overload
Both set and multiset were missing overloaded find, lower_bound, upper_bound, and equal_range functions for const instances.
251: basic_stringbuf missing allocator_type
This nested typdef was originally not specified.
265: 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. !

Return to top of page or to the FAQ.

--- 433,620 ---- examples of style. Note that we usually do not make changes to the code until an issue has reached DR status.

!
5: string::compare specification questionable +
This should be two overloaded functions rather than a single function. +
17: 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. +
48: Use of non-existent exception constructor +
An instance of ios_base::failure is constructed instead. +
49: Underspecification of ios_base::sync_with_stdio +
The return type is the previous state of synchronization. +
50: Copy constructor and assignment operator of ios_base +
These members functions are declared private and are thus inaccessible. Specifying the correct semantics of "copying stream state" was deemed too complicated. +
68: Extractors for char* should store null at end +
And they do now. An editing glitch in the last item in the list of [27.6.1.2.3]/7. +
74: Garbled text for codecvt::do_max_length +
The text of the standard was gibberish. Typos gone rampant. +
83: string::npos vs. string::max_size() +
Safety checks on the size of the string should test against max_size() rather than npos. +
109: Missing binders for non-const sequence elements +
The binder1st and binder2nd didn't have an operator() taking a non-const parameter. +
110: istreambuf_iterator::equal not const +
This was not a const member function. Note that the DR says to 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. +
136: seekp, seekg setting wrong streams? +
seekp should only set the output stream, and seekg should only set the input stream. +
167: Improper use of traits_type::length() +
op<< with a const char* was calculating an incorrect number of characters to write. +
181: make_pair() unintended behavior +
This function used to take its arguments as reference-to-const, now it copies them (pass by value). +
195: Should basic_istream::sentry's constructor ever set eofbit? +
Yes, it can, specifically if EOF is reached while skipping whitespace. +
211: operator>>(istream&, string&) doesn't set failbit +
If nothing is extracted into the string, op>> now sets failbit (which can cause an exception, etc, etc). +
214: set::find() missing const overload +
Both set and multiset were missing overloaded find, lower_bound, upper_bound, and equal_range functions for const instances. +
251: basic_stringbuf missing allocator_type +
This nested typdef was originally not specified. +
265: 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. +
!

Return to top of page or to the FAQ.

*************** *** 553,559 **** !

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 622,628 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/ext/sgiexts.html gcc-3.2.1/libstdc++-v3/docs/html/ext/sgiexts.html *** gcc-3.2/libstdc++-v3/docs/html/ext/sgiexts.html Wed Nov 28 00:02:04 2001 --- gcc-3.2.1/libstdc++-v3/docs/html/ext/sgiexts.html Wed Sep 25 17:52:22 2002 *************** *** 1,12 **** - ! ! ! ! SGI extensions to the library in libstdc++-v3 ! --- 1,11 ---- ! ! ! ! SGI extensions to the library in libstdc++-v3 ! *************** libstdc++-v3 *** 25,31 **** for a description). Not every chapter may have extensions, and the extensions may come and go. Also, this page is incomplete because the author is pressed for time. Check back often; the latest change was on ! $Date: 2001/11/28 00:02:04 $ (UTC).

Descriptions range from the scanty to the verbose. You should also check --- 24,30 ---- for a description). Not every chapter may have extensions, and the extensions may come and go. Also, this page is incomplete because the author is pressed for time. Check back often; the latest change was on ! $Date: 2002/09/25 17:52:22 $ (UTC).

Descriptions range from the scanty to the verbose. You should also check *************** libstdc++-v3 *** 36,65 ****

Back to the libstdc++-v3 extensions. !


!

Chapter 20

The <functional> header contains many additional functors and helper functions, extending section 20.3. They are implemented in the file stl_function.h: !

    !
  • identity_element for addition and multiplication. * !
  • The functor identity, whose op() returns the argument ! unchanged. *
  • Composition functors unary_function and binary_function, and their helpers compose1 ! and compose2. * !
  • select1st and select2nd, to strip pairs. * !
  • project1st and project2nd. *
  • A set of functors/functions which always return the same result. They ! are constant_void_fun, constant_binary_fun, constant_unary_fun, ! constant0, constant1, and constant2. * !
  • The class subtractive_rng. * !
  • mem_fun adaptor helpers mem_fun1 and mem_fun1_ref are provided for ! backwards compatibility. !

20.4.1 can use several different allocators; they are described on the main extensions page.

--- 35,67 ----

Back to the libstdc++-v3 extensions. +

!
!

Chapter 20

The <functional> header contains many additional functors and helper functions, extending section 20.3. They are implemented in the file stl_function.h: !

!
    !
  • identity_element for addition and multiplication. *
  • !
  • The functor identity, whose operator() ! returns the argument unchanged. *
  • Composition functors unary_function and binary_function, and their helpers compose1 ! and compose2. *
  • !
  • select1st and select2nd, to strip pairs. *
  • !
  • project1st and project2nd. *
  • A set of functors/functions which always return the same result. They ! are constant_void_fun, constant_binary_fun, ! constant_unary_fun, constant0, ! constant1, and constant2. *
  • !
  • The class subtractive_rng. *
  • !
  • mem_fun adaptor helpers mem_fun1 and ! mem_fun1_ref are provided for backwards compatibility.
  • !

20.4.1 can use several different allocators; they are described on the main extensions page.

*************** libstdc++-v3 *** 68,79 **** is a pointer, which is ignored, but can be used to specify the template type (instead of using explicit function template arguments like the standard version does). That is, in addition to
     get_temporary_buffer<int>(5);
you can also use
     get_temporary_buffer(5, (int*)0);
-

A class temporary_buffer is given in stl_tempbuf.h. *

The specialized algorithms of section 20.4.4 are extended with --- 70,81 ---- is a pointer, which is ignored, but can be used to specify the template type (instead of using explicit function template arguments like the standard version does). That is, in addition to +

     get_temporary_buffer<int>(5);
you can also use
     get_temporary_buffer(5, (int*)0);

A class temporary_buffer is given in stl_tempbuf.h. *

The specialized algorithms of section 20.4.4 are extended with *************** libstdc++-v3 *** 84,91 ****

!
!

Chapter 23

A few extensions and nods to backwards-compatibility have been made with containers. Those dealing with older SGI-style allocators are dealt with elsewhere. The remaining ones all deal with bits: --- 86,93 ----

!
!

Chapter 23

A few extensions and nods to backwards-compatibility have been made with containers. Those dealing with older SGI-style allocators are dealt with elsewhere. The remaining ones all deal with bits: *************** libstdc++-v3 *** 105,122 **** versions of single-bit test, set, reset, and flip member functions which do no range-checking. If we call them member functions of an instantiation of "bitset<N>," then their names and signatures are:

     bitset<N>&   _Unchecked_set   (size_t pos);
     bitset<N>&   _Unchecked_set   (size_t pos, int val);
     bitset<N>&   _Unchecked_reset (size_t pos);
     bitset<N>&   _Unchecked_flip  (size_t pos);
     bool         _Unchecked_test  (size_t pos);
! Note that these may in fact be removed in the future, although we have no present plans to do so (and there doesn't seem to be any immediate reason to).

!

! The semantics of member function operator[] are not specified in the C++ standard. A long-standing defect report calls for sensible obvious semantics, which are already implemented here: op[] on a const bitset returns a bool, and for a non-const bitset returns a --- 107,124 ---- versions of single-bit test, set, reset, and flip member functions which do no range-checking. If we call them member functions of an instantiation of "bitset<N>," then their names and signatures are: +

     bitset<N>&   _Unchecked_set   (size_t pos);
     bitset<N>&   _Unchecked_set   (size_t pos, int val);
     bitset<N>&   _Unchecked_reset (size_t pos);
     bitset<N>&   _Unchecked_flip  (size_t pos);
     bool         _Unchecked_test  (size_t pos);
!

Note that these may in fact be removed in the future, although we have no present plans to do so (and there doesn't seem to be any immediate reason to).

!

The semantics of member function operator[] are not specified in the C++ standard. A long-standing defect report calls for sensible obvious semantics, which are already implemented here: op[] on a const bitset returns a bool, and for a non-const bitset returns a *************** libstdc++-v3 *** 128,157 ****

Finally, two additional searching functions have been added. They return the index of the first "on" bit, and the index of the first "on" bit that is after prev, respectively:

     size_t _Find_first() const;
     size_t _Find_next (size_t prev) const;
! The same caveat given for the _Unchecked_* functions applies here also.

Return to the main extensions page or to the homepage.

!
!

Chapter 24

24.3.2 describes struct iterator, which didn't exist in the original HP STL implementation (the language wasn't rich enough at the time). For backwards compatibility, base classes are provided which declare the same nested typedefs:

    !
  • input_iterator !
  • output_iterator !
  • forward_iterator !
  • bidirectional_iterator !
  • random_access_iterator
-

24.3.4 describes iterator operation distance, which takes two iterators and returns a result. It is extended by another signature which takes two iterators and a reference to a result. The result is --- 130,160 ----

Finally, two additional searching functions have been added. They return the index of the first "on" bit, and the index of the first "on" bit that is after prev, respectively: +

     size_t _Find_first() const;
     size_t _Find_next (size_t prev) const;
!

The same caveat given for the _Unchecked_* functions applies here also.

Return to the main extensions page or to the homepage.

!
!

Chapter 24

24.3.2 describes struct iterator, which didn't exist in the original HP STL implementation (the language wasn't rich enough at the time). For backwards compatibility, base classes are provided which declare the same nested typedefs: +

    !
  • input_iterator
  • !
  • output_iterator
  • !
  • forward_iterator
  • !
  • bidirectional_iterator
  • !
  • random_access_iterator

24.3.4 describes iterator operation distance, which takes two iterators and returns a result. It is extended by another signature which takes two iterators and a reference to a result. The result is *************** libstdc++-v3 *** 162,211 ****

!
!

Chapter 25

25.1.6 (count, count_if) is extended with two more versions of count and count_if. The standard versions return their results. The additional signatures return void, but take a final parameter by reference to which they assign their results, e.g.,

     void count (first, last, value, n);
-

25.2 (mutating algorithms) is extended with two families of signatures, random_sample and random_sample_n.

25.2.1 (copy) is extended with

     copy_n (_InputIter first, _Size count, _OutputIter result);
! which copies the first 'count' elements at 'first' into 'result'.

25.3 (sorting 'n' heaps 'n' stuff) is extended with some helper predicates. Look in the doxygen-generated pages for notes on these.

    !
  • is_heap tests whether or not a range is a heap.
  • is_sorted tests whether or not a range is sorted in ! nondescending order.
-

25.3.8 (lexigraphical_compare) is extended with

     lexicographical_compare_3way(_InputIter1 first1, _InputIter1 last1,
                                   _InputIter2 first2, _InputIter2 last2)
! which does... what?

Return to the main extensions page or to the homepage.

!
!

Chapter 26

26.4, the generalized numeric operations such as accumulate, are extended with the following functions:

     power (x, n);
     power (x, n, moniod_operation);
! Returns, in FORTRAN syntax, "x ** n" where n>=0. In the case of n == 0, returns the identity element for the monoid operation. The two-argument signature uses multiplication (for a true "power" implementation), but addition is supported as well. --- 165,217 ----

!
!

Chapter 25

25.1.6 (count, count_if) is extended with two more versions of count and count_if. The standard versions return their results. The additional signatures return void, but take a final parameter by reference to which they assign their results, e.g., +

     void count (first, last, value, n);

25.2 (mutating algorithms) is extended with two families of signatures, random_sample and random_sample_n.

25.2.1 (copy) is extended with +

     copy_n (_InputIter first, _Size count, _OutputIter result);
!

which copies the first 'count' elements at 'first' into 'result'.

25.3 (sorting 'n' heaps 'n' stuff) is extended with some helper predicates. Look in the doxygen-generated pages for notes on these. +

    !
  • is_heap tests whether or not a range is a heap.
  • is_sorted tests whether or not a range is sorted in ! nondescending order.

25.3.8 (lexigraphical_compare) is extended with +

     lexicographical_compare_3way(_InputIter1 first1, _InputIter1 last1,
                                   _InputIter2 first2, _InputIter2 last2)
!

which does... what?

Return to the main extensions page or to the homepage.

!
!

Chapter 26

26.4, the generalized numeric operations such as accumulate, are extended with the following functions: +

     power (x, n);
     power (x, n, moniod_operation);
!

Returns, in FORTRAN syntax, "x ** n" where n>=0. In the case of n == 0, returns the identity element for the monoid operation. The two-argument signature uses multiplication (for a true "power" implementation), but addition is supported as well. *************** libstdc++-v3 *** 215,223 **** Coolest Name. It "assigns sequentially increasing values to a range. That is, it assigns value to *first, value + 1 to *(first + 1) and so on." Quoted from SGI documentation.

     void iota(_ForwardIter first, _ForwardIter last, _Tp value);
-

Return to the main extensions page or to the homepage.

--- 221,229 ---- Coolest Name. It "assigns sequentially increasing values to a range. That is, it assigns value to *first, value + 1 to *(first + 1) and so on." Quoted from SGI documentation. +

     void iota(_ForwardIter first, _ForwardIter last, _Tp value);

Return to the main extensions page or to the homepage.

*************** libstdc++-v3 *** 225,231 **** !

See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 231,237 ---- !


See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/faq/index.html gcc-3.2.1/libstdc++-v3/docs/html/faq/index.html *** gcc-3.2/libstdc++-v3/docs/html/faq/index.html Sat Jul 20 06:34:51 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/faq/index.html Wed Sep 25 17:52:22 2002 *************** *** 1,10 **** ! ! ! libstdc++-v3 FAQ ! !


Questions

  1. General Information
      !
    1. What is libstdc++-v3? !
    2. Why should I use libstdc++? !
    3. Who's in charge of it? !
    4. How do I get libstdc++? !
    5. When is libstdc++ going to be finished? !
    6. How do I contribute to the effort? !
    7. What happened to libg++? I need that! !
    8. What if I have more questions? !
    9. What are the license terms for libstdc++-v3?
  2. Installation
      !
    1. How do I install libstdc++-v3? !
    2. [removed]
    3. What is this CVS thing that you keep ! mentioning? !
    4. How do I know if it works? !
    5. This library is HUGE! And what's libsupc++?
  3. Platform-Specific Issues
    1. Can libstdc++-v3 be used with <my ! favorite compiler>? !
    2. [removed] !
    3. [removed] !
    4. I can't use 'long long' on Solaris
    5. _XOPEN_SOURCE / _GNU_SOURCE / etc is always defined !
    6. OS X ctype.h is broken! How can I hack it?
  4. Known Bugs and Non-Bugs
      !
    1. What works already? !
    2. Bugs in gcc/g++ (not libstdc++-v3) !
    3. Bugs in the C++ language/lib specification
    4. Things in libstdc++ that only look like bugs !
    5. Aw, that's easy to fix!
  5. Miscellaneous
    1. string::iterator is not char*; ! vector<T>::iterator is not T* !
    2. What's next after libstdc++-v3? !
    3. What about the STL from SGI? !
    4. Extensions and Backward Compatibility !
    5. [removed] !
    6. Is libstdc++-v3 thread-safe? !
    7. How do I get a copy of the ISO C++ Standard? !
    8. What's an ABI and why is it so messy?
!
--- 23,114 ----

To the libstdc++-v3 homepage. +

!

Questions

  1. General Information
      !
    1. What is libstdc++-v3?
    2. !
    3. Why should I use libstdc++?
    4. !
    5. Who's in charge of it?
    6. !
    7. How do I get libstdc++?
    8. !
    9. When is libstdc++ going to be finished?
    10. !
    11. How do I contribute to the effort?
    12. !
    13. What happened to libg++? I need that!
    14. !
    15. What if I have more questions?
    16. !
    17. What are the license terms for libstdc++-v3?
    +
  2. Installation
      !
    1. How do I install libstdc++-v3?
    2. !
    3. [removed]
    4. What is this CVS thing that you keep ! mentioning?
    5. !
    6. How do I know if it works?
    7. !
    8. This library is HUGE! And what's libsupc++?
    +
  3. Platform-Specific Issues
    1. Can libstdc++-v3 be used with <my ! favorite compiler>?
    2. !
    3. [removed]
    4. !
    5. [removed]
    6. !
    7. I can't use 'long long' on Solaris
    8. _XOPEN_SOURCE / _GNU_SOURCE / etc is always defined !
    9. !
    10. OS X ctype.h is broken! How can I hack it?
    +
  4. Known Bugs and Non-Bugs
      !
    1. What works already?
    2. !
    3. Bugs in gcc/g++ (not libstdc++-v3)
    4. !
    5. Bugs in the C++ language/lib specification
    6. Things in libstdc++ that only look like bugs !
    7. !
    8. Aw, that's easy to fix!
    +
  5. Miscellaneous
    1. string::iterator is not char*; ! vector<T>::iterator is not T*
    2. !
    3. What's next after libstdc++-v3?
    4. !
    5. What about the STL from SGI?
    6. !
    7. Extensions and Backward Compatibility
    8. !
    9. [removed]
    10. !
    11. Is libstdc++-v3 thread-safe?
    12. !
    13. How do I get a copy of the ISO C++ Standard?
    14. !
    15. What's an ABI and why is it so messy?
    +
!
*************** *** 127,133 **** official 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 --- 135,141 ---- official 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 *************** *** 153,164 **** 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 --- 161,173 ---- 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, Ulrich Drepper, ! Loren James Rittle, and Paolo Carlini 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 *************** *** 167,173 **** If you have questions, ideas, code, or are just curious, sign up!

!

1.4 How do I get libstdc++?

The fourteenth (and latest) snapshot of libstdc++-v3 is available --- 176,182 ---- If you have questions, ideas, code, or are just curious, sign up!

!

1.4 How do I get libstdc++?

The fourteenth (and latest) snapshot of libstdc++-v3 is available *************** *** 182,190 **** of the SGI STL.

!

1.5 When is libstdc++ going to be finished?

! --- 191,199 ---- of the SGI STL.

!

1.5 When is libstdc++ going to be finished?

! *************** which is no longer available, thanks dej *** 192,198 **** Usenet article asking this question: Sooner, if you help.

!

1.6 How do I contribute to the effort?

Here is a page devoted to this topic. Subscribing to the mailing --- 201,207 ---- Usenet article asking this question: Sooner, if you help.

!

1.6 How do I contribute to the effort?

Here is a page devoted to this topic. Subscribing to the mailing *************** which is no longer available, thanks dej *** 204,210 **** 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 --- 213,219 ---- 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 *************** which is no longer available, thanks dej *** 243,249 **** describes where to find the last libg++ source.

!

1.8 What if I have more questions?

If you have read the README and RELEASE-NOTES files, and your question remains unanswered, then just ask the mailing list. --- 252,258 ---- describes where to find the last libg++ source.

!

1.8 What if I have more questions?

If you have read the README and RELEASE-NOTES files, and your question remains unanswered, then just ask the mailing list. *************** which is no longer available, thanks dej *** 259,271 **** or Gabriel Dos Reis.

!

1.9 What are the license terms for libstdc++-v3?

See 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 --- 268,280 ---- or Gabriel Dos Reis.

!

1.9 What are the license terms for libstdc++-v3?

See 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 *************** which is no longer available, thanks dej *** 276,284 **** --- 285,296 ---- 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 documentation.html provides a good overview of the steps necessary to build, install, *************** which is no longer available, thanks dej *** 294,311 **** ".../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 CVS entry in the GNU software catalogue has a better description as well as a --- 306,323 ---- ".../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 CVS entry in the GNU software catalogue has a better description as well as a *************** which is no longer available, thanks dej *** 320,326 ****

    !

    2.4 How do I know if it works?

    libstdc++-v3 comes with its own testsuite. You do not need to actually install the library ("make --- 332,338 ----

    !

    2.4 How do I know if it works?

    libstdc++-v3 comes with its own testsuite. You do not need to actually install the library ("make *************** which is no longer available, thanks dej *** 336,342 **** 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 --- 348,354 ---- 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 *************** which is no longer available, thanks dej *** 386,392 **** when building the library.

    !

    3.0 Platform-Specific Issues

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

    --- 398,404 ---- 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 *** 408,426 **** 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 [removed]

    This question has become moot and has been removed. The stub is here to preserve numbering (and hence links/bookmarks).

    !

    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. --- 420,438 ---- 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 [removed]

    This question has become moot and has been removed. The stub is here to preserve numbering (and hence links/bookmarks).

    !

    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. *************** which is no longer available, thanks dej *** 432,438 ****

    This has been fixed for 3.0.3 and onwards.

    !

    3.5 _XOPEN_SOURCE / _GNU_SOURCE / etc is always defined

    On Solaris, g++ (but not gcc) always defines the preprocessor --- 444,450 ----

    This has been fixed for 3.0.3 and onwards.

    !

    3.5 _XOPEN_SOURCE / _GNU_SOURCE / etc is always defined

    On Solaris, g++ (but not gcc) always defines the preprocessor *************** which is no longer available, thanks dej *** 464,476 **** a list of predefined macros for any particular installation.

    This has been discussed on the mailing lists ! quite a bit.

    This method is something of a wart. We'd like to find a cleaner solution, but nobody yet has contributed the time.

    !

    3.6 OS X ctype.h is broken! How can I hack it?

    This is a long-standing bug in the OS X support. Fortunately, the patch is quite simple, and well-known. --- 476,488 ---- a list of predefined macros for any particular installation.

    This has been discussed on the mailing lists ! quite a bit.

    This method is something of a wart. We'd like to find a cleaner solution, but nobody yet has contributed the time.

    !

    3.6 OS X ctype.h is broken! How can I hack it?

    This is a long-standing bug in the OS X support. Fortunately, the patch is quite simple, and well-known. *************** which is no longer available, thanks dej *** 478,484 **** link to the solution.

    !

    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 --- 490,496 ---- link to the solution.

    !

    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 *************** New: *** 570,576 ****
    !

    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 --- 582,588 ----

    !

    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 *************** New: *** 595,601 **** experiences. :-) !


    4.3 Bugs in the C++ language/lib specification

    Yes, unfortunately, there are some. In a message --- 607,613 ---- experiences. :-) !


    4.3 Bugs in the C++ language/lib specification

    Yes, unfortunately, there are some. In a message *************** New: *** 614,641 **** Some of these have resulted in code changes.

    !

    4.4 Things in libstdc++ that only 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. !

    !
    ! !

    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 <fstream>
          ...
          std::fstream  fs("a_file");
    --- 626,651 ----
               Some of these have resulted in code changes.
            

    !

    4.4 Things in libstdc++ that only 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. !

    !

    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 <fstream>
          ...
          std::fstream  fs("a_file");
    *************** New:
    *** 644,702 ****
          // .
          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 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 <iterator> header), ! then you will suddenly be faced with huge numbers of ambiguity ! errors. This was discussed on the -v3 list; Nathan Myers ! sums ! things up here. The collisions with vector/string iterator ! types have been fixed for 3.1. !

    ! !

    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 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 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.
      
      {BH} You are using g++ 2.95.2? After upgrading to glibc 2.2, you need to
    --- 654,707 ----
          // .
          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 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 <iterator> header), ! then you will suddenly be faced with huge numbers of ambiguity ! errors. This was discussed on the -v3 list; Nathan Myers ! sums ! things up here. The collisions with vector/string iterator ! types have been fixed for 3.1. !

    !

    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 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 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.
      
      {BH} You are using g++ 2.95.2? After upgrading to glibc 2.2, you need to
    *************** apply a patch to the include files in /u
    *** 704,737 ****
      type has changed in glibc 2.2.  The patch is at
      http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
         
    ! Note that 2.95.x shipped with the ! 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 ! here. !

    ! ! !

    dlopen/dlsym ! If you are using the C++ library across dynamically-loaded ! objects, make certain that you are passing the correct options ! when compiling and linking: !

          // compile the library components
          g++ -fPIC -c a.cc
          g++ -fPIC -c b.cc
    --- 709,739 ----
      type has changed in glibc 2.2.  The patch is at
      http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
         
    !

    Note that 2.95.x shipped with the ! 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 ! here. !

    !

    dlopen/dlsym ! If you are using the C++ library across dynamically-loaded ! objects, make certain that you are passing the correct options ! when compiling and linking: !

    !
          // compile the library components
          g++ -fPIC -c a.cc
          g++ -fPIC -c b.cc
    *************** http://clisp.cons.org/~haible/gccinclude
    *** 742,751 ****
          g++ -fPIC -shared -rdynamic -o libfoo.so a.o b.o ... z.o
      
          // link the executable
    !     g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl

    ! !

    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 --- 744,752 ---- g++ -fPIC -shared -rdynamic -o libfoo.so a.o b.o ... z.o // link the executable ! g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl

    !

    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 *************** http://clisp.cons.org/~haible/gccinclude *** 764,770 **** testsuite -- but only if such a test exists.

    !

    5.0 Miscellaneous

    5.1 string::iterator is not char*; vector<T>::iterator is not T*

    --- 765,771 ---- testsuite -- but only if such a test exists.

    !

    5.0 Miscellaneous

    5.1 string::iterator is not char*; vector<T>::iterator is not T*

    *************** http://clisp.cons.org/~haible/gccinclude *** 785,791 **** 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, --- 786,792 ---- 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, *************** http://clisp.cons.org/~haible/gccinclude *** 801,816 **** we add code to the library based on what the current proposed resolution specifies. Those additions are listed in the extensions page. !

  • 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. !

  • An ABI for libstdc++ is being developed, so that multiple binary-incompatible copies of the library can be replaced with a single backwards-compatible library, like libgcc_s.so is. !

  • 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 --- 802,817 ---- we add code to the library based on what the current proposed resolution specifies. Those additions are listed in the extensions page. !

  • 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. !

  • An ABI for libstdc++ is being developed, so that multiple binary-incompatible copies of the library can be replaced with a single backwards-compatible library, like libgcc_s.so is. !

  • 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 *************** http://clisp.cons.org/~haible/gccinclude *** 818,824 **** (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. !

    This question about the next libstdc++ prompted some brief but --- 819,825 ---- (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. !

  • This question about the next libstdc++ prompted some brief but *************** http://clisp.cons.org/~haible/gccinclude *** 826,832 **** speculation.

    !

    5.3 What about the STL from SGI?

    The STL from SGI, version 3.3, was the most recent merge of the STL codebase. The --- 827,833 ---- speculation.

    !

    5.3 What about the STL from SGI?

    The STL from SGI, version 3.3, was the most recent merge of the STL codebase. The *************** http://clisp.cons.org/~haible/gccinclude *** 843,856 **** recommended reading.

    !

    5.4 Extensions and Backward Compatibility

    Headers in the ext and backward subdirectories should be referred to by their relative paths: !

            #include <ext/hash_map> 
    ! rather than using -I or other options. This is more portable and forward-compatible. (The situation is the same as that of other headers whose directories are not searched directly, e.g., <sys/stat.h>, <X11/Xlib.h>. --- 844,858 ---- recommended reading.

    !

    5.4 Extensions and Backward Compatibility

    Headers in the ext and backward subdirectories should be referred to by their relative paths: !

    !
            #include <ext/hash_map> 
    !

    rather than using -I or other options. This is more portable and forward-compatible. (The situation is the same as that of other headers whose directories are not searched directly, e.g., <sys/stat.h>, <X11/Xlib.h>. *************** http://clisp.cons.org/~haible/gccinclude *** 859,871 **** 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 --- 861,873 ---- 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 *************** http://clisp.cons.org/~haible/gccinclude *** 876,882 **** 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;
      
           thread_main () {
    --- 878,885 ----
               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;
      
           thread_main () {
    *************** http://clisp.cons.org/~haible/gccinclude
    *** 886,903 ****
           }
      
           // 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;
             library_class_b *object_b = new library_class_b;
             object_a.add_b (object_b);
             object_a.mutate ();
           } 
    -

    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, --- 889,905 ---- } // 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;
             library_class_b *object_b = new library_class_b;
             object_a.add_b (object_b);
             object_a.mutate ();
           } 

    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, *************** http://clisp.cons.org/~haible/gccinclude *** 912,918 **** 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 --- 914,920 ---- 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 *************** http://clisp.cons.org/~haible/gccinclude *** 930,936 **** 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 --- 932,938 ---- 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 *************** http://clisp.cons.org/~haible/gccinclude *** 979,985 **** !


    See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 981,987 ---- !


    See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/faq/index.txt gcc-3.2.1/libstdc++-v3/docs/html/faq/index.txt *** gcc-3.2/libstdc++-v3/docs/html/faq/index.txt Sat Jul 20 06:34:51 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/faq/index.txt Wed Sep 25 17:52:22 2002 *************** *** 106,113 **** 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 --- 106,113 ---- 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, Ulrich Drepper, Loren James Rittle, and Paolo ! Carlini 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 diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/install.html gcc-3.2.1/libstdc++-v3/docs/html/install.html *** gcc-3.2/libstdc++-v3/docs/html/install.html Tue Jul 2 06:22:38 2002 --- gcc-3.2.1/libstdc++-v3/docs/html/install.html Thu Oct 17 02:04:15 2002 *************** *** 1,12 **** - ! ! ! ! libstdc++-v3 Installation Instructions ! --- 1,11 ---- ! ! ! ! libstdc++-v3 Installation Instructions ! *************** *** 18,38 ****

    To the libstdc++-v3 homepage. !


    Contents

    !
    --- 17,38 ----

    To the libstdc++-v3 homepage. +

    !

    Contents

    !
    *************** *** 88,183 **** features if the underlying support is present.

    !

    Finally, a few system-specific requirements: !

    !
    linux !
    If you are using gcc 3.1 or later on linux, and are using ! the gnu locale model (enabled by default for sufficient ! versions of glibc), the following locales are used and tested ! in the libstdc++ testsuites: en_HK, en_US, fr_FR, fr_FR@euro, ! de_DE, de_DE@euro, ja_JP.eucjp, and it_IT. Failure to have the ! underlying "C" library locale information installed will mean ! that C++ named locales for the above regions will not work: ! because of this, the libstdc++ testsuite will not pass the ! named locale tests. If this isn't an issue, don't worry about ! it. If named locales are needed, the underlying locale ! information must be installed. Note that rebuilding libstdc++ ! after locales are installed is not necessary. !

    To install ! support for locales, do only one of the following:

    !

    !

  • install all locales !

    export LC_ALL=C

    !

    rpm -e glibc-common --nodeps

    !

    rpm -i --define "_install_langs all" ! glibc-common-2.2.5-34.i386.rpm

    !
  • !
  • install just the necessary locales !

    localedef -i de_DE -f ISO-8859-1 de_DE

    !
  • !

    !
    ! !
    !

    !

    Setting up the source directories

    The following definitions will be used throughout the rest of this document:

    • gccsrcdir: The directory holding the source of the compiler. It should have several subdirectories like gccsrcdir/libiberty and gccsrcdir/gcc.
    • libsrcdir: The directory holding the source of the C++ library.
    • gccbuilddir: The build directory for the compiler in gccsrcdir. GCC requires that it be built in a different directory than its sources.
    • libbuilddir: The build directory for libstdc++.
    • destdir: The eventual installation directory for the compiler/libraries, set with the --prefix option to the configure script.
    ! Note:
    1. The 3.0 version and following are intended to replace the library that comes with the compiler, so libsrcdir and libbuilddir must be contained under gccsrcdir and gccbuilddir, respectively.
    2. The source, build, and installation directories should not be parents of one another; i.e., these should all be separate directories. Please don't build out of the source directory.
    -

    Check out or download the GCC sources: the resulting source directory (gcc or gcc-3.0.3, for example) is gccsrcdir. Once in gccsrcdir, you'll need to rename or delete the libstdc++-v3 directory which comes with that snapshot: !

         mv libstdc++-v3 libstdc++-v3-previous  [OR]
         rm -r libstdc++-v3
    -

    Next, unpack the libstdc++-v3 library tarball into this gccsrcdir directory; it will create a libsrcdir called libstdc++-version: -

    -    gzip -dc libstdc++-version.tar.gz | tar xf -

    Finally, rename libsrcdir to libstdc++-v3 so that gcc's configure flags will be able to deal with the new library. -

    -    mv libsrcdir libstdc++-v3

    !

    Configuring

    If you have never done this before, you should read the basic GCC Installation --- 88,198 ---- features if the underlying support is present.

    !

    Finally, a few system-specific requirements:

    !
    !
    linux
    !
    If gcc 3.1.0 or later on is being used on linux, an attempt ! will be made to use "C" library functionality necessary for C++ ! named locale support. !

    ! The configure option --enable-clocale can be used force a ! particular behavior. !

    !

    ! If the 'gnu' locale model is being used, the following locales ! are used and tested in the libstdc++ testsuites: en_HK, en_US, ! fr_FR, fr_FR@euro, de_DE, de_DE@euro, ja_JP.eucjp, es_MX, en_PH, ! and it_IT. Failure to have the underlying "C" library locale ! information installed will mean that C++ named locales for the ! above regions will not work: because of this, the libstdc++ ! testsuite will not pass the named locale tests. If this isn't an ! issue, don't worry about it. If named locales are needed, the ! underlying locale information must be installed. Note that ! rebuilding libstdc++ after the "C" locales are installed is not ! necessary. !

    ! !

    To install ! support for locales, do only one of the following:

    !
      !
    • install all locales !

      export LC_ALL=C

      !

      rpm -e glibc-common --nodeps

      !

      rpm -i --define "_install_langs all" ! glibc-common-2.2.5-34.i386.rpm

      !
    • !
    • install just the necessary locales !

      localedef -i de_DE -f ISO-8859-1 de_DE

      !
    • !
    !
    !
    ! !

    Setting up the source directories

    The following definitions will be used throughout the rest of this document: +

    • gccsrcdir: The directory holding the source of the compiler. It should have several subdirectories like gccsrcdir/libiberty and gccsrcdir/gcc. +
    • libsrcdir: The directory holding the source of the C++ library. +
    • gccbuilddir: The build directory for the compiler in gccsrcdir. GCC requires that it be built in a different directory than its sources. +
    • libbuilddir: The build directory for libstdc++. +
    • destdir: The eventual installation directory for the compiler/libraries, set with the --prefix option to the configure script. +
    !

    Note:

    1. The 3.0 version and following are intended to replace the library that comes with the compiler, so libsrcdir and libbuilddir must be contained under gccsrcdir and gccbuilddir, respectively. +
    2. The source, build, and installation directories should not be parents of one another; i.e., these should all be separate directories. Please don't build out of the source directory. +

    Check out or download the GCC sources: the resulting source directory (gcc or gcc-3.0.3, for example) is gccsrcdir. Once in gccsrcdir, you'll need to rename or delete the libstdc++-v3 directory which comes with that snapshot: !

    !
         mv libstdc++-v3 libstdc++-v3-previous  [OR]
         rm -r libstdc++-v3

    Next, unpack the libstdc++-v3 library tarball into this gccsrcdir directory; it will create a libsrcdir called libstdc++-version:

    +
    +    gzip -dc libstdc++-version.tar.gz | tar xf -

    Finally, rename libsrcdir to libstdc++-v3 so that gcc's configure flags will be able to deal with the new library.

    +
    +    mv libsrcdir libstdc++-v3
    !

    Configuring

    If you have never done this before, you should read the basic GCC Installation *************** *** 193,205 **** building the C++ language parts.

    !

         cd gccbuilddir
         gccsrcdir/configure --prefix=destdir --other-opts...
    -

    !

    Building and installing the library

    Now you have a few options:

    [re]building everything

    --- 208,219 ---- building the C++ language parts.

    !
         cd gccbuilddir
         gccsrcdir/configure --prefix=destdir --other-opts...
    !

    Building and installing the library

    Now you have a few options:

    [re]building everything

    *************** *** 214,222 ****

    [re]building only libstdc++

    !

    To rebuild just libstdc++, use: !

         make all-target-libstdc++-v3
    This will configure and build the C++ library in the gccbuilddir/cpu-vendor-os/libstdc++ directory.

    --- 228,237 ----

    [re]building only libstdc++

    !

    To rebuild just libstdc++, use:

    !
         make all-target-libstdc++-v3
    +

    This will configure and build the C++ library in the gccbuilddir/cpu-vendor-os/libstdc++ directory.

    *************** *** 229,277 **** information is causing problems, you can delete it entirely, or simply edit it and remove lines.

    !

    You're done. Now install the rebuilt pieces with !

         make install
    ! or !
         make install-gcc
         make install-target-libstdc++-v3
    -

    !

    Post-installation

    Installation will create the destdir directory and populate it with subdirectories: !

         lib/
    !    include/g++-v3/
            backward/
            bits/
            cpu-vendor-os/bits/
            ext/
    -

    If you used the version-specific-libs configure option, then most of the headers and library files will be moved under lib/gcc-lib/ instead.

    !

    You can check the status of the build without installing it using !

         make check
    ! or you can check the status of the installed library using !
         make check-install
    ! in the libbuilddir directory. These commands will create a 'testsuite' directory underneath libbuilddir containing the results of the tests. We are interested in any strange failures of the testsuite; please see FAQ 2.4 for which files to examine.

    !

    Using the library

    !
  • Find the new library at runtime (shared linking only)

    If you only built a static library (libstdc++.a), or if you specified static linking, you don't have to worry about this. But if you built a shared library (libstdc++.so) and linked --- 244,307 ---- information is causing problems, you can delete it entirely, or simply edit it and remove lines.

    !

    You're done. Now install the rebuilt pieces with

    !
         make install
    !

    or

    !
         make install-gcc
         make install-target-libstdc++-v3
    !

    Post-installation

    Installation will create the destdir directory and populate it with subdirectories: !

    !
         lib/
    !    include/c++/gcc-version
            backward/
            bits/
            cpu-vendor-os/bits/
            ext/

    If you used the version-specific-libs configure option, then most of the headers and library files will be moved under lib/gcc-lib/ instead.

    !

    You can check the status of the build without installing it using

    !
         make check
    !

    or you can check the status of the installed library using

    !
         make check-install
    !

    in the libbuilddir directory. These commands will create a 'testsuite' directory underneath libbuilddir containing the results of the tests. We are interested in any strange failures of the testsuite; please see FAQ 2.4 for which files to examine.

    +

    In addition, there are some testing options that are mostly of + interest to library maintainers and system integrators. As such, + these tests may not work on all cpu and host combinations. These + options include, but are not necessarily limited to, the following: + +

    The library ABI can be tested using

    +
    +    make check-abi
    !

    The library can also be tested using a bash script, instead of ! the default dejagnu test harness

    !
    !    make check-script
    ! or !
    !    make check-script-install
    ! !

    Using the library

    !

    Find the new library at runtime (shared linking only)

    If you only built a static library (libstdc++.a), or if you specified static linking, you don't have to worry about this. But if you built a shared library (libstdc++.so) and linked *************** *** 281,304 ****

    Methods vary for different platforms and different styles, but the usual ones are printed to the screen during installation. They include: !

    • At runtime set LD_LIBRARY_PATH in your environment correctly, so that the shared library for libstdc++ can be found and loaded. Be certain that you understand all of the other implications and behavior of LD_LIBRARY_PATH first (few people do, and they get into trouble).
    • Compile the path to find the library at runtime into the program. This can be done by passing certain options to g++, which will in turn pass them on to the linker. The exact format of the options is dependent on which linker you use:
        !
      • GNU ld (default on Linux): -Wl,--rpath,destdir/lib !
      • IRIX ld: -Wl,-rpath,destdir/lib !
      • Solaris ld: -Wl,-Rdestdir/lib !
      • More...? Let us know!
      !
    !

    Use the ldd(1) utility to show which library the system thinks it will get at runtime.

    --- 311,336 ----

    Methods vary for different platforms and different styles, but the usual ones are printed to the screen during installation. They include: !

    !
    • At runtime set LD_LIBRARY_PATH in your environment correctly, so that the shared library for libstdc++ can be found and loaded. Be certain that you understand all of the other implications and behavior of LD_LIBRARY_PATH first (few people do, and they get into trouble). +
    • Compile the path to find the library at runtime into the program. This can be done by passing certain options to g++, which will in turn pass them on to the linker. The exact format of the options is dependent on which linker you use:
        !
      • GNU ld (default on Linux): -Wl,--rpath,destdir/lib
      • !
      • IRIX ld: -Wl,-rpath,destdir/lib
      • !
      • Solaris ld: -Wl,-Rdestdir/lib
      • !
      • More...? Let us know!
      !
    • !

    Use the ldd(1) utility to show which library the system thinks it will get at runtime.

    *************** *** 306,317 **** you use Libtool to create your executables, these details are taken care of for you.

    - -

    !

    See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to --- 350,356 ---- !


    See license.html for copying conditions. Comments and suggestions are welcome, and may be sent to diff -Nrc3pad gcc-3.2/libstdc++-v3/docs/html/makedoc.awk gcc-3.2.1/libstdc++-v3/docs/html/makedoc.awk *** gcc-3.2/libstdc++-v3/docs/html/makedoc.awk Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/docs/html/makedoc.awk Wed Sep 25 17:52:16 2002 *************** *** 0 **** --- 1,69 ---- + # Take apart bits of HTML and puts them back together again in new and + # fascinating ways. Copyright (C) 2002 Free Software Foundation, Inc. + # Contributed by Phil Edwards . Simple two-state automaton + # inspired by Richard Henderson's gcc/mkmap-symver.awk. + + # 'file' is the name of the file on stdin + # 'title' is the text to print at the start of the list + + BEGIN { + state = "looking"; + entries = 0; + printf ("

  • %s\n", title); + printf ("
      \n"); + } + + # Searching for the little table of contents at the top. + state == "looking" && /^

      Contents/ { + state = "entries"; + next; + } + + # Ignore everything else up to that point. + state == "looking" { + next; + } + + # An entry in the table of contents. Pull that line apart. + state == "entries" && /
    • / { + extract_info($0); + next; + } + + # End of the list. Don't bother reading the rest of the file. (It could + # also contain more
    • 's, so that would be incorrect as well as wasteful.) + state == "entries" && /^<\/ul>/ { + exit; + } + + END { + for (i = 0; i < entries; i++) + printf (" %s\n", entry[i]); + printf ("
    \n
  • \n\n"); + } + + function extract_info(line) { + # thistarget will be things like "#5" or "elsewhere.html" + match(line,"href=\".*\""); + thistarget = substr(line,RSTART+6,RLENGTH-7); + + # take apart the filename + split(file,X,"/"); + if (thistarget ~ /^#/) { + # local name, use directory and filename + target = file thistarget + } else { + # different file, only use directory + target = X[1] "/" thistarget + } + + # visible text + gsub("","",line); + start = index(line,"\">") + 2; + thistext = substr(line,start); + + # Assemble and store the HTML for later output. + entry[entries++] = "
  • " thistext "
  • " + } + + # vim:sw=2 diff -Nrc3pad gcc-3.2/libstdc++-v3/include/Makefile.in gcc-3.2.1/libstdc++-v3/include/Makefile.in *** gcc-3.2/libstdc++-v3/include/Makefile.in Fri Jun 28 08:22:32 2002 --- gcc-3.2.1/libstdc++-v3/include/Makefile.in Fri Aug 23 02:43:03 2002 *************** USE_NLS = @USE_NLS@ *** 111,116 **** --- 111,117 ---- VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ WERROR = @WERROR@ + baseline_file = @baseline_file@ check_msgfmt = @check_msgfmt@ enable_shared = @enable_shared@ enable_static = @enable_static@ diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/basic_ios.tcc gcc-3.2.1/libstdc++-v3/include/bits/basic_ios.tcc *** gcc-3.2/libstdc++-v3/include/bits/basic_ios.tcc Fri Jul 26 23:23:44 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/basic_ios.tcc Tue Nov 5 00:51:34 2002 *************** namespace std *** 187,193 **** --- 187,196 ---- // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. extern template class basic_ios; + + #ifdef _GLIBCPP_USE_WCHAR_T extern template class basic_ios; + #endif } // namespace std #endif diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/basic_string.tcc gcc-3.2.1/libstdc++-v3/include/bits/basic_string.tcc *** gcc-3.2/libstdc++-v3/include/bits/basic_string.tcc Tue Jun 4 19:03:45 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/basic_string.tcc Tue Nov 5 00:51:34 2002 *************** namespace std *** 139,151 **** { size_type __dnew = static_cast(distance(__beg, __end)); // NB: Not required, but considered best practice. if (__builtin_expect(__beg == _InIter(), 0)) __throw_logic_error("attempt to create string with null pointer"); - if (__beg == __end && __a == _Alloc()) - return _S_empty_rep()._M_refcopy(); - // Check for out_of_range and length_error exceptions. _Rep* __r = _Rep::_S_create(__dnew, __a); try --- 139,151 ---- { size_type __dnew = static_cast(distance(__beg, __end)); + if (__beg == __end && __a == _Alloc()) + return _S_empty_rep()._M_refcopy(); + // NB: Not required, but considered best practice. if (__builtin_expect(__beg == _InIter(), 0)) __throw_logic_error("attempt to create string with null pointer"); // Check for out_of_range and length_error exceptions. _Rep* __r = _Rep::_S_create(__dnew, __a); try *************** namespace std *** 223,230 **** template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _CharT* __s, const _Alloc& __a) ! : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) : 0, ! __a), __a) { } template --- 223,230 ---- template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _CharT* __s, const _Alloc& __a) ! : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) : ! __s + npos, __a), __a) { } template *************** namespace std *** 497,503 **** this->erase(__n); // else nothing (in particular, avoid calling _M_mutate() unnecessarily.) } - // This is the general replace helper, which currently gets instantiated both // for input iterators and reverse iterators. It buffers internally and then --- 497,502 ---- *************** namespace std *** 885,893 **** compare(const _CharT* __s) const { size_type __size = this->size(); ! int __r = traits_type::compare(_M_data(), __s, __size); if (!__r) ! __r = __size - traits_type::length(__s); return __r; } --- 884,894 ---- compare(const _CharT* __s) const { size_type __size = this->size(); ! size_type __osize = traits_type::length(__s); ! size_type __len = min(__size, __osize); ! int __r = traits_type::compare(_M_data(), __s, __len); if (!__r) ! __r = __size - __osize; return __r; } *************** namespace std *** 958,963 **** --- 959,965 ---- basic_istream& getline(basic_istream&, string&); + #ifdef _GLIBCPP_USE_WCHAR_T extern template class basic_string; extern template basic_istream& *************** namespace std *** 971,976 **** --- 973,979 ---- extern template basic_istream& getline(basic_istream&, wstring&); + #endif } // namespace std #endif diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/c++config gcc-3.2.1/libstdc++-v3/include/bits/c++config *** gcc-3.2/libstdc++-v3/include/bits/c++config Wed Aug 14 07:16:24 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/c++config Tue Nov 19 08:16:43 2002 *************** *** 34,40 **** #include // The current version of the C++ library in compressed ISO date format. ! #define __GLIBCPP__ 20020814 // This is necessary until GCC supports separate template // compilation. --- 34,40 ---- #include // The current version of the C++ library in compressed ISO date format. ! #define __GLIBCPP__ 20021119 // This is necessary until GCC supports separate template // compilation. *************** *** 55,60 **** --- 55,63 ---- // Use corrected code from the committee library group's issues list. #define _GLIBCPP_RESOLVE_LIB_DEFECTS 1 + // Hopefully temporary workaround to autoconf/m4 issue with quoting '@'. + #define _GLIBCPP_AT_AT "@@" + // In those parts of the standard C++ library that use a mutex instead // of a spin-lock, we now unconditionally use GCC's gthr.h mutex // abstraction layer. All support to directly map to various diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/codecvt.h gcc-3.2.1/libstdc++-v3/include/bits/codecvt.h *** gcc-3.2/libstdc++-v3/include/bits/codecvt.h Fri Nov 2 17:38:10 2001 --- gcc-3.2.1/libstdc++-v3/include/bits/codecvt.h Tue Sep 17 00:51:50 2002 *************** *** 1,6 **** // Locale support (codecvt) -*- C++ -*- ! // Copyright (C) 2000, 2001 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,6 ---- // Locale support (codecvt) -*- C++ -*- ! // Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 66,75 **** { public: // Types: ! typedef codecvt_base::result result; ! typedef _InternT intern_type; ! typedef _ExternT extern_type; ! typedef _StateT state_type; // 22.2.1.5.1 codecvt members result --- 66,75 ---- { public: // Types: ! typedef codecvt_base::result result; ! typedef _InternT intern_type; ! typedef _ExternT extern_type; ! typedef _StateT state_type; // 22.2.1.5.1 codecvt members result *************** *** 159,175 **** { public: // Types: ! typedef codecvt_base::result result; ! typedef _InternT intern_type; ! typedef _ExternT extern_type; ! typedef _StateT state_type; ! // Data Members: ! static locale::id id; explicit codecvt(size_t __refs = 0) ! : __codecvt_abstract_base<_InternT,_ExternT,_StateT> (__refs) { } protected: virtual --- 159,175 ---- { public: // Types: ! typedef codecvt_base::result result; ! typedef _InternT intern_type; ! typedef _ExternT extern_type; ! typedef _StateT state_type; ! public: ! static locale::id id; explicit codecvt(size_t __refs = 0) ! : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs) { } protected: virtual *************** *** 215,225 **** { public: // Types: ! typedef char intern_type; ! typedef char extern_type; ! typedef mbstate_t state_type; ! // Data Members: static locale::id id; explicit --- 215,225 ---- { public: // Types: ! typedef char intern_type; ! typedef char extern_type; ! typedef mbstate_t state_type; ! public: static locale::id id; explicit *************** *** 267,278 **** { public: // Types: ! typedef wchar_t intern_type; ! typedef char extern_type; ! typedef mbstate_t state_type; ! // Data Members: ! static locale::id id; explicit codecvt(size_t __refs = 0); --- 267,278 ---- { public: // Types: ! typedef wchar_t intern_type; ! typedef char extern_type; ! typedef mbstate_t state_type; ! public: ! static locale::id id; explicit codecvt(size_t __refs = 0); *************** *** 322,327 **** --- 322,328 ---- explicit codecvt_byname(const char*, size_t __refs = 0) : codecvt<_InternT, _ExternT, _StateT>(__refs) { } + protected: virtual ~codecvt_byname() { } diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/fstream.tcc gcc-3.2.1/libstdc++-v3/include/bits/fstream.tcc *** gcc-3.2/libstdc++-v3/include/bits/fstream.tcc Thu Aug 1 21:29:17 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/fstream.tcc Tue Nov 5 00:51:34 2002 *************** namespace std *** 90,98 **** { _M_allocate_internal_buffer(); _M_mode = __mode; - - // For time being, set both (in/out) sets of pointers. _M_set_indeterminate(); if ((__mode & ios_base::ate) && this->seekoff(0, ios_base::end, __mode) < 0) this->close(); --- 90,97 ---- { _M_allocate_internal_buffer(); _M_mode = __mode; _M_set_indeterminate(); + if ((__mode & ios_base::ate) && this->seekoff(0, ios_base::end, __mode) < 0) this->close(); *************** namespace std *** 147,158 **** bool __testin = _M_mode & ios_base::in; if (__testin && this->is_open()) ! { ! if (_M_in_cur < _M_in_end) ! __ret = _M_in_end - _M_in_cur; ! else ! __ret = 0; ! } _M_last_overflowed = false; return __ret; } --- 146,152 ---- bool __testin = _M_mode & ios_base::in; if (__testin && this->is_open()) ! __ret = _M_in_end - _M_in_cur; _M_last_overflowed = false; return __ret; } *************** namespace std *** 316,322 **** { int_type __ret = traits_type::eof(); bool __testput = _M_out_cur && _M_out_beg < _M_out_end; ! bool __testunbuffered = _M_file.is_open() && !_M_buf_size; if (__testput || __testunbuffered) { --- 310,316 ---- { int_type __ret = traits_type::eof(); bool __testput = _M_out_cur && _M_out_beg < _M_out_end; ! bool __testunbuffered = _M_file.is_open() && !_M_buf_size_opt; if (__testput || __testunbuffered) { *************** namespace std *** 483,495 **** // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. extern template class basic_filebuf; - extern template class basic_filebuf; extern template class basic_ifstream; - extern template class basic_ifstream; extern template class basic_ofstream; - extern template class basic_ofstream; extern template class basic_fstream; extern template class basic_fstream; } // namespace std #endif --- 477,492 ---- // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. extern template class basic_filebuf; extern template class basic_ifstream; extern template class basic_ofstream; extern template class basic_fstream; + + #ifdef _GLIBCPP_USE_WCHAR_T + extern template class basic_filebuf; + extern template class basic_ifstream; + extern template class basic_ofstream; extern template class basic_fstream; + #endif } // namespace std #endif diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/ios_base.h gcc-3.2.1/libstdc++-v3/include/bits/ios_base.h *** gcc-3.2/libstdc++-v3/include/bits/ios_base.h Mon Apr 1 18:56:28 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/ios_base.h Tue Nov 5 23:48:45 2002 *************** namespace std *** 220,225 **** --- 220,228 ---- typedef int io_state; typedef int open_mode; typedef int seek_dir; + + typedef std::streampos streampos; + typedef std::streamoff streamoff; #endif // Callbacks; diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/istream.tcc gcc-3.2.1/libstdc++-v3/include/bits/istream.tcc *** gcc-3.2/libstdc++-v3/include/bits/istream.tcc Thu Aug 1 21:29:17 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/istream.tcc Wed Nov 6 00:08:37 2002 *************** namespace std *** 722,744 **** { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); ! int_type __c = __sb->sgetc(); __n = min(__n, numeric_limits::max()); while (_M_gcount < __n ! && !traits_type::eq_int_type(__c, __eof) ! && !traits_type::eq_int_type(__c, __delim)) { - __c = __sb->snextc(); ++_M_gcount; } if (traits_type::eq_int_type(__c, __eof)) this->setstate(ios_base::eofbit); - else if (traits_type::eq_int_type(__c, __delim)) - { - __sb->sbumpc(); - ++_M_gcount; - } } catch(exception& __fail) { --- 722,739 ---- { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); ! int_type __c; __n = min(__n, numeric_limits::max()); while (_M_gcount < __n ! && !traits_type::eq_int_type(__c = __sb->sbumpc(), __eof)) { ++_M_gcount; + if (traits_type::eq_int_type(__c, __delim)) + break; } if (traits_type::eq_int_type(__c, __eof)) this->setstate(ios_base::eofbit); } catch(exception& __fail) { *************** namespace std *** 816,823 **** { try { streamsize __num = this->rdbuf()->in_avail(); ! if (__num > 0) { __num = min(__num, __n); if (__num) --- 811,819 ---- { try { + // Cannot compare int_type with streamsize generically. streamsize __num = this->rdbuf()->in_avail(); ! if (__num >= 0) { __num = min(__num, __n); if (__num) *************** namespace std *** 940,962 **** tellg(void) { pos_type __ret = pos_type(-1); ! _M_gcount = 0; ! sentry __cerb(*this, true); ! if (__cerb) ! { ! try ! { ! __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in); ! } ! catch(exception& __fail) ! { ! // 27.6.1.3 paragraph 1 ! // Turn this on without causing an ios::failure to be thrown. ! this->setstate(ios_base::badbit); ! if ((this->exceptions() & ios_base::badbit) != 0) ! __throw_exception_again; ! } ! } return __ret; } --- 936,943 ---- tellg(void) { pos_type __ret = pos_type(-1); ! if (!this->fail()) ! __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in); return __ret; } *************** namespace std *** 967,994 **** seekg(pos_type __pos) { _M_gcount = 0; ! sentry __cerb(*this, true); ! if (__cerb) { - try - { #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS // 136. seekp, seekg setting wrong streams? ! pos_type __err = this->rdbuf()->pubseekpos(__pos, ios_base::in); // 129. Need error indication from seekp() and seekg() ! if (__err == pos_type(off_type(-1))) ! this->setstate(ios_base::failbit); #endif - } - catch(exception& __fail) - { - // 27.6.1.3 paragraph 1 - // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); - if ((this->exceptions() & ios_base::badbit) != 0) - __throw_exception_again; - } } return *this; } --- 948,963 ---- seekg(pos_type __pos) { _M_gcount = 0; ! if (!this->fail()) { #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS // 136. seekp, seekg setting wrong streams? ! pos_type __err = this->rdbuf()->pubseekpos(__pos, ios_base::in); // 129. Need error indication from seekp() and seekg() ! if (__err == pos_type(off_type(-1))) ! this->setstate(ios_base::failbit); #endif } return *this; } *************** namespace std *** 999,1027 **** seekg(off_type __off, ios_base::seekdir __dir) { _M_gcount = 0; ! sentry __cerb(*this, true); ! if (__cerb) { - try - { #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS // 136. seekp, seekg setting wrong streams? ! pos_type __err = this->rdbuf()->pubseekoff(__off, __dir, ! ios_base::in); // 129. Need error indication from seekp() and seekg() ! if (__err == pos_type(off_type(-1))) ! this->setstate(ios_base::failbit); #endif - } - catch(exception& __fail) - { - // 27.6.1.3 paragraph 1 - // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); - if ((this->exceptions() & ios_base::badbit) != 0) - __throw_exception_again; - } } return *this; } --- 968,984 ---- seekg(off_type __off, ios_base::seekdir __dir) { _M_gcount = 0; ! if (!this->fail()) { #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS // 136. seekp, seekg setting wrong streams? ! pos_type __err = this->rdbuf()->pubseekoff(__off, __dir, ! ios_base::in); // 129. Need error indication from seekp() and seekg() ! if (__err == pos_type(off_type(-1))) ! this->setstate(ios_base::failbit); #endif } return *this; } *************** namespace std *** 1078,1090 **** int_type __c = __sb->sgetc(); while (__extracted < __num - 1 ! && __c != __eof && !__ctype.is(ctype_base::space, __c)) { *__s++ = __c; ++__extracted; __c = __sb->snextc(); } ! if (__c == __eof) __in.setstate(ios_base::eofbit); #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS --- 1035,1048 ---- int_type __c = __sb->sgetc(); while (__extracted < __num - 1 ! && !_Traits::eq_int_type(__c, __eof) ! && !__ctype.is(ctype_base::space, __c)) { *__s++ = __c; ++__extracted; __c = __sb->snextc(); } ! if (_Traits::eq_int_type(__c, __eof)) __in.setstate(ios_base::eofbit); #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS *************** namespace std *** 1122,1130 **** __streambuf_type* __sb = __in.rdbuf(); __int_type __c = __sb->sgetc(); ! while (__c != __eof && __ctype.is(ctype_base::space, __c)) __c = __sb->snextc(); ! if (__c == __eof) __in.setstate(ios_base::eofbit); return __in; --- 1080,1090 ---- __streambuf_type* __sb = __in.rdbuf(); __int_type __c = __sb->sgetc(); ! while (!_Traits::eq_int_type(__c, __eof) ! && __ctype.is(ctype_base::space, __c)) __c = __sb->snextc(); ! ! if (_Traits::eq_int_type(__c, __eof)) __in.setstate(ios_base::eofbit); return __in; *************** namespace std *** 1158,1170 **** __int_type __c = __sb->sgetc(); while (__extracted < __n ! && __c != __eof && !__ctype.is(ctype_base::space, __c)) { __str += _Traits::to_char_type(__c); ++__extracted; __c = __sb->snextc(); } ! if (__c == __eof) __in.setstate(ios_base::eofbit); __in.width(0); } --- 1118,1131 ---- __int_type __c = __sb->sgetc(); while (__extracted < __n ! && !_Traits::eq_int_type(__c, __eof) ! && !__ctype.is(ctype_base::space, __c)) { __str += _Traits::to_char_type(__c); ++__extracted; __c = __sb->snextc(); } ! if (_Traits::eq_int_type(__c, __eof)) __in.setstate(ios_base::eofbit); __in.width(0); } diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/locale_facets.h gcc-3.2.1/libstdc++-v3/include/bits/locale_facets.h *** gcc-3.2/libstdc++-v3/include/bits/locale_facets.h Thu Aug 1 21:29:17 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/locale_facets.h Thu Oct 17 02:04:16 2002 *************** namespace std *** 525,531 **** // For use at construction time only. void ! _M_initialize_numpunct(__c_locale __cloc = _S_c_locale); }; template --- 525,531 ---- // For use at construction time only. void ! _M_initialize_numpunct(__c_locale __cloc = NULL); }; template *************** namespace std *** 847,853 **** : locale::facet(__refs) { _M_c_locale_collate = _S_c_locale; } - // Non-standard. explicit collate(__c_locale __cloc, size_t __refs = 0) : locale::facet(__refs) --- 847,852 ---- *************** namespace std *** 876,885 **** protected: virtual ~collate() ! { ! if (_M_c_locale_collate != _S_c_locale) ! _S_destroy_c_locale(_M_c_locale_collate); ! } virtual int do_compare(const _CharT* __lo1, const _CharT* __hi1, --- 875,881 ---- protected: virtual ~collate() ! { _S_destroy_c_locale(_M_c_locale_collate); } virtual int do_compare(const _CharT* __lo1, const _CharT* __hi1, *************** namespace std *** 925,932 **** collate_byname(const char* __s, size_t __refs = 0) : collate<_CharT>(__refs) { ! if (_M_c_locale_collate != _S_c_locale) ! _S_destroy_c_locale(_M_c_locale_collate); _S_create_c_locale(_M_c_locale_collate, __s); } --- 921,927 ---- collate_byname(const char* __s, size_t __refs = 0) : collate<_CharT>(__refs) { ! _S_destroy_c_locale(_M_c_locale_collate); _S_create_c_locale(_M_c_locale_collate, __s); } *************** namespace std *** 957,963 **** protected: __c_locale _M_c_locale_timepunct; ! const char* _M_name_timepunct; const _CharT* _M_date_format; const _CharT* _M_date_era_format; const _CharT* _M_time_format; --- 952,958 ---- protected: __c_locale _M_c_locale_timepunct; ! char* _M_name_timepunct; const _CharT* _M_date_format; const _CharT* _M_date_era_format; const _CharT* _M_time_format; *************** namespace std *** 1017,1029 **** public: explicit __timepunct(size_t __refs = 0) ! : locale::facet(__refs), _M_name_timepunct("C") ! { _M_initialize_timepunct(); } explicit __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0) ! : locale::facet(__refs), _M_name_timepunct(__s) ! { _M_initialize_timepunct(__cloc); } void _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format, --- 1012,1032 ---- public: explicit __timepunct(size_t __refs = 0) ! : locale::facet(__refs) ! { ! _M_name_timepunct = new char[2]; ! strcpy(_M_name_timepunct, "C"); ! _M_initialize_timepunct(); ! } explicit __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0) ! : locale::facet(__refs) ! { ! _M_name_timepunct = new char[strlen(__s) + 1]; ! strcpy(_M_name_timepunct, __s); ! _M_initialize_timepunct(__cloc); ! } void _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format, *************** namespace std *** 1120,1139 **** protected: virtual ! ~__timepunct(); // For use at construction time only. void ! _M_initialize_timepunct(__c_locale __cloc = _S_c_locale); }; template locale::id __timepunct<_CharT>::id; // Specializations. - template<> - __timepunct::~__timepunct(); - template<> const char* __timepunct::_S_timezones[14]; --- 1123,1143 ---- protected: virtual ! ~__timepunct() ! { ! delete [] _M_name_timepunct; ! _S_destroy_c_locale(_M_c_locale_timepunct); ! } // For use at construction time only. void ! _M_initialize_timepunct(__c_locale __cloc = NULL); }; template locale::id __timepunct<_CharT>::id; // Specializations. template<> const char* __timepunct::_S_timezones[14]; *************** namespace std *** 1147,1155 **** __timepunct::_M_put(char*, size_t, const char*, const tm*) const; #ifdef _GLIBCPP_USE_WCHAR_T - template<> - __timepunct::~__timepunct(); - template<> const wchar_t* __timepunct::_S_timezones[14]; --- 1151,1156 ---- *************** namespace std *** 1460,1466 **** // For use at construction time only. void ! _M_initialize_moneypunct(__c_locale __cloc = _S_c_locale, const char* __name = NULL); }; --- 1461,1467 ---- // For use at construction time only. void ! _M_initialize_moneypunct(__c_locale __cloc = NULL, const char* __name = NULL); }; *************** namespace std *** 1629,1635 **** __c_locale _M_c_locale_messages; #if 1 // Only needed if glibc < 2.3 ! const char* _M_name_messages; #endif public: --- 1630,1636 ---- __c_locale _M_c_locale_messages; #if 1 // Only needed if glibc < 2.3 ! char* _M_name_messages; #endif public: *************** namespace std *** 1637,1651 **** explicit messages(size_t __refs = 0) ! : locale::facet(__refs), _M_name_messages("C") ! { _M_c_locale_messages = _S_c_locale; } // Non-standard. explicit ! messages(__c_locale __cloc, const char* __name, size_t __refs = 0) : locale::facet(__refs) { ! _M_name_messages = __name; _M_c_locale_messages = _S_clone_c_locale(__cloc); } --- 1638,1657 ---- explicit messages(size_t __refs = 0) ! : locale::facet(__refs) ! { ! _M_name_messages = new char[2]; ! strcpy(_M_name_messages, "C"); ! _M_c_locale_messages = _S_c_locale; ! } // Non-standard. explicit ! messages(__c_locale __cloc, const char* __s, size_t __refs = 0) : locale::facet(__refs) { ! _M_name_messages = new char[strlen(__s) + 1]; ! strcpy(_M_name_messages, __s); _M_c_locale_messages = _S_clone_c_locale(__cloc); } *************** namespace std *** 1669,1676 **** virtual ~messages() { ! if (_M_c_locale_messages != _S_c_locale) ! _S_destroy_c_locale(_M_c_locale_messages); } virtual catalog --- 1675,1682 ---- virtual ~messages() { ! delete [] _M_name_messages; ! _S_destroy_c_locale(_M_c_locale_messages); } virtual catalog *************** namespace std *** 1739,1744 **** --- 1745,1756 ---- string messages::do_get(catalog, int, int, const string&) const; + #ifdef _GLIBCPP_USE_WCHAR_T + template<> + wstring + messages::do_get(catalog, int, int, const wstring&) const; + #endif + // Include host and configuration specific messages virtual functions. #include *************** namespace std *** 1753,1761 **** messages_byname(const char* __s, size_t __refs = 0) : messages<_CharT>(__refs) { ! _M_name_messages = __s; ! if (_M_c_locale_messages != _S_c_locale) ! _S_destroy_c_locale(_M_c_locale_messages); _S_create_c_locale(_M_c_locale_messages, __s); } --- 1765,1774 ---- messages_byname(const char* __s, size_t __refs = 0) : messages<_CharT>(__refs) { ! delete [] _M_name_messages; ! _M_name_messages = new char[strlen(__s) + 1]; ! strcpy(_M_name_messages, __s); ! _S_destroy_c_locale(_M_c_locale_messages); _S_create_c_locale(_M_c_locale_messages, __s); } diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/locale_facets.tcc gcc-3.2.1/libstdc++-v3/include/bits/locale_facets.tcc *** gcc-3.2/libstdc++-v3/include/bits/locale_facets.tcc Thu Aug 1 21:29:17 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/locale_facets.tcc Tue Nov 5 00:51:34 2002 *************** namespace std *** 798,805 **** // By itself __add_grouping cannot deal correctly with __ws when // ios::showbase is set and ios_base::oct || ios_base::hex. // Therefore we take care "by hand" of the initial 0, 0x or 0X. streamsize __off = 0; ! if (__io.flags() & ios_base::showbase) if (__basefield == ios_base::oct) { __off = 1; --- 798,807 ---- // By itself __add_grouping cannot deal correctly with __ws when // ios::showbase is set and ios_base::oct || ios_base::hex. // Therefore we take care "by hand" of the initial 0, 0x or 0X. + // However, remember that the latter do not occur if the number + // printed is '0' (__len == 1). streamsize __off = 0; ! if ((__io.flags() & ios_base::showbase) && __len > 1) if (__basefield == ios_base::oct) { __off = 1; *************** namespace std *** 1969,2009 **** // Convert numeric value of type _Tv to string and return length of string. // If snprintf is available use it, otherwise fall back to the unsafe sprintf // which, in general, can be dangerous and should be avoided. - #ifdef _GLIBCPP_USE_C99 template int __convert_from_v(char* __out, const int __size, const char* __fmt, ! _Tv __v, const __c_locale&, int __prec = -1) ! { ! int __ret; ! char* __old = strdup(setlocale(LC_ALL, NULL)); ! setlocale(LC_ALL, "C"); ! if (__prec >= 0) ! __ret = snprintf(__out, __size, __fmt, __prec, __v); ! else ! __ret = snprintf(__out, __size, __fmt, __v); ! setlocale(LC_ALL, __old); ! free(__old); ! return __ret; ! } ! #else ! template ! int ! __convert_from_v(char* __out, const int, const char* __fmt, _Tv __v, ! const __c_locale&, int __prec = -1) ! { ! int __ret; ! char* __old = strdup(setlocale(LC_ALL, NULL)); ! setlocale(LC_ALL, "C"); ! if (__prec >= 0) ! __ret = sprintf(__out, __fmt, __prec, __v); ! else ! __ret = sprintf(__out, __fmt, __v); ! setlocale(LC_ALL, __old); ! free(__old); ! return __ret; ! } ! #endif // Construct correctly padded string, as per 22.2.2.2.2 // Assumes --- 1971,1980 ---- // Convert numeric value of type _Tv to string and return length of string. // If snprintf is available use it, otherwise fall back to the unsafe sprintf // which, in general, can be dangerous and should be avoided. template int __convert_from_v(char* __out, const int __size, const char* __fmt, ! _Tv __v, const __c_locale&, int __prec = -1); // Construct correctly padded string, as per 22.2.2.2.2 // Assumes *************** namespace std *** 2169,2210 **** extern template class moneypunct_byname; extern template class money_get; extern template class money_put; - extern template class moneypunct; - extern template class moneypunct; - extern template class moneypunct_byname; - extern template class moneypunct_byname; - extern template class money_get; - extern template class money_put; extern template class numpunct; extern template class numpunct_byname; extern template class num_get; extern template class num_put; - extern template class numpunct; - extern template class numpunct_byname; - extern template class num_get; - extern template class num_put; extern template class __timepunct; extern template class time_put; extern template class time_put_byname; extern template class time_get; extern template class time_get_byname; - extern template class __timepunct; - extern template class time_put; - extern template class time_put_byname; - extern template class time_get; - extern template class time_get_byname; extern template class messages; extern template class messages_byname; - extern template class messages; - extern template class messages_byname; extern template class ctype_byname; - extern template class ctype_byname; extern template class codecvt_byname; - extern template class codecvt_byname; extern template class collate; extern template class collate_byname; - extern template class collate; - extern template class collate_byname; extern template const codecvt& --- 2140,2160 ---- *************** namespace std *** 2258,2316 **** const messages& use_facet >(const locale&); - extern template - const codecvt& - use_facet >(locale const&); - - extern template - const collate& - use_facet >(const locale&); - - extern template - const numpunct& - use_facet >(const locale&); - - extern template - const num_put& - use_facet >(const locale&); - - extern template - const num_get& - use_facet >(const locale&); - - extern template - const moneypunct& - use_facet >(const locale&); - - extern template - const moneypunct& - use_facet >(const locale&); - - extern template - const money_put& - use_facet >(const locale&); - - extern template - const money_get& - use_facet >(const locale&); - - extern template - const __timepunct& - use_facet<__timepunct >(const locale&); - - extern template - const time_put& - use_facet >(const locale&); - - extern template - const time_get& - use_facet >(const locale&); - - extern template - const messages& - use_facet >(const locale&); - - extern template bool has_facet >(const locale&); --- 2208,2213 ---- *************** namespace std *** 2363,2368 **** --- 2260,2340 ---- bool has_facet >(const locale&); + #ifdef _GLIBCPP_USE_WCHAR_T + extern template class moneypunct; + extern template class moneypunct; + extern template class moneypunct_byname; + extern template class moneypunct_byname; + extern template class money_get; + extern template class money_put; + extern template class numpunct; + extern template class numpunct_byname; + extern template class num_get; + extern template class num_put; + extern template class __timepunct; + extern template class time_put; + extern template class time_put_byname; + extern template class time_get; + extern template class time_get_byname; + extern template class messages; + extern template class messages_byname; + extern template class ctype_byname; + extern template class codecvt_byname; + extern template class collate; + extern template class collate_byname; + + extern template + const codecvt& + use_facet >(locale const&); + + extern template + const collate& + use_facet >(const locale&); + + extern template + const numpunct& + use_facet >(const locale&); + + extern template + const num_put& + use_facet >(const locale&); + + extern template + const num_get& + use_facet >(const locale&); + + extern template + const moneypunct& + use_facet >(const locale&); + + extern template + const moneypunct& + use_facet >(const locale&); + + extern template + const money_put& + use_facet >(const locale&); + + extern template + const money_get& + use_facet >(const locale&); + + extern template + const __timepunct& + use_facet<__timepunct >(const locale&); + + extern template + const time_put& + use_facet >(const locale&); + + extern template + const time_get& + use_facet >(const locale&); + + extern template + const messages& + use_facet >(const locale&); + extern template bool has_facet >(const locale&); *************** namespace std *** 2414,2419 **** --- 2386,2392 ---- extern template bool has_facet >(const locale&); + #endif } // namespace std #endif diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/localefwd.h gcc-3.2.1/libstdc++-v3/include/bits/localefwd.h *** gcc-3.2/libstdc++-v3/include/bits/localefwd.h Fri Apr 19 08:28:15 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/localefwd.h Thu Oct 17 02:04:16 2002 *************** namespace std *** 207,214 **** static const category time = 1L << 3; static const category monetary = 1L << 4; static const category messages = 1L << 5; ! static const category all = (collate | ctype | monetary | ! numeric | time | messages); // Construct/copy/destroy: locale() throw(); --- 207,214 ---- static const category time = 1L << 3; static const category monetary = 1L << 4; static const category messages = 1L << 5; ! static const category all = (ctype | numeric | collate | ! time | monetary | messages); // Construct/copy/destroy: locale() throw(); *************** namespace std *** 267,273 **** // Current global reference locale static _Impl* _S_global; ! static const size_t _S_num_categories = 6; explicit locale(_Impl*) throw(); --- 267,292 ---- // Current global reference locale static _Impl* _S_global; ! // Number of standard categories. For C++, these categories are ! // collate, ctype, monetary, numeric, time, and messages. These ! // directly correspond to ISO C99 macros LC_COLLATE, LC_CTYPE, ! // LC_MONETARY, LC_NUMERIC, and LC_TIME. In addition, POSIX (IEEE ! // 1003.1-2001) specifies LC_MESSAGES. ! static const size_t _S_categories_size = 6; ! ! // In addition to the standard categories, the underlying ! // operating system is allowed to define extra LC_* ! // macros. For GNU systems, the following are also valid: ! // LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT, ! // and LC_IDENTIFICATION. ! static const size_t _S_extra_categories_size = _GLIBCPP_NUM_CATEGORIES; ! ! // Names of underlying locale categories. ! // NB: locale::global() has to know how to modify all the ! // underlying categories, not just the ones required by the C++ ! // standard. ! static const char* _S_categories[_S_categories_size ! + _S_extra_categories_size]; explicit locale(_Impl*) throw(); *************** namespace std *** 308,314 **** _Atomic_word _M_references; facet** _M_facets; size_t _M_facets_size; ! const char* _M_names[_S_num_categories]; static const locale::id* const _S_id_ctype[]; static const locale::id* const _S_id_numeric[]; static const locale::id* const _S_id_collate[]; --- 327,335 ---- _Atomic_word _M_references; facet** _M_facets; size_t _M_facets_size; ! ! char* _M_names[_S_categories_size ! + _S_extra_categories_size]; static const locale::id* const _S_id_ctype[]; static const locale::id* const _S_id_numeric[]; static const locale::id* const _S_id_collate[]; *************** namespace std *** 348,355 **** _M_check_same_name() { bool __ret = true; ! for (size_t i = 0; __ret && i < _S_num_categories - 1; ++i) ! __ret &= (strcmp(_M_names[i], _M_names[i + 1]) == 0); return __ret; } --- 369,378 ---- _M_check_same_name() { bool __ret = true; ! for (size_t __i = 0; ! __ret && __i < _S_categories_size + _S_extra_categories_size - 1; ! ++__i) ! __ret &= (strcmp(_M_names[__i], _M_names[__i + 1]) == 0); return __ret; } *************** namespace std *** 376,383 **** { _M_impl = new _Impl(*__other._M_impl, 1); _M_impl->_M_install_facet(&_Facet::id, __f); ! for (size_t __i = 0; __i < _S_num_categories; ++__i) ! _M_impl->_M_names[__i] = "*"; } // 22.1.1.1.2 Class locale::facet --- 399,412 ---- { _M_impl = new _Impl(*__other._M_impl, 1); _M_impl->_M_install_facet(&_Facet::id, __f); ! for (size_t __i = 0; ! __i < _S_categories_size + _S_extra_categories_size; ++__i) ! { ! delete [] _M_impl->_M_names[__i]; ! char* __new = new char[2]; ! strcpy(__new, "*"); ! _M_impl->_M_names[__i] = __new; ! } } // 22.1.1.1.2 Class locale::facet diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/sstream.tcc gcc-3.2.1/libstdc++-v3/include/bits/sstream.tcc *** gcc-3.2/libstdc++-v3/include/bits/sstream.tcc Thu Aug 1 21:29:18 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/sstream.tcc Tue Nov 5 00:51:35 2002 *************** namespace std *** 226,238 **** // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. extern template class basic_stringbuf; - extern template class basic_stringbuf; extern template class basic_istringstream; - extern template class basic_istringstream; extern template class basic_ostringstream; - extern template class basic_ostringstream; extern template class basic_stringstream; extern template class basic_stringstream; } // namespace std #endif --- 226,241 ---- // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. extern template class basic_stringbuf; extern template class basic_istringstream; extern template class basic_ostringstream; extern template class basic_stringstream; + + #ifdef _GLIBCPP_USE_WCHAR_T + extern template class basic_stringbuf; + extern template class basic_istringstream; + extern template class basic_ostringstream; extern template class basic_stringstream; + #endif } // namespace std #endif diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/stl_deque.h gcc-3.2.1/libstdc++-v3/include/bits/stl_deque.h *** gcc-3.2/libstdc++-v3/include/bits/stl_deque.h Fri Jul 26 23:23:44 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/stl_deque.h Wed Oct 2 00:58:52 2002 *************** public: // Basic *** 665,671 **** void _M_range_check(size_type __n) const { if (__n >= this->size()) ! __throw_range_error("deque"); } reference at(size_type __n) --- 665,671 ---- void _M_range_check(size_type __n) const { if (__n >= this->size()) ! __throw_out_of_range("deque"); } reference at(size_type __n) diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/streambuf.tcc gcc-3.2.1/libstdc++-v3/include/bits/streambuf.tcc *** gcc-3.2/libstdc++-v3/include/bits/streambuf.tcc Fri Jul 26 23:23:44 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/streambuf.tcc Tue Nov 5 00:51:35 2002 *************** namespace std *** 208,226 **** try { while (__testput && __bufsize != -1) ! { ! __xtrct = __sbout->sputn(__sbin->gptr(), __bufsize); ! __ret += __xtrct; ! __sbin->_M_in_cur_move(__xtrct); ! if (__xtrct == __bufsize) { ! if (_Traits::eq_int_type(__sbin->sgetc(), _Traits::eof())) break; - __bufsize = __sbin->in_avail(); } ! else ! break; ! } } catch(exception& __fail) { --- 208,235 ---- try { while (__testput && __bufsize != -1) ! { ! if (__bufsize != 0 && __sbin->gptr() != NULL) { ! __xtrct = __sbout->sputn(__sbin->gptr(), __bufsize); ! __ret += __xtrct; ! __sbin->_M_in_cur_move(__xtrct); ! if (__xtrct != __bufsize) break; } ! else ! { ! _CharT __buf[256]; ! streamsize __charsread = __sbin->sgetn(__buf, sizeof(__buf)); ! __xtrct = __sbout->sputn(__buf, __charsread); ! __ret += __xtrct; ! if (__xtrct != __charsread) ! break; ! } ! if (_Traits::eq_int_type(__sbin->sgetc(), _Traits::eof())) ! break; ! __bufsize = __sbin->in_avail(); ! } } catch(exception& __fail) { *************** namespace std *** 240,250 **** --- 249,261 ---- __copy_streambufs(basic_ios&, basic_streambuf*, basic_streambuf*); + #ifdef _GLIBCPP_USE_WCHAR_T extern template class basic_streambuf; extern template streamsize __copy_streambufs(basic_ios&, basic_streambuf*, basic_streambuf*); + #endif } // namespace std #endif diff -Nrc3pad gcc-3.2/libstdc++-v3/include/bits/stringfwd.h gcc-3.2.1/libstdc++-v3/include/bits/stringfwd.h *** gcc-3.2/libstdc++-v3/include/bits/stringfwd.h Sat Feb 16 02:41:09 2002 --- gcc-3.2.1/libstdc++-v3/include/bits/stringfwd.h Tue Nov 5 00:51:35 2002 *************** *** 45,67 **** namespace std { - template - struct char_traits; - - template<> struct char_traits; - #ifdef _GLIBCPP_USE_WCHAR_T - template<> struct char_traits; - #endif - template class allocator; template, typename _Alloc = allocator<_CharT> > class basic_string; typedef basic_string string; typedef basic_string wstring; } // namespace std #endif // _CPP_BITS_STRINGFWD_H --- 45,69 ---- namespace std { template class allocator; + template + struct char_traits; + template, typename _Alloc = allocator<_CharT> > class basic_string; + + template<> struct char_traits; typedef basic_string string; + + #ifdef _GLIBCPP_USE_WCHAR_T + template<> struct char_traits; + typedef basic_string wstring; + #endif } // namespace std #endif // _CPP_BITS_STRINGFWD_H diff -Nrc3pad gcc-3.2/libstdc++-v3/include/ext/stdio_filebuf.h gcc-3.2.1/libstdc++-v3/include/ext/stdio_filebuf.h *** gcc-3.2/libstdc++-v3/include/ext/stdio_filebuf.h Tue May 21 21:26:28 2002 --- gcc-3.2.1/libstdc++-v3/include/ext/stdio_filebuf.h Thu Aug 15 22:51:01 2002 *************** namespace __gnu_cxx *** 123,138 **** if (this->is_open()) { _M_mode = __mode; - _M_buf_size_opt = __size; - if (__size > 0 && __size < 4) { _M_buf = _M_unbuf; _M_buf_size = __size; } else ! _M_allocate_internal_buffer(); ! _M_set_indeterminate(); } } --- 123,140 ---- if (this->is_open()) { _M_mode = __mode; if (__size > 0 && __size < 4) { + // Specify unbuffered. _M_buf = _M_unbuf; _M_buf_size = __size; + _M_buf_size_opt = 0; } else ! { ! _M_buf_size_opt = __size; ! _M_allocate_internal_buffer(); ! } _M_set_indeterminate(); } } *************** namespace __gnu_cxx *** 146,161 **** if (this->is_open()) { _M_mode = __mode; - _M_buf_size_opt = __size; - if (__size > 0 && __size < 4) { _M_buf = _M_unbuf; _M_buf_size = __size; } else ! _M_allocate_internal_buffer(); ! _M_set_indeterminate(); } } --- 148,165 ---- if (this->is_open()) { _M_mode = __mode; if (__size > 0 && __size < 4) { + // Specify unbuffered. _M_buf = _M_unbuf; _M_buf_size = __size; + _M_buf_size_opt = 0; } else ! { ! _M_buf_size_opt = __size; ! _M_allocate_internal_buffer(); ! } _M_set_indeterminate(); } } diff -Nrc3pad gcc-3.2/libstdc++-v3/include/ext/stl_rope.h gcc-3.2.1/libstdc++-v3/include/ext/stl_rope.h *** gcc-3.2/libstdc++-v3/include/ext/stl_rope.h Tue Jul 2 06:22:39 2002 --- gcc-3.2.1/libstdc++-v3/include/ext/stl_rope.h Tue Sep 17 02:21:37 2002 *************** class rope : public _Rope_base<_CharT,_A *** 1375,1381 **** static _RopeLeaf* _S_new_RopeLeaf(__GC_CONST _CharT *__s, size_t __size, allocator_type __a) { ! _RopeLeaf* __space = _LAllocator(__a).allocate(1); return new(__space) _RopeLeaf(__s, __size, __a); } --- 1375,1381 ---- static _RopeLeaf* _S_new_RopeLeaf(__GC_CONST _CharT *__s, size_t __size, allocator_type __a) { ! _RopeLeaf* __space = typename _Base::_LAllocator(__a).allocate(1); return new(__space) _RopeLeaf(__s, __size, __a); } *************** class rope : public _Rope_base<_CharT,_A *** 1383,1396 **** _RopeRep* __left, _RopeRep* __right, allocator_type __a) { ! _RopeConcatenation* __space = _CAllocator(__a).allocate(1); return new(__space) _RopeConcatenation(__left, __right, __a); } static _RopeFunction* _S_new_RopeFunction(char_producer<_CharT>* __f, size_t __size, bool __d, allocator_type __a) { ! _RopeFunction* __space = _FAllocator(__a).allocate(1); return new(__space) _RopeFunction(__f, __size, __d, __a); } --- 1383,1396 ---- _RopeRep* __left, _RopeRep* __right, allocator_type __a) { ! _RopeConcatenation* __space = typename _Base::_CAllocator(__a).allocate(1); return new(__space) _RopeConcatenation(__left, __right, __a); } static _RopeFunction* _S_new_RopeFunction(char_producer<_CharT>* __f, size_t __size, bool __d, allocator_type __a) { ! _RopeFunction* __space = typename _Base::_FAllocator(__a).allocate(1); return new(__space) _RopeFunction(__f, __size, __d, __a); } *************** class rope : public _Rope_base<_CharT,_A *** 1398,1404 **** _Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s, size_t __l, allocator_type __a) { ! _RopeSubstring* __space = _SAllocator(__a).allocate(1); return new(__space) _RopeSubstring(__b, __s, __l, __a); } --- 1398,1404 ---- _Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s, size_t __l, allocator_type __a) { ! _RopeSubstring* __space = typename _Base::_SAllocator(__a).allocate(1); return new(__space) _RopeSubstring(__b, __s, __l, __a); } diff -Nrc3pad gcc-3.2/libstdc++-v3/include/std/std_iomanip.h gcc-3.2.1/libstdc++-v3/include/std/std_iomanip.h *** gcc-3.2/libstdc++-v3/include/std/std_iomanip.h Wed Feb 20 00:58:13 2002 --- gcc-3.2.1/libstdc++-v3/include/std/std_iomanip.h Tue Nov 5 00:51:35 2002 *************** namespace std *** 225,249 **** extern template ostream& operator<<(ostream&, _Setbase); extern template ostream& operator<<(ostream&, _Setprecision); extern template ostream& operator<<(ostream&, _Setw); - extern template wostream& operator<<(wostream&, _Setfill); - extern template wostream& operator<<(wostream&, _Setiosflags); - extern template wostream& operator<<(wostream&, _Resetiosflags); - extern template wostream& operator<<(wostream&, _Setbase); - extern template wostream& operator<<(wostream&, _Setprecision); - extern template wostream& operator<<(wostream&, _Setw); - extern template istream& operator>>(istream&, _Setfill); extern template istream& operator>>(istream&, _Setiosflags); extern template istream& operator>>(istream&, _Resetiosflags); extern template istream& operator>>(istream&, _Setbase); extern template istream& operator>>(istream&, _Setprecision); extern template istream& operator>>(istream&, _Setw); extern template wistream& operator>>(wistream&, _Setfill); extern template wistream& operator>>(wistream&, _Setiosflags); extern template wistream& operator>>(wistream&, _Resetiosflags); extern template wistream& operator>>(wistream&, _Setbase); extern template wistream& operator>>(wistream&, _Setprecision); extern template wistream& operator>>(wistream&, _Setw); } // namespace std #endif --- 225,251 ---- extern template ostream& operator<<(ostream&, _Setbase); extern template ostream& operator<<(ostream&, _Setprecision); extern template ostream& operator<<(ostream&, _Setw); extern template istream& operator>>(istream&, _Setfill); extern template istream& operator>>(istream&, _Setiosflags); extern template istream& operator>>(istream&, _Resetiosflags); extern template istream& operator>>(istream&, _Setbase); extern template istream& operator>>(istream&, _Setprecision); extern template istream& operator>>(istream&, _Setw); + + #ifdef _GLIBCPP_USE_WCHAR_T + extern template wostream& operator<<(wostream&, _Setfill); + extern template wostream& operator<<(wostream&, _Setiosflags); + extern template wostream& operator<<(wostream&, _Resetiosflags); + extern template wostream& operator<<(wostream&, _Setbase); + extern template wostream& operator<<(wostream&, _Setprecision); + extern template wostream& operator<<(wostream&, _Setw); extern template wistream& operator>>(wistream&, _Setfill); extern template wistream& operator>>(wistream&, _Setiosflags); extern template wistream& operator>>(wistream&, _Resetiosflags); extern template wistream& operator>>(wistream&, _Setbase); extern template wistream& operator>>(wistream&, _Setprecision); extern template wistream& operator>>(wistream&, _Setw); + #endif } // namespace std #endif diff -Nrc3pad gcc-3.2/libstdc++-v3/include/std/std_iosfwd.h gcc-3.2.1/libstdc++-v3/include/std/std_iosfwd.h *** gcc-3.2/libstdc++-v3/include/std/std_iosfwd.h Sat Feb 16 02:41:10 2002 --- gcc-3.2.1/libstdc++-v3/include/std/std_iosfwd.h Tue Nov 5 00:51:35 2002 *************** namespace std *** 116,121 **** --- 116,122 ---- typedef basic_ofstream ofstream; typedef basic_fstream fstream; + #ifdef _GLIBCPP_USE_WCHAR_T typedef basic_ios wios; typedef basic_streambuf wstreambuf; typedef basic_istream wistream; *************** namespace std *** 129,134 **** --- 130,136 ---- typedef basic_ifstream wifstream; typedef basic_ofstream wofstream; typedef basic_fstream wfstream; + #endif } // namespace std #endif diff -Nrc3pad gcc-3.2/libstdc++-v3/include/std/std_iostream.h gcc-3.2.1/libstdc++-v3/include/std/std_iostream.h *** gcc-3.2/libstdc++-v3/include/std/std_iostream.h Mon Jan 28 22:13:10 2002 --- gcc-3.2.1/libstdc++-v3/include/std/std_iostream.h Tue Nov 5 00:51:35 2002 *************** namespace std *** 51,56 **** --- 51,57 ---- extern ostream cout; extern ostream cerr; extern ostream clog; + #ifdef _GLIBCPP_USE_WCHAR_T extern wistream wcin; extern wostream wcout; diff -Nrc3pad gcc-3.2/libstdc++-v3/include/std/std_limits.h gcc-3.2.1/libstdc++-v3/include/std/std_limits.h *** gcc-3.2/libstdc++-v3/include/std/std_limits.h Thu Apr 4 05:34:55 2002 --- gcc-3.2.1/libstdc++-v3/include/std/std_limits.h Fri Oct 11 20:20:47 2002 *************** *** 292,303 **** #define __glibcpp_char_min (char)__glibcpp_signed_char_min #define __glibcpp_char_max (char)__glibcpp_signed_char_max #define __glibcpp_char_digits __glibcpp_signed_char_digits ! #define __glibcpp_char_digits10 __glibcpp_signed_char_digits #else #define __glibcpp_char_min (char)__glibcpp_unsigned_char_min #define __glibcpp_char_max (char)__glibcpp_unsigned_char_max #define __glibcpp_char_digits __glibcpp_unsigned_char_digits ! #define __glibcpp_char_digits10 __glibcpp_unsigned_char_digits #endif // short --- 292,303 ---- #define __glibcpp_char_min (char)__glibcpp_signed_char_min #define __glibcpp_char_max (char)__glibcpp_signed_char_max #define __glibcpp_char_digits __glibcpp_signed_char_digits ! #define __glibcpp_char_digits10 __glibcpp_signed_char_digits10 #else #define __glibcpp_char_min (char)__glibcpp_unsigned_char_min #define __glibcpp_char_max (char)__glibcpp_unsigned_char_max #define __glibcpp_char_digits __glibcpp_unsigned_char_digits ! #define __glibcpp_char_digits10 __glibcpp_unsigned_char_digits10 #endif // short diff -Nrc3pad gcc-3.2/libstdc++-v3/include/std/std_sstream.h gcc-3.2.1/libstdc++-v3/include/std/std_sstream.h *** gcc-3.2/libstdc++-v3/include/std/std_sstream.h Fri Mar 8 19:28:31 2002 --- gcc-3.2.1/libstdc++-v3/include/std/std_sstream.h Wed Nov 6 00:22:38 2002 *************** namespace std *** 105,111 **** void str(const __string_type& __s) { ! _M_string = __s; _M_stringbuf_init(_M_mode); } --- 105,112 ---- void str(const __string_type& __s) { ! // Cannot use _M_string = __s, since v3 strings are COW. ! _M_string.assign(__s.data(), __s.size()); _M_stringbuf_init(_M_mode); } diff -Nrc3pad gcc-3.2/libstdc++-v3/libio/ChangeLog gcc-3.2.1/libstdc++-v3/libio/ChangeLog *** gcc-3.2/libstdc++-v3/libio/ChangeLog Wed Aug 14 09:01:10 2002 --- gcc-3.2.1/libstdc++-v3/libio/ChangeLog Tue Nov 19 17:50:14 2002 *************** *** 1,3 **** --- 1,15 ---- + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Release Manager + + * GCC 3.2.1 Released. + 2002-08-14 Release Manager * GCC 3.2 Released. diff -Nrc3pad gcc-3.2/libstdc++-v3/libio/Makefile.in gcc-3.2.1/libstdc++-v3/libio/Makefile.in *** gcc-3.2/libstdc++-v3/libio/Makefile.in Fri Jun 28 08:22:36 2002 --- gcc-3.2.1/libstdc++-v3/libio/Makefile.in Fri Aug 23 02:43:03 2002 *************** USE_NLS = @USE_NLS@ *** 109,114 **** --- 109,115 ---- VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ WERROR = @WERROR@ + baseline_file = @baseline_file@ check_msgfmt = @check_msgfmt@ enable_shared = @enable_shared@ enable_static = @enable_static@ diff -Nrc3pad gcc-3.2/libstdc++-v3/libmath/Makefile.am gcc-3.2.1/libstdc++-v3/libmath/Makefile.am *** gcc-3.2/libstdc++-v3/libmath/Makefile.am Mon Mar 25 21:02:20 2002 --- gcc-3.2.1/libstdc++-v3/libmath/Makefile.am Fri Sep 13 02:25:49 2002 *************** libmath_la_DEPENDENCIES = $(libmath_la_L *** 34,45 **** libmath_la_SOURCES = stubs.c - LINK = \ - $(LIBTOOL) --tag CC --mode=link "$(CCLD)" \ - $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ - # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ INCLUDES = \ $(TOPLEVEL_INCLUDES) --- 34,44 ---- libmath_la_SOURCES = stubs.c # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ INCLUDES = \ $(TOPLEVEL_INCLUDES) + + # Only compiling "C" sources in this directory. + LIBTOOL = @LIBTOOL@ --tag CC \ No newline at end of file diff -Nrc3pad gcc-3.2/libstdc++-v3/libmath/Makefile.in gcc-3.2.1/libstdc++-v3/libmath/Makefile.in *** gcc-3.2/libstdc++-v3/libmath/Makefile.in Fri Jun 28 08:22:37 2002 --- gcc-3.2.1/libstdc++-v3/libmath/Makefile.in Fri Sep 13 02:25:49 2002 *************** LIBMATHOBJS = @LIBMATHOBJS@ *** 92,98 **** LIBMATH_INCLUDES = @LIBMATH_INCLUDES@ LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@ - LIBTOOL = @LIBTOOL@ LIBUNWIND_FLAG = @LIBUNWIND_FLAG@ LN_S = @LN_S@ MAINT = @MAINT@ --- 92,97 ---- *************** USE_NLS = @USE_NLS@ *** 111,116 **** --- 110,116 ---- VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ WERROR = @WERROR@ + baseline_file = @baseline_file@ check_msgfmt = @check_msgfmt@ enable_shared = @enable_shared@ enable_static = @enable_static@ *************** libmath_la_DEPENDENCIES = $(libmath_la_L *** 143,159 **** libmath_la_SOURCES = stubs.c - LINK = \ - $(LIBTOOL) --tag CC --mode=link "$(CCLD)" \ - $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ - - # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ INCLUDES = \ $(TOPLEVEL_INCLUDES) CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) --- 143,157 ---- libmath_la_SOURCES = stubs.c # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ INCLUDES = \ $(TOPLEVEL_INCLUDES) + + # Only compiling "C" sources in this directory. + LIBTOOL = @LIBTOOL@ --tag CC CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) *************** CFLAGS = @CFLAGS@ *** 169,174 **** --- 167,173 ---- COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) + LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = Makefile.am Makefile.in diff -Nrc3pad gcc-3.2/libstdc++-v3/libsupc++/Makefile.in gcc-3.2.1/libstdc++-v3/libsupc++/Makefile.in *** gcc-3.2/libstdc++-v3/libsupc++/Makefile.in Fri Jun 28 08:22:38 2002 --- gcc-3.2.1/libstdc++-v3/libsupc++/Makefile.in Fri Aug 23 02:43:04 2002 *************** USE_NLS = @USE_NLS@ *** 107,112 **** --- 107,113 ---- VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ WERROR = @WERROR@ + baseline_file = @baseline_file@ check_msgfmt = @check_msgfmt@ enable_shared = @enable_shared@ enable_static = @enable_static@ diff -Nrc3pad gcc-3.2/libstdc++-v3/po/Makefile.in gcc-3.2.1/libstdc++-v3/po/Makefile.in *** gcc-3.2/libstdc++-v3/po/Makefile.in Fri Jun 28 08:22:39 2002 --- gcc-3.2.1/libstdc++-v3/po/Makefile.in Fri Aug 23 02:43:04 2002 *************** USE_NLS = @USE_NLS@ *** 111,116 **** --- 111,117 ---- VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ WERROR = @WERROR@ + baseline_file = @baseline_file@ check_msgfmt = @check_msgfmt@ enable_shared = @enable_shared@ enable_static = @enable_static@ diff -Nrc3pad gcc-3.2/libstdc++-v3/src/Makefile.am gcc-3.2.1/libstdc++-v3/src/Makefile.am *** gcc-3.2/libstdc++-v3/src/Makefile.am Thu Aug 1 21:29:14 2002 --- gcc-3.2.1/libstdc++-v3/src/Makefile.am Fri Sep 13 02:25:49 2002 *************** *** 22,33 **** ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## USA. ! AUTOMAKE_OPTIONS = 1.3 gnits MAINT_CHARSET = latin1 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ! # Cross compiler and multilib support. CXX = @glibcpp_CXX@ toolexecdir = @glibcpp_toolexecdir@ toolexeclibdir = @glibcpp_toolexeclibdir@ --- 22,33 ---- ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## USA. ! AUTOMAKE_OPTIONS = 1.3 cygnus MAINT_CHARSET = latin1 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ! # Cross compiler support. CXX = @glibcpp_CXX@ toolexecdir = @glibcpp_toolexecdir@ toolexeclibdir = @glibcpp_toolexeclibdir@ *************** INCLUDES = \ *** 60,76 **** $(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \ $(TOPLEVEL_INCLUDES) sources = \ - globals.cc limits.cc \ - basic_file.cc complex_io.cc ios.cc strstream.cc \ bitset.cc \ ! functexcept.cc stdexcept.cc vterminate.cc \ ! c++locale.cc locale.cc localename.cc codecvt.cc \ ! collate.cc ctype.cc messages.cc monetary.cc numeric.cc time.cc \ ! concept-inst.cc locale-inst.cc misc-inst.cc stl-inst.cc \ ! string-inst.cc wstring-inst.cc valarray-inst.cc ext-inst.cc \ ! fstream.cc fstream-inst.cc io-inst.cc istream-inst.cc \ ! ostream-inst.cc streambuf-inst.cc sstream-inst.cc VPATH = $(top_srcdir)/src:$(top_srcdir) --- 60,113 ---- $(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \ $(TOPLEVEL_INCLUDES) + # Source files linked in via configuration magic for a particular target. + target_sources = \ + codecvt_members.cc \ + collate_members.cc \ + ctype_members.cc \ + messages_members.cc \ + monetary_members.cc \ + numeric_members.cc \ + time_members.cc + + # Source files linked in via configuration magic for a particular + # target, but with ad hoc naming rules. + target_sources_extra = \ + basic_file.cc \ + c++locale.cc + + # Sources present in the src directory. sources = \ bitset.cc \ ! codecvt.cc \ ! complex_io.cc \ ! concept-inst.cc \ ! ctype.cc \ ! ext-inst.cc \ ! fstream.cc \ ! fstream-inst.cc \ ! functexcept.cc \ ! globals.cc \ ! io-inst.cc \ ! ios.cc \ ! istream-inst.cc \ ! limits.cc \ ! locale.cc \ ! locale-inst.cc \ ! localename.cc \ ! misc-inst.cc \ ! ostream-inst.cc \ ! sstream-inst.cc \ ! stdexcept.cc \ ! stl-inst.cc \ ! streambuf-inst.cc \ ! string-inst.cc \ ! strstream.cc \ ! valarray-inst.cc \ ! vterminate.cc \ ! wstring-inst.cc \ ! ${target_sources} \ ! ${target_sources_extra} VPATH = $(top_srcdir)/src:$(top_srcdir) diff -Nrc3pad gcc-3.2/libstdc++-v3/src/Makefile.in gcc-3.2.1/libstdc++-v3/src/Makefile.in *** gcc-3.2/libstdc++-v3/src/Makefile.in Thu Aug 1 21:29:15 2002 --- gcc-3.2.1/libstdc++-v3/src/Makefile.in Fri Sep 13 02:25:49 2002 *************** USE_NLS = @USE_NLS@ *** 104,109 **** --- 104,110 ---- VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ WERROR = @WERROR@ + baseline_file = @baseline_file@ check_msgfmt = @check_msgfmt@ enable_shared = @enable_shared@ enable_static = @enable_static@ *************** libio_la = @libio_la@ *** 124,135 **** libtool_VERSION = @libtool_VERSION@ toplevel_srcdir = @toplevel_srcdir@ ! AUTOMAKE_OPTIONS = 1.3 gnits MAINT_CHARSET = latin1 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ! # Cross compiler and multilib support. CXX = @glibcpp_CXX@ toolexecdir = @glibcpp_toolexecdir@ toolexeclibdir = @glibcpp_toolexeclibdir@ --- 125,136 ---- libtool_VERSION = @libtool_VERSION@ toplevel_srcdir = @toplevel_srcdir@ ! AUTOMAKE_OPTIONS = 1.3 cygnus MAINT_CHARSET = latin1 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ! # Cross compiler support. CXX = @glibcpp_CXX@ toolexecdir = @glibcpp_toolexecdir@ toolexeclibdir = @glibcpp_toolexeclibdir@ *************** INCLUDES = \ *** 165,181 **** $(TOPLEVEL_INCLUDES) sources = \ - globals.cc limits.cc \ - basic_file.cc complex_io.cc ios.cc strstream.cc \ bitset.cc \ ! functexcept.cc stdexcept.cc vterminate.cc \ ! c++locale.cc locale.cc localename.cc codecvt.cc \ ! collate.cc ctype.cc messages.cc monetary.cc numeric.cc time.cc \ ! concept-inst.cc locale-inst.cc misc-inst.cc stl-inst.cc \ ! string-inst.cc wstring-inst.cc valarray-inst.cc ext-inst.cc \ ! fstream.cc fstream-inst.cc io-inst.cc istream-inst.cc \ ! ostream-inst.cc streambuf-inst.cc sstream-inst.cc VPATH = $(top_srcdir)/src:$(top_srcdir) --- 166,221 ---- $(TOPLEVEL_INCLUDES) + # Source files linked in via configuration magic for a particular target. + target_sources = \ + codecvt_members.cc \ + collate_members.cc \ + ctype_members.cc \ + messages_members.cc \ + monetary_members.cc \ + numeric_members.cc \ + time_members.cc + + + # Source files linked in via configuration magic for a particular + # target, but with ad hoc naming rules. + target_sources_extra = \ + basic_file.cc \ + c++locale.cc + + + # Sources present in the src directory. sources = \ bitset.cc \ ! codecvt.cc \ ! complex_io.cc \ ! concept-inst.cc \ ! ctype.cc \ ! ext-inst.cc \ ! fstream.cc \ ! fstream-inst.cc \ ! functexcept.cc \ ! globals.cc \ ! io-inst.cc \ ! ios.cc \ ! istream-inst.cc \ ! limits.cc \ ! locale.cc \ ! locale-inst.cc \ ! localename.cc \ ! misc-inst.cc \ ! ostream-inst.cc \ ! sstream-inst.cc \ ! stdexcept.cc \ ! stl-inst.cc \ ! streambuf-inst.cc \ ! string-inst.cc \ ! strstream.cc \ ! valarray-inst.cc \ ! vterminate.cc \ ! wstring-inst.cc \ ! ${target_sources} \ ! ${target_sources_extra} VPATH = $(top_srcdir)/src:$(top_srcdir) *************** DEFS = @DEFS@ -I. -I$(srcdir) -I.. *** 253,265 **** CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ ! libstdc___la_OBJECTS = globals.lo limits.lo basic_file.lo complex_io.lo \ ! ios.lo strstream.lo bitset.lo functexcept.lo stdexcept.lo vterminate.lo \ ! c++locale.lo locale.lo localename.lo codecvt.lo collate.lo ctype.lo \ ! messages.lo monetary.lo numeric.lo time.lo concept-inst.lo \ ! locale-inst.lo misc-inst.lo stl-inst.lo string-inst.lo wstring-inst.lo \ ! valarray-inst.lo ext-inst.lo fstream.lo fstream-inst.lo io-inst.lo \ ! istream-inst.lo ostream-inst.lo streambuf-inst.lo sstream-inst.lo CXXFLAGS = @CXXFLAGS@ CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) --- 293,307 ---- CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ ! libstdc___la_OBJECTS = bitset.lo codecvt.lo complex_io.lo \ ! concept-inst.lo ctype.lo ext-inst.lo fstream.lo fstream-inst.lo \ ! functexcept.lo globals.lo io-inst.lo ios.lo istream-inst.lo limits.lo \ ! locale.lo locale-inst.lo localename.lo misc-inst.lo ostream-inst.lo \ ! sstream-inst.lo stdexcept.lo stl-inst.lo streambuf-inst.lo \ ! string-inst.lo strstream.lo valarray-inst.lo vterminate.lo \ ! wstring-inst.lo codecvt_members.lo collate_members.lo ctype_members.lo \ ! messages_members.lo monetary_members.lo numeric_members.lo \ ! time_members.lo basic_file.lo c++locale.lo CXXFLAGS = @CXXFLAGS@ CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) diff -Nrc3pad gcc-3.2/libstdc++-v3/src/bitset.cc gcc-3.2.1/libstdc++-v3/src/bitset.cc *** gcc-3.2/libstdc++-v3/src/bitset.cc Tue Apr 9 07:40:09 2002 --- gcc-3.2.1/libstdc++-v3/src/bitset.cc Fri Sep 13 01:21:42 2002 *************** *** 2,23 **** // Copyright (C) 2001, 2002 Free Software Foundation // ! // This file is part of GNU CC. ! // ! // GNU CC is free software; you can redistribute it and/or modify ! // it under the terms of the GNU General Public License as published by ! // the Free Software Foundation; either version 2, or (at your option) // any later version. ! // ! // GNU CC is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. ! // ! // You should have received a copy of the GNU General Public License ! // along with GNU CC; see the file COPYING. If not, write to ! // the Free Software Foundation, 59 Temple Place - Suite 330, ! // Boston, MA 02111-1307, USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate --- 2,22 ---- // Copyright (C) 2001, 2002 Free Software Foundation // ! // This file is part of the GNU ISO C++ Library. This library is free ! // software; you can redistribute it and/or modify it under the ! // terms of the GNU General Public License as published by the ! // Free Software Foundation; either version 2, or (at your option) // any later version. ! ! // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. ! ! // You should have received a copy of the GNU General Public License along ! // with this library; see the file COPYING. If not, write to the Free ! // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ! // USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate diff -Nrc3pad gcc-3.2/libstdc++-v3/src/codecvt.cc gcc-3.2.1/libstdc++-v3/src/codecvt.cc *** gcc-3.2/libstdc++-v3/src/codecvt.cc Fri Feb 8 01:34:40 2002 --- gcc-3.2.1/libstdc++-v3/src/codecvt.cc Thu Oct 17 02:04:17 2002 *************** *** 31,36 **** --- 31,43 ---- namespace std { + // Definitions for locale::id of standard facets that are specialized. + locale::id codecvt::id; + + #ifdef _GLIBCPP_USE_WCHAR_T + locale::id codecvt::id; + #endif + #ifdef _GLIBCPP_USE___ENC_TRAITS // Definitions for static const data members of __enc_traits. const int __enc_traits::_S_max_size; *************** namespace std *** 42,48 **** { } codecvt:: ! ~codecvt() { } codecvt_base::result codecvt:: --- 49,56 ---- { } codecvt:: ! ~codecvt() ! { } codecvt_base::result codecvt:: *************** namespace std *** 106,144 **** // codecvt required specialization codecvt:: codecvt(size_t __refs) ! : __codecvt_abstract_base(__refs) { } codecvt:: ! ~codecvt() { } ! ! codecvt_base::result ! codecvt:: ! do_out(state_type& __state, const intern_type* __from, ! const intern_type* __from_end, const intern_type*& __from_next, ! extern_type* __to, extern_type* __to_end, ! extern_type*& __to_next) const ! { ! result __ret = error; ! size_t __len = min(__from_end - __from, __to_end - __to); ! size_t __conv = wcsrtombs(__to, &__from, __len, &__state); ! ! if (__conv == __len) ! { ! __from_next = __from; ! __to_next = __to + __conv; ! __ret = ok; ! } ! else if (__conv > 0 && __conv < __len) ! { ! __from_next = __from; ! __to_next = __to + __conv; ! __ret = partial; ! } ! else ! __ret = error; ! ! return __ret; ! } codecvt_base::result codecvt:: --- 114,125 ---- // codecvt required specialization codecvt:: codecvt(size_t __refs) ! : __codecvt_abstract_base(__refs) ! { } codecvt:: ! ~codecvt() ! { } codecvt_base::result codecvt:: *************** namespace std *** 149,183 **** return noconv; } - codecvt_base::result - codecvt:: - do_in(state_type& __state, const extern_type* __from, - const extern_type* __from_end, const extern_type*& __from_next, - intern_type* __to, intern_type* __to_end, - intern_type*& __to_next) const - { - result __ret = error; - size_t __len = min(__from_end - __from, __to_end - __to); - size_t __conv = mbsrtowcs(__to, &__from, __len, &__state); - - if (__conv == __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = ok; - } - else if (__conv > 0 && __conv < __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = partial; - } - else - __ret = error; - - return __ret; - } - int codecvt:: do_encoding() const throw() --- 130,135 ---- diff -Nrc3pad gcc-3.2/libstdc++-v3/src/concept-inst.cc gcc-3.2.1/libstdc++-v3/src/concept-inst.cc *** gcc-3.2/libstdc++-v3/src/concept-inst.cc Fri Apr 19 08:28:18 2002 --- gcc-3.2.1/libstdc++-v3/src/concept-inst.cc Fri Sep 13 01:21:42 2002 *************** *** 2,23 **** // Copyright (C) 2001, 2002 Free Software Foundation // ! // This file is part of GNU CC. ! // ! // GNU CC is free software; you can redistribute it and/or modify ! // it under the terms of the GNU General Public License as published by ! // the Free Software Foundation; either version 2, or (at your option) // any later version. ! // ! // GNU CC is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. ! // ! // You should have received a copy of the GNU General Public License ! // along with GNU CC; see the file COPYING. If not, write to ! // the Free Software Foundation, 59 Temple Place - Suite 330, ! // Boston, MA 02111-1307, USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate --- 2,22 ---- // Copyright (C) 2001, 2002 Free Software Foundation // ! // This file is part of the GNU ISO C++ Library. This library is free ! // software; you can redistribute it and/or modify it under the ! // terms of the GNU General Public License as published by the ! // Free Software Foundation; either version 2, or (at your option) // any later version. ! ! // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. ! ! // You should have received a copy of the GNU General Public License along ! // with this library; see the file COPYING. If not, write to the Free ! // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ! // USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate diff -Nrc3pad gcc-3.2/libstdc++-v3/src/ctype.cc gcc-3.2.1/libstdc++-v3/src/ctype.cc *** gcc-3.2/libstdc++-v3/src/ctype.cc Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/src/ctype.cc Thu Oct 17 02:04:17 2002 *************** *** 0 **** --- 1,148 ---- + // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 + // Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 2, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING. If not, write to the Free + // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, + // USA. + + // As a special exception, you may use this file as part of a free software + // library without restriction. Specifically, if other files instantiate + // templates or use macros or inline functions from this file, or you compile + // this file and link it with other files to produce an executable, this + // file does not by itself cause the resulting executable to be covered by + // the GNU General Public License. This exception does not however + // invalidate any other reasons why the executable file might be covered by + // the GNU General Public License. + + #include + + namespace std + { + // XXX At some point, just rename this file to ctype_members_char.cc + // and compile it as a separate file instead of including it here. + // Platform-specific initialization code for ctype tables. + #include + + // Definitions for locale::id of standard facets that are specialized. + locale::id ctype::id; + + #ifdef _GLIBCPP_USE_WCHAR_T + locale::id ctype::id; + #endif + + template<> + const ctype& + use_facet >(const locale& __loc) + { + size_t __i = ctype::id._M_id(); + const locale::_Impl* __tmp = __loc._M_impl; + return static_cast&>(*(__tmp->_M_facets[__i])); + } + + #ifdef _GLIBCPP_USE_WCHAR_T + template<> + const ctype& + use_facet >(const locale& __loc) + { + size_t __i = ctype::id._M_id(); + const locale::_Impl* __tmp = __loc._M_impl; + return static_cast&>(*(__tmp->_M_facets[__i])); + } + #endif + + // Definitions for static const data members of ctype_base. + const ctype_base::mask ctype_base::space; + const ctype_base::mask ctype_base::print; + const ctype_base::mask ctype_base::cntrl; + const ctype_base::mask ctype_base::upper; + const ctype_base::mask ctype_base::lower; + const ctype_base::mask ctype_base::alpha; + const ctype_base::mask ctype_base::digit; + const ctype_base::mask ctype_base::punct; + const ctype_base::mask ctype_base::xdigit; + const ctype_base::mask ctype_base::alnum; + const ctype_base::mask ctype_base::graph; + + const size_t ctype::table_size; + + ctype::~ctype() + { + _S_destroy_c_locale(_M_c_locale_ctype); + if (_M_del) + delete[] this->table(); + } + + // These are dummy placeholders as these virtual functions are never called. + bool + ctype::do_is(mask, char_type) const + { return false; } + + const char* + ctype::do_is(const char_type* __c, const char_type*, mask*) const + { return __c; } + + const char* + ctype::do_scan_is(mask, const char_type* __c, const char_type*) const + { return __c; } + + const char* + ctype::do_scan_not(mask, const char_type* __c, const char_type*) const + { return __c; } + + char + ctype::do_widen(char __c) const + { return __c; } + + const char* + ctype::do_widen(const char* __lo, const char* __hi, char* __dest) const + { + memcpy(__dest, __lo, __hi - __lo); + return __hi; + } + + char + ctype::do_narrow(char __c, char /*__dfault*/) const + { return __c; } + + const char* + ctype::do_narrow(const char* __lo, const char* __hi, + char /*__dfault*/, char* __dest) const + { + memcpy(__dest, __lo, __hi - __lo); + return __hi; + } + + #ifdef _GLIBCPP_USE_WCHAR_T + ctype::ctype(size_t __refs) + : __ctype_abstract_base(__refs) + { _M_c_locale_ctype = _S_c_locale; } + + ctype::ctype(__c_locale __cloc, size_t __refs) + : __ctype_abstract_base(__refs) + { _M_c_locale_ctype = _S_clone_c_locale(__cloc); } + + ctype::~ctype() + { _S_destroy_c_locale(_M_c_locale_ctype); } + + template<> + ctype_byname::ctype_byname(const char* __s, size_t __refs) + : ctype(__refs) + { + _S_destroy_c_locale(_M_c_locale_ctype); + _S_create_c_locale(_M_c_locale_ctype, __s); + } + #endif + } // namespace std + diff -Nrc3pad gcc-3.2/libstdc++-v3/src/globals.cc gcc-3.2.1/libstdc++-v3/src/globals.cc *** gcc-3.2/libstdc++-v3/src/globals.cc Tue Apr 30 19:05:46 2002 --- gcc-3.2.1/libstdc++-v3/src/globals.cc Thu Oct 17 02:04:17 2002 *************** *** 44,206 **** // Because declares the standard streams to be [io]stream // types instead of say [io]fstream types, it is also necessary to // allocate the actual file buffers in this file. ! namespace std { ! // Standard "C" locale. ! typedef char fake_locale[sizeof(locale)] ! __attribute__ ((aligned(__alignof__(locale)))); ! fake_locale c_locale; typedef char fake_locale_Impl[sizeof(locale::_Impl)] __attribute__ ((aligned(__alignof__(locale::_Impl)))); fake_locale_Impl c_locale_impl; ! typedef char fake_facet_vec[sizeof(locale::facet*)] __attribute__ ((aligned(__alignof__(locale::facet*)))); fake_facet_vec facet_vec[_GLIBCPP_NUM_FACETS]; typedef char fake_ctype_c[sizeof(std::ctype)] __attribute__ ((aligned(__alignof__(std::ctype)))); fake_ctype_c ctype_c; typedef char fake_collate_c[sizeof(std::collate)] __attribute__ ((aligned(__alignof__(std::collate)))); fake_collate_c collate_c; typedef char fake_numpunct_c[sizeof(numpunct)] __attribute__ ((aligned(__alignof__(numpunct)))); fake_numpunct_c numpunct_c; typedef char fake_num_get_c[sizeof(num_get)] __attribute__ ((aligned(__alignof__(num_get)))); fake_num_get_c num_get_c; typedef char fake_num_put_c[sizeof(num_put)] __attribute__ ((aligned(__alignof__(num_put)))); fake_num_put_c num_put_c; typedef char fake_codecvt_c[sizeof(codecvt)] __attribute__ ((aligned(__alignof__(codecvt)))); fake_codecvt_c codecvt_c; typedef char fake_moneypunct_c[sizeof(moneypunct)] __attribute__ ((aligned(__alignof__(moneypunct)))); fake_moneypunct_c moneypunct_tc; fake_moneypunct_c moneypunct_fc; typedef char fake_money_get_c[sizeof(money_get)] __attribute__ ((aligned(__alignof__(money_get)))); fake_money_get_c money_get_c; typedef char fake_money_put_c[sizeof(money_put)] __attribute__ ((aligned(__alignof__(money_put)))); fake_money_put_c money_put_c; typedef char fake_timepunct_c[sizeof(__timepunct)] __attribute__ ((aligned(__alignof__(__timepunct)))); fake_timepunct_c timepunct_c; typedef char fake_time_get_c[sizeof(time_get)] __attribute__ ((aligned(__alignof__(time_get)))); fake_time_get_c time_get_c; typedef char fake_time_put_c[sizeof(time_put)] __attribute__ ((aligned(__alignof__(time_put)))); fake_time_put_c time_put_c; typedef char fake_messages_c[sizeof(messages)] __attribute__ ((aligned(__alignof__(messages)))); fake_messages_c messages_c; #ifdef _GLIBCPP_USE_WCHAR_T typedef char fake_wtype_w[sizeof(std::ctype)] __attribute__ ((aligned(__alignof__(std::ctype)))); fake_wtype_w ctype_w; typedef char fake_wollate_w[sizeof(std::collate)] __attribute__ ((aligned(__alignof__(std::collate)))); fake_wollate_w collate_w; typedef char fake_numpunct_w[sizeof(numpunct)] __attribute__ ((aligned(__alignof__(numpunct)))); fake_numpunct_w numpunct_w; typedef char fake_num_get_w[sizeof(num_get)] __attribute__ ((aligned(__alignof__(num_get)))); fake_num_get_w num_get_w; typedef char fake_num_put_w[sizeof(num_put)] __attribute__ ((aligned(__alignof__(num_put)))); fake_num_put_w num_put_w; typedef char fake_wodecvt_w[sizeof(codecvt)] __attribute__ ((aligned(__alignof__(codecvt)))); fake_wodecvt_w codecvt_w; typedef char fake_moneypunct_w[sizeof(moneypunct)] __attribute__ ((aligned(__alignof__(moneypunct)))); fake_moneypunct_w moneypunct_tw; fake_moneypunct_w moneypunct_fw; typedef char fake_money_get_w[sizeof(money_get)] __attribute__ ((aligned(__alignof__(money_get)))); fake_money_get_w money_get_w; typedef char fake_money_put_w[sizeof(money_put)] __attribute__ ((aligned(__alignof__(money_put)))); fake_money_put_w money_put_w; typedef char fake_timepunct_w[sizeof(__timepunct)] __attribute__ ((aligned(__alignof__(__timepunct)))); fake_timepunct_w timepunct_w; typedef char fake_time_get_w[sizeof(time_get)] __attribute__ ((aligned(__alignof__(time_get)))); fake_time_get_w time_get_w; typedef char fake_time_put_w[sizeof(time_put)] __attribute__ ((aligned(__alignof__(time_put)))); fake_time_put_w time_put_w; typedef char fake_messages_w[sizeof(messages)] __attribute__ ((aligned(__alignof__(messages)))); fake_messages_w messages_w; #endif ! // Standard stream objects. ! typedef char fake_istream[sizeof(istream)] ! __attribute__ ((aligned(__alignof__(istream)))); ! typedef char fake_ostream[sizeof(ostream)] ! __attribute__ ((aligned(__alignof__(ostream)))); ! fake_istream cin; ! fake_ostream cout; ! fake_ostream cerr; ! fake_ostream clog; ! ! typedef char fake_filebuf[sizeof(__gnu_cxx::stdio_filebuf)] ! __attribute__ ((aligned(__alignof__(__gnu_cxx::stdio_filebuf)))); fake_filebuf buf_cout; fake_filebuf buf_cin; fake_filebuf buf_cerr; #ifdef _GLIBCPP_USE_WCHAR_T ! typedef char fake_wistream[sizeof(wistream)] ! __attribute__ ((aligned(__alignof__(wistream)))); ! typedef char fake_wostream[sizeof(wostream)] ! __attribute__ ((aligned(__alignof__(wostream)))); ! fake_wistream wcin; ! fake_wostream wcout; ! fake_wostream wcerr; ! fake_wostream wclog; ! ! typedef char fake_wfilebuf[sizeof(__gnu_cxx::stdio_filebuf)] ! __attribute__ ((aligned(__alignof__(__gnu_cxx::stdio_filebuf)))); fake_wfilebuf buf_wcout; fake_wfilebuf buf_wcin; fake_wfilebuf buf_wcerr; #endif ! // Globals for once-only runtime initialization of mutex objects. This // allows static initialization of these objects on systems that need a // function call to initialize a mutex. For example, see stl_threads.h. --- 44,252 ---- // Because declares the standard streams to be [io]stream // types instead of say [io]fstream types, it is also necessary to // allocate the actual file buffers in this file. ! namespace __gnu_cxx { ! using namespace std; ! ! typedef char fake_facet_name[sizeof(char*)] ! __attribute__ ((aligned(__alignof__(char*)))); ! fake_facet_name facet_name[6 + _GLIBCPP_NUM_CATEGORIES]; typedef char fake_locale_Impl[sizeof(locale::_Impl)] __attribute__ ((aligned(__alignof__(locale::_Impl)))); fake_locale_Impl c_locale_impl; ! ! ! // NB: The asm directives renames these non-exported, namespace ! // __gnu_cxx symbols into the mistakenly exported, namespace std ! // symbols in GLIBCPP_3.2. ! // The rename syntax is ! // asm (".symver currentname,oldname@@GLIBCPP_3.2") ! // At the same time, these new __gnu_cxx symbols are not exported. ! // In the future, GLIBCXX_ABI > 5 should remove all uses of ! // _GLIBCPP_ASM_SYMVER in this file. ! typedef char fake_locale[sizeof(locale)] ! __attribute__ ((aligned(__alignof__(locale)))); ! fake_locale c_locale; ! _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx8c_localeE, _ZSt8c_locale, GLIBCPP_3.2) ! ! // GLIBCXX_ABI > 5 will not need this symbol at all. ! // It's here just as a placeholder, as the size of this exported ! // object changed. The new symbol is not exported. ! const int o = sizeof(locale::_Impl) - sizeof(char*[_GLIBCPP_NUM_CATEGORIES]); ! typedef char fake_locale_Impl_compat[o] ! __attribute__ ((aligned(__alignof__(o)))); ! fake_locale_Impl_compat c_locale_impl_compat; ! _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx20c_locale_impl_compatE, _ZSt13c_locale_impl, GLIBCPP_3.2) ! typedef char fake_facet_vec[sizeof(locale::facet*)] __attribute__ ((aligned(__alignof__(locale::facet*)))); fake_facet_vec facet_vec[_GLIBCPP_NUM_FACETS]; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9facet_vecE, _ZSt9facet_vec, GLIBCPP_3.2) typedef char fake_ctype_c[sizeof(std::ctype)] __attribute__ ((aligned(__alignof__(std::ctype)))); fake_ctype_c ctype_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx7ctype_cE, _ZSt7ctype_c, GLIBCPP_3.2) typedef char fake_collate_c[sizeof(std::collate)] __attribute__ ((aligned(__alignof__(std::collate)))); fake_collate_c collate_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9collate_cE, _ZSt9collate_c, GLIBCPP_3.2) typedef char fake_numpunct_c[sizeof(numpunct)] __attribute__ ((aligned(__alignof__(numpunct)))); fake_numpunct_c numpunct_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx10numpunct_cE, _ZSt10numpunct_c, GLIBCPP_3.2) typedef char fake_num_get_c[sizeof(num_get)] __attribute__ ((aligned(__alignof__(num_get)))); fake_num_get_c num_get_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9num_get_cE, _ZSt9num_get_c, GLIBCPP_3.2) typedef char fake_num_put_c[sizeof(num_put)] __attribute__ ((aligned(__alignof__(num_put)))); fake_num_put_c num_put_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9num_put_cE, _ZSt9num_put_c, GLIBCPP_3.2) typedef char fake_codecvt_c[sizeof(codecvt)] __attribute__ ((aligned(__alignof__(codecvt)))); fake_codecvt_c codecvt_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9codecvt_cE, _ZSt9codecvt_c, GLIBCPP_3.2) typedef char fake_moneypunct_c[sizeof(moneypunct)] __attribute__ ((aligned(__alignof__(moneypunct)))); fake_moneypunct_c moneypunct_tc; fake_moneypunct_c moneypunct_fc; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx13moneypunct_tcE,\ + _ZSt13moneypunct_tc, GLIBCPP_3.2) + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx13moneypunct_fcE,\ + _ZSt13moneypunct_fc, GLIBCPP_3.2) typedef char fake_money_get_c[sizeof(money_get)] __attribute__ ((aligned(__alignof__(money_get)))); fake_money_get_c money_get_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx11money_get_cE, _ZSt11money_get_c, GLIBCPP_3.2) typedef char fake_money_put_c[sizeof(money_put)] __attribute__ ((aligned(__alignof__(money_put)))); fake_money_put_c money_put_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx11money_put_cE, _ZSt11money_put_c, GLIBCPP_3.2) typedef char fake_timepunct_c[sizeof(__timepunct)] __attribute__ ((aligned(__alignof__(__timepunct)))); fake_timepunct_c timepunct_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx11timepunct_cE, _ZSt11timepunct_c, GLIBCPP_3.2) typedef char fake_time_get_c[sizeof(time_get)] __attribute__ ((aligned(__alignof__(time_get)))); fake_time_get_c time_get_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx10time_get_cE, _ZSt10time_get_c, GLIBCPP_3.2) typedef char fake_time_put_c[sizeof(time_put)] __attribute__ ((aligned(__alignof__(time_put)))); fake_time_put_c time_put_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx10time_put_cE, _ZSt10time_put_c, GLIBCPP_3.2) typedef char fake_messages_c[sizeof(messages)] __attribute__ ((aligned(__alignof__(messages)))); fake_messages_c messages_c; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx10messages_cE, _ZSt10messages_c, GLIBCPP_3.2) #ifdef _GLIBCPP_USE_WCHAR_T typedef char fake_wtype_w[sizeof(std::ctype)] __attribute__ ((aligned(__alignof__(std::ctype)))); fake_wtype_w ctype_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx7ctype_wE, _ZSt7ctype_w, GLIBCPP_3.2) typedef char fake_wollate_w[sizeof(std::collate)] __attribute__ ((aligned(__alignof__(std::collate)))); fake_wollate_w collate_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9collate_wE, _ZSt9collate_w, GLIBCPP_3.2) typedef char fake_numpunct_w[sizeof(numpunct)] __attribute__ ((aligned(__alignof__(numpunct)))); fake_numpunct_w numpunct_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx10numpunct_wE, _ZSt10numpunct_w, GLIBCPP_3.2) typedef char fake_num_get_w[sizeof(num_get)] __attribute__ ((aligned(__alignof__(num_get)))); fake_num_get_w num_get_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9num_get_wE, _ZSt9num_get_w, GLIBCPP_3.2) typedef char fake_num_put_w[sizeof(num_put)] __attribute__ ((aligned(__alignof__(num_put)))); fake_num_put_w num_put_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9num_put_wE, _ZSt9num_put_w, GLIBCPP_3.2) typedef char fake_wodecvt_w[sizeof(codecvt)] __attribute__ ((aligned(__alignof__(codecvt)))); fake_wodecvt_w codecvt_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9codecvt_wE, _ZSt9codecvt_w, GLIBCPP_3.2) typedef char fake_moneypunct_w[sizeof(moneypunct)] __attribute__ ((aligned(__alignof__(moneypunct)))); fake_moneypunct_w moneypunct_tw; fake_moneypunct_w moneypunct_fw; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx13moneypunct_twE,\ + _ZSt13moneypunct_tw, GLIBCPP_3.2) + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx13moneypunct_fwE,\ + _ZSt13moneypunct_fw, GLIBCPP_3.2) typedef char fake_money_get_w[sizeof(money_get)] __attribute__ ((aligned(__alignof__(money_get)))); fake_money_get_w money_get_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx11money_get_wE, _ZSt11money_get_w, GLIBCPP_3.2) typedef char fake_money_put_w[sizeof(money_put)] __attribute__ ((aligned(__alignof__(money_put)))); fake_money_put_w money_put_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx11money_put_wE, _ZSt11money_put_w, GLIBCPP_3.2) typedef char fake_timepunct_w[sizeof(__timepunct)] __attribute__ ((aligned(__alignof__(__timepunct)))); fake_timepunct_w timepunct_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx11timepunct_wE, _ZSt11timepunct_w, GLIBCPP_3.2) typedef char fake_time_get_w[sizeof(time_get)] __attribute__ ((aligned(__alignof__(time_get)))); fake_time_get_w time_get_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx10time_get_wE, _ZSt10time_get_w, GLIBCPP_3.2) typedef char fake_time_put_w[sizeof(time_put)] __attribute__ ((aligned(__alignof__(time_put)))); fake_time_put_w time_put_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx10time_put_wE, _ZSt10time_put_w, GLIBCPP_3.2) typedef char fake_messages_w[sizeof(messages)] __attribute__ ((aligned(__alignof__(messages)))); fake_messages_w messages_w; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx10messages_wE, _ZSt10messages_w, GLIBCPP_3.2) #endif ! typedef char fake_filebuf[sizeof(stdio_filebuf)] ! __attribute__ ((aligned(__alignof__(stdio_filebuf)))); fake_filebuf buf_cout; fake_filebuf buf_cin; fake_filebuf buf_cerr; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx8buf_coutE, _ZSt8buf_cout, GLIBCPP_3.2) + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx7buf_cinE, _ZSt7buf_cin, GLIBCPP_3.2) + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx8buf_cerrE, _ZSt8buf_cerr, GLIBCPP_3.2) #ifdef _GLIBCPP_USE_WCHAR_T ! typedef char fake_wfilebuf[sizeof(stdio_filebuf)] ! __attribute__ ((aligned(__alignof__(stdio_filebuf)))); fake_wfilebuf buf_wcout; fake_wfilebuf buf_wcin; fake_wfilebuf buf_wcerr; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9buf_wcoutE, _ZSt9buf_wcout, GLIBCPP_3.2) + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx8buf_wcinE, _ZSt8buf_wcin, GLIBCPP_3.2) + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9buf_wcerrE, _ZSt9buf_wcerr, GLIBCPP_3.2) #endif + } // namespace __gnu_cxx ! namespace std ! { // Globals for once-only runtime initialization of mutex objects. This // allows static initialization of these objects on systems that need a // function call to initialize a mutex. For example, see stl_threads.h. *************** namespace std *** 223,226 **** _GLIBCPP_mutex_address_init () { __GTHREAD_MUTEX_INIT_FUNCTION (_GLIBCPP_mutex_address); } #endif ! } --- 269,293 ---- _GLIBCPP_mutex_address_init () { __GTHREAD_MUTEX_INIT_FUNCTION (_GLIBCPP_mutex_address); } #endif ! ! // Standard stream objects. ! typedef char fake_istream[sizeof(istream)] ! __attribute__ ((aligned(__alignof__(istream)))); ! typedef char fake_ostream[sizeof(ostream)] ! __attribute__ ((aligned(__alignof__(ostream)))); ! fake_istream cin; ! fake_ostream cout; ! fake_ostream cerr; ! fake_ostream clog; ! ! #ifdef _GLIBCPP_USE_WCHAR_T ! typedef char fake_wistream[sizeof(wistream)] ! __attribute__ ((aligned(__alignof__(wistream)))); ! typedef char fake_wostream[sizeof(wostream)] ! __attribute__ ((aligned(__alignof__(wostream)))); ! fake_wistream wcin; ! fake_wostream wcout; ! fake_wostream wcerr; ! fake_wostream wclog; ! #endif ! } // namespace std diff -Nrc3pad gcc-3.2/libstdc++-v3/src/ios.cc gcc-3.2.1/libstdc++-v3/src/ios.cc *** gcc-3.2/libstdc++-v3/src/ios.cc Tue Apr 30 19:05:46 2002 --- gcc-3.2.1/libstdc++-v3/src/ios.cc Thu Oct 17 02:04:17 2002 *************** *** 39,66 **** #include #include ! namespace std { // Extern declarations for global objects in src/globals.cc. extern istream cin; extern ostream cout; extern ostream cerr; extern ostream clog; - using __gnu_cxx::stdio_filebuf; - extern stdio_filebuf buf_cout; - extern stdio_filebuf buf_cin; - extern stdio_filebuf buf_cerr; - #ifdef _GLIBCPP_USE_WCHAR_T extern wistream wcin; extern wostream wcout; extern wostream wcerr; extern wostream wclog; - - extern stdio_filebuf buf_wcout; - extern stdio_filebuf buf_wcin; - extern stdio_filebuf buf_wcerr; #endif // Definitions for static const data members of __ios_flags. --- 39,72 ---- #include #include ! namespace __gnu_cxx { // Extern declarations for global objects in src/globals.cc. + extern stdio_filebuf buf_cout; + extern stdio_filebuf buf_cin; + extern stdio_filebuf buf_cerr; + + #ifdef _GLIBCPP_USE_WCHAR_T + extern stdio_filebuf buf_wcout; + extern stdio_filebuf buf_wcin; + extern stdio_filebuf buf_wcerr; + #endif + } // namespace __gnu_cxx + + namespace std + { + using namespace __gnu_cxx; + extern istream cin; extern ostream cout; extern ostream cerr; extern ostream clog; #ifdef _GLIBCPP_USE_WCHAR_T extern wistream wcin; extern wostream wcout; extern wostream wcerr; extern wostream wclog; #endif // Definitions for static const data members of __ios_flags. diff -Nrc3pad gcc-3.2/libstdc++-v3/src/locale-inst.cc gcc-3.2.1/libstdc++-v3/src/locale-inst.cc *** gcc-3.2/libstdc++-v3/src/locale-inst.cc Thu Aug 1 21:29:15 2002 --- gcc-3.2.1/libstdc++-v3/src/locale-inst.cc Thu Oct 17 02:04:17 2002 *************** *** 35,45 **** #include #include #include - #include - #include #include - #include - #include namespace std { --- 35,41 ---- diff -Nrc3pad gcc-3.2/libstdc++-v3/src/locale.cc gcc-3.2.1/libstdc++-v3/src/locale.cc *** gcc-3.2/libstdc++-v3/src/locale.cc Thu Aug 1 21:29:15 2002 --- gcc-3.2.1/libstdc++-v3/src/locale.cc Thu Oct 17 02:04:17 2002 *************** *** 31,49 **** #include #include #include // For towupper, etc. - #include - #include #include - #include - #include #include ! namespace std { // Defined in globals.cc. ! extern locale c_locale; ! extern locale::_Impl c_locale_impl; ! extern locale::facet** facet_vec; // Definitions for static const data members of locale. const locale::category locale::none; --- 31,49 ---- #include #include #include // For towupper, etc. #include #include ! namespace __gnu_cxx { // Defined in globals.cc. ! extern std::locale c_locale; ! extern std::locale::_Impl c_locale_impl; ! } // namespace __gnu_cxx ! ! namespace std ! { ! using namespace __gnu_cxx; // Definitions for static const data members of locale. const locale::category locale::none; *************** namespace std *** 55,72 **** const locale::category locale::messages; const locale::category locale::all; locale::_Impl* locale::_S_classic; locale::_Impl* locale::_S_global; ! const size_t locale::_S_num_categories; ! ! // Definitions for locale::id of standard facets that are specialized. ! locale::id ctype::id; ! locale::id codecvt::id; ! ! #ifdef _GLIBCPP_USE_WCHAR_T ! locale::id ctype::id; ! locale::id codecvt::id; ! #endif // Definitions for static const data members of locale::id _Atomic_word locale::id::_S_highwater; // init'd to 0 by linker --- 55,68 ---- const locale::category locale::messages; const locale::category locale::all; + // In the future, GLIBCXX_ABI > 5 should remove all uses of + // _GLIBCPP_ASM_SYMVER in this file, and remove exports of any + // static data members of locale. locale::_Impl* locale::_S_classic; locale::_Impl* locale::_S_global; ! const size_t locale::_S_categories_size; ! _GLIBCPP_ASM_SYMVER(_ZNSt6locale18_S_categories_sizeE, _ZNSt6locale17_S_num_categoriesE, GLIBCPP_3.2) ! const size_t locale::_S_extra_categories_size; // Definitions for static const data members of locale::id _Atomic_word locale::id::_S_highwater; // init'd to 0 by linker *************** namespace std *** 155,185 **** locale::_Impl::_S_id_ctype, locale::_Impl::_S_id_numeric, locale::_Impl::_S_id_collate, - locale::_Impl::_S_id_monetary, locale::_Impl::_S_id_time, locale::_Impl::_S_id_messages, 0 }; - locale::~locale() throw() - { _M_impl->_M_remove_reference(); } - - void - locale::_M_coalesce(const locale& __base, const locale& __add, - category __cat) - { - __cat = _S_normalize_category(__cat); - _M_impl = new _Impl(*__base._M_impl, 1); - - try - { _M_impl->_M_replace_categories(__add._M_impl, __cat); } - catch (...) - { - _M_impl->_M_remove_reference(); - __throw_exception_again; - } - } - locale::locale() throw() { _S_initialize(); --- 151,162 ---- locale::_Impl::_S_id_ctype, locale::_Impl::_S_id_numeric, locale::_Impl::_S_id_collate, locale::_Impl::_S_id_time, + locale::_Impl::_S_id_monetary, locale::_Impl::_S_id_messages, 0 }; locale::locale() throw() { _S_initialize(); *************** namespace std *** 191,196 **** --- 168,174 ---- // This is used to initialize global and classic locales, and // assumes that the _Impl objects are constructed correctly. + // The lack of a reference increment is intentional. locale::locale(_Impl* __ip) throw() : _M_impl(__ip) { } *************** namespace std *** 201,210 **** _S_initialize(); if (strcmp(__s, "C") == 0 || strcmp(__s, "POSIX") == 0) (_M_impl = _S_classic)->_M_add_reference(); ! else if (strcmp(__s, "") == 0) ! _M_impl = new _Impl(setlocale(LC_ALL, NULL), 1); ! else _M_impl = new _Impl(__s, 1); } else __throw_runtime_error("attempt to create locale from NULL name"); --- 179,288 ---- _S_initialize(); if (strcmp(__s, "C") == 0 || strcmp(__s, "POSIX") == 0) (_M_impl = _S_classic)->_M_add_reference(); ! else if (strcmp(__s, "") != 0) _M_impl = new _Impl(__s, 1); + else + { + // Get it from the environment. + char* __env = getenv("LC_ALL"); + // If LC_ALL is set we are done. + if (__env && strcmp(__env, "") != 0) + { + if (strcmp(__env, "C") == 0 || strcmp(__env, "POSIX") == 0) + (_M_impl = _S_classic)->_M_add_reference(); + else + _M_impl = new _Impl(__env, 1); + } + else + { + char* __res; + // LANG may set a default different from "C". + char* __env = getenv("LANG"); + if (!__env || strcmp(__env, "") == 0 || strcmp(__env, "C") == 0 + || strcmp(__env, "POSIX") == 0) + __res = strdup("C"); + else + __res = strdup(__env); + + // Scan the categories looking for the first one + // different from LANG. + size_t __i = 0; + if (strcmp(__res, "C") == 0) + for (__i = 0; + __i < _S_categories_size + _S_extra_categories_size; + ++__i) + { + __env = getenv(_S_categories[__i]); + if (__env && strcmp(__env, "") != 0 + && strcmp(__env, "C") != 0 + && strcmp(__env, "POSIX") != 0) + break; + } + else + for (__i = 0; + __i < _S_categories_size + _S_extra_categories_size; + ++__i) + { + __env = getenv(_S_categories[__i]); + if (__env && strcmp(__env, "") != 0 + && strcmp(__env, __res) != 0) + break; + } + + // If one is found, build the complete string of + // the form LC_CTYPE=xxx;LC_NUMERIC=yyy; and so on... + if (__i < _S_categories_size + _S_extra_categories_size) + { + string __str; + for (size_t __j = 0; __j < __i; ++__j) + { + __str += _S_categories[__j]; + __str += "="; + __str += __res; + __str += ";"; + } + __str += _S_categories[__i]; + __str += "="; + __str += __env; + __str += ";"; + __i++; + for (; __i < _S_categories_size + + _S_extra_categories_size; ++__i) + { + __env = getenv(_S_categories[__i]); + if (!__env || strcmp(__env, "") == 0) + { + __str += _S_categories[__i]; + __str += '='; + __str += __res; + __str += ';'; + } + else if (strcmp(__env, "C") == 0 + || strcmp(__env, "POSIX") == 0) + { + __str += _S_categories[__i]; + __str += "=C;"; + } + else + { + __str += _S_categories[__i]; + __str += "="; + __str += __env; + __str += ";"; + } + } + __str.erase(__str.end() - 1); + _M_impl = new _Impl(__str.c_str(), 1); + } + // ... otherwise either an additional instance of + // the "C" locale or LANG. + else if (strcmp(__res, "C") == 0) + (_M_impl = _S_classic)->_M_add_reference(); + else + _M_impl = new _Impl(__res, 1); + free(__res); + } + } } else __throw_runtime_error("attempt to create locale from NULL name"); *************** namespace std *** 222,227 **** --- 300,308 ---- locale::locale(const locale& __base, const locale& __add, category __cat) { _M_coalesce(__base, __add, __cat); } + locale::~locale() throw() + { _M_impl->_M_remove_reference(); } + bool locale::operator==(const locale& __rhs) const throw() { *************** namespace std *** 262,281 **** string locale::name() const { - // Need some kind of separator character. This one was pretty much - // arbitrarily chosen as to not conflict with glibc locales: the - // exact formatting is not set in stone. - const char __separator = '|'; - string __ret; if (_M_impl->_M_check_same_name()) __ret = _M_impl->_M_names[0]; else { ! for (size_t i = 0; i < _S_num_categories; ++i) { ! __ret += __separator; ! __ret += _M_impl->_M_names[i]; } } return __ret; --- 343,364 ---- string locale::name() const { string __ret; if (_M_impl->_M_check_same_name()) __ret = _M_impl->_M_names[0]; else { ! __ret += _S_categories[0]; ! __ret += "="; ! __ret += _M_impl->_M_names[0]; ! for (size_t __i = 1; ! __i < _S_categories_size + _S_extra_categories_size; ! ++__i) { ! __ret += ";"; ! __ret += _S_categories[__i]; ! __ret += "="; ! __ret += _M_impl->_M_names[__i]; } } return __ret; *************** namespace std *** 284,303 **** const locale& locale::classic() { if (!_S_classic) { - static _STL_mutex_lock __lock __STL_MUTEX_INITIALIZER; - _STL_auto_lock __auto(__lock); - try { // 26 Standard facets, 2 references. ! // One reference for _M_classic, one for _M_global ! facet** f = new(&facet_vec) facet*[_GLIBCPP_NUM_FACETS]; ! for (size_t __i = 0; __i < _GLIBCPP_NUM_FACETS; ++__i) ! f[__i] = 0; ! ! _S_classic = new (&c_locale_impl) _Impl(f, 2, true); _S_global = _S_classic; new (&c_locale) locale(_S_classic); } --- 367,382 ---- const locale& locale::classic() { + static _STL_mutex_lock __lock __STL_MUTEX_INITIALIZER; + _STL_auto_lock __auto(__lock); + if (!_S_classic) { try { // 26 Standard facets, 2 references. ! // One reference for _S_classic, one for _S_global ! _S_classic = new (&c_locale_impl) _Impl(0, 2, true); _S_global = _S_classic; new (&c_locale) locale(_S_classic); } *************** namespace std *** 314,319 **** --- 393,414 ---- return c_locale; } + void + locale::_M_coalesce(const locale& __base, const locale& __add, + category __cat) + { + __cat = _S_normalize_category(__cat); + _M_impl = new _Impl(*__base._M_impl, 1); + + try + { _M_impl->_M_replace_categories(__add._M_impl, __cat); } + catch (...) + { + _M_impl->_M_remove_reference(); + __throw_exception_again; + } + } + locale::category locale::_S_normalize_category(category __cat) { *************** namespace std *** 362,372 **** ~facet() { } locale::facet:: ! facet(size_t __refs) throw() : _M_references(__refs) ! { ! if (!_S_c_locale) ! _S_create_c_locale(_S_c_locale, "C"); ! } void locale::facet:: --- 457,464 ---- ~facet() { } locale::facet:: ! facet(size_t __refs) throw() : _M_references(__refs ? 1 : 0) ! { } void locale::facet:: *************** namespace std *** 377,383 **** locale::facet:: _M_remove_reference() throw() { ! if (__exchange_and_add(&_M_references, -1) == 0) { try { delete this; } --- 469,475 ---- locale::facet:: _M_remove_reference() throw() { ! if (__exchange_and_add(&_M_references, -1) == 1) { try { delete this; } *************** namespace std *** 389,485 **** locale::id::id() { } - // Definitions for static const data members of ctype_base. - const ctype_base::mask ctype_base::space; - const ctype_base::mask ctype_base::print; - const ctype_base::mask ctype_base::cntrl; - const ctype_base::mask ctype_base::upper; - const ctype_base::mask ctype_base::lower; - const ctype_base::mask ctype_base::alpha; - const ctype_base::mask ctype_base::digit; - const ctype_base::mask ctype_base::punct; - const ctype_base::mask ctype_base::xdigit; - const ctype_base::mask ctype_base::alnum; - const ctype_base::mask ctype_base::graph; - - // Platform-specific initialization code for ctype tables. - #include - - const size_t ctype::table_size; - - ctype::~ctype() - { - if (_M_c_locale_ctype != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_ctype); - if (_M_del) - delete[] this->table(); - } - - // These are dummy placeholders as these virtual functions are never called. - bool - ctype::do_is(mask, char_type) const - { return false; } - - const char* - ctype::do_is(const char_type* __c, const char_type*, mask*) const - { return __c; } - - const char* - ctype::do_scan_is(mask, const char_type* __c, const char_type*) const - { return __c; } - - const char* - ctype::do_scan_not(mask, const char_type* __c, const char_type*) const - { return __c; } - - char - ctype::do_widen(char __c) const - { return __c; } - - const char* - ctype::do_widen(const char* __lo, const char* __hi, char* __dest) const - { - memcpy(__dest, __lo, __hi - __lo); - return __hi; - } - - char - ctype::do_narrow(char __c, char /*__dfault*/) const - { return __c; } - - const char* - ctype::do_narrow(const char* __lo, const char* __hi, - char /*__dfault*/, char* __dest) const - { - memcpy(__dest, __lo, __hi - __lo); - return __hi; - } - - #ifdef _GLIBCPP_USE_WCHAR_T - ctype::ctype(size_t __refs) - : __ctype_abstract_base(__refs) - { _M_c_locale_ctype = _S_c_locale; } - - ctype::ctype(__c_locale __cloc, size_t __refs) - : __ctype_abstract_base(__refs) - { _M_c_locale_ctype = _S_clone_c_locale(__cloc); } - - ctype::~ctype() - { - if (_M_c_locale_ctype != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_ctype); - } - - template<> - ctype_byname::ctype_byname(const char* __s, size_t __refs) - : ctype(__refs) - { - if (_M_c_locale_ctype != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_ctype); - _S_create_c_locale(_M_c_locale_ctype, __s); - } - #endif - // Definitions for static const data members of time_base template<> const char* --- 481,486 ---- *************** namespace std *** 503,528 **** const money_base::pattern money_base::_S_default_pattern = { {symbol, sign, none, value} }; - template<> - const ctype& - use_facet >(const locale& __loc) - { - size_t __i = ctype::id._M_id(); - const locale::_Impl* __tmp = __loc._M_impl; - return static_cast&>(*(__tmp->_M_facets[__i])); - } - - #ifdef _GLIBCPP_USE_WCHAR_T - template<> - const ctype& - use_facet >(const locale& __loc) - { - size_t __i = ctype::id._M_id(); - const locale::_Impl* __tmp = __loc._M_impl; - return static_cast&>(*(__tmp->_M_facets[__i])); - } - #endif - const char __num_base::_S_atoms[] = "0123456789eEabcdfABCDF"; bool --- 504,509 ---- diff -Nrc3pad gcc-3.2/libstdc++-v3/src/localename.cc gcc-3.2.1/libstdc++-v3/src/localename.cc *** gcc-3.2/libstdc++-v3/src/localename.cc Fri Jul 26 23:23:42 2002 --- gcc-3.2.1/libstdc++-v3/src/localename.cc Thu Oct 17 02:04:17 2002 *************** *** 30,38 **** #include #include ! namespace std { // Defined in globals.cc. extern std::ctype ctype_c; extern std::collate collate_c; extern numpunct numpunct_c; --- 30,43 ---- #include #include ! namespace __gnu_cxx { + using namespace std; + // Defined in globals.cc. + extern locale::facet** facet_vec; + extern char* facet_name[6 + _GLIBCPP_NUM_CATEGORIES]; + extern std::ctype ctype_c; extern std::collate collate_c; extern numpunct numpunct_c; *************** namespace std *** 63,68 **** --- 68,78 ---- extern time_put time_put_w; extern std::messages messages_w; #endif + } // namespace __gnu_cxx + + namespace std + { + using namespace __gnu_cxx; locale::_Impl:: ~_Impl() throw() *************** namespace std *** 71,76 **** --- 81,90 ---- if (_M_facets[__i]) _M_facets[__i]->_M_remove_reference(); delete [] _M_facets; + + for (size_t __i = 0; + __i < _S_categories_size + _S_extra_categories_size; ++__i) + delete [] _M_names[__i]; } // Clone existing _Impl object. *************** namespace std *** 95,108 **** if (_M_facets[__i]) _M_facets[__i]->_M_add_reference(); } ! for (size_t __i = 0; __i < _S_num_categories; ++__i) ! _M_names[__i] = __imp._M_names[__i]; } // Construct named _Impl. locale::_Impl:: _Impl(const char* __s, size_t __refs) ! : _M_references(__refs), _M_facets_size(_GLIBCPP_NUM_FACETS) // XXX { // Initialize the underlying locale model, which also checks // to see if the given name is valid. --- 109,127 ---- if (_M_facets[__i]) _M_facets[__i]->_M_add_reference(); } ! for (size_t __i = 0; ! __i < _S_categories_size + _S_extra_categories_size; ++__i) ! { ! char* __new = new char[strlen(__imp._M_names[__i]) + 1]; ! strcpy(__new, __imp._M_names[__i]); ! _M_names[__i] = __new; ! } } // Construct named _Impl. locale::_Impl:: _Impl(const char* __s, size_t __refs) ! : _M_references(__refs), _M_facets_size(_GLIBCPP_NUM_FACETS) { // Initialize the underlying locale model, which also checks // to see if the given name is valid. *************** namespace std *** 122,132 **** } // Name all the categories. ! for (size_t i = 0; i < _S_num_categories; ++i) ! _M_names[i] = __s; ! // Construct all standard facets and add them to _M_facets. ! _M_init_facet(new std::ctype(__cloc)); _M_init_facet(new codecvt); _M_init_facet(new numpunct(__cloc)); _M_init_facet(new num_get); --- 141,180 ---- } // Name all the categories. ! if (!strchr(__s, ';')) ! { ! size_t __len = strlen(__s) + 1; ! for (size_t __i = 0; ! __i < _S_categories_size + _S_extra_categories_size; ++__i) ! { ! _M_names[__i] = new char[__len]; ! strcpy(_M_names[__i], __s); ! } ! } ! else ! { ! char* __tmp = strdup(__s); ! __tmp[strlen(__tmp)] = ';'; ! strtok(__tmp, "=;"); ! for (size_t __i = 0; ! __i < _S_categories_size + _S_extra_categories_size - 1; ++__i) ! { ! char* __src = strtok(NULL, "=;"); ! char* __new = new char[strlen(__src) + 1]; ! strcpy(__new, __src); ! _M_names[__i] = __new; ! strtok(NULL, "=;"); ! } ! char* __src = strtok(NULL, "=;"); ! char* __new = new char[strlen(__src) + 1]; ! strcpy(__new, __src); ! _M_names[_S_categories_size + _S_extra_categories_size - 1] = __new; ! free(__tmp); ! } ! ! // Construct all standard facets and add them to _M_facets. ! _M_init_facet(new std::ctype(__cloc, 0, false)); _M_init_facet(new codecvt); _M_init_facet(new numpunct(__cloc)); _M_init_facet(new num_get); *************** namespace std *** 162,208 **** // Construct "C" _Impl. locale::_Impl:: ! _Impl(facet** __f, size_t __refs, bool) ! : _M_references(__refs), _M_facets(__f), _M_facets_size(_GLIBCPP_NUM_FACETS) { // Name all the categories. ! for (size_t i = 0; i < _S_num_categories; ++i) ! _M_names[i] = "C"; // This is needed as presently the C++ version of "C" locales // != data in the underlying locale model for __timepunct, // numpunct, and moneypunct. Also, the "C" locales must be // constructed in a way such that they are pre-allocated. ! _M_init_facet(new (&ctype_c) std::ctype); ! _M_init_facet(new (&codecvt_c) codecvt); ! _M_init_facet(new (&numpunct_c) numpunct); ! _M_init_facet(new (&num_get_c) num_get); ! _M_init_facet(new (&num_put_c) num_put); ! _M_init_facet(new (&collate_c) std::collate); ! _M_init_facet(new (&moneypunct_fc) moneypunct); ! _M_init_facet(new (&moneypunct_tc) moneypunct); ! _M_init_facet(new (&money_get_c) money_get); ! _M_init_facet(new (&money_put_c) money_put); ! _M_init_facet(new (&timepunct_c) __timepunct); ! _M_init_facet(new (&time_get_c) time_get); ! _M_init_facet(new (&time_put_c) time_put); ! _M_init_facet(new (&messages_c) std::messages); #ifdef _GLIBCPP_USE_WCHAR_T ! _M_init_facet(new (&ctype_w) std::ctype); ! _M_init_facet(new (&codecvt_w) codecvt); ! _M_init_facet(new (&numpunct_w) numpunct); ! _M_init_facet(new (&num_get_w) num_get); ! _M_init_facet(new (&num_put_w) num_put); ! _M_init_facet(new (&collate_w) std::collate); ! _M_init_facet(new (&moneypunct_fw) moneypunct); ! _M_init_facet(new (&moneypunct_tw) moneypunct); ! _M_init_facet(new (&money_get_w) money_get); ! _M_init_facet(new (&money_put_w) money_put); ! _M_init_facet(new (&timepunct_w) __timepunct); ! _M_init_facet(new (&time_get_w) time_get); ! _M_init_facet(new (&time_put_w) time_put); ! _M_init_facet(new (&messages_w) std::messages); ! #endif } void --- 210,270 ---- // Construct "C" _Impl. locale::_Impl:: ! _Impl(facet**, size_t __refs, bool) ! : _M_references(__refs), _M_facets_size(_GLIBCPP_NUM_FACETS) { + // Initialize the underlying locale model. + locale::facet::_S_create_c_locale(locale::facet::_S_c_locale, "C"); + + _M_facets = new(&facet_vec) facet*[_M_facets_size]; + for (size_t __i = 0; __i < _M_facets_size; ++__i) + _M_facets[__i] = 0; + // Name all the categories. ! for (size_t __i = 0; ! __i < _S_categories_size + _S_extra_categories_size; ++__i) ! { ! _M_names[__i] = new (&facet_name[__i]) char[2]; ! strcpy(_M_names[__i], "C"); ! } // This is needed as presently the C++ version of "C" locales // != data in the underlying locale model for __timepunct, // numpunct, and moneypunct. Also, the "C" locales must be // constructed in a way such that they are pre-allocated. ! // NB: Set locale::facets(ref) count to one so that each individual ! // facet is not destroyed when the locale (and thus locale::_Impl) is ! // destroyed. ! _M_init_facet(new (&ctype_c) std::ctype(0, false, 1)); ! _M_init_facet(new (&codecvt_c) codecvt(1)); ! _M_init_facet(new (&numpunct_c) numpunct(1)); ! _M_init_facet(new (&num_get_c) num_get(1)); ! _M_init_facet(new (&num_put_c) num_put(1)); ! _M_init_facet(new (&collate_c) std::collate(1)); ! _M_init_facet(new (&moneypunct_fc) moneypunct(1)); ! _M_init_facet(new (&moneypunct_tc) moneypunct(1)); ! _M_init_facet(new (&money_get_c) money_get(1)); ! _M_init_facet(new (&money_put_c) money_put(1)); ! _M_init_facet(new (&timepunct_c) __timepunct(1)); ! _M_init_facet(new (&time_get_c) time_get(1)); ! _M_init_facet(new (&time_put_c) time_put(1)); ! _M_init_facet(new (&messages_c) std::messages(1)); #ifdef _GLIBCPP_USE_WCHAR_T ! _M_init_facet(new (&ctype_w) std::ctype(1)); ! _M_init_facet(new (&codecvt_w) codecvt(1)); ! _M_init_facet(new (&numpunct_w) numpunct(1)); ! _M_init_facet(new (&num_get_w) num_get(1)); ! _M_init_facet(new (&num_put_w) num_put(1)); ! _M_init_facet(new (&collate_w) std::collate(1)); ! _M_init_facet(new (&moneypunct_fw) moneypunct(1)); ! _M_init_facet(new (&moneypunct_tw) moneypunct(1)); ! _M_init_facet(new (&money_get_w) money_get(1)); ! _M_init_facet(new (&money_put_w) money_put(1)); ! _M_init_facet(new (&timepunct_w) __timepunct(1)); ! _M_init_facet(new (&time_get_w) time_get(1)); ! _M_init_facet(new (&time_put_w) time_put(1)); ! _M_init_facet(new (&messages_w) std::messages(1)); ! #endif } void *************** namespace std *** 210,216 **** _M_replace_categories(const _Impl* __imp, category __cat) { category __mask; ! for (unsigned int __ix = 0; __ix < _S_num_categories; ++__ix) { __mask = 1 << __ix; if (__mask & __cat) --- 272,278 ---- _M_replace_categories(const _Impl* __imp, category __cat) { category __mask; ! for (size_t __ix = 0; __ix < _S_categories_size; ++__ix) { __mask = 1 << __ix; if (__mask & __cat) *************** namespace std *** 220,226 **** // If both have names, go ahead and mangle. if (strcmp(_M_names[__ix], "*") != 0 && strcmp(__imp->_M_names[__ix], "*") != 0) ! _M_names[__ix] = __imp->_M_names[__ix]; } } } --- 282,293 ---- // If both have names, go ahead and mangle. if (strcmp(_M_names[__ix], "*") != 0 && strcmp(__imp->_M_names[__ix], "*") != 0) ! { ! delete [] _M_names[__ix]; ! char* __new = new char[strlen(__imp->_M_names[__ix]) + 1]; ! strcpy(__new, __imp->_M_names[__ix]); ! _M_names[__ix] = __new; ! } } } } *************** namespace std *** 250,255 **** --- 317,324 ---- if (__fp) { size_t __index = __idp->_M_id(); + + // Check size of facet vector to ensure adequate room. if (__index > _M_facets_size - 1) { facet** __old = _M_facets; *************** namespace std *** 266,276 **** delete [] __old; } facet*& __fpr = _M_facets[__index]; if (__fpr) { // Replacing an existing facet. Order matters. - __fp->_M_add_reference(); __fpr->_M_remove_reference(); __fpr = __fp; } --- 335,345 ---- delete [] __old; } + __fp->_M_add_reference(); facet*& __fpr = _M_facets[__index]; if (__fpr) { // Replacing an existing facet. Order matters. __fpr->_M_remove_reference(); __fpr = __fp; } diff -Nrc3pad gcc-3.2/libstdc++-v3/src/misc-inst.cc gcc-3.2.1/libstdc++-v3/src/misc-inst.cc *** gcc-3.2/libstdc++-v3/src/misc-inst.cc Mon May 27 15:07:11 2002 --- gcc-3.2.1/libstdc++-v3/src/misc-inst.cc Mon Sep 9 20:58:40 2002 *************** namespace std *** 70,93 **** #if 1 // XXX ! // 2002-05-24 These are no longer needed and should be deleted. ! ! // algorithm ! typedef _Char_traits_match > char_match; ! ! template ! const char* ! find_if ! (const char *, const char *, char_match, random_access_iterator_tag); ! ! #ifdef _GLIBCPP_USE_WCHAR_T ! typedef _Char_traits_match > wchar_match; ! ! template const wchar_t* ! find_if ! (const wchar_t*, const wchar_t*, wchar_match, random_access_iterator_tag); ! #endif ! template string* __uninitialized_fill_n_aux --- 70,76 ---- #if 1 // XXX ! // 2002-05-24 These are no longer needed and should eventually be deleted. template string* __uninitialized_fill_n_aux diff -Nrc3pad gcc-3.2/libstdc++-v3/src/string-inst.cc gcc-3.2.1/libstdc++-v3/src/string-inst.cc *** gcc-3.2/libstdc++-v3/src/string-inst.cc Tue Apr 16 02:53:22 2002 --- gcc-3.2.1/libstdc++-v3/src/string-inst.cc Tue Nov 5 00:51:35 2002 *************** *** 22,28 **** // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate // templates or use macros or inline functions from this file, or you compile ! // this file and link it with other files to produce an executable, this// file does not by itself cause the resulting executable to be covered by // the GNU General Public License. This exception does not however // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. --- 22,29 ---- // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate // templates or use macros or inline functions from this file, or you compile ! // this file and link it with other files to produce an executable, this ! // file does not by itself cause the resulting executable to be covered by // the GNU General Public License. This exception does not however // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. *************** namespace std *** 48,53 **** --- 49,55 ---- template class basic_string; template S operator+(const C*, const S&); template S operator+(C, const S&); + template S operator+(const S&, const S&); } // namespace std namespace __gnu_cxx diff -Nrc3pad gcc-3.2/libstdc++-v3/src/strstream.cc gcc-3.2.1/libstdc++-v3/src/strstream.cc *** gcc-3.2/libstdc++-v3/src/strstream.cc Wed Aug 7 05:13:08 2002 --- gcc-3.2.1/libstdc++-v3/src/strstream.cc Fri Sep 13 01:21:42 2002 *************** *** 2,23 **** // Copyright (C) 2001, 2002 Free Software Foundation // ! // This file is part of GNU CC. ! // ! // GNU CC is free software; you can redistribute it and/or modify ! // it under the terms of the GNU General Public License as published by ! // the Free Software Foundation; either version 2, or (at your option) // any later version. ! // ! // GNU CC is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. ! // ! // You should have received a copy of the GNU General Public License ! // along with GNU CC; see the file COPYING. If not, write to ! // the Free Software Foundation, 59 Temple Place - Suite 330, ! // Boston, MA 02111-1307, USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate --- 2,22 ---- // Copyright (C) 2001, 2002 Free Software Foundation // ! // This file is part of the GNU ISO C++ Library. This library is free ! // software; you can redistribute it and/or modify it under the ! // terms of the GNU General Public License as published by the ! // Free Software Foundation; either version 2, or (at your option) // any later version. ! ! // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. ! ! // You should have received a copy of the GNU General Public License along ! // with this library; see the file COPYING. If not, write to the Free ! // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ! // USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate diff -Nrc3pad gcc-3.2/libstdc++-v3/src/vterminate.cc gcc-3.2.1/libstdc++-v3/src/vterminate.cc *** gcc-3.2/libstdc++-v3/src/vterminate.cc Mon Apr 1 22:09:28 2002 --- gcc-3.2.1/libstdc++-v3/src/vterminate.cc Fri Sep 13 01:21:42 2002 *************** *** 2,23 **** // Copyright (C) 2001, 2002 Free Software Foundation // ! // This file is part of GNU CC. ! // ! // GNU CC is free software; you can redistribute it and/or modify ! // it under the terms of the GNU General Public License as published by ! // the Free Software Foundation; either version 2, or (at your option) // any later version. ! // ! // GNU CC is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. ! // ! // You should have received a copy of the GNU General Public License ! // along with GNU CC; see the file COPYING. If not, write to ! // the Free Software Foundation, 59 Temple Place - Suite 330, ! // Boston, MA 02111-1307, USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate --- 2,22 ---- // Copyright (C) 2001, 2002 Free Software Foundation // ! // This file is part of the GNU ISO C++ Library. This library is free ! // software; you can redistribute it and/or modify it under the ! // terms of the GNU General Public License as published by the ! // Free Software Foundation; either version 2, or (at your option) // any later version. ! ! // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. ! ! // You should have received a copy of the GNU General Public License along ! // with this library; see the file COPYING. If not, write to the Free ! // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ! // USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc gcc-3.2.1/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc *** gcc-3.2/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc Tue Jun 4 19:03:49 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc Tue Oct 29 08:08:40 2002 *************** *** 22,27 **** --- 22,28 ---- #include #include + #include #include #include *************** void test04() *** 214,219 **** --- 215,229 ---- VERIFY( str02 == "onifotrop" ); } + // libstdc++/8347 + void test05() + { + bool test = true; + + std::vector empty; + std::string empty2(empty.begin(), empty.end()); + } + int main() { __set_testsuite_memlimit(); *************** int main() *** 221,225 **** --- 231,236 ---- test02(); test03(); test04(); + test05(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc gcc-3.2.1/libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc *** gcc-3.2/libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc Thu Aug 1 21:29:16 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc Thu Oct 17 02:04:18 2002 *************** void test01() *** 121,127 **** string str1, str2; // construct a locale object with the C facet ! const locale& loc01 = locale::classic(); // 1 // template locale(const locale& other, Facet* f) --- 121,127 ---- string str1, str2; // construct a locale object with the C facet ! const locale loc01 = locale::classic(); // 1 // template locale(const locale& other, Facet* f) *************** void test02() *** 310,315 **** --- 310,497 ---- VERIFY( loc_1 == loc_2 ); } + // libstdc++/7811 + void test03() + { + bool test = true; + #ifdef _GLIBCPP_HAVE_SETENV + const char* LC_ALL_orig = getenv("LC_ALL"); + if (!setenv("LC_ALL", "it_IT", 1)) + { + std::locale loc(""); + VERIFY( loc.name() == "it_IT" ); + setenv("LC_ALL", LC_ALL_orig ? LC_ALL_orig : "", 1); + } + #endif + } + + + // More tests for locale("") == POSIX locale::name. + void test04() + { + bool test = true; + using namespace std; + + #ifdef _GLIBCPP_HAVE_SETENV + + const char* LANG_orig = getenv("LANG") ? strdup(getenv("LANG")) : ""; + const char* LC_ALL_orig = getenv("LC_ALL") ? strdup(getenv("LC_ALL")) : ""; + const char* LC_CTYPE_orig = + getenv("LC_CTYPE") ? strdup(getenv("LC_CTYPE")) : ""; + const char* LC_NUMERIC_orig = + getenv("LC_NUMERIC") ? strdup(getenv("LC_NUMERIC")) : ""; + const char* LC_COLLATE_orig = + getenv("LC_COLLATE") ? strdup(getenv("LC_COLLATE")) : ""; + const char* LC_TIME_orig = + getenv("LC_TIME") ? strdup(getenv("LC_TIME")) : ""; + const char* LC_MONETARY_orig = + getenv("LC_MONETARY") ? strdup(getenv("LC_MONETARY")) : ""; + const char* LC_MESSAGES_orig = + getenv("LC_MESSAGES") ? strdup(getenv("LC_MESSAGES")) : ""; + #if _GLIBCPP_NUM_CATEGORIES + const char* LC_PAPER_orig = + getenv("LC_PAPER") ? strdup(getenv("LC_PAPER")) : ""; + const char* LC_NAME_orig = + getenv("LC_NAME") ? strdup(getenv("LC_NAME")) : ""; + const char* LC_ADDRESS_orig = + getenv("LC_ADDRESS") ? strdup(getenv("LC_ADDRESS")) : ""; + const char* LC_TELEPHONE_orig = + getenv("LC_TELEPHONE") ? strdup(getenv("LC_TELEPHONE")) : ""; + const char* LC_MEASUREMENT_orig = + getenv("LC_MEASUREMENT") ? strdup(getenv("LC_MEASUREMENT")) : ""; + const char* LC_IDENTIFICATION_orig = + getenv("LC_IDENTIFICATION") ? strdup(getenv("LC_IDENTIFICATION")) : ""; + #endif + + // Check that a "POSIX" LC_ALL is equivalent to "C". + if (!setenv("LC_ALL", "POSIX", 1)) + { + locale loc(""); + VERIFY( loc.name() == "C" ); + } + setenv("LC_ALL", "", 1); + + // Check that a "en_PH" LC_ALL is equivalent to "en_PH". + if (!setenv("LC_ALL", "en_PH", 1)) + { + locale loc(""); + VERIFY( loc.name() == "en_PH" ); + } + setenv("LC_ALL", "", 1); + + // Explicit check that LC_ALL sets regardless of LC_* and LANG. + if (!setenv("LANG", "es_MX", 1) && !setenv("LC_COLLATE", "de_DE", 1)) + { + if (!setenv("LC_ALL", "en_PH", 1)) + { + locale loc(""); + VERIFY( loc.name() == "en_PH" ); + } + setenv("LC_ALL", "", 1); + setenv("LANG", LANG_orig ? LANG_orig : "", 1); + setenv("LC_COLLATE", LC_COLLATE_orig ? LC_COLLATE_orig : "", 1); + } + + // NB: LANG checks all LC_* macro settings. As such, all LC_* macros + // must be cleared for these tests, and then restored. + setenv("LC_ALL", "", 1); + setenv("LC_CTYPE", "", 1); + setenv("LC_NUMERIC", "", 1); + setenv("LC_COLLATE", "", 1); + setenv("LC_TIME", "", 1); + setenv("LC_MONETARY", "", 1); + setenv("LC_MESSAGES", "", 1); + #if _GLIBCPP_NUM_CATEGORIES + setenv("LC_PAPER", "", 1); + setenv("LC_NAME", "", 1); + setenv("LC_ADDRESS", "", 1); + setenv("LC_TELEPHONE", "", 1); + setenv("LC_MEASUREMENT", "", 1); + setenv("LC_IDENTIFICATION", "", 1); + #endif + + // Check the default set by LANG. + if (!setenv("LANG", "fr_FR", 1)) + { + locale loc(""); + VERIFY( loc.name() == "fr_FR" ); + } + + // Check that a "POSIX" LANG is equivalent to "C". + if (!setenv("LANG", "POSIX", 1)) + { + locale loc(""); + VERIFY( loc.name() == "C" ); + } + + // Setting a category in the "C" default. + if (!setenv("LC_COLLATE", "de_DE", 1)) + { + locale loc(""); + + #if _GLIBCPP_NUM_CATEGORIES + VERIFY( loc.name() == "LC_CTYPE=C;LC_NUMERIC=C;LC_COLLATE=de_DE;" + "LC_TIME=C;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;" + "LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;" + "LC_IDENTIFICATION=C" ); + #else + VERIFY( loc.name() == "LC_CTYPE=C;LC_NUMERIC=C;LC_COLLATE=de_DE;" + "LC_TIME=C;LC_MONETARY=C;LC_MESSAGES=C" ); + #endif + } + + // Changing the LANG default while LC_COLLATE is set. + if (!setenv("LANG", "fr_FR", 1)) + { + locale loc(""); + #if _GLIBCPP_NUM_CATEGORIES + VERIFY( loc.name() == "LC_CTYPE=fr_FR;LC_NUMERIC=fr_FR;" + "LC_COLLATE=de_DE;LC_TIME=fr_FR;LC_MONETARY=fr_FR;" + "LC_MESSAGES=fr_FR;LC_PAPER=fr_FR;LC_NAME=fr_FR;" + "LC_ADDRESS=fr_FR;LC_TELEPHONE=fr_FR;LC_MEASUREMENT=fr_FR;" + "LC_IDENTIFICATION=fr_FR" ); + #else + VERIFY( loc.name() == "LC_CTYPE=fr_FR;LC_NUMERIC=fr_FR;" + "LC_COLLATE=de_DE;LC_TIME=fr_FR;LC_MONETARY=fr_FR;" + "LC_MESSAGES=fr_FR" ); + #endif + } + + // Changing another (C only) category. + #if _GLIBCPP_NUM_CATEGORIES + if (!setenv("LC_IDENTIFICATION", "it_IT", 1)) + { + locale loc(""); + VERIFY( loc.name() == "LC_CTYPE=fr_FR;LC_NUMERIC=fr_FR;" + "LC_COLLATE=de_DE;LC_TIME=fr_FR;LC_MONETARY=fr_FR;" + "LC_MESSAGES=fr_FR;LC_PAPER=fr_FR;LC_NAME=fr_FR;" + "LC_ADDRESS=fr_FR;LC_TELEPHONE=fr_FR;LC_MEASUREMENT=fr_FR;" + "LC_IDENTIFICATION=it_IT" ); + } + #endif + + // Restore the environment. + setenv("LANG", LANG_orig ? LANG_orig : "", 1); + setenv("LC_ALL", LC_ALL_orig ? LC_ALL_orig : "", 1); + setenv("LC_CTYPE", LC_CTYPE_orig ? LC_CTYPE_orig : "", 1); + setenv("LC_NUMERIC", LC_NUMERIC_orig ? LC_NUMERIC_orig : "", 1); + setenv("LC_COLLATE", LC_COLLATE_orig ? LC_COLLATE_orig : "", 1); + setenv("LC_TIME", LC_TIME_orig ? LC_TIME_orig : "", 1); + setenv("LC_MONETARY", LC_MONETARY_orig ? LC_MONETARY_orig : "", 1); + setenv("LC_MESSAGES", LC_MESSAGES_orig ? LC_MESSAGES_orig : "", 1); + #if _GLIBCPP_NUM_CATEGORIES + setenv("LC_PAPER", LC_PAPER_orig ? LC_PAPER_orig : "", 1); + setenv("LC_NAME", LC_NAME_orig ? LC_NAME_orig : "", 1); + setenv("LC_ADDRESS", LC_ADDRESS_orig ? LC_ADDRESS_orig : "", 1); + setenv("LC_TELEPHONE", LC_TELEPHONE_orig ? LC_TELEPHONE_orig : "", 1); + setenv("LC_MEASUREMENT", LC_MEASUREMENT_orig ? LC_MEASUREMENT_orig : "", 1); + setenv("LC_IDENTIFICATION", + LC_IDENTIFICATION_orig ? LC_IDENTIFICATION_orig : "", 1); + #endif + + #endif + } + int main() { test00(); *************** int main() *** 319,324 **** --- 501,508 ---- #endif test02(); + test03(); + test04(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/22_locale/facet.cc gcc-3.2.1/libstdc++-v3/testsuite/22_locale/facet.cc *** gcc-3.2/libstdc++-v3/testsuite/22_locale/facet.cc Sat Dec 15 07:05:04 2001 --- gcc-3.2.1/libstdc++-v3/testsuite/22_locale/facet.cc Thu Oct 17 02:04:18 2002 *************** *** 1,6 **** // 2000-08-31 Benjamin Kosnik ! // Copyright (C) 2000 Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,6 ---- // 2000-08-31 Benjamin Kosnik ! // Copyright (C) 2000, 2002 Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 25,30 **** --- 25,31 ---- #include #include #include + #include #include // 1 a class if a facet if it is publicly derived from another facet *************** void test01() *** 233,241 **** --- 234,302 ---- } } + // Static counter for use in checking ctors/dtors. + static std::size_t counter; + + class surf : public std::locale::facet + { + public: + static std::locale::id id; + surf(size_t refs = 0): std::locale::facet(refs) { ++counter; } + ~surf() { --counter; } + }; + + std::locale::id surf::id; + + typedef surf facet_type; + + void test02() + { + using namespace std; + bool test = true; + + // 1: Destroyed when out of scope. + VERIFY( counter == 0 ); + { + locale loc01(locale::classic(), new facet_type); + VERIFY( counter == 1 ); + } + VERIFY( counter == 0 ); + + // 2: Not destroyed when out of scope, deliberately leaked. + VERIFY( counter == 0 ); + { + // Default refs argument is zero. + locale loc02(locale::classic(), new facet_type(1)); + VERIFY( counter == 1 ); + } + VERIFY( counter == 1 ); + + // 3: Pathological. + counter = 0; + { + // Test bounds. + facet_type* f = new facet_type(numeric_limits::max()); + VERIFY( counter == 1 ); + // Add a reference. + locale loc01(locale::classic(), f); + { + // Add another reference... + locale loc02(locale::classic(), f); + } + VERIFY( counter == 1 ); + } + + // 4: Named locale should destroy facets when it goes out of scope. + // Not quite sure how to test for this w/o valgrind at the moment. + { + locale loc03("es_MX"); + } + } + int main () { test01(); + test02(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc gcc-3.2.1/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc *** gcc-3.2/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc Fri Jun 28 08:22:43 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc Wed Oct 23 15:47:17 2002 *************** void test01() *** 202,209 **** result1 = oss.str(); // No grouping characters. VERIFY( !char_traits::find(result1.c_str(), ! numpunct_de.decimal_point(), ! result1.size()) ); // Should contain an 'x'. VERIFY( result1.find('x') == 1 ); --- 202,209 ---- result1 = oss.str(); // No grouping characters. VERIFY( !char_traits::find(result1.c_str(), ! result1.size(), ! numpunct_de.decimal_point()) ); // Should contain an 'x'. VERIFY( result1.find('x') == 1 ); *************** void test04() *** 326,337 **** --- 326,375 ---- } } + // Make sure that, in a locale that expects grouping, when showbase + // is true, an hexadecimal or octal zero is correctly output (the case + // of zero is special since there is no 0x, 0 respectively, prefix) + void test05() + { + using namespace std; + bool test = true; + + // A locale that expects grouping. + locale loc_de("de_DE"); + + const string empty; + string result; + + ostringstream oss; + oss.imbue(loc_de); + const num_put& np = use_facet >(oss.getloc()); + + long l = 0; + + oss.str(empty); + oss.clear(); + oss.setf(ios::showbase); + oss.setf(ios::hex, ios::basefield); + np.put(oss.rdbuf(), oss, '+', l); + result = oss.str(); + VERIFY( result == "0" ); + + oss.str(empty); + oss.clear(); + oss.setf(ios::showbase); + oss.setf(ios::oct, ios::basefield); + np.put(oss.rdbuf(), oss, '+', l); + result = oss.str(); + VERIFY( result == "0" ); + } + int main() { test01(); test02(); test03(); test04(); + test05(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc gcc-3.2.1/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc *** gcc-3.2/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc Fri Jun 28 08:22:43 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc Wed Oct 23 15:47:17 2002 *************** void test01() *** 203,210 **** result1 = oss.str(); // No grouping characters. VERIFY( !char_traits::find(result1.c_str(), ! numpunct_de.decimal_point(), ! result1.size()) ); // Should contain an 'x'. VERIFY( result1.find(L'x') == 1 ); --- 203,210 ---- result1 = oss.str(); // No grouping characters. VERIFY( !char_traits::find(result1.c_str(), ! result1.size(), ! numpunct_de.decimal_point()) ); // Should contain an 'x'. VERIFY( result1.find(L'x') == 1 ); *************** void test04() *** 325,330 **** --- 325,367 ---- VERIFY( preLANG == postLANG ); } } + + // Make sure that, in a locale that expects grouping, when showbase + // is true, an hexadecimal or octal zero is correctly output (the case + // of zero is special since there is no 0x, 0 respectively, prefix) + void test05() + { + using namespace std; + bool test = true; + + // A locale that expects grouping. + locale loc_de("de_DE"); + + const wstring empty; + wstring result; + + wostringstream oss; + oss.imbue(loc_de); + const num_put& np = use_facet >(oss.getloc()); + + long l = 0; + + oss.str(empty); + oss.clear(); + oss.setf(ios::showbase); + oss.setf(ios::hex, ios::basefield); + np.put(oss.rdbuf(), oss, L'+', l); + result = oss.str(); + VERIFY( result == L"0" ); + + oss.str(empty); + oss.clear(); + oss.setf(ios::showbase); + oss.setf(ios::oct, ios::basefield); + np.put(oss.rdbuf(), oss, L'+', l); + result = oss.str(); + VERIFY( result == L"0" ); + } #endif int main() *************** int main() *** 334,339 **** --- 371,377 ---- test02(); test03(); test04(); + test05(); #endif return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/22_locale/static_members.cc gcc-3.2.1/libstdc++-v3/testsuite/22_locale/static_members.cc *** gcc-3.2/libstdc++-v3/testsuite/22_locale/static_members.cc Tue Aug 7 03:38:29 2001 --- gcc-3.2.1/libstdc++-v3/testsuite/22_locale/static_members.cc Thu Oct 17 02:04:18 2002 *************** *** 1,6 **** // 2000-09-13 Benjamin Kosnik ! // Copyright (C) 2000 Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,6 ---- // 2000-09-13 Benjamin Kosnik ! // Copyright (C) 2000, 2002 Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 22,27 **** --- 22,28 ---- #include // for mbstate_t #include + #include #include typedef std::codecvt ccodecvt; *************** class gnu_codecvt: public ccodecvt { }; *** 30,43 **** void test01() { using namespace std; - bool test = true; string str1, str2; ! // construct a locale object with the C facet ! const locale& loc01 = locale::classic(); ! // construct a locale object with the specialized facet. ! locale loc02(locale::classic(), new gnu_codecvt); VERIFY ( loc01 != loc02 ); VERIFY ( !(loc01 == loc02) ); --- 31,45 ---- void test01() { using namespace std; bool test = true; + string str1, str2; ! // Construct a locale object with the C facet. ! const locale loc01 = locale::classic(); ! ! // Construct a locale object with the specialized facet. ! locale loc02(locale::classic(), new gnu_codecvt); VERIFY ( loc01 != loc02 ); VERIFY ( !(loc01 == loc02) ); *************** void test01() *** 50,64 **** // global locale loc03; VERIFY ( loc03 == loc01); ! locale loc04 = locale::global(loc02); locale loc05; VERIFY (loc05 != loc03); VERIFY (loc05 == loc02); } int main () { test01(); return 0; } --- 52,194 ---- // global locale loc03; VERIFY ( loc03 == loc01); ! locale global_orig = locale::global(loc02); locale loc05; VERIFY (loc05 != loc03); VERIFY (loc05 == loc02); + + // Reset global settings. + locale::global(global_orig); + } + + // Sanity check locale::global(loc) and setlocale. + void test02() + { + using namespace std; + bool test = true; + + const string ph("en_PH"); + const string mx("es_MX"); + const char* orig = setlocale(LC_ALL, NULL); + const char* testph = setlocale(LC_ALL, ph.c_str()); + const char* testmx = setlocale(LC_ALL, mx.c_str()); + setlocale(LC_ALL, orig); + + // If the underlying locale doesn't support these names, setlocale + // won't be reset. Therefore, disable unless we know these specific + // named locales work. + if (testph && testmx) + { + const locale loc_ph(ph.c_str()); + const locale loc_mx(mx.c_str()); + + // Use setlocale between two calls to locale("") + const locale loc_env_1(""); + setlocale(LC_ALL, ph.c_str()); + const locale loc_env_2(""); + VERIFY( loc_env_1 == loc_env_2 ); + + // Change global locale. + locale global_orig = locale::global(loc_mx); + const char* lc_all_mx = setlocale(LC_ALL, NULL); + if (lc_all_mx) + { + cout << "lc_all_mx is " << lc_all_mx << endl; + VERIFY( mx == lc_all_mx ); + } + + // Restore global settings. + locale::global(global_orig); + } + } + + // Static counter for use in checking ctors/dtors. + static std::size_t counter; + + class surf : public std::locale::facet + { + public: + static std::locale::id id; + surf(size_t refs = 0): std::locale::facet(refs) { ++counter; } + ~surf() { --counter; } + }; + + std::locale::id surf::id; + + typedef surf facet_type; + + // Verify lifetimes of global objects. + void test03() + { + using namespace std; + bool test = true; + + string name; + locale global_orig; + // 1: Destroyed when out of scope. + { + { + { + VERIFY( counter == 0 ); + { + locale loc01(locale::classic(), new facet_type); + VERIFY( counter == 1 ); + global_orig = locale::global(loc01); + name = loc01.name(); + } + VERIFY( counter == 1 ); + locale loc02 = locale(); + // Weak, but it's something... + VERIFY( loc02.name() == name ); + } + VERIFY( counter == 1 ); + // NB: loc03 should be a copy of the previous global locale. + locale loc03 = locale::global(global_orig); + VERIFY( counter == 1 ); + VERIFY( loc03.name() == name ); + } + VERIFY( counter == 0 ); + locale loc04 = locale(); + VERIFY( loc04 == global_orig ); + } + + // 2: Not destroyed when out of scope, deliberately leaked. + { + { + { + VERIFY( counter == 0 ); + { + locale loc01(locale::classic(), new facet_type(1)); + VERIFY( counter == 1 ); + global_orig = locale::global(loc01); + name = loc01.name(); + } + VERIFY( counter == 1 ); + locale loc02 = locale(); + // Weak, but it's something... + VERIFY( loc02.name() == name ); + } + VERIFY( counter == 1 ); + // NB: loc03 should be a copy of the previous global locale. + locale loc03 = locale::global(global_orig); + VERIFY( counter == 1 ); + VERIFY( loc03.name() == name ); + } + VERIFY( counter == 1 ); + locale loc04 = locale(); + VERIFY( loc04 == global_orig ); + } + VERIFY( counter == 1 ); + + // Restore global settings. + locale::global(global_orig); } int main () { test01(); + test02(); + test03(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/27_io/ios_base_type.cc gcc-3.2.1/libstdc++-v3/testsuite/27_io/ios_base_type.cc *** gcc-3.2/libstdc++-v3/testsuite/27_io/ios_base_type.cc Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/testsuite/27_io/ios_base_type.cc Tue Nov 5 23:48:45 2002 *************** *** 0 **** --- 1,39 ---- + // Copyright (C) 2002 Free Software Foundation + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 2, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING. If not, write to the Free + // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, + // USA. + + // 27.4.2.1 - Types [lib.ios.types] + + #include + + #include + + // libstdc++/7219 + // Annex D, deprecated. + void test01() + { + #if _GLIBCPP_DEPRECATED + std::ios_base::streampos spos; + std::ios_base::streamoff soff; + #endif + } + + int main(void) + { + test01(); + return 0; + } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/27_io/istream_seeks.cc gcc-3.2.1/libstdc++-v3/testsuite/27_io/istream_seeks.cc *** gcc-3.2/libstdc++-v3/testsuite/27_io/istream_seeks.cc Fri Jun 28 08:22:45 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/27_io/istream_seeks.cc Fri Nov 1 16:27:30 2002 *************** bool test01() *** 55,65 **** p4 = ifs2.tellg(); VERIFY( p3 == p4 ); - - #ifdef DEBUG_ASSERT - assert(test); - #endif - return test; } --- 55,60 ---- *************** void test04(void) *** 237,246 **** if01.peek(); pos02 = if01.tellg(); VERIFY( pos02 == pos01 ); - - #ifdef DEBUG_ASSERT - assert(test); - #endif } // stringstreams --- 232,237 ---- *************** void test05(void) *** 351,360 **** VERIFY( state01 == state02 ); pos06 = is03.tellg(); VERIFY( pos05 == pos06 ); ! #ifdef DEBUG_ASSERT ! assert(test); ! #endif } int main() --- 342,391 ---- VERIFY( state01 == state02 ); pos06 = is03.tellg(); VERIFY( pos05 == pos06 ); + } ! // libstdc++/8348 ! void test06(void) ! { ! using namespace std; ! bool test = true; ! string num1("555"); ! ! // tellg ! { ! istringstream iss(num1); ! istream::pos_type pos1 = iss.tellg(); ! int asNum = 0; ! iss >> asNum; ! VERIFY( test = iss.eof() ); ! VERIFY( test = !iss.fail() ); ! iss.tellg(); ! VERIFY( test = !iss.fail() ); ! } ! ! // seekg ! { ! istringstream iss(num1); ! istream::pos_type pos1 = iss.tellg(); ! int asNum = 0; ! iss >> asNum; ! VERIFY( test = iss.eof() ); ! VERIFY( test = !iss.fail() ); ! iss.seekg(0, ios_base::beg); ! VERIFY( test = !iss.fail() ); ! } ! ! // seekg ! { ! istringstream iss(num1); ! istream::pos_type pos1 = iss.tellg(); ! int asNum = 0; ! iss >> asNum; ! VERIFY( test = iss.eof() ); ! VERIFY( test = !iss.fail() ); ! iss.seekg(pos1); ! VERIFY( test = !iss.fail() ); ! } } int main() *************** int main() *** 366,371 **** --- 397,404 ---- test04(); test05(); + + test06(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/27_io/istream_unformatted.cc gcc-3.2.1/libstdc++-v3/testsuite/27_io/istream_unformatted.cc *** gcc-3.2/libstdc++-v3/testsuite/27_io/istream_unformatted.cc Fri Jul 26 23:23:44 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/27_io/istream_unformatted.cc Wed Nov 6 00:08:37 2002 *************** test10() *** 551,556 **** --- 551,575 ---- VERIFY( test ); } + + // libstdc++/8258 + class mybuf : public std::basic_streambuf + { }; + + void test11() + { + bool test = true; + using namespace std; + char arr[10]; + mybuf sbuf; + basic_istream > istr(&sbuf); + + VERIFY(istr.rdstate() == ios_base::goodbit); + VERIFY(istr.readsome(arr, 10) == 0); + VERIFY(istr.rdstate() == ios_base::goodbit); + } + + int main() { *************** main() *** 564,569 **** test08(); test09(); test10(); ! return 0; } --- 583,588 ---- test08(); test09(); test10(); ! test11(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/27_io/narrow_stream_objects.cc gcc-3.2.1/libstdc++-v3/testsuite/27_io/narrow_stream_objects.cc *** gcc-3.2/libstdc++-v3/testsuite/27_io/narrow_stream_objects.cc Fri May 17 11:43:43 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/27_io/narrow_stream_objects.cc Thu Aug 15 22:25:10 2002 *************** *** 66,72 **** #include #include #include ! #include // Include iostream last, just to make is as difficult as possible to // properly initialize the standard iostream objects. --- 66,73 ---- #include #include #include ! //#include ! #define VERIFY(x) x // Include iostream last, just to make is as difficult as possible to // properly initialize the standard iostream objects. *************** void test03() *** 116,134 **** // Interactive test, to be exercised as follows: // assign stderr to stdout in shell command line, // pipe stdout to cat process and/or redirect stdout to file. ! // "hello fine world\n" should be written to stdout in proper order. ! // This is a version of the scott snyder test taken from: ! // http://gcc.gnu.org/ml/libstdc++/1999-q4/msg00108.html void test04() { using namespace std; cout << "hello "; ! cout.flush (); cerr << "fine "; ! cerr.flush (); cout << "world" << endl; ! cout.flush (); } // Interactive test, to be exercised as follows: --- 117,136 ---- // Interactive test, to be exercised as follows: // assign stderr to stdout in shell command line, // pipe stdout to cat process and/or redirect stdout to file. ! // a.out >& output ! // "hello fine world\n" should be written to stdout, and output, in ! // proper order. This is a version of the scott snyder test taken ! // from: http://gcc.gnu.org/ml/libstdc++/1999-q4/msg00108.html void test04() { using namespace std; cout << "hello "; ! cout.flush(); cerr << "fine "; ! cerr.flush(); cout << "world" << endl; ! cout.flush(); } // Interactive test, to be exercised as follows: *************** void test04() *** 138,144 **** // depending upon buffering mode enforced. void test05() { ! std::cout << "hello" << ' ' << "world" <> s; --- 140,146 ---- // depending upon buffering mode enforced. void test05() { ! std::cout << "hello" << ' ' << "world" << std::endl; std::cout << "Enter your name: "; std::string s; std::cin >> s; *************** void test06() *** 169,175 **** void test07() { bool test = true; ! std::cout << "Please, enter 'test':"; std::string s; std::getline(std::cin, s, '\n'); VERIFY( s == "test" ); --- 171,177 ---- void test07() { bool test = true; ! std::cout << "Enter 'test':"; std::string s; std::getline(std::cin, s, '\n'); VERIFY( s == "test" ); *************** void test08() *** 188,197 **** void test09() { bool test = true; ! std::cout << "Enter name: "; std::cin.ignore(2048, '\n'); } int main() { --- 190,210 ---- void test09() { bool test = true; ! std::cout << "Enter favorite beach: "; std::cin.ignore(2048, '\n'); } + // http://gcc.gnu.org/ml/libstdc++/2002-08/msg00060.html + // Should only have to hit enter once. + void + test10() + { + using namespace std; + cout << "Press ENTER once\n"; + cin.ignore(1); + cout << "_M_gcount: "<< cin.gcount() << endl; + } + int main() { *************** main() *** 205,209 **** --- 218,223 ---- // test07(); // test08(); // test09(); + // test10(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/27_io/ostream_inserter_other.cc gcc-3.2.1/libstdc++-v3/testsuite/27_io/ostream_inserter_other.cc *** gcc-3.2/libstdc++-v3/testsuite/27_io/ostream_inserter_other.cc Fri May 24 15:57:47 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/27_io/ostream_inserter_other.cc Fri Oct 11 08:15:58 2002 *************** void test04() *** 149,154 **** --- 149,247 ---- VERIFY( test ); } + + class test_buffer_1 : public std::streambuf + { + public: + test_buffer_1(const std::string& s) : str(s), it(str.begin()) { } + + protected: + virtual int underflow() { return (it != str.end() ? *it : EOF); } + virtual int uflow() { return (it != str.end() ? *it++ : EOF); } + + private: + const std::string str; + std::string::const_iterator it; + }; + + + class test_buffer_2 : public std::streambuf + { + public: + test_buffer_2(const std::string& s) : str(s), it(str.begin()) { } + + protected: + virtual int underflow() { return (it != str.end() ? *it : EOF); } + virtual int uflow() { return (it != str.end() ? *it++ : EOF); } + virtual std::streamsize showmanyc() { return std::distance(it, str.end()); } + private: + const std::string str; + std::string::const_iterator it; + }; + + + class test_buffer_3 : public std::streambuf + { + public: + test_buffer_3(const std::string& s) : str(s), it(str.begin()) { } + + protected: + virtual int underflow() { return (it != str.end() ? *it : EOF); } + virtual int uflow() { return (it != str.end() ? *it++ : EOF); } + virtual std::streamsize showmanyc() + { + std::streamsize ret = std::distance(it, str.end()); + return ret > 0 ? ret : -1; + } + private: + const std::string str; + std::string::const_iterator it; + }; + + + void test(const std::string& str, std::streambuf& buf) + { + bool test = true; + + std::ostringstream out; + std::istream in(&buf); + + out << in.rdbuf(); + + if (out.str() != str) + VERIFY( false ); + } + + // libstdc++/6745 + // libstdc++/8071 + // libstdc++/8127 + // Jonathan Lennox + void test05() + { + std::ostringstream out_1, out_2, out_3, out_4; + + std::string string_a("Hello, world!"); + std::string string_b(""); + + test_buffer_1 buf1a(string_a); + test_buffer_1 buf1b(string_b); + + test_buffer_2 buf2a(string_a); + test_buffer_2 buf2b(string_b); + + test_buffer_3 buf3a(string_a); + test_buffer_3 buf3b(string_b); + + test(string_a, buf1a); + test(string_b, buf1b); + + test(string_a, buf2a); + test(string_b, buf2b); + + test(string_a, buf3a); + test(string_b, buf3b); + } + int main() { *************** main() *** 156,161 **** test02(); test03(); test04(); ! return 0; } --- 249,255 ---- test02(); test03(); test04(); ! ! test05(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/27_io/stringstream_members.cc gcc-3.2.1/libstdc++-v3/testsuite/27_io/stringstream_members.cc *** gcc-3.2/libstdc++-v3/testsuite/27_io/stringstream_members.cc Fri Jul 26 23:23:43 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/27_io/stringstream_members.cc Tue Nov 5 23:35:40 2002 *************** test03() *** 177,186 **** --- 177,202 ---- std::stringstream ss2(str3, std::ios_base::in|std::ios_base::out); } + // libstdc++/8466 + void test04() + { + bool test = true; + + const char* strlit00 = "orvieto"; + const std::string str00 = strlit00; + + std::ostringstream oss; + + oss.str(str00); + oss << "cortona"; + VERIFY( str00 == strlit00 ); + } + int main() { test01(); test02(); test03(); + test04(); return 0; } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/Makefile.am gcc-3.2.1/libstdc++-v3/testsuite/Makefile.am *** gcc-3.2/libstdc++-v3/testsuite/Makefile.am Mon May 14 01:15:35 2001 --- gcc-3.2.1/libstdc++-v3/testsuite/Makefile.am Fri Sep 6 02:37:44 2002 *************** *** 1,6 **** ## Makefile for the testsuite subdirectory of the GNU C++ Standard library. ## ! ## Copyright (C) 2001 Free Software Foundation, Inc. ## ## This file is part of the libstdc++ version 3 distribution. ## Process this file with automake to produce Makefile.in. --- 1,6 ---- ## Makefile for the testsuite subdirectory of the GNU C++ Standard library. ## ! ## Copyright (C) 2001, 2002 Free Software Foundation, Inc. ## ## This file is part of the libstdc++ version 3 distribution. ## Process this file with automake to produce Makefile.in. *************** *** 21,27 **** ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## USA. ! AUTOMAKE_OPTIONS = foreign dejagnu DEJATOOL = libstdc++-v3 --- 21,27 ---- ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## USA. ! AUTOMAKE_OPTIONS = cygnus dejagnu DEJATOOL = libstdc++-v3 *************** RUNTEST = `if [ -f @glibcpp_srcdir@/../d *** 35,37 **** --- 35,58 ---- RUNTESTFLAGS = + ## CXX is actually a "C" compiler. These are real C++ programs. + ## Do the same thing as `testsuite_flags --build-cxx` + CXX_fake = @glibcpp_CXX@ + CXX=`echo $(CXX_fake) | sed 's/xgcc/g++/g'` + CXXLINK = \ + LD_RUN_PATH=${LD_RUN_PATH:+$LD_RUN_PATH:}${glibcpp_builddir}/src/.libs\ + $(LIBTOOL) --tag=CXX --mode=link $(CXX) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ + + INCLUDES = \ + -nostdinc++ \ + @GLIBCPP_INCLUDES@ @LIBSUPCXX_INCLUDES@ @TOPLEVEL_INCLUDES@ + + ## Build support utilities. + ## Only build this as native, as need to find startup files and libc to link. + if GLIBCPP_BUILD_ABI_CHECK + noinst_PROGRAMS = abi_check + else + noinst_PROGRAMS = + endif + abi_check_SOURCES = abi_check.cc diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/Makefile.in gcc-3.2.1/libstdc++-v3/testsuite/Makefile.in *** gcc-3.2/libstdc++-v3/testsuite/Makefile.in Fri Jun 28 08:22:41 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/Makefile.in Fri Sep 13 01:21:42 2002 *************** CMESSAGES_H = @CMESSAGES_H@ *** 76,82 **** CPP = @CPP@ CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@ CSTDIO_H = @CSTDIO_H@ - CXX = @CXX@ CXXCPP = @CXXCPP@ C_INCLUDE_DIR = @C_INCLUDE_DIR@ DEBUG_FLAGS = @DEBUG_FLAGS@ --- 76,81 ---- *************** USE_NLS = @USE_NLS@ *** 112,117 **** --- 111,117 ---- VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ WERROR = @WERROR@ + baseline_file = @baseline_file@ check_msgfmt = @check_msgfmt@ enable_shared = @enable_shared@ enable_static = @enable_static@ *************** libio_la = @libio_la@ *** 132,138 **** libtool_VERSION = @libtool_VERSION@ toplevel_srcdir = @toplevel_srcdir@ ! AUTOMAKE_OPTIONS = foreign dejagnu DEJATOOL = libstdc++-v3 --- 132,138 ---- libtool_VERSION = @libtool_VERSION@ toplevel_srcdir = @toplevel_srcdir@ ! AUTOMAKE_OPTIONS = cygnus dejagnu DEJATOOL = libstdc++-v3 *************** RUNTEST = `if [ -f @glibcpp_srcdir@/../d *** 147,155 **** --- 147,187 ---- RUNTESTFLAGS = + + CXX_fake = @glibcpp_CXX@ + CXX = `echo $(CXX_fake) | sed 's/xgcc/g++/g'` + CXXLINK = \ + LD_RUN_PATH=${LD_RUN_PATH:+$LD_RUN_PATH:}${glibcpp_builddir}/src/.libs\ + $(LIBTOOL) --tag=CXX --mode=link $(CXX) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ + + + INCLUDES = \ + -nostdinc++ \ + @GLIBCPP_INCLUDES@ @LIBSUPCXX_INCLUDES@ @TOPLEVEL_INCLUDES@ + + @GLIBCPP_BUILD_ABI_CHECK_TRUE@noinst_PROGRAMS = @GLIBCPP_BUILD_ABI_CHECK_TRUE@abi_check + @GLIBCPP_BUILD_ABI_CHECK_FALSE@noinst_PROGRAMS = + abi_check_SOURCES = abi_check.cc mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = + @GLIBCPP_BUILD_ABI_CHECK_FALSE@noinst_PROGRAMS = + PROGRAMS = $(noinst_PROGRAMS) + + + DEFS = @DEFS@ -I. -I$(srcdir) -I.. + CPPFLAGS = @CPPFLAGS@ + LDFLAGS = @LDFLAGS@ + LIBS = @LIBS@ + abi_check_OBJECTS = abi_check.$(OBJEXT) + abi_check_LDADD = $(LDADD) + abi_check_DEPENDENCIES = + abi_check_LDFLAGS = + CXXFLAGS = @CXXFLAGS@ + CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) + LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) + CXXLD = $(CXX) DIST_COMMON = README Makefile.am Makefile.in *************** DISTFILES = $(DIST_COMMON) $(SOURCES) $( *** 157,164 **** --- 189,200 ---- TAR = gtar GZIP_ENV = --best + SOURCES = $(abi_check_SOURCES) + OBJECTS = $(abi_check_OBJECTS) + all: all-redirect .SUFFIXES: + .SUFFIXES: .S .c .cc .lo .o .obj .s $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --cygnus testsuite/Makefile *************** Makefile: $(srcdir)/Makefile.in $(top_b *** 166,174 **** cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status tags: TAGS - TAGS: distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) --- 202,299 ---- cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + mostlyclean-noinstPROGRAMS: + + clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + + distclean-noinstPROGRAMS: + + maintainer-clean-noinstPROGRAMS: + + .c.o: + $(COMPILE) -c $< + + # FIXME: We should only use cygpath when building on Windows, + # and only if it is available. + .c.obj: + $(COMPILE) -c `cygpath -w $<` + + .s.o: + $(COMPILE) -c $< + + .S.o: + $(COMPILE) -c $< + + mostlyclean-compile: + -rm -f *.o core *.core + -rm -f *.$(OBJEXT) + + clean-compile: + + distclean-compile: + -rm -f *.tab.c + + maintainer-clean-compile: + + .c.lo: + $(LIBTOOL) --mode=compile $(COMPILE) -c $< + + .s.lo: + $(LIBTOOL) --mode=compile $(COMPILE) -c $< + + .S.lo: + $(LIBTOOL) --mode=compile $(COMPILE) -c $< + + mostlyclean-libtool: + -rm -f *.lo + + clean-libtool: + -rm -rf .libs _libs + + distclean-libtool: + + maintainer-clean-libtool: + + abi_check$(EXEEXT): $(abi_check_OBJECTS) $(abi_check_DEPENDENCIES) + @rm -f abi_check$(EXEEXT) + $(CXXLINK) $(abi_check_LDFLAGS) $(abi_check_OBJECTS) $(abi_check_LDADD) $(LIBS) + .cc.o: + $(CXXCOMPILE) -c $< + .cc.obj: + $(CXXCOMPILE) -c `cygpath -w $<` + .cc.lo: + $(LTCXXCOMPILE) -c $< + tags: TAGS + ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + + TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) + + mostlyclean-tags: + + clean-tags: + + distclean-tags: + -rm -f TAGS ID + + maintainer-clean-tags: distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) *************** install-am: all-am *** 241,247 **** install: install-am uninstall-am: uninstall: uninstall-am ! all-am: Makefile all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install --- 366,372 ---- install: install-am uninstall-am: uninstall: uninstall-am ! all-am: Makefile $(PROGRAMS) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install *************** distclean-generic: *** 257,287 **** -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: ! mostlyclean-am: mostlyclean-generic mostlyclean: mostlyclean-am ! clean-am: clean-generic mostlyclean-am clean: clean-am ! distclean-am: distclean-generic clean-am -rm -f libtool distclean: distclean-am ! maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." maintainer-clean: maintainer-clean-am ! .PHONY: tags distdir check-DEJAGNU info-am info dvi-am dvi check \ ! check-am installcheck-am installcheck install-info-am install-info \ ! install-exec-am install-exec install-data-am install-data install-am \ ! install uninstall-am uninstall all-redirect all-am all installdirs \ ! mostlyclean-generic distclean-generic clean-generic \ ! maintainer-clean-generic clean mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. --- 382,426 ---- -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: ! mostlyclean-am: mostlyclean-noinstPROGRAMS mostlyclean-compile \ ! mostlyclean-libtool mostlyclean-tags \ ! mostlyclean-generic mostlyclean: mostlyclean-am ! clean-am: clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \ ! clean-generic mostlyclean-am clean: clean-am ! distclean-am: distclean-noinstPROGRAMS distclean-compile \ ! distclean-libtool distclean-tags distclean-generic \ ! clean-am -rm -f libtool distclean: distclean-am ! maintainer-clean-am: maintainer-clean-noinstPROGRAMS \ ! maintainer-clean-compile maintainer-clean-libtool \ ! maintainer-clean-tags maintainer-clean-generic \ ! distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." maintainer-clean: maintainer-clean-am ! .PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ ! clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ ! mostlyclean-compile distclean-compile clean-compile \ ! maintainer-clean-compile mostlyclean-libtool distclean-libtool \ ! clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ ! distclean-tags clean-tags maintainer-clean-tags distdir check-DEJAGNU \ ! info-am info dvi-am dvi check check-am installcheck-am installcheck \ ! install-info-am install-info install-exec-am install-exec \ ! install-data-am install-data install-am install uninstall-am uninstall \ ! all-redirect all-am all installdirs mostlyclean-generic \ ! distclean-generic clean-generic maintainer-clean-generic clean \ ! mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/abi_check.cc gcc-3.2.1/libstdc++-v3/testsuite/abi_check.cc *** gcc-3.2/libstdc++-v3/testsuite/abi_check.cc Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/libstdc++-v3/testsuite/abi_check.cc Thu Nov 7 00:24:48 2002 *************** *** 0 **** --- 1,411 ---- + // Utility for libstdc++ ABI analysis -*- C++ -*- + + // Copyright (C) 2002 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the + // terms of the GNU General Public License as published by the + // Free Software Foundation; either version 2, or (at your option) + // any later version. + + // This library is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License along + // with this library; see the file COPYING. If not, write to the Free + // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, + // USA. + + // As a special exception, you may use this file as part of a free software + // library without restriction. Specifically, if other files instantiate + // templates or use macros or inline functions from this file, or you compile + // this file and link it with other files to produce an executable, this + // file does not by itself cause the resulting executable to be covered by + // the GNU General Public License. This exception does not however + // invalidate any other reasons why the executable file might be covered by + // the GNU General Public License. + + // Benjamin Kosnik + // Blame subsequent hacks on Loren J. Rittle , Phil + // Edwards , and a cast of dozens at libstdc++@gcc.gnu.org. + + #include + #include + #include + #include + #include + #include + #include + #include // for system(3) + #include // for access(2) + + struct symbol_info + { + enum category { none, function, object, error }; + category type; + std::string name; + std::string demangled_name; + int size; + std::string version_name; + + symbol_info() : type(none), size(0) { } + + symbol_info(const symbol_info& other) + : type(other.type), name(other.name), demangled_name(other.demangled_name), + size(other.size), version_name(other.version_name) { } + }; + + namespace __gnu_cxx + { + using namespace std; + + template<> + struct hash + { + size_t operator()(const string& s) const + { + const collate& c = use_facet >(locale::classic()); + return c.hash(s.c_str(), s.c_str() + s.size()); + } + }; + } + + typedef std::deque symbol_names; + typedef __gnu_cxx::hash_map symbol_infos; + + bool + check_compatible(const symbol_info& lhs, const symbol_info& rhs, + bool verbose = false) + { + using namespace std; + bool ret = true; + const char tab = '\t'; + + // Check to see if symbol_infos are compatible. + if (lhs.type != rhs.type) + { + ret = false; + if (verbose) + { + cout << tab << "incompatible types" << endl; + } + } + + if (lhs.name != rhs.name) + { + ret = false; + if (verbose) + { + cout << tab << "incompatible names" << endl; + } + } + + if (lhs.size != rhs.size) + { + ret = false; + if (verbose) + { + cout << tab << "incompatible sizes" << endl; + cout << tab << lhs.size << endl; + cout << tab << rhs.size << endl; + } + } + + if (lhs.version_name != rhs.version_name) + { + ret = false; + if (verbose) + { + cout << tab << "incompatible versions" << endl; + cout << tab << lhs.version_name << endl; + cout << tab << rhs.version_name << endl; + } + } + + if (verbose) + cout << endl; + + return ret; + } + + const char* + demangle(const std::string& mangled) + { + const char* name; + if (mangled[0] != '_' && mangled[1] != 'Z') + { + // This is not a mangled symbol, thus has "C" linkage. + name = mangled.c_str(); + } + else + { + // Use __cxa_demangle to demangle. + int status = 0; + name = abi::__cxa_demangle(mangled.c_str(), 0, 0, &status); + if (!name) + { + switch (status) + { + case 0: + name = "error code = 0: success"; + break; + case -1: + name = "error code = -1: memory allocation failure"; + break; + case -2: + name = "error code = -2: invalid mangled name"; + break; + case -3: + name = "error code = -3: invalid arguments"; + break; + default: + name = "error code unknown - who knows what happened"; + } + } + } + return name; + } + + void + line_to_symbol_info(std::string& input, symbol_info& output) + { + using namespace std; + const char delim = ':'; + const char version_delim = '@'; + const string::size_type npos = string::npos; + string::size_type n = 0; + + // Set the type. + if (input.find("FUNC") == 0) + output.type = symbol_info::function; + else if (input.find("OBJECT") == 0) + output.type = symbol_info::object; + else + output.type = symbol_info::error; + n = input.find_first_of(delim); + if (n != npos) + input.erase(input.begin(), input.begin() + n + 1); + + // Iff object, get size info. + if (output.type == symbol_info::object) + { + n = input.find_first_of(delim); + if (n != npos) + { + string size(input.begin(), input.begin() + n); + istringstream iss(size); + int x; + iss >> x; + if (!iss.fail()) + output.size = x; + input.erase(input.begin(), input.begin() + n + 1); + } + } + + // Set the name. + n = input.find_first_of(version_delim); + if (n != npos) + { + // Found version string. + output.name = string(input.begin(), input.begin() + n); + n = input.find_last_of(version_delim); + input.erase(input.begin(), input.begin() + n + 1); + + // Set version name. + output.version_name = input; + } + else + { + // No versioning info. + output.name = string(input.begin(), input.end()); + input.erase(input.begin(), input.end()); + } + + // Set the demangled name. + output.demangled_name = demangle(output.name); + } + + void + create_symbol_data(const char* file, symbol_infos& symbols, + symbol_names& names) + { + // Parse list of symbols in file into vectors of symbol_info. + // For 3.2.0 on x86/linux, this usually is + // 947 non-weak symbols + // 2084 weak symbols + using namespace std; + ifstream ifs(file); + if (ifs.is_open()) + { + // Organize input into container of symbol_info objects. + const string empty; + string line = empty; + while (getline(ifs, line).good()) + { + symbol_info symbol; + line_to_symbol_info(line, symbol); + symbols[symbol.name] = symbol; + names.push_back(symbol.name); + line = empty; + } + } + } + + void + report_symbol_info(const symbol_info& symbol, std::size_t n, bool ret = true) + { + using namespace std; + const char tab = '\t'; + cout << tab << n << endl; + cout << tab << "symbol"<< endl; + cout << tab << symbol.name << endl; + + // Add any other information to display here. + cout << tab << "demangled symbol"<< endl; + cout << tab << symbol.demangled_name << endl; + + if (ret) + cout << endl; + } + + + int + main(int argc, char** argv) + { + using namespace std; + + // Get arguments. (Heading towards getopt_long, I can feel it.) + string argv1; + if (argc < 4 || (string("--help") == (argv1 = argv[1]))) + { + cerr << "Usage: abi_check --check cur baseline\n" + " --help\n\n" + "Where CUR is a file containing the current results from\n" + "extract_symvers, and BASELINE is one from config/abi.\n" + << endl; + exit(1); + } + + + // Quick sanity/setup check for arguments. + const char* test_file = argv[2]; + const char* baseline_file = argv[3]; + if (access(test_file, R_OK) != 0) + { + cerr << "Cannot read symbols file " << test_file + << ", did you forget to build first?" << endl; + exit(1); + } + if (access(baseline_file, R_OK) != 0) + { + cerr << "Cannot read baseline file " << baseline_file << endl; + exit(1); + } + + // Input both lists of symbols into container. + symbol_infos baseline_symbols; + symbol_names baseline_names; + symbol_infos test_symbols; + symbol_names test_names; + create_symbol_data(baseline_file, baseline_symbols, baseline_names); + create_symbol_data(test_file, test_symbols, test_names); + + // Sanity check results. + const symbol_names::size_type baseline_size = baseline_names.size(); + const symbol_names::size_type test_size = test_names.size(); + if (!baseline_size || !test_size) + { + cerr << "Problems parsing the list of exported symbols." << endl; + exit(2); + } + + #ifndef _ARCH_PWR + // Sort out names. + // Assuming baseline_names, test_names are both unique w/ no duplicates. + // + // The names added to missing_names are baseline_names not found in + // test_names + // -> symbols that have been deleted. + // + // The names added to added_names are test_names are names not in + // baseline_names + // -> symbols that have been added. + symbol_names shared_names; + symbol_names missing_names; + symbol_names added_names = test_names; + for (size_t i = 0; i < baseline_size; ++i) + { + string what(baseline_names[i]); + symbol_names::iterator end = added_names.end(); + symbol_names::iterator it = find(added_names.begin(), end, what); + if (it != end) + { + // Found. + shared_names.push_back(what); + added_names.erase(it); + } + else + missing_names.push_back(what); + } + + // Check shared names for compatibility. + typedef pair symbol_pair; + vector incompatible; + for (size_t i = 0; i < shared_names.size(); ++i) + { + symbol_info base = baseline_symbols[shared_names[i]]; + symbol_info test = test_symbols[shared_names[i]]; + if (!check_compatible(base, test)) + incompatible.push_back(symbol_pair(base, test)); + } + + // Check added names for compatibility. + for (size_t i = 0; i < added_names.size(); ++i) + { + vector compatible_versions; + compatible_versions.push_back("GLIBCPP_3.2.1"); + + symbol_info test = test_symbols[added_names[i]]; + vector::iterator end = compatible_versions.end(); + + // Check version names for compatibility... + vector::iterator it1 = find(compatible_versions.begin(), end, + test.version_name); + + // Check for weak label. + vector::iterator it2 = find(compatible_versions.begin(), end, + test.name); + + if (it1 == end && it2 == end) + { + incompatible.push_back(symbol_pair(test, test)); + cout << test.version_name << endl; + } + } + + // Report results. + cout << added_names.size() << " added symbols " << endl; + for (size_t j = 0; j < added_names.size() ; ++j) + report_symbol_info(test_symbols[added_names[j]], j + 1); + + cout << missing_names.size() << " missing symbols " << endl; + for (size_t j = 0; j < missing_names.size() ; ++j) + report_symbol_info(baseline_symbols[missing_names[j]], j + 1); + + cout << incompatible.size() << " incompatible symbols " << endl; + for (size_t j = 0; j < incompatible.size() ; ++j) + { + // First, report name. + const symbol_info& base = incompatible[j].first; + const symbol_info& test = incompatible[j].second; + report_symbol_info(test, j + 1, false); + + // Second, report reason or reasons incompatible. + check_compatible(base, test, true); + } + #endif + + return 0; + } diff -Nrc3pad gcc-3.2/libstdc++-v3/testsuite/testsuite_hooks.h gcc-3.2.1/libstdc++-v3/testsuite/testsuite_hooks.h *** gcc-3.2/libstdc++-v3/testsuite/testsuite_hooks.h Thu Aug 1 21:29:17 2002 --- gcc-3.2.1/libstdc++-v3/testsuite/testsuite_hooks.h Fri Nov 1 04:54:04 2002 *************** void *** 85,91 **** __set_testsuite_memlimit(float __size = MEMLIMIT_MB) { struct rlimit r; ! rlim_t limit = (rlim_t)(__size * 1048576); // Heap size, seems to be common. #if _GLIBCPP_HAVE_MEMLIMIT_DATA --- 85,93 ---- __set_testsuite_memlimit(float __size = MEMLIMIT_MB) { struct rlimit r; ! // Cater to the absence of rlim_t. ! __typeof__ (r.rlim_cur) limit ! = (__typeof__ (r.rlim_cur))(__size * 1048576); // Heap size, seems to be common. #if _GLIBCPP_HAVE_MEMLIMIT_DATA