OSDN Git Service

* init.c (build_delete): Reset TYPE_HAS_DESTRUCTOR here.
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 0501bca..0c520b5 100644 (file)
@@ -1,3 +1,102 @@
+1998-10-28  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * 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.
+
+       * call.c (add_function_candidate): Treat conversion functions
+       as coming from the argument's class.
+       * cp-tree.h (DECL_CONV_FN_P): New fn.
+       (DECL_DESTRUCTOR_P): Also check DECL_LANGUAGE.
+       * class.c (add_method): Use DECL_CONV_FN_P.
+       * decl2.c (check_classfn): Likewise.
+       * error.c (dump_function_name): Likewise.
+       (dump_function_decl): Likewise.
+       * pt.c (fn_type_unification): Likewise.
+       * search.c (add_conversions): Likewise.
+
+1998-10-27  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * lex.c (do_identifier): Also generate LOOKUP_EXPR for RESULT_DECL.
+       * method.c (hack_identifier): Also check for using RESULT_DECL
+       from outer context.
+
+1998-10-27  Mark Mitchell  <mark@markmitchell.com>
+
+       * decl.c (grokdeclarator): Use type_quals, rather than constp,
+       consistently.
+
+1998-10-27  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * call.c (standard_conversion): instantiate_type here.
+       (reference_binding): And here.
+       (implicit_conversion): Not here.
+       (build_op_delete_call): No need to cons up an OVERLOAD.
+       * cvt.c (cp_convert_to_pointer): instantiate_type here.
+       (convert_to_reference): And here.
+       * decl.c (grok_reference_init): Not here.
+       (grokparms): Or here.
+       * typeck2.c (digest_init): Or here.
+       * typeck.c (decay_conversion): Take the address of overloaded
+       functions, too.
+       (require_instantiated_type): Lose.
+       (convert_arguments): Don't handle unknown types here.
+       (build_c_cast): Likewise.
+       (build_binary_op): Gut.
+       (build_conditional_expr): Don't require_instantiated_type.
+       (build_modify_expr): Likewise.
+       (build_static_cast): Don't instantiate_type.
+       (build_reinterpret_cast): Likewise.
+       (build_const_cast): Likewise.
+       (convert_for_initialization): Likewise.
+       (build_ptrmemfunc): Use type_unknown_p.
+       (convert_for_assignment): Also do default_conversion on overloaded
+       functions.  Hand them off to ocp_convert.
+       * pt.c (convert_nontype_argument): Tell instantiate_type to complain.
+       Do complain about overload resolution producing a non-public fn.
+
+1998-10-26  Mark Mitchell  <mark@markmitchell.com>
+
+       * error.c (dump_decl): Deal with TEMPLATE_DECLs that are
+       VAR_DECLs.  Handle vtables whose DECL_CONTEXT is not a type.
+
+       * class.c (finish_struct_1): Use build_cplus_array_type to build
+       array types.
+       * 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  <jason@yorick.cygnus.com>
+
+       * decl.c (grokdeclarator): Complain about a variable using
+       constructor syntax coming back null from start_decl.
+
+       * friend.c (make_friend_class): Complain about trying to make
+       a non-class type a friend.
+
+       * decl.c (grokfndecl): Set DECL_INITIAL for a defn here.
+       (start_function): Not here.
+
+1998-10-26  Brendan Kehoe  <brendan@cygnus.com>
+
+       * decl.c (grokdeclarator): Disallow `explicit' in a friend declaration.
+
+1998-10-26  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * typeck2.c (process_init_constructor): Only skip anonymous fields
+       if they are bitfields.
+
+       * cp-tree.def (TYPEOF_TYPE): New code.
+       * error.c (dump_type_real): Handle it.
+       * pt.c (tsubst): Likewise.
+       * tree.c (search_tree): Likewise.
+       * semantics.c (finish_typeof): New fn.
+       * parse.y (typespec): Use it.
+       * cp-tree.h: Declare it.
+
 1998-10-26  Manfred Hollstein  <manfred@s-direktnet.de>
 
        * cp-tree.h (FORMAT_VBASE_NAME): Make definition unconditional.
        specially.
 
        * init.c (build_member_call): Don't try to convert to the base type
-       if it's ambiguous.
+       if it's ambiguous or pedantic.
 
-       * typeck2.c (check_for_new_type): Don't depend on pedantic.
+       * typeck2.c (check_for_new_type): Only depend on pedantic for
+       C-style casts.
 
 1998-10-25  Mark Mitchell  <mark@markmitchell.com>