diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index de3261256dc..83ea96b7b3d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -10,10 +10,10 @@ * cp-tree.h (struct lang_type): Add com_interface. (CLASSTYPE_COM_INTERFACE): New macro. - * class.c (set_rtti_entry): COM interface classes have no RTTI + * class.c (set_rtti_entry): COM interface classes have no RTTI entries in their vtables; adjust. (add_virtual_function, finish_base_struct, skip_rtti_stuff, - modify_one_vtable, fixup_vtable_deltas1, override_one_vtable, + modify_one_vtable, fixup_vtable_deltas1, override_one_vtable, finish_struct_1): Likewise. * decl2.c (mark_vtable_entries): Likewise. * rtti.c (build_headof, get_tinfo_fn_dynamic): Likewise. @@ -24,7 +24,7 @@ * cp-tree.h (COMPARE_NO_ATTRIBUTES): New macro. * typeck.c (comptypes): If we get it, ignore attributes. * class.c (instantiate_type): Use BASELINK_P. Change complain - parameter to flags; 2 means ignore attributes. + parameter to flags; 2 means ignore attributes. * call.c (build_op_delete_call): Pass it. * decl.c (xref_tag): Only complain once about using a typedef-name @@ -57,7 +57,7 @@ * decl.c (make_typename_type): Complain if we don't find a type when trying to make a typename type for a non-template type. - + 1999-04-09 Jason Merrill * decl.c (start_decl): Pass attributes to grokdeclarator. @@ -89,7 +89,7 @@ * tree.c (is_overloaded_fn): Use BASELINK_P. (really_overloaed_fn): Likewise. (get_first_fn): Likewise. - + 1999-04-05 Mark Mitchell * decl.c (lookup_name_current_level): Tweak, and improve @@ -98,7 +98,7 @@ * class.c (maybe_fixup_vptrs): Remove declaration. (build_class_init_list): Likewise. * decl.c (pushdecl_class_level): Call check_template_shadow here - ... + ... (push_class_level_binding): ... not here. * search.c (dfs_push_type_decls): Only avoid template-self-reference TYPE_DECLs if they are from base classes. @@ -116,7 +116,7 @@ 1999-04-02 Mark Mitchell * tinfo.h (__class_type_info): Fix illegal declaration. - + * cp-tree.def (TEMPLATE_ID_EXPR): Update comment. * cp-tree.h (INHERITED_VALUE_BINDING_P): New macro. (IDENTIFIER_CLASS_VALUE): Improve documentation. @@ -232,7 +232,7 @@ COMPONENT_REF, not a TREE_LIST of an OVERLOAD. (build_x_function_call): Deal with OVERLOAD. Handle template-ids. * Makefile.in (class.o): Depend on splay-tree.h. - + Wed Mar 31 11:30:43 BST 1999 Nathan Sidwell * cvt.c (convert_pointer_to_real): Use same_type_p. @@ -256,19 +256,19 @@ Wed Mar 31 11:30:43 BST 1999 Nathan Sidwell Wed Mar 31 10:48:29 1999 Kaveh R. Ghazi - * Makefile.in (hash.h): Generate using gperf language 'C', not - 'KR-C', so gperf uses the `const' keyword on strings. - - * gxx.gperf (resword): Const-ify a char*. + * Makefile.in (hash.h): Generate using gperf language 'C', not + 'KR-C', so gperf uses the `const' keyword on strings. + + * gxx.gperf (resword): Const-ify a char*. 1999-03-30 Jason Merrill - * cp-tree.h (IDENTIFIER_AS_DESC, IDENTIFIER_AS_LIST, - CLASSTYPE_BASELINK_VEC, CLASSTYPE_N_SUPERCLASSES, - CLASSTYPE_N_BASECLASSES, CLASSTYPE_MAX_DEPTH, + * cp-tree.h (IDENTIFIER_AS_DESC, IDENTIFIER_AS_LIST, + CLASSTYPE_BASELINK_VEC, CLASSTYPE_N_SUPERCLASSES, + CLASSTYPE_N_BASECLASSES, CLASSTYPE_MAX_DEPTH, CLASSTYPE_BASE_INIT_LIST, CLASSTYPE_AS_LIST, CLASSTYPE_ID_AS_LIST, CLASSTYPE_BINFO_AS_LIST): Remove cruft. - * class.c, lex.c, parse.y, ptree.c, search.c, semantics.c, + * class.c, lex.c, parse.y, ptree.c, search.c, semantics.c, tree.c: Adjust. 1999-03-29 Jason Merrill @@ -293,7 +293,7 @@ Wed Mar 31 10:48:29 1999 Kaveh R. Ghazi * pt.c (instantiate_class_template): Use add_friend and add_friends rather that duplicating some of their functionality here. - + 1999-03-27 Jason Merrill * call.c (build_field_call): Unify 'this' and non-'this' cases. @@ -313,8 +313,8 @@ Fri Mar 26 10:20:34 1999 Kaveh R. Ghazi * cvt.c (convert_to_reference): Likewise. * decl.c (redeclaration_error_message, record_builtin_type, - record_unknown_type, member_function_or_else, bad_specifiers): - Likewise. + record_unknown_type, member_function_or_else, bad_specifiers): + Likewise. (find_binding, select_decl, unqualified_namespace_lookup, lookup_flags, qualify_lookup, record_builtin_java_type, tag_name): Add static prototype. @@ -332,7 +332,7 @@ Fri Mar 26 10:20:34 1999 Kaveh R. Ghazi (yyerror, init_repo): Const-ify a char*. (build_srcloc): Don't prototype. (build_x_indirect_ref, build_indirect_ref, build_component_addr): - Const-ify a char*. + Const-ify a char*. (warn_for_assignment): Don't prototype. (convert_for_initialization, readonly_error, check_for_new_type, GNU_xref_begin, GNU_xref_file, GNU_xref_ref, GNU_xref_call): @@ -426,7 +426,7 @@ Fri Mar 26 10:20:34 1999 Kaveh R. Ghazi 1999-03-25 Mark Mitchell - * pt.c (tsubst_decl): Tsubst into DECL_BEFRIENDING_CLASSES. + * pt.c (tsubst_decl): tsubst into DECL_BEFRIENDING_CLASSES. 1999-03-25 Nathan Sidwell @@ -476,14 +476,14 @@ Fri Mar 26 10:20:34 1999 Kaveh R. Ghazi (make_friend_class): Likewise. Update CLASSTYPE_BEFRIENDING_CLASSES. * pt.c (instantiate_class_template): Don't set - TYPE_HAS_ASSIGNMENT. + TYPE_HAS_ASSIGNMENT. (tsubst_copy): Substitute the TREE_TYPE for more unary expressions. * ptree.c (print_lang_type): Don't look at TYPE_HAS_ASSIGNMENT. * search.c (protected_accessible_p): New function. (friend_accessible_p): Likewise. (accessible_p): Use them. - + 1999-03-23 Mark Mitchell * pt.c (convert_nontype_argument): Don't create things that aren't @@ -513,7 +513,7 @@ Fri Mar 26 10:20:34 1999 Kaveh R. Ghazi * cp-tree.h (TYPE_PTRMEMFUNC_P): Use TYPE_PTRMEMFUNC_FLAG. Document internals of pointer-to-member-functions. (DELTA2_FROM_PTRMEMFUNC): Make it call delta2_from_ptrmemfunc. - (PFN_FROM_PTRMEMFUNC): Similarly. + (PFN_FROM_PTRMEMFUNC): Likewise. (build_type_conversion): Remove unused parameter. (build_ptrmemfunc1): Declare. (expand_ptrmemfunc_cst): New function. @@ -540,7 +540,7 @@ Fri Mar 26 10:20:34 1999 Kaveh R. Ghazi (expand_ptrmemfunc_cst): Define. (delta2_from_ptrmemfunc): Likewise. (pfn_from_ptrmemfunc): Likewise. - + 1999-03-19 Mark Mitchell * init.c (build_member_call): Handle template-id expressions @@ -559,23 +559,23 @@ Fri Mar 26 10:20:34 1999 Kaveh R. Ghazi 1999-03-19 Alexandre Oliva - * Make-lang.in: ($(INTL_TARGETS)): depend on cp/parse.c - ($(srcdir)/cp/parse.c): moved from ../Makefile.in + * Make-lang.in: ($(INTL_TARGETS)): Depend on cp/parse.c. + ($(srcdir)/cp/parse.c): Moved from ../Makefile.in. 1999-03-17 Martin von Löwis - * parse.y (named_complex_class_head_sans_basetype): + * parse.y (named_complex_class_head_sans_basetype): Do not push a scope for error_mark_node. (maybe_base_class_list): Likewise. * decl.c (start_decl): Check for error_mark_node as a type. Detected by g++.brendan/array-refs.C. - (start_decl_1): Likewise. Detected by g++.bugs/900322_01.C. - (maybe_build_cleanup_1): Likewise. Detected by + (start_decl_1): Likewise. Detected by g++.bugs/900322_01.C. + (maybe_build_cleanup_1): Likewise. Detected by g++.jason/incomplete1.C. * tree.c (build_dummy_object): Use void_zero_node instead of the - error_mark_node + error_mark_node. (is_dummy_object): Check for such a node. Detected by g++.bob/inherit1.C @@ -587,7 +587,7 @@ Fri Mar 26 10:20:34 1999 Kaveh R. Ghazi Mon Mar 15 21:57:16 1999 Kaveh R. Ghazi - * lex.c: Don't include setjmp.h. + * lex.c: Don't include setjmp.h. (parse_float): New static function. (pf_args): New struct. (real_yylex): Use them in call to `do_float_handler'. @@ -597,12 +597,12 @@ Mon Mar 15 21:57:16 1999 Kaveh R. Ghazi * decl.c (xref_basetypes): Set CLASSTYPE_VBASECLASSES here. * tree.c (layout_basetypes): Not here. * search.c (dfs_search): Remove; no longer used. - + 1999-03-12 Mark Mitchell * decl2.c (validate_nonmember_using_decl): Issue sensible error-messages on bogus qualifiers. - + 1999-03-14 Jason Merrill * call.c (add_function_candidate): Fix uninitialized variable. @@ -622,8 +622,8 @@ Mon Mar 15 21:57:16 1999 Kaveh R. Ghazi (process_overload_item): Strip typedefs and quals at the top. (build_mangled_name_for_type_with_Gcode): Remove call to type_canonical_variant. - (build_mangled_name): Likewise. Remove support for old-style - repeats, which have been disabled since 2.7.2. Don't mess with + (build_mangled_name): Likewise. Remove support for old-style + repeats, which have been disabled since 2.7.2. Don't mess with TREE_USED. (build_decl_overload_real): Don't mess with TREE_USED. @@ -633,28 +633,28 @@ Mon Mar 15 21:57:16 1999 Kaveh R. Ghazi (dump_type_real): Remove TREE_LIST (fnargs) printing. Functionality moved to dump_parameters. (dump_type_suffix): Use dump_parameters and dump_exception_spec. - (dump_function_decl): Extend meaning of V parameter. Use + (dump_function_decl): Extend meaning of V parameter. Use dump_parameters and dump_exception_spec. (dump_parameters): New static function. (dump_exception_spec): New static function. - (fndecl_as_string): Change argument semantics. Use + (fndecl_as_string): Change argument semantics. Use dump_function_decl directly. - + * sig.c (build_signature_table_constructor): Use cp_error. - + 1999-03-13 Martin von Löwis * semantics.c (finish_switch_cond): Handle error cases gracefully. - Detected by g++.law/enum5.C + Detected by g++.law/enum5.C. * typeck.c (build_modify_expr): Check for errors after resolving - offsets. Detected by g++.brendan/static1.C + offsets. Detected by g++.brendan/static1.C. * decl.c (complete_array_type): Ignore initial_value if it is an - error. Detected by g++.benjamin/17930.C + error. Detected by g++.benjamin/17930.C. * typeck2.c (process_init_constructor): Return error if one argument - is in error. Detected by g++.benjamin/13478.C + is in error. Detected by g++.benjamin/13478.C. 1999-03-12 Martin von Löwis @@ -718,7 +718,7 @@ Mon Mar 15 21:57:16 1999 Kaveh R. Ghazi not set. (get_template_base): Use new calling convention for dfs_walk. * search.c: Include varray.h. Add prototypes. - (dfs_walk): Accept a data pointer to pass to the work functions. + (dfs_walk): Accept a data pointer to pass to the work functions. All callers changed. All work functions changed. (breadth_first_search): Rename to bfs_walk, and make consistent with dfs_walk. @@ -782,7 +782,7 @@ Mon Mar 15 21:57:16 1999 Kaveh R. Ghazi duplicating logic. (compute_access): Robustify. (lookup_fnfield_info): New structure. - + 1999-03-05 Jason Merrill * pt.c (tsubst, case ARRAY_REF): Use tsubst_expr again. @@ -816,18 +816,18 @@ Mon Mar 15 21:57:16 1999 Kaveh R. Ghazi * typeck.c (complete_type_or_else): Add VALUE arg, for helpful diagnostics. - cp-tree.h (complete_type_or_else): Added VALUE parameter. + * cp-tree.h (complete_type_or_else): Added VALUE parameter. * init.c (build_new_1): Extra arg to complete_type_or_else. (build_delete): Likewise. * typeck.c (require_complete_type): Likewise. (pointer_int_sum): Likewise. (pointer_diff): Likewise. (build_component_ref): Likewise. - + * typeck2.c (incomplete_type_error): Always use cp_error. Show declaration of undefined type, if appropriate. Deal with UNKNOWN_TYPE nodes. - + * typeck.c (require_complete_type): Use TYPE_SIZE as size_zero_node to mean incomplete type. (require_complete_type_in_void): New function. @@ -835,30 +835,31 @@ Mon Mar 15 21:57:16 1999 Kaveh R. Ghazi (build_c_cast): Call complete_type_in_void for void cast. * cvt.c (ocp_convert): Call complete_type_in_void for void cast. * decl.c (cplus_expand_expr_stmt): Void expression checks moved to - require_complete_type_in_void. Call it. + require_complete_type_in_void. Call it. * cp-tree.h (require_complete_type_in_void): Prototype new function. - * typeck.c (convert_arguments): Use alternative format for function - decls. Don't require_complete_type here. Simplify diagnostic printing. + * typeck.c (convert_arguments): Use alternative format for + function decls. Don't require_complete_type here. Simplify + diagnostic printing. (convert_for_initialization): Don't require_complete_type on RHS yet. * call.c (convert_arg_to_ellipsis): Call require_complete_type. - + * call.c (build_over_call): Cope with qualified void return type. - * semantics.c (finish_call_expr): Likewise - * typeck.c (build_function_call_real): Likewise - (c_expand_return): Likewise + * semantics.c (finish_call_expr): Likewise. + * typeck.c (build_function_call_real): Likewise. + (c_expand_return): Likewise. * decl2.c (reparse_absdcl_as_expr): Cope with qualified void type. - + * call.c (print_z_candidates): Use alternate print format, to be - consistant with (pt.c) print_candidates. - method.c (hack_identifier): List candidate members. - search.c (lookup_field): Build ambiguous list, and show it, if + consistent with (pt.c) print_candidates. + * method.c (hack_identifier): List candidate members. + * search.c (lookup_field): Build ambiguous list, and show it, if ambiguous. 1999-02-26 Mark Mitchell * typeck.c (decay_conversion): Don't confuse constant array - variables with their intiailizers. + variables with their initializers. * decl.c (duplicate_decls): Copy DECL_TEMPLATE_INSTANTIATED when merging decls. @@ -871,7 +872,7 @@ Mon Mar 15 21:57:16 1999 Kaveh R. Ghazi * class.c (check_for_override): Don't stop checking when we find the first overridden function. Delete #if 0'd code. * search.c (get_matching_virtual): Likewise. - + 1999-02-25 Richard Henderson * lang-specs.h: Define __FAST_MATH__ when appropriate. @@ -941,7 +942,7 @@ Sun Feb 21 20:38:00 1999 H.J. Lu (hjl@gnu.org) (build_unary_op): Don't try to figure out which template specialization is being referred to when when the address-of operator is used with a template function. - + Thu Feb 18 23:40:01 1999 Kaveh R. Ghazi * cp-tree.h (lvalue_or_else): Qualify a char* with the `const' @@ -962,7 +963,7 @@ Thu Feb 18 23:40:01 1999 Kaveh R. Ghazi (type_unification): Remove prototype. * call.c (convert_default_arg): Adjust call to tsubst_expr. * class.c (resolve_address_of_overloaded_function): Just use - fn_type_unification. + fn_type_unification. * decl.c (grokdeclarator): Adjust call to tsubst. * method.c (build_template_parm_names): Likewise. * pt.c (GTB_VIA_VIRTUAL): New macro. @@ -985,7 +986,7 @@ Thu Feb 18 23:40:01 1999 Kaveh R. Ghazi (unify): Adjust handling of classes derived from template types. (fn_type_unification): Substitute explicit arguments before unification. - + 1999-02-16 Kriang Lerdsuwanakij * decl.c (pushdecl): Remove dead code. @@ -1027,7 +1028,7 @@ Thu Feb 18 23:40:01 1999 Kaveh R. Ghazi (markedp): Make it global. (dfs_walk): Likewise. (dfs_unmark): Likewise. - + 1999-02-07 Jason Merrill * pt.c (maybe_process_partial_specialization): Complain about @@ -1037,12 +1038,12 @@ Thu Feb 18 23:40:01 1999 Kaveh R. Ghazi 1999-02-06 Kriang Lerdsuwanakij * decl2.c (arg_assoc_type): Handle TEMPLATE_TEMPLATE_PARM. - * pt.c (coerce_template_template_parms): Handle nested + * pt.c (coerce_template_template_parms): Handle nested template template parameters. Sat Feb 6 18:08:40 1999 Jeffrey A Law (law@cygnus.com) - * typeck2.c: Update email addrsses. + * typeck2.c: Update email addresses. 1999-02-04 Kriang Lerdsuwanakij @@ -1053,7 +1054,7 @@ Sat Feb 6 18:08:40 1999 Jeffrey A Law (law@cygnus.com) * lex.c (retrofit_lang_decl): Split out... (build_lang_decl): From here. - * decl.c (pushdecl): Call it for functions generated by the middle + * decl.c (pushdecl): Call it for functions generated by the middle end that don't have DECL_LANG_SPECIFIC. * cp-tree.h: Declare it. @@ -1065,10 +1066,10 @@ Sat Feb 6 18:08:40 1999 Jeffrey A Law (law@cygnus.com) Wed Feb 3 22:50:17 1999 Marc Espie - * Make-lang.in (GXX_OBJS): Remove choose-temp.o, pexecute.o and + * Make-lang.in (GXX_OBJS): Remove choose-temp.o, pexecute.o and mkstemp.o. Get them from libiberty now. (DEMANGLER_PROG): Simlarly, remove getopt.o getopt1.o. - + Tue Feb 2 22:38:48 1999 Theodore Papadopoulo * decl2.c (lang_decode_option): Use read_integral_parameter. @@ -1128,10 +1129,10 @@ Sun Jan 31 20:34:29 1999 Zack Weinberg been marked used already. * decl.c (expand_static_init): Call mark_used instead of assemble_external. - * except.c (call_eh_info, do_pop_exception, expand_end_eh_spec, + * except.c (call_eh_info, do_pop_exception, expand_end_eh_spec, alloc_eh_object, expand_throw): Likewise. * init.c (build_builtin_delete_call): Likewise. - * rtti.c (call_void_fn, get_tinfo_fn, build_dynamic_cast_1, + * rtti.c (call_void_fn, get_tinfo_fn, build_dynamic_cast_1, expand_si_desc, expand_class_desc, expand_ptr_desc, expand_attr_desc, expand_generic_desc): Likewise. @@ -1173,7 +1174,7 @@ Sun Jan 31 20:34:29 1999 Zack Weinberg (pushdecl): Use symbolic PUSH_ constants in calls to push_overloaded_decl. (push_overloaded_decl_1): Likewise. - * decl2.c (validate_nonmember_using_decl): Tweak `std' handling. + * decl2.c (validate_nonmember_using_decl): Tweak `std' handling. (do_nonmember_using_decl): Check for illegal using declarations after ordinary declarations here. (do_local_using_decl): Call pushdecl to insert declarations. @@ -1186,7 +1187,7 @@ Sun Jan 31 20:34:29 1999 Zack Weinberg * tree.c (build_cplus_array_type_1): Don't call build_array_type for types involving template parameters. - + * cp-tree.h (PARM_DECL_EXPR): Delete. (convert_default_arg): Change prototype. (check_default_argument): Declare. @@ -1206,12 +1207,12 @@ Sun Jan 31 20:34:29 1999 Zack Weinberg * tree.c (search_tree): Don't make it static. * typeck.c (convert_arguments): Use new interface to convert_default_arg. - + 1999-01-20 Mark Mitchell * error.c (dump_function_decl): Don't print the argument types for a function when the verbosity level is negative. - + * call.c (build_over_call): Check format attributes at call-time. * pt.c (tsubst_copy): Fix comment. @@ -1232,10 +1233,10 @@ Sun Jan 31 20:34:29 1999 Zack Weinberg 1999-01-18 Nathan Sidwell - * class.c (instantiate_type): Only diagnose illegal address of member - function if complaining. + * class.c (instantiate_type): Only diagnose illegal address of member + function if complaining. - * decl.c (lookup_name_real): Remove duplicate code. + * decl.c (lookup_name_real): Remove duplicate code. 1999-01-18 Jason Merrill @@ -1243,8 +1244,8 @@ Sun Jan 31 20:34:29 1999 Zack Weinberg 1999-01-18 Kriang Lerdsuwanakij - * pt.c (unify): Remove restrictions on deduction of argument - of template template parameters. + * pt.c (unify): Remove restrictions on deduction of argument + of template template parameters. 1999-01-18 Nathan Sidwell @@ -1327,16 +1328,16 @@ Sun Jan 31 20:34:29 1999 Zack Weinberg 1999-01-06 Mark Mitchell * cp-tree.h (IDENTIFIER_TYPENAME_P): Use OPERATOR_TYPENAME_FORMAT - here. + here. (lang_type): Add is_partial_instantiation. Decrease width of - dummy. + dummy. (PARTIAL_INSTANTIATION_P): New macro. (OPERATOR_TYPENAME_P): Remove. * decl.c (unary_op_p): Use IDENTIFIER_TYPENAME_P, not - OPERATOR_TYPENAME_P. + OPERATOR_TYPENAME_P. (grok_op_properties): Likewise. * friend.c (do_friend): Handle friends that are member functions - correctly. + correctly. * lex.c (init_parse): Use OPERATOR_TYPENAME_FORMAT. * pt.c (instantiate_class_template): Rework for clarity. Avoid leaving TYPE_BEING_DEFINED set in obscure cases. Don't do @@ -1345,8 +1346,8 @@ Sun Jan 31 20:34:29 1999 Zack Weinberg (tsubst_decl): Use IDENTIFIER_TYPENAME_P. * semantics.c (begin_class_definition): Handle partial specializations of a type that was previously partially - instantiated. - + instantiated. + Wed Jan 6 03:18:53 1999 Mark Elbrecht - * Make-lang.in (g++.o): Depend on prefix.h. + * Make-lang.in (g++.o): Depend on prefix.h. 1999-01-04 Jason Merrill @@ -1389,7 +1390,7 @@ Tue Dec 22 15:09:25 1998 Kaveh R. Ghazi * cp-tree.h (TYPE_RAISES_EXCEPTIONS): Improve documentation. * tree.c (build_exception_variant): Don't crash on empty throw - specs. + specs. 1998-12-18 DJ Delorie @@ -1413,13 +1414,13 @@ Tue Dec 22 15:09:25 1998 Kaveh R. Ghazi (DECL_TEMPLATE_TEMPLATE_PARM_P): Use it. (decl_template_parm_p): Remove. * decl.c (pushdecl): Don't set DECL_CONTEXT for a template - paramter. + parameter. * lex.c (do_identifier): Use DECL_TEMPLATE_PARM_P. * pt.c (push_inline_template_parms_recursive): Set it. (decl_template_parm_p): Remove. (check_template_shadow): Use DECL_TEMPLATE_PARM_P. (process_template_parm): Set it. - + Wed Dec 16 16:33:58 1998 Dave Brolley * lang-specs.h (default_compilers): Pass -MD, -MMD and -MG to cc1plus @@ -1428,15 +1429,15 @@ Wed Dec 16 16:33:58 1998 Dave Brolley 1998-12-15 Mark Mitchell * decl.c (poplevel): Make sure ns_binding is initialized. - - * decl.c (finish_function): Undo inadvertant change in previous + + * decl.c (finish_function): Undo inadvertent change in previous patch. 1998-12-14 Mark Mitchell * class.c (pushclass): Tweak handling of class-level bindings. (resolve_address_of_overloaded_function): Update pointer-to-member - handling. + handling. (instantiate_type): Likewise. * cvt.c (cp_convert_to_pointer): Likewise. * decl.c (pop_binding): Take the DECL to pop, not just the name. @@ -1452,11 +1453,11 @@ Wed Dec 16 16:33:58 1998 Dave Brolley declarations to current binding level. (push_class_level_binding): Likewise. (push_overloaded_decl): Adjust handling of OVERLOADs in local - bindings. + bindings. (lookup_namespace_name): Don't crash when confronted with a - TEMPLATE_DECL. + TEMPLATE_DECL. (lookup_name_real): Do `struct stat' hack in local binding - contexts. + contexts. (build_ptrmemfunc_type): Adjust documentation. (grokdeclarator): Don't avoid building real array types when processing templates unless really necessary. @@ -1472,8 +1473,8 @@ Wed Dec 16 16:33:58 1998 Dave Brolley pointer-to-member types where necessary. * tree.c (build_cplus_array_type_1): Don't avoid building real array types when processing templates unless really necessary. - (build_exception_variant): Compare the exception lists correctly. - + (build_exception_variant): Compare the exception lists correctly. + 1998-12-13 Mark Mitchell * cp-tree.def (CPLUS_BINDING): Update documentation. @@ -1515,11 +1516,11 @@ Wed Dec 16 16:33:58 1998 Dave Brolley (lookup_name_current_level): Likewise. (cp_finish_decl): Likewise. (require_complete_types_for_parms): Likewise. Remove misleading - #if 0'd code. + #if 0'd code. (grok_parms): Likewise. Don't call require_complete_types_for_parms here. (grok_ctor_properties): Don't treat templates as copy - constructors. + constructors. (grop_op_properties): Or as assignment operators. (start_function): Document. Adjust for new name-lookup scheme. (finish_function): Likewise. @@ -1543,7 +1544,7 @@ Wed Dec 16 16:33:58 1998 Dave Brolley appropriate values to finish_function. * pt.c (is_member_template): Update documentation; remove handling of FUNCTION_DECLs. As per name, this function should deal only in - TEMPLATE_DECLs. + TEMPLATE_DECLs. (decl_template_parm_p): Change name of olddecl parameter to decl. (check_template_shadow): Adjust for new name-lookup scheme. (lookup_template_class): Likewise. @@ -1554,14 +1555,14 @@ Wed Dec 16 16:33:58 1998 Dave Brolley (lang_print_xnode): Adjust for new name-lookup scheme. * typeck.c (mark_addressable): Likewise. (c_expand_return): Likewise. - + 1998-12-08 Jason Merrill * decl.c (grokdeclarator): Allow field with same name as class in extern "C". * decl.c (lookup_name_real): Don't limit field lookup to types. - * class.c (check_member_decl_is_same_in_complete_scope): No error + * class.c (check_member_decl_is_same_in_complete_scope): No error if icv and x are the same. * lex.c (do_identifier): Tweak error message. @@ -1574,7 +1575,7 @@ Wed Dec 16 16:33:58 1998 Dave Brolley 1998-12-10 Mark Mitchell * class.c (instantiate_type): Return error_mark_node rather than - junk. + junk. 1998-12-09 Mark Mitchell @@ -1607,17 +1608,17 @@ Wed Dec 9 15:33:01 1998 Dave Brolley 1998-12-08 Andrew MacLeod - * cp/except.c (call_eh_info): use __start_cp_handler instead of - __cp_eh_info for getting the eh info pointer. Add table_index to + * cp/except.c (call_eh_info): Use __start_cp_handler instead of + __cp_eh_info for getting the eh info pointer. Add table_index to field list. (push_eh_cleanup): Don't increment 'handlers' data field. (process_start_catch_block): Don't set the 'caught' field. - * cp/exception.cc (CP_EH_INFO): New macro for getting the + * cp/exception.cc (CP_EH_INFO): New macro for getting the exception info pointer within library routines. (__cp_eh_info): Use CP_EH_INFO. (__start_cp_handler): Get exception info pointer, set caught field, - and increment the handlers field. Avoids this being done by handlers. + and increment the handlers field. Avoids this being done by handlers. (__uncatch_exception, __check_eh_spec): Use CP_EH_INFO macro. (uncaught_exception): Use CP_EH_INFO macro. @@ -1629,14 +1630,14 @@ Mon Dec 7 17:56:06 1998 Mike Stump * lex.c (check_newline): Add support for \ as `natural' characters in file names in #line to be consistent with #include - handling. We support escape prcessing in the # 1 "..." version of + handling. We support escape processing in the # 1 "..." version of the command. See also support in cp/lex.c. - + 1998-12-07 Zack Weinberg - * cp/decl2.c: s/data/opts/ when initializing cpp_reader - structure. - + * cp/decl2.c: s/data/opts/ when initializing cpp_reader + structure. + 1998-12-07 Jason Merrill * decl.c (build_typename_type): Set DECL_ARTIFICIAL. @@ -1698,12 +1699,12 @@ Mon Dec 7 17:56:06 1998 Mike Stump constructors in base classes. (validate_lhs): Fix typo in comment. * search.c (lookup_field_1): Don't return a USING_DECL. - + * cp-tree.h (DECL_ACCESS): Improve documentation. * decl.c (expand_static_init): Don't set the initialization-done flag until the initialization is done. - + 1998-12-02 Mark Mitchell * decl2.c (validate_nonmember_using_decl): Complain about using @@ -1713,7 +1714,7 @@ Mon Dec 7 17:56:06 1998 Mike Stump * typeck2.c (process_init_constructor): Use same_type_p. - * decl.c (check_tag_decl): Don't warn about null decl inside a + * decl.c (check_tag_decl): Don't warn about null decl inside a class. * pt.c (unify, case OFFSET_TYPE): Pass down 'strict' rather than @@ -1759,7 +1760,7 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi 1998-11-24 Dave Pitts - * Make-lang.in (DEMANGLER_PROG): Move the output argumnts to the + * Make-lang.in (DEMANGLER_PROG): Move the output arguments to the first position. * lex.c (check_newline): Use ISALPHA. (readescape): Use ISGRAPH. @@ -1788,10 +1789,10 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi * search.c (lookup_conversions): Handle getting real OVERLOADs. (add_conversions): Likewise. Revert last change. * call.c (add_conv_candidate): Pass totype to add_candidate instead - of fn. Don't add a new candidate if the last one was for the same + of fn. Don't add a new candidate if the last one was for the same type. (print_z_candidates): Handle getting a type as a function. - (joust): If we got two conversion candidates to the same type, + (joust): If we got two conversion candidates to the same type, just pick one. (build_object_call): Lose 'templates'. (build_user_type_conversion_1): Handle getting real OVERLOADs. @@ -1814,12 +1815,12 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi 1998-11-23 Benjamin Kosnik - * method.c (process_overload_item): Add call to - build_mangled_C9x_name for intTI_type_nodes. - (build_mangled_C9x_name): Add prototype, define. - * decl.c (init_decl_processing): Add names for - TImode_type_node. - + * method.c (process_overload_item): Add call to + build_mangled_C9x_name for intTI_type_nodes. + (build_mangled_C9x_name): Add prototype, define. + * decl.c (init_decl_processing): Add names for + TImode_type_node. + 1998-11-23 Jason Merrill * parse.y (named_class_head): Update CLASSTYPE_DECLARED_CLASS. @@ -1923,7 +1924,7 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi * decl.c (grok_ctor_properties): Complain about any constructor that will take a single arg of the class type by value. - * typeck2.c (build_functional_cast): Can't create objects of + * typeck2.c (build_functional_cast): Can't create objects of abstract classes this way. * cvt.c (ocp_convert): Likewise. @@ -1992,7 +1993,7 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi (xref_basetypes): Likewise. (start_function): Likewise. Don't put current_class_ref on the permanent obstack. - * error.c (dump_type_real): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO + * error.c (dump_type_real): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO and TYPE_TI_ARGS. * lex.c (note_got_semicolon): Use CLASS_TYPE_P. (make_lang_type): Don't create TYPE_LANG_SPECIFIC and associated @@ -2001,7 +2002,7 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi * method.c (build_overload_identifier): Use CLASS_TYPE_P and TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO. * pt.c (process_template_parm): Don't set - CLASSTYPE_GOT_SEMICOLON. + CLASSTYPE_GOT_SEMICOLON. (lookup_template_class) Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO. Coerce arguments on the momentary obstack. (for_each_template_parm): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO. @@ -2009,7 +2010,7 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi momentary obstack. Tidy. (tsubst_template_arg_vector): Use make_temp_vec. (tsubst_aggr_type): Put template arguments on the momentary - obstack. + obstack. (tsubst_decl): Likewise. (tsubst): Copy the array bounds index to the permanent obstack before building index types. Use new macros. @@ -2024,10 +2025,10 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi SET_IS_AGGR_TYPE. * tree.c (make_binfo): Check CLASS_TYPE_P. (copy_template_template_parm): Adjust. - (make_temp_vec): Use push_expresion_obstack. + (make_temp_vec): Use push_expression_obstack. * typeck.c (complete_type): Use new macros. (comptypes): Likewise. - + 1998-11-17 Jason Merrill * pt.c (tsubst): Add diagnostics for invalid array, reference @@ -2048,7 +2049,7 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi * typeck.c (expr_sizeof): Complain about sizeof an overloaded fn. - * rtti.c (build_x_typeid): Complain about typeid without + * rtti.c (build_x_typeid): Complain about typeid without including . (get_typeid): Likewise. Complain about typeid of incomplete type. (get_tinfo_fn_dynamic): Likewise. @@ -2072,12 +2073,12 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi (tsubst_decl): Don't clear DECL_INITIAL for an instantiation. (regenerate_decl_from_template): Tweak accordingly. (instantiate_decl): Likewise. - + 1998-11-16 Jason Merrill * decl.c (cplus_expand_expr_stmt): Promote warning about naked member function reference to error. - * cvt.c (ocp_convert): Complain about converting an overloaded + * cvt.c (ocp_convert): Complain about converting an overloaded function to void. * init.c (build_offset_ref): Just return a lone static member @@ -2092,7 +2093,7 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi * typeck.c (string_conv_p): Don't convert from wchar_t[] to char*. - * call.c (build_method_call): Handle a BIT_NOT_EXPR around a + * call.c (build_method_call): Handle a BIT_NOT_EXPR around a TYPE_DECL in a template. 1998-11-15 Jason Merrill @@ -2102,7 +2103,7 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi * decl.c (struct cp_function): Add named_label_uses. (push_cp_function_context): Save it. (pop_cp_function_context): Restore it. - (define_label): Also complain about jumping into the scope of + (define_label): Also complain about jumping into the scope of non-POD objects that don't have constructors. * tree.c (pod_type_p): New fn. @@ -2141,7 +2142,7 @@ Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi 1998-11-08 Jason Merrill - * pt.c (tsubst_decl): Don't mess with the global value of an + * pt.c (tsubst_decl): Don't mess with the global value of an un-mangled DECL_ASSEMBLER_NAME. 1998-11-03 Christopher Faylor @@ -2163,13 +2164,13 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi (TEMPLATE_PARMS_FOR_INLINE): Document. (check_static_variable_definition): New function. * decl.c (cp_finish_decl): Set DECL_DEFINED_IN_CLASS_P, if - appropriate. + appropriate. (check_static_variable_definition): Split out from ... (grokdeclarator): Here. * pt.c (check_default_tmpl_args): New function, split out from ... (push_template_decl_real): Here. (instantiate_template): Fix comment. - + 1998-11-04 Mark Mitchell * cp-tree.h (CP_TYPE_CONST_P): Make {0,1}-valued. @@ -2196,10 +2197,10 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi 1998-11-02 Alexandre Oliva - * parse.y (apparent_template_type): new type - (named_complex_class_head_sans_basetype): use it - * Makefile.in (CONFLICTS): one new conflict - * parse.c: Regenerated + * parse.y (apparent_template_type): New type. + (named_complex_class_head_sans_basetype): Use it. + * Makefile.in (CONFLICTS): One new conflict. + * parse.c: Regenerated. 1998-11-01 Mark Mitchell @@ -2266,7 +2267,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi (comp_ptr_ttypes_real): Likewise. (ptr_reasonably_similar): Likewise. (comp_ptr_ttypes_const): Likewise. - + 1998-10-31 Jason Merrill * rtti.c (build_dynamic_cast_1): Fix cut-and-paste error. @@ -2284,7 +2285,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi exception-correctness. * typeck2.c (process_init_constructor): Make mutual exclusivity of cases more obvious. - + 1998-10-29 Jason Merrill * decl.c (lookup_name_real): OK, only warn if not lexing. @@ -2309,7 +2310,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi last. 1998-10-28 Zack Weinberg - + * lex.c: Call check_newline from lang_init always. After calling cpp_start_read, set yy_cur and yy_lim to read from the cpplib token buffer. @@ -2334,7 +2335,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi * init.c (build_delete): Reset TYPE_HAS_DESTRUCTOR here. * decl.c (finish_function): Not here. (start_function): Do set DECL_INITIAL. - + * pt.c (push_template_decl_real): Complain about default template args for enclosing classes. @@ -2397,7 +2398,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi * decl.c (init_decl_processing): Likewise. * except.c (expand_end_eh_spec): Likewise. * search.c (expand_upcast_fixups): Simplify very slightly. - + 1998-10-26 Jason Merrill * decl.c (grokdeclarator): Complain about a variable using @@ -2432,7 +2433,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi 1998-10-26 Jason Merrill - * typeck.c (convert_arguments): Don't handle pmf references + * typeck.c (convert_arguments): Don't handle pmf references specially. * init.c (build_member_call): Don't try to convert to the base type @@ -2445,7 +2446,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi * decl.c (grokdeclarator): Set DECL_NONCONVERTING_P for all non-converting constructors. - + 1998-10-24 Martin von Löwis * gxxint.texi: Correct documentation for n, N, Q, and B. @@ -2481,7 +2482,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi (cp_type_quals): New function. (at_least_as_qualified_p): Likewise. (more_qualified_p): Likewise. - + * call.c (standard_conversion): Replace calls to cp_build_type_variant with cp_build_qualified_type. Use CP_TYPE_QUALS to get qualifiers and at_least_as_qualified_p to @@ -2540,7 +2541,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi (expand_class_desc): Likewise. (expand_attr_desc): Likewise. (synthesize_tinfo_fn): Likewise. - * search.c (covariant_return_p): Likewise. Fix `volatile' handling. + * search.c (covariant_return_p): Likewise. Fix `volatile' handling. (get_matching_virtual): Likewise. (expand_upcast_fixups): Likewise. * sig.c (build_signature_pointer_or_reference_name): Take @@ -2576,7 +2577,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi (convert_For_assignment): Likewise. (comp_ptr_ttypes_real): Likewise. (cp_type_quals): New function. - + 1998-10-23 Jason Merrill * cp-tree.h (CP_TYPE_READONLY): New macro to handle arrays. @@ -2590,7 +2591,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi base class list. * decl2.c (push_scope, pop_scope): New functions. * cp-tree.h: Declare them. - * init.c (build_new_1): Delay cleanup until end of full expression. + * init.c (build_new_1): Delay cleanup until end of full expression. 1998-10-21 Jason Merrill @@ -2601,7 +2602,7 @@ Sat Nov 7 15:48:02 1998 Kaveh R. Ghazi Revamp references to member functions. * method.c (hack_identifier): Call build_component_ref for a reference to a member function. - * typeck.c (build_component_ref): Only return a single function + * typeck.c (build_component_ref): Only return a single function if it's static. Otherwise, return a COMPONENT_REF. (build_x_function_call): Handle a COMPONENT_REF. (build_unary_op): Handle all unknown-type things. @@ -2661,7 +2662,7 @@ Sat Oct 17 23:27:20 1998 Kaveh R. Ghazi * class.c (make_method_vec): Cast 1st argument of `bzero' to (PTR). (add_method): Likewise for arguments 1 & 2 of `bcopy'. - + * decl.c (signal_catch): Mark with ATTRIBUTE_NORETURN. * pt.c (process_partial_specialization): Cast 1st argument of @@ -2683,13 +2684,13 @@ Sat Oct 17 23:27:20 1998 Kaveh R. Ghazi * decl.c (grokfndecl): Add back call to cplus_decl_attributes accidentally removed by previous change, and make DECL_RTL here. * class.c (add_method): Don't make DECL_RTL here. - + * pt.c (for_each_template_parm): Don't examine uninstantiated default arguments. 1998-10-16 Dave Brolley - * lex.c (real_yylex): Fix unaligned access of wchar_t. + * lex.c (real_yylex): Fix unaligned access of wchar_t. 1998-10-16 Mark Mitchell @@ -2703,8 +2704,8 @@ Sat Oct 17 23:27:20 1998 Kaveh R. Ghazi class type is complete. (grokfield): Reformat error message. * method.c (set_mangled_name_for_decl): Don't mangle names while - procesing_template_decl. - + processing_template_decl. + 1998-10-16 Jason Merrill * typeck.c (build_indirect_ref): Complain about a pointer to data @@ -2752,9 +2753,9 @@ Sat Oct 17 23:27:20 1998 Kaveh R. Ghazi 1998-10-14 Benjamin Kosnik * pt.c (convert_nontype_argument): Check against type_referred_to. - * decl.c (grokvardecl): Check for declarator name before building + * decl.c (grokvardecl): Check for declarator name before building DECL_ASSEMBLER_NAME. - + 1998-10-14 Mark Mitchell * pt.c (lookup_template_class): Add comment. @@ -2785,7 +2786,7 @@ Sat Oct 17 23:27:20 1998 Kaveh R. Ghazi (unify): Don't use it. (lookup_template_class): Find the correct parent when setting CLASSTYPE_TI_TEMPLATE. - + 1998-10-12 Jason Merrill * tinfo.cc (operator==): Always compare names. @@ -2817,7 +2818,7 @@ Sat Oct 17 23:27:20 1998 Kaveh R. Ghazi (unify): Use it. * search.c (get_template_base): Use it. (get_template_base_recursive): Likewise. - + 1998-10-10 Manfred Hollstein * decl2.c (start_objects): Add new variable `joiner' and @@ -2854,7 +2855,7 @@ Thu Oct 8 06:00:19 1998 Jeffrey A Law (law@cygnus.com) * typeck.c (unsigned_type): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits. - (signed_type): Similarly. + (signed_type): Likewise. * decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare when HOST_BITS_PER_WIDE_INT is >= 64 bits. (init_decl_processing): Only create TItype nodes when @@ -2870,7 +2871,7 @@ Wed Oct 7 12:32:44 1998 Kaveh R. Ghazi 1998-10-07 Mark Mitchell - * class.c (finish_struct_1): Add commentary on prevous change. + * class.c (finish_struct_1): Add commentary on previous change. * cp-tree.h (vtbl_ptr_type_node): New variable. * class.c (build_vtbl_ref): Don't indirect through the vptr; it's @@ -2879,7 +2880,7 @@ Wed Oct 7 12:32:44 1998 Kaveh R. Ghazi Simplify code to grow vtable. * decl.c (vtbl_ptr_type_node): Define. (init_decl_processing): Initialize it. - + 1998-10-06 Mark Mitchell * cp-tree.def (PTRMEM_CST): New tree node. @@ -2933,7 +2934,7 @@ Wed Oct 7 12:32:44 1998 Kaveh R. Ghazi (maybe_push_to_top_level): Save it. (pop_from_top_level): Restore it. (maybe_process_template_type_declaration): Use - finish_member_declaration. + finish_member_declaration. (pushtag): Likewise. (pushdecl_class_level): Don't return a value. (fixup_anonymous_union): Break out from grok_x_components. @@ -2978,7 +2979,7 @@ Wed Oct 7 12:32:44 1998 Kaveh R. Ghazi (for_each_template_parm): Handle PTRMEM_CST. (instantiate_class_template): Use set_current_access_from_decl, finish_member_declaration and unreverse_member_declarations. Set - lineno/input_filename before generating implicit member functions. + lineno/input_filename before generating implicit member functions. (type_unification_real): Don't assume back-unification happens only for the last argument. (regenerate_decl_from_template): Call pushclass a bit earlier. @@ -3002,7 +3003,7 @@ Wed Oct 7 12:32:44 1998 Kaveh R. Ghazi (mapcar): Likewise. * typeck.c (unary_complex_lvalue): Build PTRMEM_CSTs, not INTEGER_CSTs, for pointer-to-data members. - + * call.c (resolve_args): Resolve template specializations, if possible. @@ -3011,7 +3012,7 @@ Tue Oct 6 07:57:26 1998 Kaveh R. Ghazi * Makefile.in (spew.o): Depend on toplev.h. * call.c (compare_ics): Initialize variables `deref_from_type2', - `deref_to_type1' and `deref_to_type2'. + `deref_to_type1' and `deref_to_type2'. * except.c (get_eh_type): Hide prototype and definition. (process_start_catch_block_old): Remove unused static prototype. @@ -3043,7 +3044,7 @@ Tue Oct 6 07:57:26 1998 Kaveh R. Ghazi 1998-10-04 Theodore Papadopoulo * errfn.c (cp_thing): Print buf as a string not as a printf format - to avoid problems with the operator%. Consequently, `%%' sequences + to avoid problems with the operator%. Consequently, `%%' sequences in format are copied as `%' in buf. 1998-10-04 Jason Merrill @@ -3069,7 +3070,7 @@ Tue Oct 6 07:57:26 1998 Kaveh R. Ghazi * cvt.c (convert_to_reference): Likewise. * typeck.c (convert_for_assignment): Likewise. - * search.c (expand_upcast_vtables): In addition to unsetting + * search.c (expand_upcast_vtables): In addition to unsetting TREE_READONLY, remove top-level const type qualifier. 1998-10-03 Mark Mitchell @@ -3096,7 +3097,7 @@ Tue Oct 6 07:57:26 1998 Kaveh R. Ghazi * typeck.c (decay_conversion): Likewise. (build_component_ref): Make sure the type of the COMPONENT_REF contains top-level qualifiers, as appropriate. Improve - error-handling. + error-handling. (build_indirect_ref): Simplify. Don't strip top-level qualifiers. (build_array_ref): Likewise. (build_unary_op): Improve error-recovery. @@ -3104,7 +3105,7 @@ Tue Oct 6 07:57:26 1998 Kaveh R. Ghazi function an error, not a sorry. (build_conditional_expr): Look at the type qualifiers, not the qualifiers on the expression itself. - + 1998-10-03 Jason Merrill * decl2.c (merge_functions): Remove duplicates. @@ -3135,9 +3136,9 @@ Thu Oct 1 10:43:45 1998 Nick Clifton (start_function): Add invocation of SET_DEFAULT_DECL_ATTRIBUTES, if defined. - * lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with + * lex.c: Replace occurrences of HANDLE_SYSV_PRAGMA with HANDLE_GENERIC_PRAGMAS. - + 1998-09-28 Anthony Green * semantics.c (finish_asm_stmt): Always permit volatile asms. @@ -3146,9 +3147,9 @@ Thu Oct 1 10:43:45 1998 Nick Clifton * decl.c (grokdeclarator): Tighten checks for invalid destructors. Improve error-messages and error-recovery. - * decl2.c (check_classfn): Don't assume that mangled destructor + * decl2.c (check_classfn): Don't assume that mangled destructor names contain type information. - + 1998-09-25 Jason Merrill * search.c (get_base_distance): Remove assert. @@ -3176,19 +3177,19 @@ Fri Sep 25 11:45:38 1998 Kaveh R. Ghazi (my_friendly_abort): Mark with ATTRIBUTE_NORETURN. * cvt.c (build_up_reference): Remove unused parameter - `checkconst', all callers changed. + `checkconst', all callers changed. (build_type_conversion): Mark parameter `code' with ATTRIBUTE_UNUSED. (build_expr_type_conversion): Initialize variable `conv'. * decl.c (push_namespace): Initialize variable `d'. - (define_case_label): Remove unused parameter `decl', all callers - changed. + (define_case_label): Remove unused parameter `decl', all callers + changed. * decl2.c (lang_decode_option): If !USE_CPPLIB, mark parameter - `argc' with ATTRIBUTE_UNUSED. + `argc' with ATTRIBUTE_UNUSED. (grokclassfn): Remove unused parameter `cname', all callers - changed. + changed. (check_java_method): Likewise for parameter `ctype'. (copy_assignment_arg_p): Mark parameter `virtualp' with ATTRIBUTE_UNUSED. @@ -3197,7 +3198,7 @@ Fri Sep 25 11:45:38 1998 Kaveh R. Ghazi * expr.c (extract_init): Likewise for parameters `decl' and `init'. * init.c (expand_aggr_init_1): Remove unused parameter - `alias_this', all callers changed. + `alias_this', all callers changed. (expand_aggr_init): Likewise. (expand_default_init): Likewise. (build_new_1): Initialize variable `susp'. @@ -3211,7 +3212,7 @@ Fri Sep 25 11:45:38 1998 Kaveh R. Ghazi comparing to a signed quantity. * pt.c (maybe_end_member_template_processing): Remove unused - parameter `decl', all callers changed. + parameter `decl', all callers changed. (check_explicit_specialization): Add braces around empty body in an else-statement. (current_template_args): Initialize variable `args'. @@ -3242,14 +3243,14 @@ Fri Sep 25 11:45:38 1998 Kaveh R. Ghazi (build_modify_expr): Treat FUNCTION_TYPEs as readonly, even though they don't have TREE_READONLY set. * typeck2.c (readonly_error): Add case for FUNCTION_DECLs. - + 1998-09-24 Benjamin Kosnik * spew.c (yylex): Give diagnostic. * hash.h (is_reserved_word): Add export. - * gxx.gperf: Ditto. + * gxx.gperf: Likewise. * lex.h (rid): Add RID_EXPORT. - * lex.c (init_parse): Ditto. + * lex.c (init_parse): Likewise. Tue Sep 22 21:01:19 1998 Gerald Pfeifer @@ -3261,8 +3262,8 @@ Tue Sep 22 21:01:19 1998 Gerald Pfeifer 1998-09-22 Benjamin Kosnik - * decl.c (make_typename_type): Move error to point where name - variable can be used by dump_type. + * decl.c (make_typename_type): Move error to point where name + variable can be used by dump_type. 1998-09-22 Mark Mitchell @@ -3281,7 +3282,7 @@ Tue Sep 22 21:01:19 1998 Gerald Pfeifer Mon Sep 21 01:53:05 1998 Felix Lee - * lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT (). + * lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT (). 1998-09-20 Mark Mitchell @@ -3289,7 +3290,7 @@ Mon Sep 21 01:53:05 1998 Felix Lee 1998-09-17 Andrew MacLeod - * exception.cc (__cplus_type_matcher): realign some code. + * exception.cc (__cplus_type_matcher): Realign some code. 1998-09-16 Mark Mitchell @@ -3308,14 +3309,14 @@ Mon Sep 21 01:53:05 1998 Felix Lee 1998-09-16 Richard Henderson - * decl.c (init_decl_processing): Kill __builtin_fp and __builtin_sp. + * decl.c (init_decl_processing): Kill __builtin_fp and __builtin_sp. 1998-09-15 Alexandre Oliva - * call.c (build_field_call): handle static data members too + * call.c (build_field_call): Handle static data members too. - * typeck.c (comptypes): when comparing pointer types, check - whether referred types match even in strictest modes + * typeck.c (comptypes): When comparing pointer types, check + whether referred types match even in strictest modes. 1998-09-15 Mark Mitchell @@ -3325,11 +3326,11 @@ Mon Sep 21 01:53:05 1998 Felix Lee (maybe_warn_about_overly_private_class): New function. (finish_struct_methods): Declare here, and make static. Remove unnecessary parameters. Tidy slightly. Use - maybe_warn_about_overly_private_class. + maybe_warn_about_overly_private_class. (finish_struct_1): Adjust. Remove check for private constructors, now done elsewhere. (finish_struct): Adjust. - + 1998-09-15 Andrew MacLeod * except.c (expand_start_catch_block): No need to check for new @@ -3337,7 +3338,7 @@ Mon Sep 21 01:53:05 1998 Felix Lee (process_start_catch_block_old): Deleted. (process_start_catch_block): Add call to start_decl_1(). (expand_end_catch_block): Add call to end_catch_handler(). - * exception.cc (__cplus_type_matcher): Only check the exception + * exception.cc (__cplus_type_matcher): Only check the exception language if there is an exception table. 1998-09-15 Andrew MacLeod @@ -3354,7 +3355,7 @@ Mon Sep 21 01:53:05 1998 Felix Lee (finish_struct_1): Likewise. (finish_struct): Set CLASSTYPE_HAS_NON_PRIVATE_STATIC_MEM_FN if appropriate. - + * pt.c (check_specialization_scope): Fix spelling error. (check_explicit_specialization): Remove code to handle explicit specializations in class scope; they are now correctly diagnosed @@ -3364,7 +3365,7 @@ Mon Sep 21 01:53:05 1998 Felix Lee * decl.c (pushdecl): Don't copy types if the DECL_ABSTRACT_ORIGIN of the new decl matches the TYPE_NAME of the - type. + type. 1998-09-09 Kriang Lerdsuwanakij @@ -3404,9 +3405,9 @@ Mon Sep 21 01:53:05 1998 Felix Lee in error message. 1998-09-08 Richard Henderson - Mark Mitchell - - * pt.c (process_partial_specialization): Consistantly allocate + Mark Mitchell + + * pt.c (process_partial_specialization): Consistently allocate and zero tpd.parms based on ntparms. Use tpd2.parms, not tpd.parms, where appropriate. @@ -3431,11 +3432,11 @@ Sun Sep 6 00:00:51 1998 Jeffrey A Law (law@cygnus.com) (check_explicit_specialization): Don't attempt to handle explicit specializations in class scope. (template_parm_data): Document. Add current_arg and - arg_uses_template_parms. + arg_uses_template_parms. (mark_template_parm): Set it. (tsubst_arg_types): Remove unused variable. * semantics.c (begin_class_definition): Tweak. - + 1998-09-04 Mark Mitchell * inc/typeinfo (type_info::type_info(const char*)): Make @@ -3446,8 +3447,8 @@ Sun Sep 6 00:00:51 1998 Jeffrey A Law (law@cygnus.com) (coerce_template_parms): Use make_temp_vec, instead of make_tree_vec. Document this behavior. (lookup_template_class): Likewise. - (tsubst, cases METHOD_TYPE, FUNCTION_TYPE): Use tsubst_arg_types. - Remove dead code (and add ssertion to check its deadness). Fix + (tsubst, cases METHOD_TYPE, FUNCTION_TYPE): Use tsubst_arg_types. + Remove dead code (and add assertion to check its deadness). Fix bug w.r.t. exception specifications. 1998-09-03 Jason Merrill @@ -3464,9 +3465,9 @@ Sun Sep 6 00:00:51 1998 Jeffrey A Law (law@cygnus.com) * semantics.c: Likewise. * parse.y (primary): Use it. * method.c (hack_identifier): Remove redundant code. - + * init.c (resolve_offset_ref): Call convert_from_reference to - handle members of reference type. Improve error recovery. + handle members of reference type. Improve error recovery. 1998-09-03 Benjamin Kosnik @@ -3483,8 +3484,8 @@ Sun Sep 6 00:00:51 1998 Jeffrey A Law (law@cygnus.com) 1998-09-03 Benjamin Kosnik - * decl.c (pushdecl_class_level): Add warning here. - (pushdecl): Tweak. + * decl.c (pushdecl_class_level): Add warning here. + (pushdecl): Tweak. 1998-09-02 Jason Merrill @@ -3502,7 +3503,7 @@ Wed Sep 02 09:25:29 1998 Nick Clifton if unknown pragmas are encountered. (handle_sysv_pragma): Interpret return code from handle_pragma_token (). Return success/failure indication rather - than next unprocessed character. + than next unprocessed character. (pragma_getc): New function: retrieves characters from the input stream. Defined when HANDLE_PRAGMA is defined. (pragma_ungetc): New function: replaces characters back into the @@ -3545,10 +3546,10 @@ Wed Sep 02 09:25:29 1998 Nick Clifton * decl.c (finish_enum): Handle member enums of classes declared in template functions. - - * decl2.c (grok_x_components): Strip attributres before calling - groktypename. - + + * decl2.c (grok_x_components): Strip attributes before calling + groktypename. + 1998-08-31 Jason Merrill * cp-tree.h, decl2.c: Remove support for -fall-virtual, @@ -3606,16 +3607,16 @@ Sun Aug 30 22:16:31 1998 H.J. Lu (hjl@gnu.org) 1998-08-28 Mark Mitchell * cp-tree.h (build_enumerator): Take the enumeration type as a - paramter. + parameter. * decl.c (finish_enum): Don't set the TREE_TYPE for the enumeration constant values if we're processing_template_decls. Don't set the type for the CONST_DECLs either; that's done in build_enumerator. (build_enumerator): Take the enumeration type as a - parameter. + parameter. * lex.c (do_identifier): Don't resolve enumeration constants while processing template declarations, even if they happen to be - TEMPLATE_PARM_INDEXs. + TEMPLATE_PARM_INDEXs. * parse.y (current_enum_type): New variable. (primary): Don't allow statement-expression in local classes just @@ -3624,14 +3625,14 @@ Sun Aug 30 22:16:31 1998 H.J. Lu (hjl@gnu.org) (enum_list): Likewise. * pt.c (tsubst_enum): Don't check for NOP_EXPRs introduced by finish_enum; they no longer occur. - + * cp-tree.h (finish_base_specifier): New function. * parse.y (base_class): Use it. * semantics.c (finish_base_specifier): Define it. * parse.y (structsp): Warn on use of typename outside of template - declarations. - + declarations. + 1998-08-27 Jason Merrill * lex.c (handle_cp_pragma): Remove #pragma vtable. @@ -3669,7 +3670,7 @@ Sun Aug 30 22:16:31 1998 H.J. Lu (hjl@gnu.org) (lookup_fnfields): Likewise. * tree.c (propagate_binfo_offsets): Don't call unshare_base_binfos. (unshare_base_binfos): Don't call propagate_binfo_offsets. - (layout_basetypes): Call propagate_binfo_offsets instead of + (layout_basetypes): Call propagate_binfo_offsets instead of unshare_base_binfos. * decl.c (xref_basetypes): Call unshare_base_binfos. * pt.c (instantiate_class_template): Likewise. @@ -3707,7 +3708,7 @@ Sun Aug 30 22:16:31 1998 H.J. Lu (hjl@gnu.org) (layout_basetypes): Warn here about inaccessible bases. (make_binfo): Remove chain parameter. (reverse_path): Add copy parameter. - + 1998-08-27 Jason Merrill * class.c: #if 0 complete_type_p. @@ -3733,25 +3734,25 @@ Sun Aug 30 22:16:31 1998 H.J. Lu (hjl@gnu.org) 1998-08-27 Mark Mitchell * decl.c (build_enumerator): Set DECL_CONTEXT for the - CONST_DECLs. + CONST_DECLs. 1998-08-26 Mark Mitchell * cp-tree.h (finish_enum): Change prototype. * decl.c (finish_enum): Use TYPE_VALUES, rather than taking a VALUES parameter. Don't try to compute mins/maxs if - processing_template_decl. + processing_template_decl. * parse.y (structsp): Use new calling sequence for finish_enum. - * pt.c (tsubst_enum): Likewise. Take the new type as input. + * pt.c (tsubst_enum): Likewise. Take the new type as input. (lookup_template_class): Remove unused variables. Tweak. Register enums on instantiation list before substituting enumeration constants. (tsubst_decl): Remove unused variables. (regenerate_decl_from_template): Likewise. - + * decl.c (duplicate_decls): Don't obliterate the DECL_TEMPLATE_INFO for a template if we're not replacing it with - anything. + anything. * lex.c (do_identifier): Fix typo in comment. @@ -3818,7 +3819,7 @@ Wed Aug 26 10:54:51 1998 Kaveh R. Ghazi * cp-tree.h (CLASS_TYPE_P): New macro. * decl.c (grokdeclarator): Use it instead of IS_AGGR_TYPE. * pt.c (process_template_parm): Undo previous change. - + 1998-08-24 Benjamin Kosnik * cp-tree.h: Declare. @@ -3857,8 +3858,8 @@ Wed Aug 26 10:54:51 1998 Kaveh R. Ghazi 1998-08-24 Nathan Sidwell - * lex.c (real_yylex): Don't warn about long long constants if - we're allowing long long. + * lex.c (real_yylex): Don't warn about long long constants if + we're allowing long long. 1998-08-24 Martin von Löwis @@ -3875,7 +3876,7 @@ Wed Aug 26 10:54:51 1998 Kaveh R. Ghazi * decl.c (grokdeclarator): Complain about in-class initialization of aggregates and/or references. * pt.c (process_template_parm): Clear IS_AGGR_TYPE for - TEMPLATE_TYPE_PARMs. + TEMPLATE_TYPE_PARMs. * decl2.c (grok_array_decl): Add comment. (mark_used): Don't instantiate an explicit instantiation. @@ -3889,13 +3890,13 @@ Wed Aug 26 10:54:51 1998 Kaveh R. Ghazi (do_type_instantiation): Likewise. (instantiate_decl): Improve comments. Complain about explicit instantiations where no definition is available. - + * cp-tree.h (ansi_null_node): Remove. * call.c (build_over_call): Warn about converting NULL to an arithmetic type. * cvt.c (build_expr_type_conversion): Likewise. Use null_ptr_cst_p instead of expanding it inline. - * decl.c (ansi_null_node): Remove. + * decl.c (ansi_null_node): Remove. (init_decl_processing): Make null_node always have integral type. * except.c (build_throw): Warn about converting NULL to an arithmetic type. @@ -3905,7 +3906,7 @@ Wed Aug 26 10:54:51 1998 Kaveh R. Ghazi (convert_for_assignment): Warn about converting NULL to an arithmetic type. (convert_for_initialization): Likewise. - + 1998-08-20 Jason Merrill * tree.c (search_tree, no_linkage_helper, no_linkage_check): New fn. @@ -3941,7 +3942,7 @@ Wed Aug 26 10:54:51 1998 Kaveh R. Ghazi (regenerate_decl_from_template): Deal with tricky friend template case. (instantiate_decl): Likewise. - + Thu Aug 20 09:09:45 1998 Jeffrey A Law (law@cygnus.com) * init.c (build_builtin_delete_call): Add missing assemble_external @@ -3958,7 +3959,7 @@ Thu Aug 20 09:09:45 1998 Jeffrey A Law (law@cygnus.com) * except.c (build_throw): Warn when NULL is thrown, even with -ansi. Use ansi_null_node, rather than integer_zero_node, in the thrown expression. - + * cp-tree.h (ansi_null_node): New variable. * decl.c (ansi_null_node): New variable. (init_decl_processing): Initialize its type. @@ -4078,11 +4079,11 @@ Fri Aug 14 16:42:27 1998 Nick Clifton (lookup_nested_type_by_name): Remove. * decl.c (maybe_process_template_type_declaration): Handle enums. (start_enum): Don't check for primary-template enum declarations - here. + here. (finish_enum): Clean up, document. Make sure template enum constants get the correct type. (build_enumerator): Copy initializers for template enumerations, - too. + too. (grok_enum_decls): Document. * lex.c (do_identifier): Document use of LOOKUP_EXPR a bit better. Build LOOKUP_EXPRs for local variables, even if they are @@ -4102,7 +4103,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton (tsubst): Likewise. (tsubst_copy): Likewise. (tsubst_expr): Call tsubst, not tsubst_enum for TAG_DEFNs. - + 1998-08-04 Mark Mitchell * decl.c (pushtag): Don't mangle the name of a TYPE_DECL if it @@ -4111,7 +4112,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton template arguments for tsubst'ing. (build_overload_identifier): Pass the full set of template arguments to build_template_parm_names, not just the - innermost_args. + innermost_args. * pt.c (TMPL_ARGS_DEPTH): Define using TMPL_ARGS_HAVE_MULTIPLE_LEVELS, for clarity. (NUM_TMPL_ARGS): New macro. @@ -4124,8 +4125,8 @@ Fri Aug 14 16:42:27 1998 Nick Clifton to coerce_template_parms. (tsubst): Add assertion. (do_type_instantiation): Don't instantiate member template - classes. - + classes. + * init.c (build_offset_ref): Deal with a TEMPLATE_ID_EXPR whose name is a LOOKUP_EXPR, rather than an IDENTIFIER_NODE. @@ -4139,7 +4140,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton * search.c (dependent_base_p): New fn. (dfs_pushdecls, dfs_compress_decls): Use it. - * typeck.c (get_member_function_from_ptrfunc): Don't try to handle + * typeck.c (get_member_function_from_ptrfunc): Don't try to handle virtual functions if the type doesn't have any. 1998-08-03 Mark Mitchell @@ -4158,19 +4159,19 @@ Fri Aug 14 16:42:27 1998 Nick Clifton * method.c (hack_identifier): Improve error message. * pt.c (lookup_template_function): Don't needlessly call copy_to_permanent or build_min. - (tsubst_copy): Remove #if 0'd code. Tsubst into LOOKUP_EXPRs if + (tsubst_copy): Remove #if 0'd code. tsubst into LOOKUP_EXPRs if necessary. (do_decl_instantiation): Improve error message. * tree.c (mapcar, case LOOKUP_EXPR): Don't be sorry; make a copy. (build_min): Copy the type to the permanent obstack, too. - + 1998-08-01 Jason Merrill * init.c (init_init_processing): Remove BI* handling. (build_builtin_call): Remove. (build_builtin_delete_call): New fn. (build_delete): Use it. - + 1998-07-31 Mark Mitchell * cp-tree.h (PROCESSING_REAL_TEMPLATE_DECL_P): New macro. @@ -4211,7 +4212,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton 1998-07-28 Jason Merrill * class.c (finish_struct_1): Convert integer_zero_node to - ssizetype before passing it to set_rtti_entry. + ssizetype before passing it to set_rtti_entry. * typeck2.c (initializer_constant_valid_p): Allow conversion of 0 of any size to a pointer. @@ -4225,14 +4226,14 @@ Fri Aug 14 16:42:27 1998 Nick Clifton (lookup_template_class): Add entering_scope parameter. (maybe_process_partial_specialization): New function. (finish_template_decl): Likewise. - (finish_template_type): Likewise. + (finish_template_type): Likewise. * class.c (finish_struct): Clean up processing of member template specializations. - * decl.c (pushtag): Fix formatting. + * decl.c (pushtag): Fix formatting. (lookup_tag): Improve handling of pseudo-global levels. (make_typename_type): Adjust call to lookup_template_class. (shadow_tag): Use maybe_process_partial_specialization. - (xref_tag): Improve handling of member friends. + (xref_tag): Improve handling of member friends. (start_function): Call push_nested_class before push_template_decl. Don't call push_template_decl for specializations. @@ -4245,7 +4246,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton function names. * friend.c (is_friend): Don't compare types of decls to determine friendship, unless flag_guiding_decls. - (make_friend_class): Partial specializations cannot be friends. + (make_friend_class): Partial specializations cannot be friends. (do_friend): Use set_mangled_name_for_decl. Call push_template_decl_real instead of push_template_decl. * method.c (build_decl_overload_real): Remove prototype. Give it @@ -4269,7 +4270,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton (unregister_specialization): New function. (tsubst_template_parms): Likewise. (most_specialized, most_specialized_class): Prototype here as - static. + static. (original_template): Rename to most_general_template. (tsubst_template_parms): New function. (set_mangled_name_for_template_decl): Likewise. @@ -4288,7 +4289,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton (is_member_template): Likewise. (is_member_template_class): Likewise. (add_to_template_args): Likewise. Deal with multiple levels of - args. + args. (maybe_process_partial_specialization): New function. (retrieve_specialization): Add consistency check. (determine_specialization): Return full argument list. @@ -4300,7 +4301,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton one parameter. Improve friend handling. Modify for full template arguments. (classtype_mangled_name): Don't mangle the names of - specializations. + specializations. (lookup_template_class): Add entering_scope parameter. Use it to avoid finding a template type when an instantiation is required. Simplify. Use full template arguments. @@ -4315,7 +4316,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton (innermost_args): Use new macros. (tsubst_aggr_type): New function, split out from tsubst. (tsubst): Use tsubst_aggr_type, tsubst_template_parms, new calling - conventions for lookup_tmeplate_class. Refine handling of partial + conventions for lookup_template_class. Refine handling of partial instantiations. Remove calls to complete_template_args. Simplify. Add consistency checks. Use set_mangled_name_for_decl and set_mangled_name_for_template_decl. @@ -4327,17 +4328,17 @@ Fri Aug 14 16:42:27 1998 Nick Clifton (most_specialized): Don't overwrite input; create a new list. (most_specialized_class): Use most_general_template. (regenerate_decl_from_template): Use unregister_specialization. - Use full template arguments. + Use full template arguments. (instantiate_decl): Use full template arguments. (set_mangled_name_for_template_decl): New function. * semantics.c (begin_class_definition): Use maybe_process_partial_specialization. (finish_member_class_template): New function. (finish_template_decl): Likewise. - (finish_template_type): Likewise. + (finish_template_type): Likewise. (typeck.c): Don't crash after issuing a compiler_error. * Makefile.in (CONFLICTS): Adjust; we removed a s/r conflict. - + 1998-07-27 Jason Merrill * typeck2.c (build_functional_cast): Handle default-initialization. @@ -4398,7 +4399,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton (finish_prevtable_vardecl): From here. * class.c (finish_struct_1): Call import_export_class if at_eof. - * decl.c (start_function): #if 0 mysterious code I wrote and have + * decl.c (start_function): #if 0 mysterious code I wrote and have forgotten why. * rtti.c (get_tinfo_fn): If this is for a class type, set DECL_CONTEXT. @@ -4441,7 +4442,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton * decl.c (pushtag): Don't put out debugging information for compiler-generated typedefs. - + * error.c (dump_type_real): Don't crash when presented with intQI_type_node or the like. @@ -4558,7 +4559,7 @@ Fri Aug 14 16:42:27 1998 Nick Clifton (cat_namespace_levels): Ignore aliases. (duplicate_decls): Ignore duplicate aliases. * decl2.c (do_namespace_alias): Process block level namespace - aliases. Store alias with pushdecl. Remove odr errors. + aliases. Store alias with pushdecl. Remove odr errors. * parse.y (namespace_alias): New non-terminal. (extdef): Use it. @@ -4615,7 +4616,7 @@ Tue Jul 14 20:09:22 1998 Jeffrey A Law (law@cygnus.com) of namespace-qualified ids to -1, enter the namespace. * method.c (build_template_decl_overload): Expect _DECL as first - parameter. Put context temporarily into current_namespace. + parameter. Put context temporarily into current_namespace. * pt.c (check_explicit_specialization): Change caller. (tsubst): Likewise. @@ -4630,7 +4631,7 @@ Mon Jul 13 17:21:01 1998 Nick Clifton * lang-options.h: Format changed to work with new --help support in gcc/toplev.c - + 1998-07-12 Martin von Löwis * decl2.c (build_expr_from_tree): Change calls of do_identifier. @@ -4669,12 +4670,12 @@ Mon Jul 13 17:21:01 1998 Nick Clifton 1998-07-12 Kriang Lerdsuwanakij - * typeck.c (comptypes, case TEMPLATE_TEMPLATE_PARM): Add parameter + * typeck.c (comptypes, case TEMPLATE_TEMPLATE_PARM): Add parameter comparison. - * pt.c (for_each_template_parm, case TEMPLATE_DECL): If it is a + * pt.c (for_each_template_parm, case TEMPLATE_DECL): If it is a template template parameter, record its use. - (for_each_template_parm, case TEMPLATE_TEMPLATE_PARM): Traverse + (for_each_template_parm, case TEMPLATE_TEMPLATE_PARM): Traverse its template arguments if exists. * pt.c (coerce_template_template_parms): New function equivalent @@ -4690,15 +4691,15 @@ Mon Jul 13 17:21:01 1998 Nick Clifton 1998-07-12 Klaus Kaempf (kkaempf@progis.de) - * repo.c (get_base_filename): Use file_name_nondirectory. - (open_repo_file): Ditto. + * repo.c (get_base_filename): Use file_name_nondirectory. + (open_repo_file): Likewise. * cp-tree.h (file_name_nondirectory): Add prototype. 1998-07-12 Jason Merrill * friend.c (do_friend): Pull the identifier out of declarator. Use cp_error and friends. - * decl2.c (qualified_lookup_using_namespace): Fix call to + * decl2.c (qualified_lookup_using_namespace): Fix call to purpose_member. * decl.c (lookup_name_real): Don't call complete_type on a namespace. (grokvardecl): Use DECL_CLASS_SCOPE_P. @@ -4706,7 +4707,7 @@ Mon Jul 13 17:21:01 1998 Nick Clifton * class.c (warn_hidden): Fix for OVERLOAD. From grahams@rcp.co.uk: * cp-tree.h (DEFARG_NODE_CHECK): New macro. - (DEFARG_LENGTH, DEFARG_POINTER): Use it. + (DEFARG_LENGTH, DEFARG_POINTER): Use it. Sun Jul 12 01:20:57 1998 Jeffrey A Law (law@cygnus.com) @@ -4772,7 +4773,7 @@ Sun Jul 12 01:20:57 1998 Jeffrey A Law (law@cygnus.com) * decl2.c: Define them. (lang_decode_option): Handle them. * lang-options.h: Add -foptional-diags. - * class.c (finish_struct): Don't complain about multiple meanings of + * class.c (finish_struct): Don't complain about multiple meanings of name if -fno-optional-diags. * decl.c (pushdecl_class_level): Likewise. * lex.c (real_yylex): Check warn_multichar. @@ -4785,8 +4786,8 @@ Sun Jul 12 01:20:57 1998 Jeffrey A Law (law@cygnus.com) 1998-06-30 Benjamin Kosnik - * decl2.c (lang_decode_option): Remove warn_template_debugging. - * lang-options.h: Ditto. + * decl2.c (lang_decode_option): Remove warn_template_debugging. + * lang-options.h: Likewise. Mon Jun 29 20:17:40 1998 Kaveh R. Ghazi @@ -4808,7 +4809,7 @@ Sat Jun 27 23:34:18 1998 Fred Fish Sat Jun 27 12:22:56 1998 Jeffrey A Law (law@cygnus.com) - * Make-lang.in (g++): Depend on mkstemp.o. Link in mkstemp.o + * Make-lang.in (g++): Depend on mkstemp.o. Link in mkstemp.o Sat Jun 27 07:36:09 1998 Kaveh R. Ghazi @@ -4831,7 +4832,7 @@ Sat Jun 27 07:36:09 1998 Kaveh R. Ghazi * cp-tree.h (mark_all_runtime_matches): Add function prototype. * except.c (mark_all_runtime_matches): Set TREE_SYMBOL_REFERENCED - flag for all function decls which are in the exception table. + flag for all function decls which are in the exception table. * exception.cc (__cplus_type_matcher): Check for CATCH_ALL_TYPE match. * decl2.c (finish_file): Call mark_all_runtime_matches to make sure code is emitted for any referenced rtti function. @@ -4899,7 +4900,7 @@ Sat Jun 27 07:36:09 1998 Kaveh R. Ghazi * exception.cc (struct cp_eh_info): Add original_value field. (__cplus_type_matcher): Perform type matching on the original exception value, and if we have a match, set the current value. - (__cp_push_exception): Set the original expcetion value. + (__cp_push_exception): Set the original exception value. 1998-06-23 Jason Merrill @@ -4934,8 +4935,8 @@ Mon Jun 22 08:50:26 1998 Kaveh R. Ghazi Fri Jun 19 23:22:42 1998 Bruno Haible - * typeck2.c (pop_init_level): Warn about implicit zero initialization - of struct members. + * typeck2.c (pop_init_level): Warn about implicit zero initialization + of struct members. Thu Jun 18 09:32:32 1998 Kaveh R. Ghazi @@ -4980,7 +4981,7 @@ Thu Jun 18 09:32:32 1998 Kaveh R. Ghazi 1998-06-16 Andrew MacLeod - * decl.c (grokvardecl): Don't build external assembler names for + * decl.c (grokvardecl): Don't build external assembler names for TYPENAMEs in other namespaces as there is no declarator. * error.c (cp_file_of, cp_line_of): Don't extract file or line number info from DECL_CONTEXT if it is NULL. @@ -5016,7 +5017,7 @@ Thu Jun 18 09:32:32 1998 Kaveh R. Ghazi (pointer_diff): Likewise. * pt.c (for_each_template_parm): Traverse the TYPE_CONTEXT for - types. + types. * search.c (get_matching_virtual): Note that member templates cannot override virtual functions. @@ -5051,7 +5052,7 @@ Thu Jun 18 09:32:32 1998 Kaveh R. Ghazi 1998-06-11 Benjamin Kosnik * friend.c (do_friend): Add support for nested classes using - member functions of the enclosing class as friends. + member functions of the enclosing class as friends. 1998-06-10 Mark Mitchell @@ -5065,9 +5066,9 @@ Thu Jun 18 09:32:32 1998 Kaveh R. Ghazi (expand_member_init): Remove much of this code; it is dead. * typeck.c (convert_arguments): Use convert_default_arg and convert_arg_for_ellipsis, rather than duplicating here. - - * call.c (convert_like): Don't fail silently if - build_user_type_conversion fails. Always return error_mark_node + + * call.c (convert_like): Don't fail silently if + build_user_type_conversion fails. Always return error_mark_node for failure. 1998-06-10 Jason Merrill @@ -5126,8 +5127,8 @@ Thu Jun 18 09:32:32 1998 Kaveh R. Ghazi 1998-06-10 Branko Cibej - * typeck.c (c_expand_return): Don't warn about void expressions on - return statements in functions returning void. + * typeck.c (c_expand_return): Don't warn about void expressions on + return statements in functions returning void. 1998-06-09 Mark Mitchell @@ -5154,26 +5155,26 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi * Makefile.in (decl2.o): Depend on dwarf2out.h and dwarfout.h. * cp-tree.h: Add prototype for `maybe_print_template_context' and - `maybe_make_one_only'. + `maybe_make_one_only'. * decl.c (auto_function): Remove unused variable `decl'. * decl2.c: Include dwarf2out.h and dwarfout.h. * lex.c: Remove redundant declarations of `set_float_handler' and - `asm_out_file'. + `asm_out_file'. 1998-06-08 Andrew MacLeod - * except.c (init_exception_processing): Remove NEW_EH_MODEL compile + * except.c (init_exception_processing): Remove NEW_EH_MODEL compile time flag. Call __cp_eh_info instead of __cp_exception_info. * exception.cc (struct cp_eh_info): Remove NEW_EH_MODEL flag. - (__cp_exception_info): Return offset into cp_eh_info structure to + (__cp_exception_info): Return offset into cp_eh_info structure to match what use to be the start of this structure. (__cp_eh_info): New function to return a pointer to cp_eh_info struct. (__cplus_type_matcher, __cp_push_exception): Remove NEW_EH_MODEL compile time flag. - (__uncatch_exception, __check_eh_spec, std::uncaught_exception): Call + (__uncatch_exception, __check_eh_spec, std::uncaught_exception): Call __cp_eh_info instead of __cp_exception_info. 1998-06-08 Jason Merrill @@ -5197,7 +5198,7 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi * lex.c (lang_init_options): New function. (lang_init): Remove flag_exceptions == 2 hack. - + 1998-06-05 Jason Merrill * search.c (envelope_add_decl): Tweak for implicit typename. @@ -5239,7 +5240,7 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi (begin_only_namespace_names, end_only_namespace_names): New functions. * decl2.c (set_decl_namespace): Skip namespace aliases. (do_using_directive): Likewise. - (do_namespace_alias): Produce namespace aliases, fix alias + (do_namespace_alias): Produce namespace aliases, fix alias redeclaration. * error.c (dump_decl): Support SCOPE_REF. * parse.y (extdef): Wrap lookup with namespace_only for namespace @@ -5322,9 +5323,9 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi * method.c (build_destructor_name): New fn. * decl2.c (maybe_retrofit_in_chrg): Split out... (grokclassfn): From here. Reorganize. - * decl.c (grok_ctor_properties): Make sure ctors for types with + * decl.c (grok_ctor_properties): Make sure ctors for types with vbases have the in_chrg parm. - * pt.c (instantiate_class_template): Update + * pt.c (instantiate_class_template): Update TYPE_USES_VIRTUAL_BASECLASSES from tsubsted bases. Don't call grok_*_properties. (tsubst): Call grok_ctor_properties and maybe_retrofit_in_chrg. @@ -5336,7 +5337,7 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi 1998-05-28 Jason Merrill - * decl.c (start_decl): Always pedwarn about vacuously redeclaring + * decl.c (start_decl): Always pedwarn about vacuously redeclaring a member. (start_function): Call check_default_args. * decl2.c (grokfield): Don't call check_default_args. @@ -5365,7 +5366,7 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi (maybe_push_to_top_level): Clear shadowed_labels. * pt.c (instantiate_decl): Reset lineno and filename after calling - regenerate_decl_from_template. + regenerate_decl_from_template. * decl.c (grokdeclarator): Don't try to use TYPE_OBSTACK on an error_mark_node. @@ -5394,7 +5395,7 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi 1998-05-26 Benjamin Kosnik * decl.c (start_decl): Check for DECL_LANG_SPECIFIC before - DECL_USE_TEMPLATE. + DECL_USE_TEMPLATE. 1998-05-26 Per Bothner @@ -5439,7 +5440,7 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi * cp-tree.h (processing_template_parmlist): Declare. * decl.c (pushtag): Don't call push_template_decl when we - shouldn't. + shouldn't. * pt.c (processing_template_parmlist): New variable. (TMPL_ARGS_HAVE_MULTIPLE_LEVELS): New macro. (complete_template_args): Use it. @@ -5484,7 +5485,7 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi * parse.y (xcond): Move call to condition_conversion ... * semantics.c (finish_for_cond): Here. * parse.c: Regenerated. - + 1998-05-24 Jason Merrill * decl.c (push_namespace): Namespaces have type void. @@ -5503,14 +5504,14 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi * tree.c (build_srcloc, build_srcloc_here): New fns. * pt.c (add_pending_template): Use build_srcloc_here. (push_tinst_level): Update last_template_error_tick before erroring. - (instantiate_decl): Restore lineno and input_filename before + (instantiate_decl): Restore lineno and input_filename before calling add_pending_template. * decl2.c (finish_file): Set up lineno and input_filename for pending templates. 1998-05-22 Jason Merrill - * decl.c (lang_print_error_function): New fn. + * decl.c (lang_print_error_function): New fn. (init_decl_processing): Set print_error_function to use it. * errfn.c (cp_thing): Don't call maybe_print_template_context here. @@ -5537,7 +5538,7 @@ Mon Jun 8 20:45:52 1998 Kaveh R. Ghazi * pt.c (determine_specialization): Just return an error_mark_node. Also print the decl we want in error messages. If we complain, return error_mark_node. - (tsubst_friend_function): Set lineno and input_filename so + (tsubst_friend_function): Set lineno and input_filename so error messages will be useful. (instantiate_template): Just return an error_mark_node. (check_explicit_specialization): Don't mess with a returned @@ -5571,7 +5572,7 @@ Thu May 21 11:54:44 1998 Dave Brolley * cp-tree.h: (get_directive_line): Different prototype for cpplib. (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line. - * Makefile.in (CXX_OBJS): add @extra_cxx_objs@ for cpplib. + * Makefile.in (CXX_OBJS): Add @extra_cxx_objs@ for cpplib. 1998-05-21 Jason Merrill @@ -5604,11 +5605,11 @@ Thu May 21 11:54:44 1998 Dave Brolley CLASSTYPE_TAGS list, just as for ordinary member classes. (pushdecl_class_level): Use DECL_DECLARES_TYPE_P. (lookup_tag): Look for IDENTIFIER_CLASS_VALUEs, just as with - IDENTIFIER_NAMESPACE_VALUEs. + IDENTIFIER_NAMESPACE_VALUEs. * parse.y (component_decl): Move code to ... - * semantics.c (finish_member_class_template): New function. + * semantics.c (finish_member_class_template): New function. Don't put member class templates on the list of components for a - class. + class. * parse.c: Regenerated. * pt.c (classtype_mangled_name): Don't try DECL_CONTEXT on types. In fact, don't use DECL_CONTEXT at all here. @@ -5687,7 +5688,7 @@ Tue May 19 10:05:02 1998 Kaveh R. Ghazi definition. * errfn.c (cp_error): Cast function pointer `error' to (errorfn *) - in call to `cp_thing'. + in call to `cp_thing'. (cp_warning): Likewise for function pointer `warning'. * except.c (do_function_call): Remove prototype and definition. @@ -5698,10 +5699,10 @@ Tue May 19 10:05:02 1998 Kaveh R. Ghazi * parse.y: Include toplev.h. * pt.c (type_unification): Remove unused variable `arg'. - (instantiate_decl): likewise for `save_ti'. + (instantiate_decl): Likewise for `save_ti'. * tree.c (propagate_binfo_offsets): Likewise for `base_binfos'. - + Tue May 19 02:43:25 1998 Jason Merrill * init.c (build_member_call): Handle template_ids. @@ -5715,9 +5716,9 @@ Mon May 18 23:22:52 1998 Jason Merrill Mon May 18 12:28:44 1998 Mark Mitchell * parse.y (.finish_new_placement): New non-terminal. - (unary_expr, new_type_id): Use it. + (unary_expr, new_type_id): Use it. * parse.c: Regenerated. - + Mon May 18 12:20:27 1998 Brendan Kehoe * pt.c (redeclare_class_template): Say where the original definition @@ -5733,7 +5734,7 @@ Mon May 18 03:00:57 1998 Jason Merrill Mon May 18 01:43:01 1998 Martin v. Loewis - * decl.c (lookup_name_real): Don't look at IDENTIFIER_LOCAL_VALUE + * decl.c (lookup_name_real): Don't look at IDENTIFIER_LOCAL_VALUE for a type unless it is one. * class.c (finish_struct_1): Use OVL_CURRENT in error message. @@ -5743,7 +5744,7 @@ Mon May 18 01:24:08 1998 Jeffrey A Law (law@cygnus.com) * Makefile.in (program_transform_name, objdir): Define. * Makefile.in (BISON): Use bison from the build tree if it exists. - (FLEX): Similarly. + (FLEX): Likewise. Sun May 17 14:52:08 1998 Martin v. Loewis @@ -5762,7 +5763,7 @@ Sun May 17 13:53:48 1998 Mark Mitchell * parse.y (.build_new_placement): New non-terminal. (unary_expr, new_placement): Use it. * parse.c: Regenerated. - + Sun May 17 12:32:08 1998 Jason Merrill * decl.c (duplicate_decls): Use CANONICAL_TYPE_VARIANT to compare @@ -5781,7 +5782,7 @@ Fri May 15 20:28:00 1998 Jason Merrill Fri May 15 15:34:02 1998 Benjamin Kosnik - * decl.c (duplicate_decls): Clean up, add DECL_DATA_AREA bits. + * decl.c (duplicate_decls): Clean up, add DECL_DATA_AREA bits. Fri May 15 00:46:05 1998 Jason Merrill @@ -5792,17 +5793,17 @@ Fri May 15 00:46:05 1998 Jason Merrill Thu May 14 16:30:47 EDT 1998 Andrew MacLeod * exception.cc: Include eh-common.h. - (struct cp_eh_info): add eh_info struct with NEW_EH_MODEL. + (struct cp_eh_info): Add eh_info struct with NEW_EH_MODEL. (__cplus_type_matcher): First stab at new C++ runtime type matcher. (__cp_push_exception): Initialize eh_info struct as well. * except.c: Remove local structs and include eh-common.h. (init_exception_processing): Set language and version codes. - (call_eh_info): add presence of eh_info to runtime description of + (call_eh_info): Add presence of eh_info to runtime description of struct cp_eh_info. - (expand_end_eh_spec): call start_catch_block() and end_catch_block(). - * semantics.c (finish_try_block): call start_catch_block() and + (expand_end_eh_spec): Call start_catch_block() and end_catch_block(). + * semantics.c (finish_try_block): Call start_catch_block() and end_catch_block(). - * parse.y (function_try_block): call start_catch_block() and + * parse.y (function_try_block): Call start_catch_block() and end_catch_block(). Thu May 14 12:27:34 1998 Brendan Kehoe @@ -5815,11 +5816,11 @@ Thu May 14 12:27:34 1998 Brendan Kehoe Wed May 13 12:54:30 1998 Kaveh R. Ghazi * Makefile.in (lex.o): Depend on output.h. - + * call.c (add_function_candidate): Remove unused variable `cand'. (add_conv_candidate): Likewise. (build_builtin_candidate): Likewise. - + * cp-tree.h: Add prototype for `types_overlap_p'. * decl.c (signal_catch): Mark parameter `sig' with ATTRIBUTE_UNUSED. @@ -5854,7 +5855,7 @@ Tue May 12 21:37:49 1998 Jason Merrill DECL_NAMESPACE_SCOPE_P. (lang_decl_name): Likewise. * pt.c (tsubst_friend_function, tsubst): Likewise. - * decl.c (pushdecl, redeclaration_error_message, start_decl, + * decl.c (pushdecl, redeclaration_error_message, start_decl, cp_finish_decl, start_function): Likewise. * class.c (finish_struct_1): Likewise. * call.c (build_over_call): Likewise. @@ -5876,7 +5877,7 @@ Mon May 11 11:38:07 1998 Mark Mitchell * pt.c (tsubst): Remove duplicate check for IDENTIFIER_NODE. * call.c (add_template_candidate): Adjust for changes to - fn_type_unification. + fn_type_unification. (add_template_candidate_real): Likewise. (add_template_conv_candidate): Likewise. (build_user_type_conversion_1): Likewise. @@ -5921,11 +5922,11 @@ Mon May 11 11:38:07 1998 Mark Mitchell tsubst_template_argument_vector where appropriate. (regenerate_decl_from_template): Break out from ... (instantiate_decl): Here. - + * lex.c (yyprint): Remove TYPENAME_ELLIPSIS. * parse.h: Regenerated. * parse.c: Really regenerated. - + * cp-tree.h (finish_unary_op_expr): New function. (finish_id_expr): Likewise. (begin_new_placement): Likewise. @@ -5987,7 +5988,7 @@ Sat May 9 14:44:37 1998 Jason Merrill Fri May 8 23:32:42 1998 Martin von Loewis - * cp-tree.def (OVERLOAD): New node. + * cp-tree.def (OVERLOAD): New node. * cp-tree.h (BINDING_TYPE, SET_IDENTIFIER_GLOBAL_VALUE, SET_IDENTIFIER_NAMESPACE_VALUE): Define. (NAMESPACE_BINDING): Remove. @@ -6016,10 +6017,10 @@ Fri May 8 23:32:42 1998 Martin von Loewis * call.c (add_function_candidate): Special-case type of OVERLOAD node. (build_user_conversions_1): Iterate using OVL_NEXT for ctors, convs, fns. - (build_new_function_call): Iterate using OVL_CHAIN. + (build_new_function_call): Iterate using OVL_CHAIN. Print DECL_NAME in when reporting ambiguities. (build_object_call): Iterate using OVL_NEXT for fns, convs. - (build_new_op): Call lookup_function_nonclass. + (build_new_op): Call lookup_function_nonclass. Iterate using OVL_NEXT. (build_op_delete_call): Change detection of members. Do not wrap TREE_LIST around fields and single global functions. @@ -6037,7 +6038,7 @@ Fri May 8 23:32:42 1998 Martin von Loewis fdecls that are OVERLOAD nodes. (validate_lhs): New function. (instantiate_type): Do not copy OVERLOAD nodes. Remove dead - code. Use DECL_NAME in error messages. Split code between global + code. Use DECL_NAME in error messages. Split code between global and member function processing. * decl.c (global_type_node): New static variable. (in_std): New global. @@ -6064,7 +6065,7 @@ Fri May 8 23:32:42 1998 Martin von Loewis (pushtag): If no context, use current_namespace. (duplicate_decls): Don't process DECL_CHAIN. (pushdecl): Set DECL_CONTEXT to current_namespace, if it is not - already set. Never reset it to NULL_TREE. Lookup global variables + already set. Never reset it to NULL_TREE. Lookup global variables in their namespace. Push overloaded templates if they are on namespace level. (pushdecl_namespace_level): New function. @@ -6072,7 +6073,7 @@ Fri May 8 23:32:42 1998 Martin von Loewis (pushdecl_using_decl): New function. (overloaded_globals_p): Remove. (push_overloaded_decl): Create OVERLOAD nodes, and iterate through - them. Use namespace_binding and set_namespace_value. + them. Use namespace_binding and set_namespace_value. (redeclaration_error_message): Complain if the declarations come from different namespaces. (lookup_tag): On namespace level, look in the BINDING_TYPE. @@ -6098,7 +6099,7 @@ Fri May 8 23:32:42 1998 Martin von Loewis (grokvardecl): Add namespace parameter. (grokdeclarator): Process SCOPEs that are namespaces. For mangling, temporarily set the DECL_CONTEXT on anonymous structs. - (start_function): Check for contexts that are namespaces. + (start_function): Check for contexts that are namespaces. Set context for declarations that have not been pushed. (store_parm_decls): Check for ::main only. (finish_function): Likewise. @@ -6134,7 +6135,7 @@ Fri May 8 23:32:42 1998 Martin von Loewis * lang-specs.h (__HONOR_STD): Define if -fnew-abi or -fhonor-std. * lex.c (identifier_type): Loop using OVL_CHAIN. (see_typename): Set looking_for_typename to 2. - (real_yylex): Likewise. + (real_yylex): Likewise. (do_identifier): Expect OVERLOAD nodes instead of TREE_LISTs. (do_scoped_id): Expect OVERLOAD nodes. Change calling convention for qualified_lookup_using_namespace. @@ -6161,7 +6162,7 @@ Fri May 8 23:32:42 1998 Martin von Loewis Set DECL_CONTEXT to current_namespace if not set already. Ignore real contexts that are namespaces. (mangle_class_name_for_template): Skip global_namespace. - Mangle other namepaces as declarations. + Mangle other namespaces as declarations. (lookup_template_function): Set type of OVERLOAD nodes to unknown. (lookup_template_class): Push into namespace of context. If the context is a namespace, set it to global_namespace. @@ -6203,7 +6204,7 @@ Fri May 8 23:32:42 1998 Martin von Loewis * decl.c (duplicate_decls): Check for namespace bindings instead of global bindings. (pushdecl, push_overloaded_decl, lookup_tag, lookup_name_real, - lookup_name_current_level, start_decl, xref_tag, + lookup_name_current_level, start_decl, xref_tag, finish_enum): Likewise. * init.c (build_offset_ref): Likewise. * search.c (lookup_field): Likewise. @@ -6220,14 +6221,14 @@ Fri May 8 23:32:42 1998 Martin von Loewis * parse.y (make_thunk): Likewise. * pt.c (tsubst): Likewise. * tree.c (debug_binfo): Likewise. - * exception.cc, new.cc, new1.cc, new2.cc, tinfo.cc, tinfo.h, + * exception.cc, new.cc, new1.cc, new2.cc, tinfo.cc, tinfo.h, tinfo2.cc, inc/new.h: Add std qualifications. * inc/new: Wrap with namespace std if __HONOR_STD. * inc/typeinfo: Likewise. Fri May 8 00:43:50 1998 Jason Merrill - * call.c (build_user_type_conversion_1): Handle second_conv + * call.c (build_user_type_conversion_1): Handle second_conv properly for templates. Thu May 7 17:09:25 EDT 1998 Andrew MacLeod @@ -6243,7 +6244,7 @@ Wed May 6 16:49:48 1998 Jim Wilson * Makefile.in (call.o, class.o, decl.o, decl2.o, errfn.o, error.o, except.o, expr.o, friend.o, init.o, lex.o, method.o, pt.o, repo.o, - rtti.o, search.o, semantics.o, sig.o, tree.o, typeck.o, typeck2.o, + rtti.o, search.o, semantics.o, sig.o, tree.o, typeck.o, typeck2.o, xref.o): Add toplev.h dependencies. Wed May 6 16:44:58 1998 Jeffrey A Law (law@cygnus.com) @@ -6260,9 +6261,9 @@ Wed May 6 14:28:18 1998 Kaveh R. Ghazi Wed May 6 06:36:41 1998 Robert Lipe - * call.c, class.c, decl.c, decl2.c, errfn.c, error.c, except.c, - expr.c, friend.c, init.c, lex.c, method.c, pt.c, repo.c, rtti.c, - search.c, semantics.c, sig.c, tree.c, typeck.c, typeck2.c, + * call.c, class.c, decl.c, decl2.c, errfn.c, error.c, except.c, + expr.c, friend.c, init.c, lex.c, method.c, pt.c, repo.c, rtti.c, + search.c, semantics.c, sig.c, tree.c, typeck.c, typeck2.c, xref.c: Add include of toplev.h. Wed May 6 02:33:39 1998 Jason Merrill @@ -6277,7 +6278,7 @@ Tue May 5 23:54:04 1998 Jason Merrill Tue May 5 18:24:13 EDT 1998 Andrew MacLeod - * method.c (build_mangled_name): Add a call to build_type_variant + * method.c (build_mangled_name): Add a call to build_type_variant to get the right type. Tue May 5 01:25:03 1998 Jason Merrill @@ -6288,7 +6289,7 @@ Tue May 5 01:25:03 1998 Jason Merrill Sun May 3 01:32:14 1998 Jason Merrill - * call.c (build_over_call): Do evaluate arg even if it has empty + * call.c (build_over_call): Do evaluate arg even if it has empty class type. * decl.c (start_function): Don't push a member function. @@ -6325,7 +6326,7 @@ Sun Apr 26 12:10:18 1998 Mark Mitchell (PRIMARY_TEMPLATE_P): Use it. (push_template_decl_real): New function. (redeclare_class_template): Take new template parameters as - input. + input. (is_specialization_of): New function. (comp_template_args): Declare. * decl.c (pushtag): Handle friend template classes. @@ -6345,7 +6346,7 @@ Sun Apr 26 12:10:18 1998 Mark Mitchell with friend templates. * typeck.c (comptypes): Use comp_template_args, rather than expanding it inline. - * parse.y (component_decl): Handle a nested template type + * parse.y (component_decl): Handle a nested template type like other component type declarations. * pt.c (check_explicit_specialization): Handle overloaded @@ -6363,14 +6364,14 @@ Thu Apr 23 21:19:06 1998 Jason Merrill Enforce access control here. Emit overload warnings here. (add_warning): New fn. (joust): Add WARN parm. If not set, call add_warning instead of - printing a warning. Reenable some warnings. + printing a warning. Re-enable some warnings. (tourney): Pass it. (convert_like): Adjust. (build_new_op): Adjust. (build_new_function_call): Adjust. (build_user_type_conversion_1): Adjust. (USER_CONV_FN): Adjust. - * tree.c (build_expr_wrapper, build_expr_ptr_wrapper, + * tree.c (build_expr_wrapper, build_expr_ptr_wrapper, build_int_wrapper): New fns. Thu Apr 23 18:27:53 1998 Mark P. Mitchell @@ -6389,15 +6390,15 @@ Wed Apr 22 13:24:48 1998 Mark Mitchell the DECL_RESULTs of a member TEMPLATE_DECL, not just the TEMPLATE_DECL. - * pt.c (tsubst): Decrease the template-level of - TEMPLATE_TEMPLATE_PARMS. Likewise for the DECL_INITIAL of a - TEMPLATE_PARM_INDEX. - (template_decl_level): New function. - (unify): Make sure to record unifications for template - parameters, even when the parameters exactly match the arguments. - Combine duplicated code for TEMPLATE_TEMPLATE_PARMs and - TEMPLATE_TYPE_PARMS. Don't try to unify template parameters that - aren't from the level we're currently working on. + * pt.c (tsubst): Decrease the template-level of + TEMPLATE_TEMPLATE_PARMS. Likewise for the DECL_INITIAL of a + TEMPLATE_PARM_INDEX. + (template_decl_level): New function. + (unify): Make sure to record unifications for template + parameters, even when the parameters exactly match the arguments. + Combine duplicated code for TEMPLATE_TEMPLATE_PARMs and + TEMPLATE_TYPE_PARMS. Don't try to unify template parameters that + aren't from the level we're currently working on. Tue Apr 21 22:00:04 1998 Mark Mitchell @@ -6540,29 +6541,29 @@ Sun Apr 12 22:31:19 1998 Richard Kenner Fri Apr 10 12:16:49 1998 Benjamin Kosnik * decl.c (duplicate_decls): Don't warn for redundant decls if - friend: let add_friend take care of it. + friend: let add_friend take care of it. Thu Apr 9 02:40:48 1998 Jason Merrill * sig.c (build_signature_pointer_constructor): Don't set TREE_HAS_CONSTRUCTOR for a signature pointer. * cvt.c (ocp_convert): Don't force a temporary for internal structs. - * init.c (resolve_offset_ref): Warn about implicit & on pmfs + * init.c (resolve_offset_ref): Warn about implicit & on pmfs here, too. - * typeck.c (build_unary_op): Only allow taking the address of a + * typeck.c (build_unary_op): Only allow taking the address of a real constructor. * typeck2.c (digest_init): Simplify. (store_init_value): Don't pedwarn about using { } for pmfs. Thu Apr 9 22:16:57 1998 Per Bothner - * cp-tree.h (start_decl): Update prototype. - * decl.c (start_decl): Like the C version, new parameters - for the attributes. Call cplus_decl_attributes here, - (pushdecl): Like C version, do build_type_copy if TYPE_DECL, - (grokdeclarator): Pass NULL for new start_decl arguments. - * pt.c (tsubst_expr): Likewise. - * parse.y: Merge cplus_decl_attribute calls into start_decl calls. + * cp-tree.h (start_decl): Update prototype. + * decl.c (start_decl): Like the C version, new parameters + for the attributes. Call cplus_decl_attributes here, + (pushdecl): Like C version, do build_type_copy if TYPE_DECL, + (grokdeclarator): Pass NULL for new start_decl arguments. + * pt.c (tsubst_expr): Likewise. + * parse.y: Merge cplus_decl_attribute calls into start_decl calls. * typeck.c (common_type): Check TYPE_MAIN_VARIANT. * lex.c (build_lang_decl): Add lang_name_java. * class.c (push_lang_context): Add lang_name_java. @@ -6573,14 +6574,14 @@ Thu Apr 9 22:16:57 1998 Benjamin Kosnik * decl.c (grokdeclarator): Check TYPE_MAIN_VARIANT. * call.c (build_scoped_method_call): Check for TREE_CODE for VOID_TYPE instead of type == void_type_node. - (build_method_call): Ditto. - * decl.c (lookup_name_real): Ditto. - (grokdeclarator): Ditto. - (start_decl): Ditto. - (grokparms): Ditto. - (start_function): Ditto. - (finish_function): Ditto. - (start_method): Ditto. + (build_method_call): Likewise. + * decl.c (lookup_name_real): Likewise. + (grokdeclarator): Likewise. + (start_decl): Likewise. + (grokparms): Likewise. + (start_function): Likewise. + (finish_function): Likewise. + (start_method): Likewise. Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com) @@ -6614,7 +6615,7 @@ Sat Apr 4 12:52:35 1998 Jeffrey A Law (law@cygnus.com) Fri Apr 3 02:22:59 1998 Jason Merrill Implement empty base optimization. - * class.c (finish_struct_1): Add vbase fields earlier. Set + * class.c (finish_struct_1): Add vbase fields earlier. Set CLASSTYPE_SIZE of an empty base to 0. Types with bases can be empty. * search.c (dfs_check_overlap, dfs_no_overlap_yet): New fns. (types_overlap_p): New fn. @@ -6651,7 +6652,7 @@ Wed Apr 1 18:22:25 1998 Jeffrey A Law (law@cygnus.com) * class.c, Make sure system.h is included just after config.h. Delete lingering stdio and errno references too. * decl.c, errfn.c, parse.y, ptree.c search.c, xref.c: Likewise. - + Wed Apr 1 15:38:36 1998 Jason Merrill * friend.c (is_friend): Fix access control for local classes. @@ -6678,7 +6679,7 @@ Tue Mar 31 13:43:57 1998 Jeffrey A Law (law@cygnus.com) Mon Mar 30 12:15:00 1998 Mark Mitchell - * pt.c (fn_type_unification): Allow incomplete unification without + * pt.c (fn_type_unification): Allow incomplete unification without an immediate error message. Mon Mar 30 08:55:42 1998 Jason Merrill @@ -6756,7 +6757,7 @@ Fri Mar 27 20:23:18 1998 Mark Mitchell * error.c (dump_decl): Be a bit more explicit with template type arguments, when verbose. - + Fri Mar 27 18:16:40 1998 Jason Merrill * inc/exception: Reorder closing braces. @@ -6769,7 +6770,7 @@ Fri Mar 27 13:22:18 1998 Mark Mitchell Thu Mar 26 11:16:30 1998 Jason Merrill - * call.c (build_over_call): Check IS_AGGR_TYPE, not + * call.c (build_over_call): Check IS_AGGR_TYPE, not TYPE_LANG_SPECIFIC. * typeck.c (convert_arguments): Likewise. @@ -6828,8 +6829,8 @@ Tue Mar 24 12:21:55 1998 Benjamin Kosnik Tue Mar 24 12:21:48 1998 Jim Wilson - * decl.c (init_decl_processing): Initialize TYPE_MAX_VALUE for - boolean_type_node to 1. + * decl.c (init_decl_processing): Initialize TYPE_MAX_VALUE for + boolean_type_node to 1. Tue Mar 24 10:23:47 1998 Mark Mitchell @@ -6868,7 +6869,7 @@ Tue Mar 24 10:23:47 1998 Mark Mitchell (fn_type_unification): Use new interfaces. (type_unification): Likewise. Remove NOP_EXPR hack. (type_unification_real): Likewise. - (unify): Likewise. Deal with unification of complex expresions. + (unify): Likewise. Deal with unification of complex expressions. Mon Mar 23 12:24:37 1998 Jason Merrill @@ -6881,7 +6882,7 @@ Mon Mar 23 12:24:37 1998 Jason Merrill * search.c (lookup_field): Do implicit typename stuff. Sun Mar 22 00:50:42 1998 Nick Clifton - Geoff Noer + Geoff Noer * Makefile.in: Various fixes for building cygwin32 native toolchains. * Make-lang.in: Likewise. @@ -6901,7 +6902,7 @@ Fri Mar 20 10:42:07 1998 Jason Merrill Fri Mar 20 08:12:43 1998 H.J. Lu (hjl@gnu.org) - * semantics.c (finish_asm_stmt): Fix combine strings. Call + * semantics.c (finish_asm_stmt): Fix combine strings. Call c_expand_asm_operands () if output_operands, input_operands or clobbers is not NULL_TREE. @@ -6909,7 +6910,7 @@ Fri Mar 20 00:10:19 1998 Kriang Lerdsuwanakij * pt.c (complete_template_args): New function. (get_bindings): Deal with specializations of function templates - with return type containing parameters from outer class + with return type containing parameters from outer class templates. (tsubst, TEMPLATE_TEMPLATE_PARM): When reducing parameter level, substitute arguments and compose a new type. @@ -6925,7 +6926,7 @@ Thu Mar 19 11:51:58 1998 Jason Merrill * call.c (standard_conversion): Handle A* -> const A* properly. - * pt.c (get_bindings_real): Rename from get_bindings. Add + * pt.c (get_bindings_real): Rename from get_bindings. Add check_rettype parm. (get_bindings): Pass 1. (get_bindings_overload): Pass 0. @@ -6946,7 +6947,7 @@ Thu Mar 19 02:27:48 1998 Jason Merrill Wed Mar 18 12:41:43 1998 Jason Merrill - * decl.c (make_implicit_typename): Only change the type of a + * decl.c (make_implicit_typename): Only change the type of a TYPENAME_TYPE. Wed Mar 18 10:09:51 1998 Mark Mitchell @@ -6960,7 +6961,7 @@ Wed Mar 18 10:09:51 1998 Mark Mitchell * cp-tree.def: Add ASM_STMT tree node. * Makefile.in, Make-lang.in: Add dependencies on and for semantics.c. - + Wed Mar 18 00:24:10 1998 Jason Merrill * pt.c (push_template_decl): Only check primary templates. @@ -6968,7 +6969,7 @@ Wed Mar 18 00:24:10 1998 Jason Merrill * pt.c (check_explicit_specialization): Complain about default args in explicit specialization. - * parse.y (nomods_initdcl0): Also call cp_finish_decl for a + * parse.y (nomods_initdcl0): Also call cp_finish_decl for a constructor_declarator. Tue Mar 17 14:44:54 1998 Mark Mitchell @@ -6995,7 +6996,7 @@ Mon Mar 16 12:10:39 1998 Jason Merrill * class.c (pushclass): Only use the mi_matrix stuff #ifdef MI_MATRIX. * search.c: Likewise. - * lex.c (do_pending_defargs): Only call + * lex.c (do_pending_defargs): Only call maybe_{begin,end}_member_template_processing for FUNCTION_DECLs. * parse.y (initdcl0_innards): Move maybeasm back into initdcl0 et al. @@ -7008,9 +7009,9 @@ Mon Mar 16 10:54:21 1998 Mark Mitchell * pt.c (tsubst_copy): Deal with BIND_EXPR in a way that more closely mimics the behavior in parse.y. - (tsubst_expr): Return the resuting BLOCK when making a tsubst'ing + (tsubst_expr): Return the resulting BLOCK when making a tsubst'ing into a compound statement. - + Sun Mar 15 02:07:26 1998 Jason Merrill * cp-tree.h (TEMPLATE_PARMS_FOR_INLINE): New macro. @@ -7027,13 +7028,13 @@ Sun Mar 15 01:14:22 1998 Kriang Lerdsuwanakij * lex.c (do_identifier): Handle TEMPLATE_DECL that was added in the class scope to catch redefinition error. - * pt.c (reduce_template_parm_level): Also copy + * pt.c (reduce_template_parm_level): Also copy the DECL_TEMPLATE_PARMS field. Sun Mar 15 10:54:08 1998 Mark Mitchell * pt.c (tsubst): Clear TYPE_REFERENCE_TO when creating a - reduced-level template type parameter. + reduced-level template type parameter. Sun Mar 15 12:26:02 1998 Manfred Hollstein @@ -7044,10 +7045,10 @@ Sun Mar 15 12:26:02 1998 Manfred Hollstein * typeck2.c (abstract_virtuals_error): Use two loops to emit abstract virtual functions and virtual functions which need a final overrider separately. - + Thu Mar 12 09:39:40 1998 Manfred Hollstein - * lang-specs.h: Properly put brackets around array elements in + * lang-specs.h: Properly put brackets around array elements in initializer. * typeck.c (build_binary_op_nodefault): Correctly place parens around @@ -7065,7 +7066,7 @@ Thu Mar 12 09:26:04 1998 Manfred Hollstein * except.c (do_unwind): #if 0 definition of unused variables fcall and next_pc. - * expr.c (extract_scalar_init): #if 0 prototype and function + * expr.c (extract_scalar_init): #if 0 prototype and function definition. * init.c (expand_aggr_init_1): Remove unused variable init_type. @@ -7109,13 +7110,13 @@ Fri Mar 6 23:27:35 1998 Jeffrey A Law (law@cygnus.com) Fri Mar 6 10:06:59 1998 Kaveh R. Ghazi - * method.c: Include "system.h" to get stdlib.h, stdio.h, - ctype.h, string.h, etc. - (issue_nrepeats): Add default case in enumeration switch. - (check_btype): Likewise. - (process_overload_item): Likewise. - - * Makefile.in (method.o): Depend on system.h. + * method.c: Include "system.h" to get stdlib.h, stdio.h, + ctype.h, string.h, etc. + (issue_nrepeats): Add default case in enumeration switch. + (check_btype): Likewise. + (process_overload_item): Likewise. + + * Makefile.in (method.o): Depend on system.h. Wed Mar 4 22:26:53 1998 Andreas Schwab @@ -7126,7 +7127,7 @@ Wed Mar 4 12:11:53 1998 Michael Tiemann * rtti.c (get_tinfo_fn_dynamic): If this function is called an FLAG_RTTI is unset, initialize type info machinery and continue with FLAG_RTTI enabled. - (get_typeid): Ditto. + (get_typeid): Likewise. Wed Mar 4 11:47:55 1998 Jason Merrill @@ -7145,7 +7146,7 @@ Tue Mar 3 01:38:17 1998 Jason Merrill some formatting quirks. * call.c, class.c, cp-tree.h, cvt.c, decl.c, init.c, lex.c, - method.c, pt.c, ptree.c, typeck.c: Remove support for + method.c, pt.c, ptree.c, typeck.c: Remove support for -fno-ansi-overloading and overloading METHOD_CALL_EXPR. * class.h: Remove. * Makefile.in: Adjust. @@ -7161,7 +7162,7 @@ Mon Mar 2 12:11:06 1998 Jason Merrill (nested_name_specifier): And add it before this use. (typename_sub0): And this use. Also add use without the keyword. (typename_sub1): Likewise. - * pt.c (instantiate_class_template): Don't actually instantiate + * pt.c (instantiate_class_template): Don't actually instantiate anything if our type uses template parms. Mon Mar 2 11:04:59 1998 Jim Wilson @@ -7182,9 +7183,9 @@ Sat Feb 28 12:06:44 1998 Jason Merrill * lex.c (yyprint): Handle a PTYPENAME being a TEMPLATE_DECL. * decl.c (make_typename_type): Handle template-id where the name is a TEMPLATE_DECL. - * call.c (build_scoped_method_call): Handle member template + * call.c (build_scoped_method_call): Handle member template destructor call. - * pt.c (tsubst_copy, METHOD_CALL_EXPR): Don't assume a member + * pt.c (tsubst_copy, METHOD_CALL_EXPR): Don't assume a member destructor is represented by the type. * cp-tree.h (TYPENAME_TYPE_FULLNAME): New macro. @@ -7231,7 +7232,7 @@ Fri Feb 27 02:25:16 1998 Jason Merrill * decl.c (pushtag): Handle member templates. * method.c (do_inline_function_hair): Don't touch IDENTIFIER_GLOBAL_VALUE. - * init.c (build_offset_ref): If name isn't an identifier, just + * init.c (build_offset_ref): If name isn't an identifier, just return it. * spew.c (yylex): Handle PTYPENAME like TYPENAME. @@ -7262,43 +7263,43 @@ Wed Feb 25 00:35:33 1998 Jason Merrill Tue Feb 24 22:15:04 1998 Martin von Loewis * cp-tree.def: Add CPLUS_BINDING node. - * cp-tree.h (tree_binding): new struct - (BINDING_SCOPE, BINDING_VALUE): new macros - (current_namespace, global_namespace): declare extern - (struct lang_decl_flags): new field in_namespace - (DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): new macros - (DECL_NAMESPACE, SET_DECL_NAMESPACE): new macros - (TREE_INDIRECT_USING): new macro + * cp-tree.h (tree_binding): New struct. + (BINDING_SCOPE, BINDING_VALUE): New macros. + (current_namespace, global_namespace): Declare extern. + (struct lang_decl_flags): New field in_namespace. + (DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): New macros. + (DECL_NAMESPACE, SET_DECL_NAMESPACE): New macros. + (TREE_INDIRECT_USING): New macro. * decl2.c (current_namespace, global_namespace): Declare. The value is a NAMESPACE_DECL now, not a TREE_LIST. - (is_namespace_ancestor, namespace_ancestor):new static functions. - (add_using_namespace, ambiguous_decl): likewise. - (lookup_using_namespace): new support function for lookup_name. - (qualified_lookup_using_namespace): new support function for - do_scoped_id and lookup_namespace_name - (get_namespace_id): mark as obsolete. + (is_namespace_ancestor, namespace_ancestor): New static functions. + (add_using_namespace, ambiguous_decl): Likewise. + (lookup_using_namespace): New support function for lookup_name. + (qualified_lookup_using_namespace): New support function for + do_scoped_id and lookup_namespace_name. + (get_namespace_id): Mark as obsolete. (current_namespace_id): Likewise. (do_namespace_alias): Implement. (do_using_directive): Implement as call to add_using_namespace. - * decl.c (binding_for_name): new function. - (push_namespace, pop_namespace): implement. - (push_decl): don't install a FUNCTION_DECL in the global branch. - (lookup_namespace_name): implement using qualified lookup. + * decl.c (binding_for_name): New function. + (push_namespace, pop_namespace): Implement. + (push_decl): Don't install a FUNCTION_DECL in the global branch. + (lookup_namespace_name): Implement using qualified lookup. (lookup_name_real): For global scoping, lookup in - global_namespace. For namespace scoping, lookup in given - namespace. For unscoped lookup, iterate over namespace, + global_namespace. For namespace scoping, lookup in given + namespace. For unscoped lookup, iterate over namespace, considering using directives. - (init_decl_processing): initialize global_namespace. + (init_decl_processing): Initialize global_namespace. (grokvardecl): Build assembler name as static name for globals. (grokdeclarator): Remove old namespace mangling. (xref_tag): When installing a global binding for the tag, make sure we have an identifier. - * method.c (build_overload_nested_name): mangle namespaces. + * method.c (build_overload_nested_name): Mangle namespaces. (build_qualified_name): Likewise. (build_decl_overload_real): Likewise. - * lex.c (build_lang_decl): set namespace for new declaration to + * lex.c (build_lang_decl): Set namespace for new declaration to current_namespace. - (do_scoped_id): find global names in global or current + (do_scoped_id): Find global names in global or current namespace, or using qualified namespace lookup, depending on context. * init.c (build_member_call): When scope is namespace, use @@ -7328,7 +7329,7 @@ Tue Feb 24 01:40:24 1998 Jason Merrill * pt.c (instantiate_class_template): Don't instantiate if pedantic and the args use template parms. - * pt.c (push_tinst_level): If the instantiaton uses template parms, + * pt.c (push_tinst_level): If the instantiation uses template parms, fail silently. * decl.c (xref_basetypes): Do call complete_type for basetypes that involve template parameters. @@ -7357,7 +7358,7 @@ Mon Feb 23 02:52:29 1998 Mark Mitchell * Make-lang.in (cc1plus): Note that cc1plus depends on cp/cp-tree.h and cp/cp-tree.def. - + * cp-tree.def (TEMPLATE_CONST_PARM): Remove. (TEMPLATE_PARM_INDEX): New tree code, used to indicate a position in a template parameter list. @@ -7392,7 +7393,7 @@ Mon Feb 23 02:52:29 1998 Mark Mitchell two template functions with the same DECL_ASSEMBLER_NAME the same, since the names are not yet mangled. * error.c (dump_decl): Use TEMPLATE_PARM_INDEX instead of - TEMPLATE_CONST_PARM. + TEMPLATE_CONST_PARM. (dump_expr): Likewise. Use the TEMPLATE_PARM_DECL to get at the decl for a non-type parameter, rather than printing `'. * friend.c (is_friend): Handle TEMPLATE_DECL friends. @@ -7405,7 +7406,7 @@ Mon Feb 23 02:52:29 1998 Mark Mitchell conditionally calling end_member_template_processing. (do_pending_defargs): Likewise. (do_identifier): Use TEMPLATE_PARM_INDEX instead of - TEMPLATE_CONST_PARM. + TEMPLATE_CONST_PARM. * method.c (build_mangled_template_parm_index): New function. (build_overload_value): Use it. (build_overload_name): Likewise. @@ -7435,14 +7436,14 @@ Mon Feb 23 02:52:29 1998 Mark Mitchell template. (tsubst_copy): Tidy up slightly. Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. Handle TYPE_DECLs by tsubsting into them. - (unify): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. + (unify): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM. (get_bindings): Call add_to_template_args if necessary. (instantiate_decl): Handle instantiations of friend templates. * search.c (lookup_field_1): Don't treat the TYPE_FIELDS of a TEMPLATE_TYPE_PARM as a list of fields; it's not! - * spew.c (yylex): Do a little manual constant propogation to + * spew.c (yylex): Do a little manual constant propagation to clarify the code. - + Sun Feb 22 19:53:29 1998 Jeffrey A Law (law@cygnus.com) * error.c: Include sys/types.h. @@ -7455,20 +7456,20 @@ Thu Feb 19 10:36:48 1998 Jason Merrill * typeck2.c (process_init_constructor): Sorry about non-trivial labeled initializers. - * parse.y (initlist): Reenable labeled initializers. + * parse.y (initlist): Re-enable labeled initializers. Thu Feb 19 10:15:55 1998 Kriang Lerdsuwanakij * pt.c (coerce_template_parms) Add a new parameter, is_tmpl_parm, - all callers changed. Rely on the new parameter instead of arg + all callers changed. Rely on the new parameter instead of arg being a TREE_LIST when determine whether we are working inside template template parameter. Clean up is_type test. - + Thu Feb 19 10:04:12 1998 Jason Merrill * cvt.c (cp_convert_to_pointer): Preserve TREE_CONSTANT. * typeck2.c (initializer_constant_valid_p): Allow conversions - between pointers and refrerences. + between pointers and references. 1998-02-19 Brendan Kehoe @@ -7499,14 +7500,14 @@ Tue Feb 17 14:07:52 1998 Mark Mitchell (datadef): Remove redundant actions. (initdcl0, notype_initdcl0, nomods_initdcl0): Use initdcl0_innards. * parse.c: Regenerated. - + Tue Feb 17 11:54:16 1998 Jason Merrill * parse.y (simple_stmt): Use getdecls() to check for decl. Sat Feb 14 11:50:51 1998 Manfred Hollstein - * Make-lang.in (DEMANGLER_INSTALL_NAME, DEMANGLER_CROSS_NAME): New + * Make-lang.in (DEMANGLER_INSTALL_NAME, DEMANGLER_CROSS_NAME): New macros. (c++.install-common): Install c++filt properly as native or as cross variant. @@ -7522,14 +7523,14 @@ Fri Feb 13 14:06:22 1998 Mike Stump Fri Feb 13 13:24:32 1998 Jason Merrill - * parse.y (simple_stmt): If the condition isn't a declaration, + * parse.y (simple_stmt): If the condition isn't a declaration, start the controlled block after the test. Fri Feb 13 02:26:10 1998 Andreas Schwab * call.c (build_over_call): Convert builtin abs, labs and fabs to tree-codes. - * decl.c (init_decl_processing): Reenable abs, labs and fabs as + * decl.c (init_decl_processing): Re-enable abs, labs and fabs as builtins. Fri Feb 13 01:36:42 1998 Jason Merrill @@ -7558,7 +7559,7 @@ Wed Feb 11 23:28:05 1998 Mark Mitchell Wed Feb 11 16:42:04 1998 Mark Mitchell * tree.c (is_overloaded_fn): Use really_overloaded_fn. - (really_overloaded_fn): Move check here from is_overloaded_fn. + (really_overloaded_fn): Move check here from is_overloaded_fn. (get_first_fn): Use really_overloaded_fn and is_overloaded_fn. Wed Feb 11 15:54:18 1998 Mark Mitchell @@ -7597,7 +7598,7 @@ Mon Feb 9 22:23:31 1998 Mark Mitchell (uses_template_parms): Handle the DECL_INITIAL for a CONST_DECL. * typeck.c (build_component_ref): Assign the correct type to the result of build_vfn_ref. - + Tue Feb 10 23:56:46 1998 Jason Merrill * pt.c (convert_nontype_argument): Fix typo. @@ -7616,13 +7617,13 @@ Tue Feb 10 15:30:55 EST 1998 Andrew MacLeod * cp-tree.h (flag_do_squangling): Add declaration. * lang-options.h: Add -fsquangle and -fno-squangle. * method.c: Add macros and static variables for squangling. - (build_overload_name): Rename to build_mangled_name, add logic for B - compression, and split into process_modifiers and + (build_overload_name): Rename to build_mangled_name, add logic for B + compression, and split into process_modifiers and process_overload_item. - (process_modifiers): New function, to handle constant, reference, - and pointer types. + (process_modifiers): New function, to handle constant, reference, + and pointer types. (process_overload_item): New function, handles issue of type codes. - (build_overload_name): New function, start squangling and call + (build_overload_name): New function, start squangling and call build_mangled_name. (ALLOCATE_TYPEVEC, DEALLOCATE_TYPEVEC): Remove macro and expand inline. (start_squangling): New function to initialize squangling structs. @@ -7635,7 +7636,7 @@ Tue Feb 10 15:30:55 EST 1998 Andrew MacLeod use DECL_ASSEMBLER_NAME when squangling is on. (check_btype): New function, checks for B type compression. (build_static_name, build_decl_overload_real): Initiate squangling. - (build_typename_overload, build_overload_with_type): Initiate + (build_typename_overload, build_overload_with_type): Initiate squangling Sun Feb 8 23:47:38 1998 scott snyder @@ -7671,7 +7672,7 @@ Tue Feb 3 23:50:52 1998 Mark Mitchell * cvt.c (ocp_convert): Obtain the constant values from constant decls even if the destination type is the same as the type of the - decl. + decl. * decl2.c (finish_file): Make sure that static inlines with definitions are not marked DECL_EXTERNAL before returning. @@ -7680,7 +7681,7 @@ Tue Feb 3 22:43:42 1998 Jason Merrill * decl.c: Lose arg_looking_for_template. (lookup_name_real): Likewise. - * parse.y: Lose processing_template_arg, template_arg1 + * parse.y: Lose processing_template_arg, template_arg1. (primary): Likewise. * spew.c (yylex): Set lastiddecl for PTYPENAMEs, too. @@ -7688,15 +7689,15 @@ Tue Feb 3 22:04:01 1998 Kriang Lerdsuwanakij * error.c (dump_decl): Fix type of default arguments for template template parameters and nontype template parameters. - * parse.y (template_parm): Handle invalid default template + * parse.y (template_parm): Handle invalid default template template arguments here. - * parse.y (template_parm): Use template_arg instead of PTYPENAME + * parse.y (template_parm): Use template_arg instead of PTYPENAME for default template template argument. - * pt.c (coerce_template_parms): Merge default template argument + * pt.c (coerce_template_parms): Merge default template argument codes. Can treat RECORD_TYPE as template name if it is implicitly created. Fix argument index in error message. - * typeck.c (comptypes): Merge template argument comparison codes in + * typeck.c (comptypes): Merge template argument comparison codes in TEMPLATE_TEMPLATE_PARM and RECORD_TYPE. Tue Jan 6 01:42:44 1998 Mumit Khan @@ -7706,18 +7707,18 @@ Tue Jan 6 01:42:44 1998 Mumit Khan Mon Feb 2 11:24:22 1998 Mark Mitchell * parse.y (primary): Deal with statement-expressions in - templates. + templates. * pt.c (tsubst_copy): Handle BIND_EXPR. * tree.c (mapcar): Likewise. * call.c (add_template_candidate_real): Pass extra parameter to - fn_type_unification. + fn_type_unification. * cp-tree.h (fn_type_unification): Add parameter. * pt.c (fn_type_unification): Add additional parameter to deal with static member functions. (get_bindings): Deal with static member functions. - * cp-tree.h (DECL_NONSTATIC_MEMBER_FUNCTION_P): New macro. + * cp-tree.h (DECL_NONSTATIC_MEMBER_FUNCTION_P): New macro. (revert_static_member_fn): Declare. * decl.c (revert_static_member_fn): Remove declaration. Change linkage from internal to external. @@ -7766,7 +7767,7 @@ Mon Feb 2 00:57:38 1998 Kaveh R. Ghazi (grokdeclarator): Add parentheses around && within ||. Add explicit braces to avoid ambiguous `else'. (grokparms): Initialize `type' to NULL_TREE. - (xref_tag): Remove unused label `just_return'. + (xref_tag): Remove unused label `just_return'. (finish_enum): Initialize `minnode' and `maxnode' to NULL_TREE. (finish_function): Initialize `cond' and `thenclause' to NULL_TREE. (hack_incomplete_structures): Add parentheses around assignment @@ -7776,7 +7777,7 @@ Mon Feb 2 00:57:38 1998 Kaveh R. Ghazi * error.c: Include . (dump_expr): Change the type of `i' to size_t. Remove unused - label `error'. + label `error'. * except.c (init_exception_processing): Remove unused variable `d'. (expand_throw): Likewise for `label'. @@ -7802,7 +7803,7 @@ Mon Feb 2 00:57:38 1998 Kaveh R. Ghazi `look_for_semicolon' and `look_for_lbrac'. (cons_up_default_function): Initialize `args' to NULL_TREE. (readescape): Initialize `firstdig' to 0. - (real_yylex): Add parentheses around assignment used as truth value. + (real_yylex): Add parentheses around assignment used as truth value. * method.c: Include if we don't have . Protect declaration of `index' with autoconf macro. @@ -7823,8 +7824,8 @@ Mon Feb 2 00:57:38 1998 Kaveh R. Ghazi * repo.c (init_repo): Add parentheses around assignment used as truth value. (finish_repo): Remove unused varable `p'. - - * search.c (get_binfo): Initiize `type' to NULL_TREE. + + * search.c (get_binfo): Initialize `type' to NULL_TREE. (get_base_distance): Likewise. (lookup_field): Initialize `rval_binfo_h', `type', `basetype_path' and `new_v' to NULL_TREE. @@ -7844,7 +7845,7 @@ Mon Feb 2 00:57:38 1998 Kaveh R. Ghazi (hash_tree_cons): Initialize hashcode to 0. (can_free): Likewise for `size'. (cp_tree_equal): Add explicit braces to avoid ambiguous `else'. - + * typeck.c (convert_sequence): Hide prototype. (common_type): Add explicit braces to avoid ambiguous `else'. (comp_target_types): Likewise. @@ -7883,13 +7884,13 @@ Thu Jan 29 10:39:30 1998 Mark Mitchell Wed Jan 28 23:14:44 1998 Jason Merrill * class.c (instantiate_type): Don't just return a known type if - it's wrong. + it's wrong. Wed Jan 28 11:04:07 1998 Mark Mitchell * class.c (instantiate_type): Remove handling of FUNCTION_DECL since that code could never be reached. - + * error.c (dump_decl): Avoid aborting in the midst of printing an error message about an illegal template declaration. @@ -7898,7 +7899,7 @@ Wed Jan 28 11:04:07 1998 Mark Mitchell * pt.c (convert_nontype_argument): Allow REAL_TYPE and COMPLEX_TYPE template arguments as a g++ extension. - + * cp-tree.def (ALIGNOF_EXPR): New tree code. * decl2.c (grok_alignof): If processing_template_decl, just store the expression. @@ -7910,7 +7911,7 @@ Wed Jan 28 11:04:07 1998 Mark Mitchell * pt.c (uses_template_parms): Correctly determine whether or not a SIZEOF_EXPR/ALIGNOF_EXPR uses template parameters so that constant folding can be done. - + * cp-tree.h (grok_enum_decls): Remove type parameter. * decl.c (grok_enum_decls): Likewise. * decl2.c (grok_x_components): Call grok_enum_decls @@ -7922,7 +7923,7 @@ Wed Jan 28 11:04:07 1998 Mark Mitchell * decl.c (start_function): Make member functions of local classes in extern inline functions have comdat linkage here... (grokdeclarator): Rather than here. - + Wed Jan 28 10:55:47 1998 Jason Merrill * pt.c (convert_nontype_argument): Use decl_constant_value. @@ -7950,18 +7951,18 @@ Tue Jan 27 16:42:21 1998 Mark Mitchell (maybe_push_to_top_level): Save them. (pop_from_top_level): Restore them. (grokfndecl): Use new return value from - check_explicit_specialization. + check_explicit_specialization. (start_decl): Don't check flag_guiding_decls before pushing - decls. + decls. (cp_finish_decl): Remove previous (bogus) change. (grok_declarator): Use decl_function_context rather than - is_local_class. + is_local_class. * decl2.c (finish_file): Pass extra argument to get_bindings. - (build_expr_from_tree): Let build_x_component_ref check + (build_expr_from_tree): Let build_x_component_ref check validity of arguments rather than doing it here. * lex.c (cons_up_default_function): Remove code fooling with processing_specialization, processing_explicit_instantiation - flags, as that is now done in {maybe_push_top,pop_from}_top_level. + flags, as that is now done in {maybe_push_top,pop_from}_top_level. * method.c (build_overload_identifier): Mangle local classes in template functions correctly. * parse.y (finish_member_template_decl): Move to pt.c. @@ -7970,9 +7971,9 @@ Tue Jan 27 16:42:21 1998 Mark Mitchell (determine_specialization): Change interface. Properly look for most specialized versions of template candidates. (check_explicit_specialization): Fully process explicit - instantiations. + instantiations. (push_template_decl): Avoid looking at CLASSTYPE fields in - FUNCTION_DECLS. + FUNCTION_DECLS. (determine_overloaded_function): Remove. (convert_nontype_argument): Change name from convert_nontype_parameter. Use determine_overloaded_function @@ -7983,7 +7984,7 @@ Tue Jan 27 16:42:21 1998 Mark Mitchell (lookup_template_class): Likewise. (tsubst): Likewise. (more_specialized): Take explict template arguments as a - parameter. + parameter. (most_specialized): Likewise. (get_bindings): Likewise. Check that return types match before proclaiming a function a match. @@ -7996,7 +7997,7 @@ Tue Jan 27 16:42:21 1998 Mark Mitchell Tue Jan 27 01:44:02 1998 Jason Merrill - * expr.c (cplus_expand_expr, AGGR_INIT_EXPR): Don't check that + * expr.c (cplus_expand_expr, AGGR_INIT_EXPR): Don't check that return_target and call_target are equivalent. * pt.c (type_unification_real): Just accept function parms that @@ -8022,10 +8023,10 @@ Fri Jan 23 18:34:37 1998 Mumit Khan Wed Jan 21 10:29:57 1998 Kriang Lerdsuwanakij * pt.c (coerce_template_parms): Don't access elements of ARGLIST - that are not really present. Substitute default arguments in - template template arguments. Correctly convert TEMPLATE_DECL to + that are not really present. Substitute default arguments in + template template arguments. Correctly convert TEMPLATE_DECL to TEMPLATE_TEMPLATE_PARM. - (comp_template_args): TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM + (comp_template_args): TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM are no longer treated specially here. * parse.y (template_template_parm): Fix copy error. * decl.c (grokdeclarator): Warn about missing `typename' for nested @@ -8050,11 +8051,11 @@ Wed Jan 21 10:29:57 1998 Kriang Lerdsuwanakij (dump_decl): Handle unnamed template type parameters. Handle template template parameters. (dump_function_name): Handle template template parameters. - * init.c (is_aggr_typedef, is_aggr_type, get_aggr_from_typedef): + * init.c (is_aggr_typedef, is_aggr_type, get_aggr_from_typedef): Handle TEMPLATE_TEMPLATE_PARM. * method.c (build_template_template_parm_names): New function. (build_template_parm_names): Handle TEMPLATE_DECL. - (build_overload_nested_name, build_overload_name): + (build_overload_nested_name, build_overload_name): Handle TEMPLATE_TEMPLATE_PARM. * parse.y (maybe_identifier): New nonterminal. (template_type_parm): Use it. @@ -8068,11 +8069,11 @@ Wed Jan 21 10:29:57 1998 Kriang Lerdsuwanakij (process_template_parm): Handle template template parameters. (coerce_template_parms, comp_template_args): Likewise. (mangle_class_name_for_template, lookup_template_class): Likewise. - (uses_template_parms): Handle TEMPLATE_DECL and + (uses_template_parms): Handle TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM. (current_template_args): Handle TEMPLATE_DECL. (tsubst, tsubst_copy, unify): Handle TEMPLATE_TEMPLATE_PARM. - * search.c (dfs_walk, dfs_record_inheritance): + * search.c (dfs_walk, dfs_record_inheritance): Handle TEMPLATE_TEMPLATE_PARM. * tree.c (copy_template_template_parm): New function. (mapcar): Handle TEMPLATE_TEMPLATE_PARM. @@ -8088,16 +8089,16 @@ Mon Jan 19 22:40:03 1998 Mark Mitchell * decl2.c (build_expr_from_tree): Issue an error message if the object in a COMPONENT_REF is a TEMPLATE_DECL. - + * typeck.c (incomplete_type_error): Handle TEMPLATE_TYPE_PARMs. - + * class.c (is_local_class): New function. * cp-tree.h (is_local_class): Declare it. (last_tree): Likewise. (begin_tree): Likewise. (end_tree): Likewise. (lookup_template_class): Change prototype. - * decl.c (cp_finish_decl): Check for NULL where necesary. + * decl.c (cp_finish_decl): Check for NULL where necessary. Consider FUNCTION_DECLS to declare objects with top-level binding, when calling make_decl_rtl. (grokdeclarator): Give members of local classes internal linkage. @@ -8117,19 +8118,19 @@ Mon Jan 19 22:40:03 1998 Mark Mitchell * pt.c (saved_trees): New variable. (mangle_class_name_for_template): Change prototype. Use additional function context to name local classes in templates - correctly. + correctly. (classtype_mangled_name): Pass the context. (push_template_decl): Handle local classes and templates, and member functions for such classes. (convert_nontype_parameter): Fix handling of pointer-to-member - constants. + constants. (lookup_template_class): Handle local classes in templates. (tsubst): Likewise. Don't assume that template instantiations - have external linkage; pay attention to the template declaration. + have external linkage; pay attention to the template declaration. (mark_decl_instantiated): Likewise. (begin_tree): New function. (end_tree): Likewise. - + * decl.c (xref_basetypes): Don't call complete_type for basetypes that involve template parameters; that can lead to infinite recursion unnecessarily. @@ -8141,11 +8142,11 @@ Mon Jan 19 22:40:03 1998 Mark Mitchell (build_template_decl): New function. (push_template_delc): Handle out-of-class specializations of member templates. - - * pt.c (check_explicit_specialization): Set up the template - information before registering the specialization. - (coerce_template_parms): Fix thinko. - (tsubst): Handle specializations of member templates correctly. + + * pt.c (check_explicit_specialization): Set up the template + information before registering the specialization. + (coerce_template_parms): Fix thinko. + (tsubst): Handle specializations of member templates correctly. * class.c (finish_struct_methods): Remove calls to check_explicit_specialization from here. @@ -8155,7 +8156,7 @@ Mon Jan 19 22:40:03 1998 Mark Mitchell (begin_explicit_instantiation): Likewise. (end_explicit_instantiation): Likewise. (determine_specialization): Renamed from - determine_explicit_specialization. + determine_explicit_specialization. (comp_template_parms): New function. (processing_explicit_instantiation): New variable. * cvt.c (perform_qualification_conversions): New function. @@ -8165,7 +8166,7 @@ Mon Jan 19 22:40:03 1998 Mark Mitchell instantiation/specialization mismatches. (start_decl): Don't call pushdecl for template specializations, since they don't affect overloading. - (start_function): Likewise + (start_function): Likewise. (grokfndecl): Call check_explicit_specialization a little later. Don't call duplicate_decls for memberm template specializations. (grokdeclarator): Don't update template_count for classes that are @@ -8176,7 +8177,7 @@ Mon Jan 19 22:40:03 1998 Mark Mitchell * parse.y (finish_member_template_decl): New function. (component_decl_1): Use it. (fn.def2): Likewise. - (template_arg_list_opt): New nonterminal. + (template_arg_list_opt): New nonterminal. (template_type): Use it. (self_template_type): Likewise. (template_id): Likewise. @@ -8200,12 +8201,12 @@ Mon Jan 19 22:40:03 1998 Mark Mitchell (comp_template_parms): New function. (coerce_template_parms): Call convert_nontype_parameter. (tsubst): Refine handling of member templates. Use - register_specialization. + register_specialization. (instantiate_template): Use retrieve_specialization. (do_decl_instantiation): Likewise. (instantiate_decl): Likewise. (type_unification): Improve handling of explict template - arguments. + arguments. * tree.c (mapcar): Return error_mark_node, rather than aborting, on VAR_DECLS, FUNCTION_DECLS, and CONST_DECLS. * typeck.c (build_unary_op): Call determine_specialization, rather @@ -8217,7 +8218,7 @@ Mon Jan 19 13:18:51 1998 Jason Merrill Fri Jan 16 11:40:50 1998 Bruno Haible - * error.c (dump_decl): For enum tags, output the tag, not its value. + * error.c (dump_decl): For enum tags, output the tag, not its value. 1998-01-13 Brendan Kehoe @@ -8247,11 +8248,11 @@ Wed Jan 7 23:47:13 1998 Jason Merrill (expand_exception_blocks): Likewise. (alloc_eh_object): New fn. (expand_throw): Use it. Protect exception init with terminate. - * typeck.c (build_modify_expr): Remove code that ignores trivial + * typeck.c (build_modify_expr): Remove code that ignores trivial methods. Mon Dec 22 11:36:27 1997 Kaveh R. Ghazi - + * call.c (add_builtin_candidate): Add default case in enumeration switch. (build_new_op): Likewise. @@ -8282,7 +8283,7 @@ Thu Dec 18 14:51:50 1997 Mark Mitchell Thu Dec 18 14:43:19 1997 Jason Merrill - * typeck.c (unary_complex_lvalue): Ignore op0 when taking the + * typeck.c (unary_complex_lvalue): Ignore op0 when taking the address of an OFFSET_REF. * cp-tree.def: Add AGGR_INIT_EXPR. @@ -8295,8 +8296,8 @@ Thu Dec 18 14:43:19 1997 Jason Merrill Wed Dec 17 17:08:52 1997 Benjamin Kosnik * pt.c (instantiate_class_template): Don't do injection when - processing_template_decl is true, as pollutes current_binding_level - for base classes. + processing_template_decl is true, as pollutes current_binding_level + for base classes. Wed Dec 17 21:17:39 1997 Peter Schmid @@ -8318,21 +8319,21 @@ Sun Dec 14 22:34:20 1997 Jason Merrill * cvt.c (cp_convert_to_pointer): Fix base conversion of pm's. - * pt.c (type_unification_real): Change __null to type void* with + * pt.c (type_unification_real): Change __null to type void* with a warning. Sun Dec 14 20:38:35 1997 Mark Mitchell * call.c (implicit_conversion): Don't call build_user_type_conversion_1 with a NULL expr, since it will - crash. + crash. * pt.c (unify): Don't try to unify array bounds if either array is unbounded. Fri Dec 12 16:09:14 1997 Jason Merrill - * errfn.c (cp_pedwarn, cp_pedwarn_at, cp_error_at, cp_warning_at): + * errfn.c (cp_pedwarn, cp_pedwarn_at, cp_error_at, cp_warning_at): Replace extern decls with casts. * decl.c (expand_start_early_try_stmts): Don't mess with a sequence. @@ -8345,7 +8346,7 @@ Thu Dec 11 22:18:37 1997 Jason Merrill * decl2.c (comdat_linkage): Also set DECL_COMDAT. (finish_file): Check DECL_COMDAT instead of weak|one_only. (import_export_vtable): Use make_decl_one_only instead of - comdat_linkage for win32 tweak. + comdat_linkage for win32 tweak. (import_export_decl): Likewise. * pt.c (mark_decl_instantiated): Likewise. @@ -8359,16 +8360,16 @@ Thu Dec 11 21:12:09 1997 Jason Merrill * decl.c: Likewise. Thu Dec 11 20:43:33 1997 Teemu Torma - + * decl.c (ptr_ptr_type_node): Define. (init_decl_processing): Initialize it. * cp-tree.h: Declare it. * exception.cc (__cp_exception_info): Use __get_eh_info. - (__cp_push_exception): Ditto. - (__cp_pop_exception): Ditto. + (__cp_push_exception): Likewise. + (__cp_pop_exception): Likewise. From Scott Snyder : - * except.c (expand_builtin_throw): Use get_saved_pc_ref instead of + * except.c (expand_builtin_throw): Use get_saved_pc_ref instead of saved_pc. (init_exception_processing): Removed saved_pc initialization. @@ -8381,8 +8382,8 @@ Mon Dec 8 23:17:13 1997 Jason Merrill * init.c (expand_vec_init): Don't fold a list of parameters. * decl.c (copy_args_p): Handle copy elision for types with virtual - bases. - * call.c (build_over_call): Likewise. + bases. + * call.c (build_over_call): Likewise. Sun Dec 7 22:38:12 1997 Mark Mitchell @@ -8437,8 +8438,8 @@ Fri Dec 5 01:17:34 1997 Jason Merrill Wed Dec 3 20:02:39 1997 Jason Merrill * init.c (build_new): Use a TARGET_EXPR instead of SAVE_EXPR for - alloc_expr. - * call.c (build_op_delete_call): Adjust. + alloc_expr. + * call.c (build_op_delete_call): Adjust. * except.c (expand_end_catch_block): Lose rethrow region. (expand_start_catch_block): Likewise. @@ -8447,7 +8448,7 @@ Wed Dec 3 20:02:39 1997 Jason Merrill Wed Dec 3 13:24:04 1997 Benjamin Kosnik * pt.c (tsubst): Remove tree_cons call (places redundant info into - DECL_TEMPLATE_INSTANTIATION). + DECL_TEMPLATE_INSTANTIATION). Wed Dec 3 11:44:52 1997 Jason Merrill @@ -8489,7 +8490,7 @@ Tue Dec 2 01:37:19 1997 Jason Merrill Fri Nov 28 01:58:14 1997 Jason Merrill - * pt.c (check_explicit_specialization): Complain about using a + * pt.c (check_explicit_specialization): Complain about using a template-id for a non-specialization. Fri Nov 28 12:35:19 1997 Scott Christley @@ -8499,7 +8500,7 @@ Fri Nov 28 12:35:19 1997 Scott Christley Fri Nov 28 01:56:35 1997 Bruno Haible - * error.c (dump_decl): Handle TEMPLATE_ID_EXPR. + * error.c (dump_decl): Handle TEMPLATE_ID_EXPR. Thu Nov 27 00:59:46 1997 Jason Merrill @@ -8507,9 +8508,9 @@ Thu Nov 27 00:59:46 1997 Jason Merrill handing off to convert_to_reference. * except.c: Lose Unexpected, SetTerminate, SetUnexpected, - TerminateFunctionCall. + TerminateFunctionCall. (init_exception_processing): Likewise. Terminate et al are now - the fns, not ADDR_EXPRs. + the fns, not ADDR_EXPRs. (various): Lose redundant assemble_external calls. (do_unwind): s/BuiltinReturnAddress/builtin_return_address_fndecl/. @@ -8520,7 +8521,7 @@ Thu Nov 27 00:59:46 1997 Jason Merrill * decl2.c (import_export_decl): Just set DECL_COMDAT on VAR_DECLs. * class.c: Remove static pending_hard_virtuals. - (add_virtual_function): Take pointers to pending_virtuals + (add_virtual_function): Take pointers to pending_virtuals and pending_hard_virtuals. (finish_struct_1): Pass them. Declare pending_hard_virtuals. @@ -8529,7 +8530,7 @@ Wed Nov 26 20:28:49 1997 Jason Merrill * decl2.c (import_export_vtable): If we support one_only but not weak symbols, mark instantiated template vtables one_only. (import_export_decl): Likewise for tinfo functions. - (finish_vtable_vardecl): Also write out vtables from explicitly + (finish_vtable_vardecl): Also write out vtables from explicitly instantiated template classes. * pt.c (mark_class_instantiated): Revert last change. @@ -8564,7 +8565,7 @@ Tue Nov 25 11:28:21 1997 Jason Merrill * init.c (build_new): Copy size to the saveable obstack. * init.c (build_new): Stick a CLEANUP_POINT_EXPR inside the - TRY_CATCH_EXPR for now. + TRY_CATCH_EXPR for now. Mon Nov 24 12:15:55 1997 Jason Merrill @@ -8585,14 +8586,14 @@ Fri Nov 21 12:22:07 1997 Jason Merrill (expand_end_eh_spec): Likewise. Call __check_eh_spec instead of doing everything inline. (init_exception_processing): throw_type_match now takes - const void pointers. + const void pointers. * exception.cc (__check_eh_spec): New fn. * inc/exception: Neither terminate nor unexpected return. * decl.c: Make const_ptr_type_node public. * tinfo2.cc (__throw_type_match_rtti): Take the typeinfos constly. * except.c (expand_start_catch_block): We only need the rethrow - region for non-sjlj exceptions. + region for non-sjlj exceptions. (expand_end_catch_block): Likewise. Use outer_context_label_stack. Thu Nov 20 14:40:17 1997 Jason Merrill @@ -8607,7 +8608,7 @@ Thu Nov 20 14:40:17 1997 Jason Merrill * decl.c (init_decl_processing): Update exception specs on new and delete. - * method.c (build_decl_overload_real): Don't mess with global + * method.c (build_decl_overload_real): Don't mess with global placement delete. * init.c (build_new): Check for null throw spec, not nothrow_t. @@ -8622,13 +8623,13 @@ Thu Nov 20 14:40:17 1997 Jason Merrill Wed Nov 19 18:24:14 1997 Jason Merrill - * decl.c (start_decl): Don't just complain about a mismatched + * decl.c (start_decl): Don't just complain about a mismatched scope, fix it. * decl.c (make_implicit_typename): Handle case where t is not - actually from context. + actually from context. * tree.c (get_type_decl): Lose identifier case. - * spew.c (yylex): Lose useless call to identifer_typedecl_value. + * spew.c (yylex): Lose useless call to identifier_typedecl_value. * parse.y (nonnested_type): Just use lookup_name. (complex_type_name): Just use IDENTIFIER_GLOBAL_VALUE. @@ -8678,7 +8679,7 @@ Thu Nov 13 01:52:36 1997 Jason Merrill Wed Nov 12 11:04:33 1997 Jason Merrill * pt.c (do_type_instantiation): Fix typo. - (mark_class_instantiated): If we support one_only but not weak + (mark_class_instantiated): If we support one_only but not weak symbols, don't mark this as known. * init.c (build_new): Handle vec delete in EH cleanup. @@ -8686,7 +8687,7 @@ Wed Nov 12 11:04:33 1997 Jason Merrill Wed Nov 12 08:11:55 1997 Benjamin Kosnik * call.c (build_method_call): Call complete_type before checking - for destructor. + for destructor. Sun Nov 9 01:29:55 1997 Jim Wilson (wilson@cygnus.com) @@ -8719,10 +8720,10 @@ Tue Nov 11 02:53:44 1997 Jason Merrill Mon Nov 10 20:25:31 1997 Jason Merrill * call.c (build_new_method_call): Handle getting a - TEMPLATE_ID_EXPR around a TEMPLATE_DECL. Don't look for a field - if we got template parms. + TEMPLATE_ID_EXPR around a TEMPLATE_DECL. Don't look for a field + if we got template parms. * typeck.c (build_x_function_call): Remember the TEMPLATE_ID_EXPR, - not just the args. + not just the args. * decl2.c (build_expr_from_tree): Tweak last change. * pt.c (tsubst_copy): Use get_first_fn instead of TREE_VALUE. (maybe_fold_nontype_arg): Split out from tsubst_copy. @@ -8730,21 +8731,21 @@ Mon Nov 10 20:25:31 1997 Jason Merrill Mon Nov 10 20:08:38 1997 Kriang Lerdsuwanakij - * pt.c (tsubst_copy): Handle explicit template arguments in + * pt.c (tsubst_copy): Handle explicit template arguments in function calls. * typeck.c (build_x_function_call): Likewise. - * decl2.c (build_expr_from_tree): Lookup function name if it + * decl2.c (build_expr_from_tree): Lookup function name if it hasn't been done. - * pt.c (tsubst): Instantiate template functions properly when - template parameter does not appear in function arguments and return + * pt.c (tsubst): Instantiate template functions properly when + template parameter does not appear in function arguments and return type. (comp_template_args): Handle member templates required by tsubst. Mon Nov 10 20:08:38 1997 Jason Merrill * decl.c (grokdeclarator): Tweak conditions for pedwarn in - previous change. + previous change. Mon Nov 10 20:08:29 1997 Bruno Haible @@ -8765,10 +8766,10 @@ Mon Nov 10 03:04:20 1997 Jason Merrill (expand_end_catch_block): Likewise. End the region for the eh_cleanup. * exception.cc (__cp_pop_exception): Now takes two parms. Handle popping off the middle of the stack. - * tree.c (lvalue_p, real_lvalue_p): Handle TRY_CATCH_EXPR, + * tree.c (lvalue_p, real_lvalue_p): Handle TRY_CATCH_EXPR, WITH_CLEANUP_EXPR, and UNSAVE_EXPR. (build_cplus_new): Only wrap CALL_EXPRs. - * init.c (expand_default_init): Handle a TRY_CATCH_EXPR around + * init.c (expand_default_init): Handle a TRY_CATCH_EXPR around the constructor call. Sun Nov 9 18:00:26 1997 Richard Kenner @@ -8837,7 +8838,7 @@ Fri Oct 31 01:47:57 1997 Jason Merrill (__cp_exception_info, __uncatch_exception): New fns. (__cp_push_exception, __cp_pop_exception): New fns. * except.c: Lose saved_throw_{type,value,cleanup,in_catch}. - Lose empty_fndecl. + Lose empty_fndecl. (init_exception_processing): Likewise. __eh_pc is now external. (push_eh_info): New fn. (get_eh_{info,value,type,caught}): New fns. @@ -8865,21 +8866,21 @@ Thu Oct 23 02:01:30 1997 Jason Merrill Mon Oct 20 12:06:34 1997 Jason Merrill - * except.c (expand_exception_blocks): Call do_pending_stack_adust. + * except.c (expand_exception_blocks): Call do_pending_stack_adjust. (expand_end_catch_block): Likewise. (expand_end_eh_spec): Likewise. Mon Oct 20 11:44:20 1997 Mark Mitchell * decl.c (duplicate_decls): Handle template specializations - correctly. + correctly. * error.c (dump_function_name): Fix printing of specializations of member functions that are not member templates. * cp-tree.h (processing_specialization): Make global. * pt.c (processing_specialization): Likewise. * lex.c (cons_up_default_function): Save and restore processing_specialization to avoid confusion. - + Mon Oct 20 10:52:22 1997 Jason Merrill * decl.c (init_decl_processing): Give null_node unknown* type. @@ -8922,19 +8923,19 @@ Tue Oct 14 12:01:00 1997 Mark Mitchell so as to avoid incorrect manglings. * method.c (build_decl_overload_real): Don't mangle return types for constructors. - + Tue Oct 14 11:46:14 1997 Jason Merrill * cp-tree.h (scratchalloc, build_scratch_list, make_scratch_vec, scratch_tree_cons): Define as macros for now. - * call.c, class.c, cvt.c, decl.c, decl2.c, except.c, expr.c, init.c, + * call.c, class.c, cvt.c, decl.c, decl2.c, except.c, expr.c, init.c, lex.c, method.c, parse.y, pt.c, rtti.c, search.c, tree.c, typeck.c, typeck2.c: Use them and the expression_obstack variants. Mon Oct 13 17:41:26 1997 Benjamin Kosnik * decl.c (store_return_init): Allow classes with explicit ctors to - be used with the named return values extension. + be used with the named return values extension. Fri Oct 10 12:21:11 1997 Jason Merrill @@ -8969,9 +8970,9 @@ Tue Oct 7 22:52:10 1997 Jason Merrill Tue Oct 7 22:45:31 1997 Alexandre Oliva - * typeck.c (build_reinterpret_cast): converting a void pointer + * typeck.c (build_reinterpret_cast): Converting a void pointer to function pointer with a reinterpret_cast produces a warning - if -pedantic is issued + if -pedantic is issued. Tue Oct 7 22:43:43 1997 Bruno Haible @@ -8998,7 +8999,7 @@ Tue Oct 7 00:48:36 1997 Jason Merrill non-templates. * call.c (build_new_function_call): Fix handling of null explicit - template args. + template args. (build_new_method_call): Likewise. Mon Oct 6 23:44:34 1997 Mark Mitchell @@ -9061,37 +9062,37 @@ Mon Sep 29 19:57:51 1997 H.J. Lu (hjl@gnu.ai.mit.edu) * call.c, cp-tree.h, decl.c, tree.c: Finish prototyping. - * expr.c (cplus_expand_expr): Make it static. + * expr.c (cplus_expand_expr): Make it static. * decl2.c, init.c, typeck.c: Include "expr.h". (expand_expr): Use proper values when calling the function. Mon Sep 29 11:05:54 1997 Alexandre Oliva - * lang-options.h: new -Wold-style-cast flag. - * cp-tree.h (warn_old_style_cast): new variable. - * decl2.c (warn_old_style_cast): ditto. - (lang_decode_option): support -Wold-style-cast. - (reparse_absdcl_as_casts): produce old-style-cast warning. + * lang-options.h: New -Wold-style-cast flag. + * cp-tree.h (warn_old_style_cast): New variable. + * decl2.c (warn_old_style_cast): Likewise.. + (lang_decode_option): Support -Wold-style-cast. + (reparse_absdcl_as_casts): Produce old-style-cast warning. Mon Sep 29 09:20:53 1997 Benjamin Kosnik * decl.c (cp_finish_decl): Allow expand_aggr_init to set - TREE_USED, reset value based on already_used. + TREE_USED, reset value based on already_used. * init.c (expand_member_init): Revert change. - + Mon Sep 29 08:57:53 1997 Jason Merrill * cp-tree.h, decl.c, decl2.c, pt.c: - Lose DECL_C_STATIC and DECL_PUBLIC. Don't pretend statics are public. + Lose DECL_C_STATIC and DECL_PUBLIC. Don't pretend statics are public. * decl2.c (lang_decode_option): Add missing ;. Sat Sep 27 16:22:48 1997 Jason Merrill * friend.c (do_friend): Disable injection for all template-derived - decls. + decls. * decl2.c (lang_decode_option): Handle -fguiding-decls. * parse.y (notype_template_declarator): New nonterminal. (direct_notype_declarator): Use it. @@ -9101,112 +9102,112 @@ Sat Sep 27 16:22:48 1997 Jason Merrill Sat Sep 27 16:21:58 1997 Mark Mitchell - * call.c (add_template_candidate): Add explicit_targs parameter. - (build_scoped_method_call): Use it. - (build_overload_call_real): Likewise. - (build_user_type_conversion_1): Likewise. - (build_new_function_call): Likewise. - (build_object_call): Likewise. - (build_new_op): Likewise. - (build_new_method_call): Likewise. - (build_new_function_call): Handle TEMPLATE_ID_EXPR. - (build_new_method_call): Likewise. + * call.c (add_template_candidate): Add explicit_targs parameter. + (build_scoped_method_call): Use it. + (build_overload_call_real): Likewise. + (build_user_type_conversion_1): Likewise. + (build_new_function_call): Likewise. + (build_object_call): Likewise. + (build_new_op): Likewise. + (build_new_method_call): Likewise. + (build_new_function_call): Handle TEMPLATE_ID_EXPR. + (build_new_method_call): Likewise. - * class.c (finish_struct_methods): Add specialization pass to - determine which methods were specializing which other methods. - (instantiate_type): Handle TEMPLATE_ID_EXPR. + * class.c (finish_struct_methods): Add specialization pass to + determine which methods were specializing which other methods. + (instantiate_type): Handle TEMPLATE_ID_EXPR. - * cp-tree.def (TEMPLATE_ID_EXPR): New tree code. + * cp-tree.def (TEMPLATE_ID_EXPR): New tree code. - * cp-tree.h (name_mangling_version): New variable. + * cp-tree.h (name_mangling_version): New variable. (flag_guiding_decls): Likewise. - (build_template_decl_overload): New function. - (begin_specialization): Likewise. - (reset_specialization): Likewise. - (end_specialization): Likewise. - (determine_explicit_specialization): Likewise. - (check_explicit_specialization): Likewise. - (lookup_template_function): Likewise. - (fn_type_unification): Add explicit_targs parameter. - (type_unification): Likewise. + (build_template_decl_overload): New function. + (begin_specialization): Likewise. + (reset_specialization): Likewise. + (end_specialization): Likewise. + (determine_explicit_specialization): Likewise. + (check_explicit_specialization): Likewise. + (lookup_template_function): Likewise. + (fn_type_unification): Add explicit_targs parameter. + (type_unification): Likewise. - * decl.c (duplicate_decls): Add smarts for explicit - specializations. - (grokdeclarator): Handle TEMPLATE_ID_EXPR, and function - specializations. - (grokfndecl): Call check_explicit_specialization. + * decl.c (duplicate_decls): Add smarts for explicit + specializations. + (grokdeclarator): Handle TEMPLATE_ID_EXPR, and function + specializations. + (grokfndecl): Call check_explicit_specialization. - * decl2.c (lang_decode_option): Handle -fname-mangling-version. - (build_expr_from_tree): Handle TEMPLATE_ID_EXPR. - (check_classfn): Handle specializations. + * decl2.c (lang_decode_option): Handle -fname-mangling-version. + (build_expr_from_tree): Handle TEMPLATE_ID_EXPR. + (check_classfn): Handle specializations. - * error.c (dump_function_name): Print specialization arguments. + * error.c (dump_function_name): Print specialization arguments. - * friend.c (do_friend): Don't call pushdecl for template - instantiations. + * friend.c (do_friend): Don't call pushdecl for template + instantiations. - * init.c (build_member_call): Handle TEMPLATE_ID_EXPR. + * init.c (build_member_call): Handle TEMPLATE_ID_EXPR. - * lang-options.h: Add -fname-mangling-version, -fguiding-decls, + * lang-options.h: Add -fname-mangling-version, -fguiding-decls, and -fno-guiding-decls. - * lex.c (identifier_type): Return PFUNCNAME for template function - names. + * lex.c (identifier_type): Return PFUNCNAME for template function + names. - * method.c (build_decl_overload_real): New function. - (build_template_parm_names): New function. - (build_overload_identifier): Use it. - (build_underscore_int): New function. - (build_overload_int): Use it. Add levels for template - parameters. - (build_overload_name): Likewise. Also, handle TYPENAME_TYPEs. - (build_overload_nested_names): Handle template type parameters. - (build_template_decl_overload): New function. + * method.c (build_decl_overload_real): New function. + (build_template_parm_names): New function. + (build_overload_identifier): Use it. + (build_underscore_int): New function. + (build_overload_int): Use it. Add levels for template + parameters. + (build_overload_name): Likewise. Also, handle TYPENAME_TYPEs. + (build_overload_nested_names): Handle template type parameters. + (build_template_decl_overload): New function. - * parse.y (YYSTYPE): New ntype member. - (nested_name_specifier): Use it. - (nested_name_specifier_1): Likewise. - (PFUNCNAME): New token. - (template_id, object_template_id): New non-terminals. - (template_parm_list): Note specializations. - (template_def): Likewise. - (structsp): Likewise. - (fn.def2): Handle member template specializations. - (component_decl_1): Likewise. - (direct_notype_declarator): Handle template-ids. - (component_decl_1): Likewise. - (direct_notype_declarator): Handle template-ids. - (primary): Handle TEMPLATE_ID_EXPR, and template-ids. + * parse.y (YYSTYPE): New ntype member. + (nested_name_specifier): Use it. + (nested_name_specifier_1): Likewise. + (PFUNCNAME): New token. + (template_id, object_template_id): New non-terminals. + (template_parm_list): Note specializations. + (template_def): Likewise. + (structsp): Likewise. + (fn.def2): Handle member template specializations. + (component_decl_1): Likewise. + (direct_notype_declarator): Handle template-ids. + (component_decl_1): Likewise. + (direct_notype_declarator): Handle template-ids. + (primary): Handle TEMPLATE_ID_EXPR, and template-ids. - * pt.c (processing_specializations): New variable. - (template_header_count): Likewise. - (type_unification_real): New function. - (processing_explicit_specialization): Likewise. - (note_template_header): Likewise. - (is_member_template): Handle specializations. - (end_template_decl): Call reset_specialization. - (push_template_decl): Handle member template specializations. - (tsubst): Likewise. - (tsubst_copy): Handle TEMPLATE_ID_EXPR. - (instantiate_template): Handle specializations. - (instantiate_decl): Likewise. - (fn_type_unification): Handle explicit_targs. - (type_unification): Likewise. Allow incomplete unification - without an error message, if allow_incomplete. - (get_bindings): Use new calling sequence for fn_type_unification. + * pt.c (processing_specializations): New variable. + (template_header_count): Likewise. + (type_unification_real): New function. + (processing_explicit_specialization): Likewise. + (note_template_header): Likewise. + (is_member_template): Handle specializations. + (end_template_decl): Call reset_specialization. + (push_template_decl): Handle member template specializations. + (tsubst): Likewise. + (tsubst_copy): Handle TEMPLATE_ID_EXPR. + (instantiate_template): Handle specializations. + (instantiate_decl): Likewise. + (fn_type_unification): Handle explicit_targs. + (type_unification): Likewise. Allow incomplete unification + without an error message, if allow_incomplete. + (get_bindings): Use new calling sequence for fn_type_unification. - * spew.c (yylex): Handle PFUNCNAME. + * spew.c (yylex): Handle PFUNCNAME. - * tree.c (is_overloaded_fn): Handle TEMPLATE_ID_EXPR. - (really_overloaded_fn): Likewise. - (get_first_fn): Handle function templates. + * tree.c (is_overloaded_fn): Handle TEMPLATE_ID_EXPR. + (really_overloaded_fn): Likewise. + (get_first_fn): Handle function templates. - * typeck.c (build_x_function_call): Use really_overloaded_fn. - Handle TEMPLATE_ID_EXPR. - (build_x_unary_op): Likewise. - (build_unary_op): Likewise. - (mark_addressable): Templates whose address is taken are marked - as used. + * typeck.c (build_x_function_call): Use really_overloaded_fn. + Handle TEMPLATE_ID_EXPR. + (build_x_unary_op): Likewise. + (build_unary_op): Likewise. + (mark_addressable): Templates whose address is taken are marked + as used. 1997-09-25 Andreas Schwab @@ -9236,7 +9237,7 @@ Thu Sep 25 11:11:13 1997 Jason Merrill Rvalue conversions were removed in London. * call.c (is_subseq): Don't consider lvalue transformations. (build_conv): LVALUE_CONV and RVALUE_CONV get IDENTITY_RANK. - (joust): Reenable ?: kludge. + (joust): Re-enable ?: kludge. 1997-09-22 Brendan Kehoe @@ -9272,12 +9273,12 @@ Wed Sep 17 10:31:25 1997 Jason Merrill Tue Sep 16 14:06:56 1997 Jason Merrill * call.c (build_new_op): Give better error for syntactically - correct, but semantically invalid, use of undeclared template. + correct, but semantically invalid, use of undeclared template. * call.c (compare_qual): Handle pmfs. * decl.c (store_parm_decls): last_parm_cleanup_insn is the insn - after the exception spec. + after the exception spec. Mon Sep 15 11:52:13 1997 Jason Merrill @@ -9313,9 +9314,9 @@ Thu Sep 11 10:08:45 1997 Mark Mitchell * pt.c (coerce_template_parms): Avoid looking at the TYPE_LANG_DECL portion of a typename type, since there won't be - one. + one. (tsubst): Do constant folding as necessary to make sure that - arguments passed to lookup_template_class really are constants. + arguments passed to lookup_template_class really are constants. Wed Sep 10 11:21:55 1997 Jason Merrill @@ -9332,9 +9333,9 @@ Tue Sep 9 19:49:38 1997 Jason Merrill Tue Sep 9 17:57:25 1997 Mark Mitchell * error.c (dump_decl): Avoid crashing when presented with a - uninitialized constant, as can occur with a template parameter. + uninitialized constant, as can occur with a template parameter. (dump_expr): Make sure that there are enough levels of - current_template_parms before we start diving through them. + current_template_parms before we start diving through them. 1997-09-09 Brendan Kehoe @@ -9343,7 +9344,7 @@ Tue Sep 9 17:57:25 1997 Mark Mitchell Tue Sep 9 09:36:39 1997 Benjamin Kosnik - * except.c (expand_throw): Call build_delete for all + * except.c (expand_throw): Call build_delete for all exception types, not just objects with destructors. Mon Sep 8 02:33:20 1997 Jody Goldberg @@ -9363,7 +9364,7 @@ Mon Sep 8 01:21:43 1997 Mark Mitchell member templates using the same parameter names can be declared. (end_member_template_processing): Pop the binding level. (push_template_decl): Mark member templates as static when - appropriate. + appropriate. * lex.c (do_pending_inlines): Pass the function, not its template arguments, to begin_member_template_processing. @@ -9371,17 +9372,17 @@ Mon Sep 8 01:21:43 1997 Mark Mitchell (do_pending_defargs): Likewise. * error.c (dump_expr): Obtain the correct declaration for a - TEMPLATE_CONST_PARM. + TEMPLATE_CONST_PARM. * call.c (add_template_conv_candidate): New function. (build_object_call): Handle member templates, as done in the other build_ functions. - + Sat Sep 6 10:20:27 1997 Mark Mitchell * decl.c (replace_defag): Undo previous change. * lex.c (do_pending_defargs): Deal with member templates. - + * pt.c (is_member_template): Avoid crashing when passed a non-function argument. @@ -9401,24 +9402,24 @@ Fri Sep 5 01:37:17 1997 Mark Mitchell * pt.c (push_template_decl): Likewise. (classtype_mangled_name): Likewise. (lookup_template_class): Likewise. - + * cp-tree.h (DECL_NTPARMS): Change name from DECL_NT_PARMS to DECL_NTPARMS to conform to usage elsewhere. * call.c (add_template_candidate): Likewise. * class.c (instantiate_type): Likewise. * pt.c (instantiate_template): Likewise. (get_bindings): Likewise. - + * class.c (grow_method): Use DECL_FUNCTION_TEMPLATE_P instead of is_member_template. * pt.c (unify): Undo changes to allow multiple levels of template - parameters. + parameters. (type_unification): Likewise. (fn_type_unification): Likewise. (get_class_bindings): Likewise. * cp-tree.h (Likewise). - + * decl.c (replace_defarg): Check that the type of the default parameter does not invlove a template type before complaining about the initialization. @@ -9427,13 +9428,13 @@ Fri Sep 5 01:37:17 1997 Mark Mitchell member templates correctly. * pt.c (is_member_template): Deal with class specializations - correctly. + correctly. (tsubst): Handle "partial instantiation" of member templates - correctly. + correctly. Wed Sep 3 12:30:24 1997 Mark Mitchell - * pt.c (type_unification): Change calling squence to allow for + * pt.c (type_unification): Change calling sequence to allow for multiple levels of template parameters. (tsubst_expr): Likewise. (tsubst): Likewise. @@ -9447,7 +9448,7 @@ Wed Sep 3 12:30:24 1997 Mark Mitchell * decl.c (grokdeclarator): Use it. * decl2.c (finish_file): Use it. * method.c (build_overload_identifier): Use it. - + * call.c (add_template_candidate): Add additional parameter for the function return type. Call fn_type_unification istead of type_unification. @@ -9455,12 +9456,12 @@ Wed Sep 3 12:30:24 1997 Mark Mitchell (build_new_function_call): Likewise. (build_new_op): Likewise. (build_new_method_call): Likewise. - + * class.c (grow_method): Don't give an error message indicating - that two member templates with the same name are ambiguous. + that two member templates with the same name are ambiguous. (finish_struct): Treat member template functions just like member - functions. - + functions. + * cp-tree.h (check_member_template): Add declaration. (begin_member_template_processing): Likewise. (end_member_template_processing): Likewise. @@ -9473,31 +9474,31 @@ Wed Sep 3 12:30:24 1997 Mark Mitchell (get_bindings): Likewise. * decl.c (decls_match): Handle multiple levels of template - parameters. + parameters. (pushdecl): Handle template type params just like other type - declarations. + declarations. (push_class_level_binding): Return immediately if the class_binding_level is NULL. (grokfndecl): If check_classfn() returns a member_template, use the result of the template, not the template itself. - + * decl2.c (check_member_template): New function. Check to see that the entity declared to be a member template can be one. (check_classfn): Allow redeclaration of member template functions with different types; the new functions can be specializations or explicit instantiations. - + * error.c (dump_decl): Handle multiple levels of template - parameters. - (dump_function_decl): Update to handle function templates. + parameters. + (dump_function_decl): Update to handle function templates. * lex.c (do_pending_inlines): Set up template parameter context for member templates. (process_next_inline): Likewise. - * method. (build_overload_identifier): Adjust for multiple levels + * method.c (build_overload_identifier): Adjust for multiple levels of template parameters. - + * parse.y (fn.def2): Add member templates. (component_decl_1): Likewise. @@ -9508,7 +9509,7 @@ Wed Sep 3 12:30:24 1997 Mark Mitchell (current_template_parms): Return a vector of all the template parms, not just the innermost level of parms. (push_template_decl): Deal with the possibility of member - templates. + templates. (lookup_template_class): Likewise. (uses_template_parms): Likewise. (tsubst): Modify processing to TEMPLATE_TYPE_PARM and @@ -9518,7 +9519,7 @@ Wed Sep 3 12:30:24 1997 Mark Mitchell (do_decl_instantiation): Handle member templates. * search.c (lookup_fnfields_1): Handle member template conversion - operators. + operators. * tree.c (cp_tree_equal): Check the levels, as well as the indices, of TEMPLATE_CONST_PARMs. @@ -9526,12 +9527,12 @@ Wed Sep 3 12:30:24 1997 Mark Mitchell * typeck.c (comptypes): Check the levels, as well as the indices, fo TEMPLATE_TYPE_PARMs. (build_x_function_call): Treat member templates like member - functions. - + functions. + Wed Sep 3 11:09:25 1997 Jason Merrill * typeck.c (c_expand_return): Always convert_for_initialization - before checking for returning a pointer to local. + before checking for returning a pointer to local. * pt.c (type_unification): If strict and the function parm doesn't use template parms, just compare types. @@ -9544,7 +9545,7 @@ Wed Sep 3 10:35:49 1997 Klaus Espenlaub * typeck.c (convert_arguments): Don't arbitrarily choose the first - of a set of overloaded functions. + of a set of overloaded functions. Tue Sep 2 12:09:13 1997 Jason Merrill @@ -9555,12 +9556,12 @@ Tue Sep 2 12:09:13 1997 Jason Merrill (build_overload_identifier): Pass it. * decl.c (duplicate_decls): Don't bash a previous template - definition with a redeclaration. + definition with a redeclaration. * pt.c (unify): float doesn't match double. * pt.c (do_type_instantiation): Handle getting a _TYPE or a - TYPE_DECL. Handle getting non-template types. + TYPE_DECL. Handle getting non-template types. * parse.y (explicit_instantiation): Use typespec instead of aggr template_type. @@ -9576,8 +9577,8 @@ Mon Sep 1 13:19:04 1997 Eugene Mamchits Mon Sep 1 13:19:04 1997 Jason Merrill * call.c (joust): Warn about choosing one conversion op over - another because of 'this' argument when the other return type is - better. + another because of 'this' argument when the other return type is + better. (source_type): New fn. * call.c (build_new_op): Strip leading REF_BIND from first operand @@ -9630,10 +9631,10 @@ Wed Aug 20 03:13:36 1997 H.J. Lu (hjl@gnu.ai.mit.edu) * parse.y, pt.c: Include "except.h". * call.c, class.c, class.h, cp-tree.h, cvt.c, decl.c, decl2.c, - error.c, except.c, expr.c, friend.c, g++spec.c, init.c, input.c, - lex.c, lex.h, method.c, parse.y, pt.c, repo.c, rtti.c, search.c, - sig.c, spew.c, tree.c, typeck.c, typeck2.c, xref.c: Finish - prototyping. + error.c, except.c, expr.c, friend.c, g++spec.c, init.c, input.c, + lex.c, lex.h, method.c, parse.y, pt.c, repo.c, rtti.c, search.c, + sig.c, spew.c, tree.c, typeck.c, typeck2.c, xref.c: Finish + prototyping. Wed Aug 20 01:34:40 1997 Jason Merrill @@ -9656,7 +9657,7 @@ Tue Aug 19 02:26:07 1997 Jason Merrill * repo.c (finish_repo): Don't crash on no args. * parse.y (named_complex_class_head_sans_basetype): Handle - explicit global scope. + explicit global scope. * decl2.c (handle_class_head): New fn. * pt.c (unify): Add CONST_DECL case. @@ -9689,11 +9690,11 @@ Wed Aug 13 10:46:19 1997 H.J. Lu (hjl@gnu.ai.mit.edu) Tue Aug 12 20:13:57 1997 Jason Merrill - * parse.y: Don't clear the inlines from their obstack until they've + * parse.y: Don't clear the inlines from their obstack until they've all been processed. * decl.c (duplicate_decls): Don't complain about exception - specification mismatch if flag_exceptions is off. + specification mismatch if flag_exceptions is off. Mon Aug 11 15:01:56 1997 Marc Lehmann @@ -9703,10 +9704,10 @@ Sun Aug 10 12:06:09 1997 Paul Eggert * cp-tree.h: Replace STDIO_PROTO with PROTO in include files. * cvt.c, error.c, except.c, expr.c, friend.c, init.c, rtti.c: - Include before include files that formerly used STDIO_PROTO. + Include before include files that formerly used STDIO_PROTO. * decl.c, g++spec.c, lex.c, method.c, repo.c: - Include "config.h" first, as per autoconf manual. + Include "config.h" first, as per autoconf manual. Fri Aug 8 11:47:48 1997 Jason Merrill @@ -9718,13 +9719,13 @@ Fri Aug 8 11:47:48 1997 Jason Merrill * decl2.c (lang_decode_option): Handle -fhandle-exceptions. * lang-options.h: Add -fhandle-exceptions. - * class.c (build_vtable): vtables are artificial. + * class.c (build_vtable): Vtables are artificial. (prepare_fresh_vtable): Likewise. Wed Aug 6 11:02:36 1997 Jason Merrill * cvt.c (ocp_convert): After converting to the target type, set - LOOKUP_NO_CONVERSION. + LOOKUP_NO_CONVERSION. * call.c (joust): Warn about potentially confusing promotion rules with -Wsign-promo. @@ -9802,18 +9803,18 @@ Fri Jul 18 17:56:08 1997 Jason Merrill Thu Jul 17 18:06:30 1997 Jason Merrill * method.c (build_overload_nested_name): Use static_labelno - instead of var_labelno. + instead of var_labelno. (build_qualified_name): New fn. (build_overload_name): Split out from here. (build_static_name): Use build_qualified_name. - * decl.c (cp_finish_decl): Statics in extern inline functions + * decl.c (cp_finish_decl): Statics in extern inline functions have comdat linkage. (start_function): Initialize static_labelno. Thu Jul 17 11:20:17 1997 Benjamin Kosnik - * class.c (finish_struct_methods): add check of warn_ctor_dtor_privacy - before "all member functions in class [] are private" + * class.c (finish_struct_methods): Add check of warn_ctor_dtor_privacy + before "all member functions in class [] are private". Wed Jul 16 23:47:08 1997 Jason Merrill @@ -9827,7 +9828,7 @@ Wed Jul 16 12:34:29 1997 Benjamin Kosnik Mon Jul 14 03:23:46 1997 Jason Merrill * typeck.c (get_member_function_from_ptrfunc): Promote index - before saving it. + before saving it. Sun Jul 13 00:11:52 1997 Jason Merrill @@ -9881,7 +9882,7 @@ Wed Jul 9 13:44:12 1997 Jason Merrill Wed Jul 9 13:04:38 1997 Geoffrey Noer - * decl.c (init_decl_processing): fix Jun 30 patch -- move + * decl.c (init_decl_processing): Fix Jun 30 patch -- move ifndef for Cygwin32 to include SIGSEGV. Thu Jul 3 01:44:05 1997 Jason Merrill @@ -9892,17 +9893,17 @@ Thu Jul 3 01:44:05 1997 Jason Merrill * rtti.c (build_dynamic_cast): Call complete_type on the types. * decl.c (grokfndecl): If the function we chose doesn't actually - match, die. + match, die. * decl2.c (grokclassfn): Don't specify 'const int' for the - artificial destructor parm. + artificial destructor parm. - * pt.c (type_unification): If we are called recursively, nothing + * pt.c (type_unification): If we are called recursively, nothing decays. Mon Jun 30 17:53:21 1997 Geoffrey Noer - * decl.c (init_decl_processing): Stop trying to catch signals + * decl.c (init_decl_processing): Stop trying to catch signals other than SIGABRT since the Cygwin32 library doesn't support them correctly yet. This fixes a situation in which g++ causes a hang on SIGSEGVs and other such signals in our Win32-hosted @@ -9914,11 +9915,11 @@ Mon Jun 30 14:50:01 1997 Jason Merrill Fri Jun 27 15:18:49 1997 Jason Merrill - * typeck2.c (store_init_value): Always return the value if our + * typeck2.c (store_init_value): Always return the value if our type needs constructing. * method.c (hack_identifier): Convert class statics from - reference, too. + reference, too. Thu Jun 26 11:44:46 1997 Jason Merrill @@ -9936,7 +9937,7 @@ Thu Jun 19 12:28:43 1997 Brendan Kehoe Tue Jun 17 18:35:57 1997 Mike Stump * except.c (expand_builtin_throw): Add support - -fno-sjlj-exceptions -fPIC exception handling on the SPARC. + -fno-sjlj-exceptions -fPIC exception handling on the SPARC. Mon Jun 16 01:24:37 1997 Jason Merrill @@ -9944,7 +9945,7 @@ Mon Jun 16 01:24:37 1997 Jason Merrill * cp-tree.h (TI_SPEC_INFO): New macro. (CLASSTYPE_TI_SPEC_INFO): New macro. - * pt.c (push_template_decl): Correctly determine # of template parms + * pt.c (push_template_decl): Correctly determine # of template parms for partial specs. * call.c (compare_ics): Really fix 'this' conversions. @@ -9953,20 +9954,20 @@ Mon Jun 16 01:24:37 1997 Jason Merrill non-template fn. * pt.c (push_template_decl): Complain about mismatch in # of - template parms between a class template and a member template. + template parms between a class template and a member template. Sun Jun 15 02:38:20 1997 Jason Merrill * method.c (synthesize_method): You can't call - function_cannot_inline_p after finish_function. + function_cannot_inline_p after finish_function. * decl.c (finish_function): Turn on flag_inline_functions and turn - off DECL_INLINE before handing a synthesized method to the - backend. + off DECL_INLINE before handing a synthesized method to the + backend. Thu Jun 12 17:35:28 1997 Jason Merrill * method.c (synthesize_method): Remove July 30 change to never set - DECL_INLINE if at_eof. + DECL_INLINE if at_eof. Thu Jun 12 15:25:08 1997 Mike Stump @@ -10006,22 +10007,22 @@ Tue Jun 10 00:22:09 1997 Jason Merrill Mon Jun 9 14:25:30 1997 Mike Stump * Makefile.in, Make-lang.in: Protect C-ls with a comment - character, idea from Paul Eggert . + character, idea from Paul Eggert . Mon Jun 9 01:52:03 1997 Jason Merrill * typeck.c (c_expand_return): Be more persistent in looking for - returned temps. + returned temps. * cvt.c (build_up_reference): Use NOP_EXPR for switching from - pointer to reference. + pointer to reference. * class.c (build_vbase_path): Don't do anything if PATH has no steps. Sun Jun 8 03:07:05 1997 Jason Merrill * init.c (build_member_call, build_offset_ref): - Use do_scoped_id instead of do_identifier. + Use do_scoped_id instead of do_identifier. * cvt.c (convert): Remove bogosity. @@ -10035,13 +10036,13 @@ Fri Jun 6 17:36:39 1997 Jason Merrill * cvt.c (build_up_reference): Call get_binfo to get access control. * decl2.c (import_export_decl): If we don't support weaks, leave - statics undefined. + statics undefined. Fri Jun 6 15:55:49 1997 Mike Stump * except.c (expand_builtin_throw): Add support for machines that - cannot access globals after throw's epilogue when - -fno-sjlj-exceptions is used. + cannot access globals after throw's epilogue when + -fno-sjlj-exceptions is used. Thu Jun 5 16:28:43 1997 Jason Merrill @@ -10058,14 +10059,14 @@ Thu Jun 5 16:28:43 1997 Jason Merrill Tue Jun 3 18:08:23 1997 Jason Merrill * search.c (push_class_decls): A name which ambiguously refers to - several instantiations of the same template just refers to the - template. + several instantiations of the same template just refers to the + template. Tue Jun 3 12:30:40 1997 Benjamin Kosnik - * decl.c (build_enumerator): fix problem with unsigned long + * decl.c (build_enumerator): Fix problem with unsigned long enumerated values being smashed to ints, causing overflow - when computing next enumerated value. (for enum values around + when computing next enumerated value (for enum values around MAX_VAL). Mon Jun 2 17:40:56 1997 Jason Merrill @@ -10198,7 +10199,7 @@ Wed May 14 19:08:28 1997 Mike Stump (struct cp_function): Add last_parm_cleanup_insn. (push_cp_function_context): Likewise. (pop_cp_function_context): Likewise. - + Tue May 13 15:51:20 1997 Jason Merrill * pt.c (tsubst_copy): Handle BIT_NOT_EXPR. @@ -10251,13 +10252,13 @@ Wed Apr 23 18:06:50 1997 Jason Merrill * typeck.c (c_expand_return): Don't complain about returning void to void in an artificial function. - * method.c (make_thunk): Change settings of READONLY/VOLATILE, + * method.c (make_thunk): Change settings of READONLY/VOLATILE, don't set DECL_RESULT, set DECL_ARTIFICIAL. - (emit_thunk, generic code): Also set up DECL_LANG_SPECIFIC. + (emit_thunk, generic code): Also set up DECL_LANG_SPECIFIC. Wed Apr 23 14:43:06 1997 Mike Stump - * init.c (init_decl_processing): Add supoprt for setjmp/longjmp based + * init.c (init_decl_processing): Add support for setjmp/longjmp based exception handling. * except.c (init_exception_processing): Likewise. (expand_end_catch_block): Likewise. @@ -10275,7 +10276,7 @@ Wed Apr 23 14:43:06 1997 Mike Stump (store_parm_decls): Likewise. (cplus_expand_expr_stmt): Likewise. * decl2.c (finish_file): Likewise. - + * Make-lang.in (exception.o): Ok to compile with -O now. * decl.c (maybe_build_cleanup_1): We no longer have to unsave, as @@ -10283,7 +10284,7 @@ Wed Apr 23 14:43:06 1997 Mike Stump * decl2.c (lang_f_options): Remove support for short temps. * lang-options.h: Likewise. - + Wed Apr 23 04:12:06 1997 Jason Merrill * tree.c (varargs_function_p): New fn. @@ -10349,7 +10350,7 @@ Wed Apr 2 12:51:36 1997 Mike Stump * exception.cc (__default_unexpected): Call terminate by default, so that if the user overrides terminate, the correct function will be called. - + Wed Mar 19 14:14:45 1997 Mike Stump * parse.y (left_curly): Avoid trying to use any fields of @@ -10577,7 +10578,7 @@ Tue Feb 11 13:50:48 1997 Mike Stump avoid lossing on systems that require one (ones that define malloc in xm.h). -Mon Feb 10 22:51:13 1997 Bruno Haible +Mon Feb 10 22:51:13 1997 Bruno Haible * decl2.c (max_tinst_depth): New variable. (lang_decode_option): Parse "-ftemplate-depth-NN" command line @@ -10746,7 +10747,7 @@ Thu Jan 23 16:39:06 1997 Jason Merrill Tue Jan 21 18:32:04 1997 Mike Stump - * cvt.c (cp_convert): Pedwarn enum to pointer conversions. + * cvt.c (cp_convert): pedwarn enum to pointer conversions. Mon Jan 20 17:59:51 1997 Jason Merrill @@ -10915,7 +10916,7 @@ Sat Dec 7 17:20:22 1996 Jason Merrill * cp-tree.h (TYPE_MAIN_DECL): Use TYPE_STUB_DECL. * *.c: Use TYPE_MAIN_DECL instead of TYPE_NAME where appropriate. - + Fri Dec 6 14:40:09 1996 Jason Merrill * decl.c (grokdeclarator): When giving an anonymous struct a name, @@ -11061,7 +11062,7 @@ Wed Nov 13 12:32:07 1996 Jason Merrill Wed Nov 13 11:51:20 1996 Brendan Kehoe * g++.c (main): Also set PEXECUTE_SEARCH, to make the invocation - of GCC be path-relative. + of GCC be path-relative. Wed Nov 13 11:27:16 1996 Michael Meissner @@ -11076,7 +11077,7 @@ Wed Nov 13 07:53:38 1996 Brendan Kehoe Wed Nov 13 02:00:26 1996 Jason Merrill - * init.c (expand_default_init): Avoid calling constructors to + * init.c (expand_default_init): Avoid calling constructors to initialize reference temps. * cvt.c (convert_to_reference): Fix. @@ -11169,7 +11170,7 @@ Fri Nov 8 17:38:44 1996 Jason Merrill * decl2.c (finish_file): Don't emit debug info. * decl.c (pushdecl): Lose obsolete code. (grokdeclarator): Still do the long long thing after complaining. - * search.c (note_debug_info_needed): Don't do anything if we're in a + * search.c (note_debug_info_needed): Don't do anything if we're in a template. * method.c (synthesize_method): For non-local classes, push_to_top_level first. @@ -11358,7 +11359,7 @@ Fri Sep 27 16:40:30 1996 Jason Merrill * decl2.c (build_expr_from_tree): Use it. * cp-tree.h: Declare it. - * decl.c (start_decl): variable-sized arrays cannot be initialized. + * decl.c (start_decl): Variable-sized arrays cannot be initialized. * error.c (dump_type_suffix): Handle variable arrays. Fri Sep 27 13:14:05 1996 Brendan Kehoe @@ -11382,7 +11383,7 @@ Thu Sep 26 10:59:00 1996 Jason Merrill calling them. (get_tinfo_fn_dynamic): Extracted from build_typeid. * tinfo2.cc (__dynamic_cast): Adjust. - + * rtti.c (build_typeid): Use resolves_to_fixed_type_p. (build_x_typeid): Likewise. @@ -11461,7 +11462,7 @@ Sun Sep 22 05:31:22 1996 Jason Merrill * typeck2.c (store_init_value): Oops. - * new.{h,cc}, exception.{h,cc}, typeinfo.h, tinfo{2.cc,.cc,.h}: + * new.{h,cc}, exception.{h,cc}, typeinfo.h, tinfo{2.cc,.cc,.h}: New files for C++ lang-support library. * Make-lang.in (CXX_EXTRA_HEADERS): Define. (CXX_LIB2FUNCS): Define. @@ -11586,7 +11587,7 @@ Wed Sep 4 17:16:09 1996 Bob Manson * init.c (perform_member_init): Use add_partial_entry () instead of directly manipulating lists. - (emit_base_init): Ditto. + (emit_base_init): Likewise. Wed Sep 4 12:14:36 1996 Mike Stump @@ -11677,7 +11678,7 @@ Fri Aug 30 10:01:55 1996 Mike Stump to start_function. * parse.y (datadef): Remove non-winning optimization. (decl): Likewise. - (fndef): Remove ambiguous error productions uncovered by grammer + (fndef): Remove ambiguous error productions uncovered by grammar fixing. (constructor_declarator): Add exception_specification_opt here. (component_constructor_declarator): Likewise. @@ -11707,7 +11708,7 @@ Wed Aug 28 01:40:30 1996 Jason Merrill * call.c (joust): Extend the previous change to all comparisons. - * decl2.c, method.c, lex.c: Use MAKE_DECL_ONE_ONLY and + * decl2.c, method.c, lex.c: Use MAKE_DECL_ONE_ONLY and NO_LINKAGE_HEURISTICS. * decl2.c (finish_file): Emit any statics that weren't already. @@ -11742,7 +11743,7 @@ Tue Aug 27 13:12:21 1996 Jason Merrill Tue Aug 27 13:14:58 1996 Bob Manson * rtti.c (build_dynamic_cast): Don't try to dereference exprtype - too early. Make sure we explode if exprtype turns out to be a + too early. Make sure we explode if exprtype turns out to be a NULL_TREE when it shouldn't be. Tue Aug 27 10:56:21 1996 Mike Stump @@ -11756,7 +11757,7 @@ Tue Aug 27 10:56:21 1996 Mike Stump * lex.c (cons_up_default_function): Likewise. * parse.y: Likewise. * pt.c (tsubst): Likewise. - + Mon Aug 26 17:40:03 1996 Mike Stump * decl2.c (groktypefield): Remove unused code. @@ -11768,11 +11769,11 @@ Mon Aug 26 17:00:33 1996 Mike Stump Change type_quals into cv_qualifiers. Change nonempty_type_quals into nonempty_cv_qualifiers. * hash.h: Rebuild. - + * lex.c (make_pointer_declarator): Change type_quals into cv_qualifiers. (make_reference_declarator): Likewise. - + Thu Aug 22 01:09:22 1996 Jason Merrill * decl.c (start_function): Only check interface_* for templates @@ -11789,7 +11790,7 @@ Wed Aug 21 00:13:15 1996 Jason Merrill * call.c (build_new_method_call): Add missing args to cp_error. - * tree.c (error_type): Dont print reference-to-array. + * tree.c (error_type): Don't print reference-to-array. * typeck.c (convert_for_assignment): Don't say contravariance for removing const. @@ -12005,7 +12006,7 @@ Sun Aug 4 15:29:11 1996 Jason Merrill (build_conditional_expr): If both operands are TARGET_EXPRs, wrap the COND_EXPR in a TARGET_EXPR so they use the same slot. - * cvt.c (build_up_reference): Propagate INDIRECT_BIND to + * cvt.c (build_up_reference): Propagate INDIRECT_BIND to recursive calls. * typeck.c (complete_type): Propagate TYPE_NEEDS_{CONSTRUCTING,DESTRUCTOR}. @@ -12102,7 +12103,7 @@ Thu Aug 1 15:18:00 1996 Brendan Kehoe Thu Aug 1 11:53:51 1996 Bob Manson - * pt.c (instantiate_class_template): Call complete_type. Also, if + * pt.c (instantiate_class_template): Call complete_type. Also, if we're at the end of the file and we just instantiated a template class with a vtable, call finish_prevtable_vardecl. @@ -12258,12 +12259,12 @@ Tue Jul 23 12:46:30 1996 Jason Merrill * cvt.c (implicit_conversion): Do const-ref case first. (add_conv_candidate, build_object_call, op_error): New fns. (ptr_complete_ob, TYPE_PTROB_P): void is not an object type. - ({add,build}_builtin_candidate{,s}, print_z_candidates): Display + ({add,build}_builtin_candidate{,s}, print_z_candidates): Display builtin candidates. (build_new_op): Handle CALL_EXPR. Don't try to decay void. - Fall back on preincrement handling. Use op_error. + Fall back on preincrement handling. Use op_error. Handle warn_synth. - (convert_like): Pass INDIRECT_BIND. Don't try to do anything with + (convert_like): Pass INDIRECT_BIND. Don't try to do anything with an error_mark_node. (build_over_call): Handle PROMOTE_PROTOTYPES and ellipsis promotions properly. @@ -12282,7 +12283,7 @@ Mon Jul 22 12:18:54 1996 Jason Merrill * g++.c (main): Don't link with -lg++. NEW_OVER changes: - * cvt.c (convert_to_reference): Don't use convert_from_refeence on + * cvt.c (convert_to_reference): Don't use convert_from_reference on result of build_type_conversion. (cp_convert): Only call build_method_call for ctors if build_type_conversion failed. @@ -12290,7 +12291,7 @@ Mon Jul 22 12:18:54 1996 Jason Merrill (TYPE_PTR{,OB,MEM}_P): New macros. ({add,build}_builtin_candidate{,s}): New functions. (print_z_candidates): Handle builtins. - (build_user_type_conversion_1): Don't use conversion fns for + (build_user_type_conversion_1): Don't use conversion fns for converting to a base type. (build_user_type_conversion_1): Set ICS_USER_FLAG on AMBIG_CONVs. (build_user_type_conversion): Use convert_from_reference. @@ -12612,7 +12613,7 @@ Fri Jun 7 10:37:33 1996 Mike Stump lifetime of the temporary, don't try it again. * typeck.c (c_expand_return): Don't try and convert the return value twice when we want a reference, once is enough. - + Tue Jun 4 15:41:45 1996 Jason Merrill * pt.c (tsubst_expr, case DECL_STMT): Don't pass @@ -12689,8 +12690,8 @@ Thu May 23 12:13:08 1996 Bob Manson and cant_synth_asn_ref. (finish_base_struct): Remove the code that tries to conditionalize synthesis of copy constructors & assignment operators based on - access permissions. Instead, let it fail when it tries to - synthesize the copy constructor. This will give meaningful error + access permissions. Instead, let it fail when it tries to + synthesize the copy constructor. This will give meaningful error messages instead of silently generating code to perform a bitcopy. Wed May 22 11:45:19 1996 Bob Manson @@ -12709,7 +12710,7 @@ Wed May 22 11:45:19 1996 Bob Manson (init_decl_processing): Use NULL instead of NULL_TREE to initialize named_label_uses. (finish_function): Likewise. - + (start_decl): Complain about defining a static data member in a different type from which it was declared. @@ -12989,11 +12990,11 @@ Wed Apr 24 15:41:15 1996 Bob Manson definition of flagged_type_tree is found before it is used. * lex.c: Likewise. * parse.y: Added the ftype member to the type union, and changed a - number of rules to use it instead of ttype. Added calls to + number of rules to use it instead of ttype. Added calls to check_for_new_type() as appropriate. * typeck2.c (check_for_new_type): New function for checking if a newly defined type appears in the specified tree. - * cp-tree.h: Add new type flagged_type_tree. Add a prototype + * cp-tree.h: Add new type flagged_type_tree. Add a prototype for check_for_new_type(). Wed Apr 24 00:36:21 1996 Jason Merrill @@ -13118,7 +13119,7 @@ Sun Apr 14 11:34:39 1996 Jason Merrill Fri Apr 12 09:08:27 1996 Bob Manson * call.c (build_method_call): Remember the original basetype we - were called with. Give an error message instead of trying + were called with. Give an error message instead of trying (incorrectly) to call a non-static member function through a non-inherited class. @@ -13247,7 +13248,7 @@ Sat Apr 6 13:56:27 1996 Jason Merrill Fri Apr 5 17:02:09 1996 Jason Merrill RTTI rewrite to initialize nodes as needed, not require that - users #include , complete functionality and reduce wasted + users #include , complete functionality and reduce wasted space. * rtti.c (init_rtti_processing): New fn. (build_typeid): The vtable entry is now a function. @@ -13347,11 +13348,11 @@ Sat Mar 30 12:14:33 1996 Brendan Kehoe Fri Mar 29 15:51:36 1996 Bob Manson - * class.c (base_info, finish_base_struct): Replace + * class.c (base_info, finish_base_struct): Replace needs_virtual_dtor with base_has_virtual. (finish_struct_1): Remove the old code that tried to make default - destructors virtual. Use base_has_virtual when checking if we need + destructors virtual. Use base_has_virtual when checking if we need to add a vtable entry for the rtti code. Fri Mar 29 14:02:36 1996 Jason Merrill @@ -13464,7 +13465,7 @@ Fri Mar 22 17:57:55 1996 Mike Stump Fri Mar 22 13:48:29 1996 Jason Merrill * decl.c (grokdeclarator): Call bad_specifiers for typedefs. Also - give an error if initialized. Pedwarn about nested type with the + give an error if initialized. pedwarn about nested type with the same name as its enclosing class. * pt.c (tsubst, case TYPE_DECL): Set DECL_CONTEXT. @@ -13695,7 +13696,7 @@ Wed Mar 13 14:03:34 1996 Jason Merrill Tue Mar 12 14:36:02 1996 Jason Merrill - * init.c (build_new): Pedwarn about init and array new. + * init.c (build_new): pedwarn about init and array new. (expand_vec_init): Handle lists, use convert_for_initialization. * typeck.c (convert_for_initialization): Pass LOOKUP_NO_CONVERSION @@ -13817,7 +13818,7 @@ Mon Mar 4 20:03:33 1996 Jason Merrill * error.c (dump_expr): Support LOOKUP_EXPR and actually do something for CAST_EXPR. - + Mon Feb 19 14:49:18 1996 Rusty Russell * cvt.c (cp_convert): Warn about implicit conversion of the @@ -14087,7 +14088,7 @@ Thu Feb 22 15:30:12 1996 Brendan Kehoe (repo_compile_flags, repo_template_declared, repo_template_defined, repo_class_defined, repo_inline_used, repo_vtable_used, repo_tinfo_used): #if 0 unused fns. - (repo_get_id, repo_vtable_used): Declare as static. + (repo_get_id, repo_vtable_used): Declare as static. * cp-tree.h (mark_{decl,class}_instantiated, finish_repo): Add prototypes. @@ -14116,7 +14117,7 @@ Thu Feb 22 13:24:15 1996 Brendan Kehoe (init_lex): Don't set it. (init_parse): Add decl before use. (reduce_count): Only define #ifdef GATHER_STATISTICS && REDUCE_LENGTH. - (current_unit_{name, language}): Delete unused vars. + (current_unit_{name, language}): Delete unused vars. (check_newline): Don't bother setting them, just accept the #pragma. * cp-tree.h (init_repo, peek_yylex): Add prototypes. (current_unit_{name, language}): Delete decls. @@ -14240,7 +14241,7 @@ Thu Feb 22 00:54:22 1996 Jason Merrill Wed Feb 21 16:57:33 1996 Brendan Kehoe - * init.c (expand_recursive_init{,_1}): Delete decls. + * init.c (expand_recursive_init{,_1}): Delete decls. (sort_member_init): Delete unused var INIT. (emit_base_init): Delete unused var X. (build_offset_ref): Delete unused var CNAME. @@ -14276,7 +14277,7 @@ Wed Feb 21 16:57:33 1996 Brendan Kehoe * class.c (n_*): Wrap with #ifdef GATHER_STATISTICS. - * class.c (get_vtable_entry): Diable unused function. + * class.c (get_vtable_entry): Disable unused function. (doing_hard_virtuals): Delete unused static global var. (finish_struct_1): Don't init DOING_HARD_VIRTUALS. (prepare_fresh_vtable): Delete unused vars PATH and RESULT. @@ -14307,7 +14308,7 @@ Wed Feb 21 16:57:33 1996 Brendan Kehoe (grokparms): Delete unused var SAW_VOID. (start_function): Delete unused var OLDDECL. (cplus_expand_expr_stmt): Delete unused var - REMOVE_IMPLICIT_IMMEDIATELY. + REMOVE_IMPLICIT_IMMEDIATELY. * cp-tree.h (pushdecl_nonclass_level): Fix prototype. @@ -14322,7 +14323,7 @@ Wed Feb 21 00:06:17 1996 Jason Merrill (tsubst_expr): Set lineno from TREE_COMPLEXITY in stmt nodes. * parse.y: Use do_pushlevel and do_poplevel. * cp-tree.h: Declare do_poplevel. - + * cp-tree.h: Declare at_eof. * decl.c (cp_finish_decl): Pass it to rest_of_decl_compilation. * decl2.c (import_export_decl): Renamed from import_export_inline. @@ -14939,7 +14940,7 @@ Tue Dec 19 22:36:56 1995 Jason Merrill Mon Dec 18 15:51:33 1995 Jason Merrill * cp-tree.h, decl2.c (flag_weak): New flag to control the use of - weak symbols. + weak symbols. * lang-options.h: Add -f{no-,}weak. * decl.c (init_decl_processing): If the target does not support weak symbols, don't use them. @@ -14977,7 +14978,7 @@ Wed Dec 13 17:05:54 PST 1995 Paul Eggert Wed Dec 13 16:22:38 1995 Jason Merrill Lose CLASSTYPE_METHODS/DECL_NEXT_METHOD chain; make - TYPE_METHODS/TREE_CHAIN mean what they used to. + TYPE_METHODS/TREE_CHAIN mean what they used to. * decl2.c (constructor_name_full): Refer to CLASSTYPE_METHOD_VEC instead of TYPE_METHODS. * decl.c (duplicate_decls): Lose references to DECL_NEXT_METHOD. @@ -15018,7 +15019,7 @@ Mon Dec 11 18:56:14 1995 Mike Stump * decl2.c (build_cleanup): New routine, taken from finish_file. (finish_file): Use build_cleanup instead, and don't put function local statics in global dtor list. - + Wed Dec 6 14:34:29 1995 Mike Stump * except.c (expand_throw): Ensure that we have cleanups, if we try @@ -15057,7 +15058,7 @@ Wed Dec 6 11:48:21 1995 Mike Stump * class.c (build_vfn_ref): Remove building_cleanup logic, as we now use UNSAVE_EXPRs. - typeck.c (get_member_function_from_ptrfunc): Remove remnants of + * typeck.c (get_member_function_from_ptrfunc): Remove remnants of building_cleanup logic, as we now use UNSAVE_EXPRs. * cp-tree.h (unsave_expr): Declare it. * decl.c (building_cleanup): Remove. @@ -15151,11 +15152,11 @@ Fri Nov 10 09:18:09 1995 Brendan Kehoe Mon Nov 6 18:36:13 1995 Brendan Kehoe * call.c (build_method_call): Make sure instance has a - TYPE_LANG_SPECIFIC node before we dive into it. + TYPE_LANG_SPECIFIC node before we dive into it. Sat Nov 4 20:01:52 1995 Jason Molenda - * method.c (make_thunk): use TREE_SET_CODE to set thunk's tree code. + * method.c (make_thunk): Use TREE_SET_CODE to set thunk's tree code. Thu Nov 2 17:56:57 1995 Mike Stump @@ -15190,7 +15191,7 @@ Tue Oct 31 11:56:55 1995 Jason Merrill (emit_thunk): Don't call assemble_external. (make_thunk): Create thunk as a FUNCTION_DECL so that it gets the right mode and ENCODE_SECTION_INFO works. - + * parse.y: Use mark_used. Pass operator names to do_identifier. * lex.c (do_identifier): Handle operator names.