OSDN Git Service

* typeck2.c (process_init_constructor): Don't strip cv-qualifiers
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index ce98056..2aa936c 100644 (file)
@@ -1,3 +1,232 @@
+Fri Apr 17 00:45:12 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * typeck2.c (process_init_constructor): Don't strip cv-qualifiers
+       when doing initializations.
+
+Fri Apr 17 00:24:22 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * decl.c (duplicate_decls): Fix check for when it's safe to free
+       the new decl.
+
+       * pt.c (mangle_class_name_for_template): Don't pass a typedef type
+       to type_as_string.
+       From Mark Mitchell:
+       (unify): Use comptypes to compare type args.
+
+Thu Apr 16 17:47:30 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * pt.c (build_template_parm_index): Add prototype.
+
+       * search.c (my_tree_cons): Don't clear words outside the
+       newly allocated node.
+
+Wed Apr 15 15:34:44 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * lex.c (init_parse): Now returns char* containing the filename.
+
+Wed Apr 15 13:20:06 1998  John Carr  <jfc@mit.edu>
+                         Jeff Law   <law@cygnus.com>
+
+       * errfn.c: Rework to avoid problems when HOST_WIDE_INT is longer
+       than a pointer.
+
+Fri Apr 10 12:16:49 1998  Benjamin Kosnik  <bkoz@loony.cygnus.com>
+
+       * decl.c (duplicate_decls): Don't warn for redundant decls if
+       friend: let add_friend take care of it.
+
+Thu Apr  9 02:40:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * 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 
+       here, too.
+       * 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  <bothner@cygnus.com>
+
+        * 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.
+       * method.c (build_mangled_name): Check for is_java_type.
+
+Thu Apr  9 22:16:57 1998  Benjamin Kosnik  <bkoz@loony.cygnus.com>
+
+       * 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.
+
+Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
+
+       * lex.c (finput): New variable.
+       (init_cpp_parse):  Renamed from init_parse.
+       (init_parse): Handle !USE_CPPLIB.  Call init_cpp_parse when finished.
+       (finish_parse): New function.
+       * cp-tree.h (init_lex, init_parse): Remove declarations.
+
+Mon Apr  6 02:25:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * call.c (build_call): Still evaluate the actual argument.
+       * class.c (is_empty_class): Update for -fnew-abi.
+
+       * decl2.c: -fnew-abi implies -fsquangle.
+
+       * method.c (do_build_assign_ref): Don't do anything to copy
+       an empty class.
+       (do_build_copy_constructor): Likewise.
+       * call.c (build_over_call): Likewise.
+
+Sat Apr  4 18:43:58 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.c (avoid_overlap): Return a value.
+
+Sat Apr  4 12:52:35 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * method.c (check_btype): Add missing argument to xrealloc.
+       (check_ktype): Likewise.
+
+Fri Apr  3 02:22:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       Implement empty base optimization.
+       * 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.
+       * tree.c (avoid_overlap): New fn.
+       (build_base_fields): Use it to avoid overlapping empty bases.
+       * cp-tree.h, decl2.c, lang-options.h: Add -fnew-abi.
+
+       * decl.c (cplus_expand_expr_stmt): Strip unused INDIRECT_REFs.
+
+       Re-implement allocation of base class subobjects.
+       * tree.c (unshare_base_binfos): New fn.
+       (layout_basetypes): Use it.  Now handles offsets of both virtual and
+       non-virtual bases, after layout_type.
+       (layout_vbasetypes): Remove.
+       (build_base_fields): Generate FIELD_DECLs for each non-virtual base.
+       (build_vbase_pointer_fields): Split out from old layout_basetypes.
+       * class.c (finish_base_struct): Lose offset handling code.
+       Move nonvdtor warning here.  Don't mess with t_binfo anymore.
+       (finish_struct_1): Don't mess with t_binfo anymore.  Use fns above.
+       * cp-tree.h: Adjust.
+
+Thu Apr  2 14:25:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * cp-tree.h: Lose CLASSTYPE_VBASE_SIZE, some unused stuff.
+       * decl.c, decl2.c, pt.c, ptree.c, lex.c: Likewise.
+       * class.c (duplicate_tag_error): Likewise.
+       (finish_struct_1): Set CLASSTYPE_SIZE, CLASSTYPE_MODE, CLASSTYPE_ALIGN.
+       * tree.c (layout_vbasetypes): Update from layout_record, remove
+       var_size support, use CLASSTYPE_SIZE instead of CLASSTYPE_VBASE_SIZE.
+       (layout_basetypes): Likewise.
+
+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  <jason@yorick.cygnus.com>
+
+       * friend.c (is_friend): Fix access control for local classes.
+
+       * class.c (is_empty_class): New fn.
+       * call.c (build_call): Don't pass empty class objects to a function.
+
+Wed Apr  1 14:58:35 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * call.c (build_over_call): Do name resolution for default
+       arguments of function templates in the scope of the templates.
+
+Tue Mar 31 13:43:57 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * call.c: Include system.h.  Remove includes, declarations and
+       defines provided by system.h.
+       * class.c, cvt.c, decl.c, decl2.c, errfn.c error.c: Likewise.
+       * except.c, expr.c friend.c, g++spec.c, init.c, input.c: Likewise.
+       * lex.c, parse.y, pt.c, ptree.c repo.c rtti.c, search.c: Likewise.
+       * semantics.c, sig.c, spew.c, tree.c, typeck.c: Likewise.
+       * typeck2.c, xref.c: Likewise.
+       * Makefile.in: Dependencies updated as appropriate.
+       * Make-lang.in: Likewise.
+
+Mon Mar 30 12:15:00 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * pt.c (fn_type_unification): Allow incomplete unification without 
+       an immediate error message.
+
+Mon Mar 30 08:55:42 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.c (member_p): New fn.
+       * decl2.c (finish_file): Only set DECL_STATIC_FUNCTION_P for
+       initializing class members.
+
+       * cp-tree.def (TEMPLATE_PARM_INDEX): Class 'x'.
+       * ptree.c (lang_print_xnode): Handle TEMPLATE_PARM_INDEX.
+
+       * call.c (build_method_call): Handle non-scoped destructors, too.
+       * pt.c (tsubst_copy): Likewise.
+
+       * pt.c (print_template_context): Split out...
+       (push_tinst_level): ...from here.
+
+       * friend.c (is_friend): Don't pass a type to decl_function_context.
+
+       * typeck.c (convert_for_initialization): Always hand off
+       conversions to class type.
+
+Sun Mar 29 20:01:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * friend.c (is_friend): Local classes have the same access as the
+       enclosing function.
+
+Sun Mar 29 00:47:32 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * typeck.c (expand_target_expr): Delete dead function.
+
+       * search.c: Put various prototypes inside #ifdef MI_MATRIX.
+
+       * repo.c (save_string): Delete dead function.
+
+       * method.c (thunk_printable_name): Delete dead function.
+
+       * lex.c (yynextch): Delete dead function.
+
+       * expr.c (tree_extract_aggr_init): #if 0 out.
+
+       * except.c (do_unwind): Delete dead function.
+       (easy_expand_asm): Likewise.
+
+       * cvt.c (build_conversion_type_1): Delete dead function.
+
+       * cp-tree.h (push_expression_obstack): Declare.
+
+       * call.c (source_type): #if 0 out.
+
+       * class.c (alter_access): Remove unused label.  Add braces
+       around empty else clause.
+
+       * lex.c (yyprint): Fix argument to printf.
+
 Sat Mar 28 17:43:52 1998  Mark Mitchell  <mmitchell@usa.net>
 
        * pt.c (tsubst): Clear TREE_USED for new FUNCTION_DECLs.
@@ -913,6 +1142,10 @@ Sat Feb  7 16:48:54 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
        * parse.y (nomods_initdcl0): Add constructor_declarator case.
 
+Fri Feb  6 21:32:25 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config-lang.in (diff_excludes): Use basename only.
+
 Thu Feb  5 19:10:40 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
        * tinfo2.cc: Add tinfo for signed char.
@@ -1814,6 +2047,8 @@ Wed Nov 26 01:11:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
 
        * decl2.c (delete_sanity): resolve_offset_ref.
 
+       * except.c: Call terminate without caching so many bits.
+
        * except.c (expand_start_catch_block): Fix catching a reference
        to pointer.