Jason Merrill [Fri, 29 May 1998 02:33:54 +0000 (22:33 -0400)]
cp-tree.h (DECL_DESTRUCTOR_P): New macro.
* cp-tree.h (DECL_DESTRUCTOR_P): New macro.
* 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
vbases have the in_chrg parm.
* 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.
* pt.c (instantiate_decl): Make test for whether or not static
variables should be instantiated early match its comment.
Jason Merrill [Thu, 28 May 1998 01:44:29 +0000 (21:44 -0400)]
decl.c (start_decl): Always pedwarn about vacuously redeclaring a member.
* 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.
(check_default_args): Use cp_error_at.
* lex.c (do_pending_defargs): Call check_default_args.
* call.c (build_scoped_method_call): Make sure get_type_value returns
something before we try to use its TYPE_MAIN_VARIANT.
Jason Merrill [Thu, 28 May 1998 00:11:24 +0000 (20:11 -0400)]
call.c (build_method_call): Make sure get_type_value returns something before we try to use its...
* call.c (build_method_call): Make sure get_type_value returns
something before we try to use its TYPE_MAIN_VARIANT.
* typeck2.c (digest_init): Complain about getting a TREE_LIST to
initialize an array.
* search.c (expand_upcast_fixups): Don't set DECL_CONTEXT and
DECL_VIRTUAL_P.
thunk2.C: Setup this test to be expected to fail on m68k-motorola-sysv and...
�
* g++.old-deja/g++.jason/thunk2.C: Setup this test to be expected to
fail on m68k-motorola-sysv and m88k-motorola-sysv3.
* g++.old-deja/g++.jason/thunk3.C: Add m68k-motorola-sysv and
m88k-motorola-sysv3 to XFAIL.
Mark Mitchell [Tue, 26 May 1998 23:17:56 +0000 (23:17 +0000)]
friend.c (is_friend): Use comptypes, rather than == to compare types.
* friend.c (is_friend): Use comptypes, rather than == to compare
types. Modify for new representation of template friends.
(make_friend_class): Likewise.
* pt.c (tsubst_friend_class): Undo 1998-05-21 change. Tweak.
(instantiate_class_template): Deal with template friends.
Jason Merrill [Tue, 26 May 1998 11:43:52 +0000 (07:43 -0400)]
decl.c (pushdecl): Don't copy the type_decl.
* decl.c (pushdecl): Don't copy the type_decl.
* class.c (pushclass): Always store TYPE_MAIN_VARIANT in
current_class_type.
* decl.c (grokdeclarator): Put typedefs on the type's obstack.
* parse.y (complex_direct_notype_declarator): Use $1 to access
scope of notype_qualified_id.
Dave Brolley [Tue, 26 May 1998 10:47:58 +0000 (10:47 +0000)]
lex.c (parse_options,yy_cur,yy_lim): Add for cpplib.
1998-05-26 Dave Brolley <brolley@cygnus.com>
* lex.c (parse_options,yy_cur,yy_lim): Add for cpplib.
(init_parse): Initialize cpplib interface.
* Makefile.in (CXX_OBJS): Make sure dependencies nenver end with an
empty continuation.
Richard Earnshaw [Tue, 26 May 1998 09:30:56 +0000 (09:30 +0000)]
arm.c: Include toplev.h.
* arm.c: Include toplev.h.
(arm_override_options): Add parentheses around use of tune_flags.
(arm_split_constant): Remove unused variable.
(arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
(output_func_prologue, arm_expand_prologue): Likewise.
(arm_canonicalize_comparison): Make I unsigned; rework constants
accordignly. Add missing paratheses around << operation.
(arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
clause.
({load,store}_multiple_sequence): Initialize BASE_REG.
(select_dominance_cc_mode): Add DEFAULT clauses.
(broken_move): Return zero if the destination is not a register.
(arm_reorg): Move unused REGNO declaration into the dead code.
* arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
Richard Earnshaw [Tue, 26 May 1998 07:37:15 +0000 (07:37 +0000)]
arm.c (bad_signed_byte_operand): New predicate function.
* arm.c (bad_signed_byte_operand): New predicate function.
* arm.h (PREDICATE_CODES): Add it to the list.
* arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
can't handle.
(define_split): Two new splits for above insns.
Mark Mitchell [Mon, 25 May 1998 10:28:16 +0000 (10:28 +0000)]
decl2.c (build_anon_union_vars): Don't crash on empty sub-unions.
1998-05-25 Mark Mitchell <mark@markmitchell.com>
* decl2.c (build_anon_union_vars): Don't crash on empty sub-unions.
* cp-tree.h (processing_template_parmlist): Declare.
* decl.c (pushtag): Don't call push_template_decl when we
shouldn't.
* pt.c (processing_template_parmlist): New variable.
(TMPL_ARGS_HAVE_MULTIPLE_LEVELS): New macro.
(complete_template_args): Use it.
(add_to_template_args): Likewise.
(innermost_args): Likewise.
(tsubst): Likewise.
(begin_template_parm_list): Use processing_template_parmlist.
(end_template_parm_list): Likewise.
* cp-tree.h (ANON_UNION_TYPE_P): New macro.
* decl.c (grokdeclarator): Use it.
* decl2.c (grok_x_components): Likewise.
* init.c (initializing_context): Likewise.
* method.c (do_build_copy_constructor): Likewise.
(do_build_assign_ref): Likewise.
* search.c (compute_access): Likewise.
* typeck.c (build_component_ref): Likewise.
* decl.c (grokdeclarator): Don't give a cv-qualified version of an
unnamed type a typedef name "for linkage purposes".
* pt.c (lookup_template_class): Don't look at
IDENTIFIER_CLASS_VALUE when there's no current_class_type.
* method.c (build_overload_int): Handle error cases gracefully.
* pt.c (instantiate_decl): Handle static member variables
correctly.
* pt.c (tsubst): Use the tsubst'd type when producing new
TEMPLATE_PARM_INDEX nodes.
1998-05-24 Mark Mitchell <mark@markmitchell.com>
* call.c (maybe_handle_implicit_object): Handle QUAL_CONVs. Make
sure the type of the REF_BIND is a reference type.
(maybe_handle_ref_bind, compare_ics): Rename reference_type* to
ref_to_type* for clarity.
Jason Merrill [Sun, 24 May 1998 22:37:10 +0000 (18:37 -0400)]
decl.c (push_namespace): Namespaces have type void.
* decl.c (push_namespace): Namespaces have type void.
* typeck2.c (incomplete_type_error): Complain about namespace
used as expression.
* typeck.c (decay_conversion): Likewise.
* error.c (dump_expr): Support namespaces.
Makefile.in (ENQUIRE_CFLAGS, [...]): Move down to the end of the Makefile.
* Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
of the Makefile.
(FLOAT_H_TEST): Likewise.
(ENQUIRE): Likewise.
(float.h-nat): Likewise.
(float.h-cross): Likewise.
(enquire): Likewise.
(enquire.o): Likewise.
(stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
(stmp-headers): Move actions to stmp-int-hdrs, retaining only a
no-op.
(FLOAT_H): Remove old float.h-nat version; move current definition
to CROSS_FLOAT_H location.
(all.cross): Remove comments about enquire stuff.
* Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
(rest.encap): Likewise.
(libgcc2.ready): Depend upon $(STMP_FIXPROTO)
Andreas Schwab [Sat, 23 May 1998 23:14:57 +0000 (23:14 +0000)]
m68k.h: Declare more functions used in macros.
* m68k.h: Declare more functions used in macros.
(REG_CLASS_CONTENTS): Completely embrace initializer.
* m68k.md (adddi3, subdi3): Add abort call to avoid warning
about returning no value.
* cse.c (find_best_addr): Declare p and found_better only if
needed.
* dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
* dwarfout.c (string_length_attribute): #if 0 away.
* function.c (expand_function_end): Define varible blktramp only
if needed.
* jump.c (find_insert_position): Define only if !HAVE_cc0.
* loop.c (combine_givs_p): Define variable tem only if needed.
* real.c: Comment out unused functions eabs, eround,
e{24,53,64,113}toasc and eiinfin.