Tom Tromey [Tue, 11 Apr 2000 20:02:48 +0000 (20:02 +0000)]
Vector.java (VectorEnumeration): Now `final'.
* java/util/Vector.java (VectorEnumeration): Now `final'.
* java/util/Hashtable.java (HashtableEntry): Now `final'.
(HashtableEnumeration): Likewise.
* java/util/zip/ZipFile.java (ZipEnumeration): Now `final'.
* java/text/RuleBasedCollator.java (RBCElement): Now `final'.
From-SVN: r33083
Jeffrey A Law [Tue, 11 Apr 2000 20:02:46 +0000 (20:02 +0000)]
long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64.
* pa/long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64.
* pa/pa-protos.h (output_call): Add additional argument indicating
if the call is a sibling/tail call.
(compute_zdepdi_operands, output_64bit_and): Prototype new functions.
(compute_64bit_ior, cmpib_comparison_operator): Likewise.
(function_arg, function_arg_partial_nregs): Likewise
* pa/pa.c (override_options): Always set flag_pic for TARGET_64BIT.
(emit_move_sequence): Zero extend certain constants as needed
for TARGET_64BIT.
(compute_zdepdi_operands, output_64bit_and): New functions.
(output_64bit_ior, function_arg): Likewise.
(cmpib_comparison_operator, function_arg_partial_nregs): Likewise.
(compute_frame_size, hppa_expand_prologue): Handle TARGET_64BIT.
(hppa_expand_epilogue, return_addr_rtx, hppa_va_arg): Likewise.
(hppa_builtin_saveregs, output_cbranch, output_bb): Likewise.
(output_bvb): Likewise.
(output_millicode_call): Return pointer is in %r2 for TARGET_64BIT.
(output_call): New argument 'sibcall'. Generate sibcall sequences
as needed.
(print_operand); Handle cases 'Q', 'p', and 'z' for TARGET_64BIT. For
(ouput_arg_descriptor): Do not emit argument descriptors for
TARGET_64BIT.
* pa/pa.h (TARGET_PA_11, TARGET_PA_20): Only define if not already
defined.
(TARGET_64BIT, PROMOTE_FUNCTION_RETURN): Define.
(FUNCTION_OK_FOR_SIBALL): Define.
(CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC): Define.
(CPP_CPU_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS, EXTRA_SPECS): Likewise.
(CPP_SPEC): Use new spec infrastructure.
(BITS_PER_WORD, UNITS_PER_WORD): Handle TARGET_64BIT.
(STACK_BOUNDARY, FUNCTION_BOUNDARY, PIC_OFFSET_TABLE_REGNUM): Likewise.
(RETURN_IN_MEMORY, EXTRA_CONSTRAINT, FIRST_PARM_OFFSET): Likewise.
(REG_PARM_STACK_SPACE, STACK_POINTER_OFFSET): Likewise.
(STACK_DYNAMIC_OFFSET, FUNCTION_VALUE): Likewise.
(FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES): Likewise.
(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
(INITIALIZE_TRAMPOLINE, LEGITIMATE_CONSTANT_P): Likewise.
(CONST_OK_FOR_LETTER_P, MOVE_RATIO): Likewise.
(FUNCTION_ARG); Call out to C code.
(FUNCTION_ARG_PARTIAL_NREGS): Likewise.
(MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Define.
(MIN_UNITS_PER_WORD): Likewise.
* pa/pa.md (cmpdi): New expander.
(scc patterns, movstrsi): Not available for TARGET_64BIT.
(64bit conditional arithmetic): New patterns.
(absdi2, smindi3, umindi3, smaxdi3, umaxdi3): New patterns.
(movsicc): Not available if modes on all the operands to not match.
(movdicc): New expander and associated patterns.
(64bit branches): New patterns.
(pre_load, post_store): Generate appropriate code for TARGET_64BIT.
(pre_ldd, post_std): New patterns.
(64bit addil, load low part): New patterns.
(special movsf constant): Not available for TARGET_64BIT.
(movsf, movdf expanders): Force constants into memory.
(32bit movdf/movdi patterns): Disable for TARGET_64BIT.
(64bit movdf/movdi patterns): New patterns.
(zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New patterns
for TARGET_64BIT.
(extendqidi2, extendhidi2, extendsidi2): Similarly.
(adddi3 expander): Allow "arith_operand" for second input.
(32bit adddi3, subdi3, uaddcm): Disable for TARGET_64BIT.
(64bit adddi3, subsi3, uaddcm): New patterns for TARGET_64BIT.
(mulsi3 expander): Revamp slightly so it supports TARGET_64BIT too.
(muldi3): New expander for TARGET_64BIT.
(divsi3, udivsi3, modsi3, umodsi3): Fourth operand must be (reg:SI 2)
for TARGET_64BIT.
(32bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm): Disable
patterns for TARGET_64BIT.
(64bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm, shadd): New
patterns for TARGET_64BIT.
(64bit bit insertion/extractions): New patterns for TARGET_64BIT.
(64bit shifts/rotates): New patterns/expanders for TARGET_64BIT.
(sibcall_epilogue): New expander.
(casesi): Tweak for TARGET_64BIT.
(call expanders): Set & use the outgoing argument pointer. Use the
64bit call patterns as needed. Add additional arg to output_call.
(call_internal_reg_64bit, call_value_internal_reg_64bit): New pattern.
(sibcall, sibcall_internal_symref): New expanders.
(sibcall_value, sibcall_value_internal_symref
(interspace_jump): Turn into an expander + matching patterns.
(canonicalize_funcptr_for_compare): Not needed for TARGET_64BIT.
* pa/pa64-regs.h: Eliminate trigraph sequences.
* pa/pa64-start.h (TARGET_PA_20): Fix typo.
From-SVN: r33082
Mark Mitchell [Tue, 11 Apr 2000 17:29:54 +0000 (17:29 +0000)]
optimize.c (remap_decl): Avoid sharing structure for arrays whose size is only known at run-time.
* optimize.c (remap_decl): Avoid sharing structure for arrays
whose size is only known at run-time.
* tree.c (copy_tree_r): Don't copy PARM_DECLs.
From-SVN: r33081
Mark Mitchell [Tue, 11 Apr 2000 16:56:14 +0000 (16:56 +0000)]
cp-tree.h (lang_decl_flags): Rename constructor_for_vbase_attr to has_in_charge_parm_p.
* cp-tree.h (lang_decl_flags): Rename constructor_for_vbase_attr
to has_in_charge_parm_p.
(DECL_CONSTRUCTOR_FOR_VBASE_P): Rename to ...
(DECL_HAS_IN_CHARGE_PARM_P): ... this.
(DECL_COPY_CONSTRUCTOR_P): New macro.
* call.c (add_function_candidate): Use DECL_HAS_IN_CHARGE_PARM_P.
(build_user_type_conversion_1): Likewise.
(convert_like_real): Likewise.
(build_over_call): Likeiwse. Use DECL_COPY_CONSTRUCTOR_P.
* decl.c (grokdeclarator): Use DECL_HAS_IN_CHARGE_PARM_P.
(copy_args_p): Likewise.
(grok_ctor_properties): Likewise.
(start_function): Likewise.
* decl2.c (maybe_retrofit_in_charge): Likewise. Set it.
* error.c (dump_function_decl): Use DECL_HAS_IN_CHARGE_PARM_P.
* init.c (emit_base_init): Use DECL_COPY_CONSTRUCTOR_P.
* method.c (do_build_copy_constructor): Use
DECL_HAS_IN_CHARGE_PARM_P.
(synthesize_method): Likewise.
* pt.c (instantiate_template): Remove goto.
* tree.c (build_cplus_method_type): Remove mention of obstacks in
comment.
From-SVN: r33080
Mark Mitchell [Tue, 11 Apr 2000 16:27:42 +0000 (16:27 +0000)]
cp-tre.h (finish_function): Change prototype.
* cp-tre.h (finish_function): Change prototype.
* decl.c (end_cleanup_fn): Adjust caller.
(finish_function): Take only one parameter.
* decl2.c (finish_objects): Adjust caller.
(finish_static_storage_duration_function): Likewise.
* method.c (emit_thunk): Likewise.
* parse.y: Likewise.
* parse.c: Regenerated.
* pt.c (instantiate_decl): Likewise.
* rtti.c (synthesize_tinfo_fn): Likewise.
* semantics.c (expand_body): Likewise.
* cp-tree.h (copy_decl): New function.
* class.c (finish_struct_1): Use it.
* lex.c (copy_decl): Define it.
* pt.c (tsubst_decl): Likewise.
* tree.c (copy_template_template_parm): Likewise.
From-SVN: r33079
Nathan Sidwell [Tue, 11 Apr 2000 15:32:58 +0000 (15:32 +0000)]
Restore accidentally nuked changelog entries Mon Apr 10 07:21:13 2000 Richard...
Restore accidentally nuked changelog entries
Mon Apr 10 07:21:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2000-04-10 Neil Booth <NeilB@earthling.net>
From-SVN: r33078
Warren Levy [Tue, 11 Apr 2000 09:21:53 +0000 (09:21 +0000)]
ObjectStreamException.java: New file.
* java/io/ObjectStreamException.java: New file.
* java/io/OptionalDataException.java: New file.
* java/io/StreamCorruptedException.java: New file.
* java/math/BigDecimal.java: New file.
* java/sql/CallableStatement.java: New file.
* java/sql/Connection.java: New file.
* java/sql/DataTruncation.java: New file.
* java/sql/DatabaseMetaData.java: New file.
* java/sql/Date.java: New file.
* java/sql/Driver.java: New file.
* java/sql/DriverManager.java: New file.
* java/sql/DriverPropertyInfo.java: New file.
* java/sql/PreparedStatement.java: New file.
* java/sql/ResultSet.java: New file.
* java/sql/ResultSetMetaData.java: New file.
* java/sql/SQLException.java: New file.
* java/sql/SQLWarning.java: New file.
* java/sql/Statement.java: New file.
* java/sql/Time.java: New file.
* java/sql/Timestamp.java: New file.
* java/sql/Types.java: New file.
* Makefile.am: Added above new files.
* Makefile.in: Rebuilt.
* mauve-libgcj: Turned on java.math, java.sql and java.security tests.
* java/net/MulticastSocket.java (MulticastSocket): Pass values a la
DatagramSocket constructor instead of null.
java.sql is JDK 1.1 Compliant
From-SVN: r33077
Zack Weinberg [Tue, 11 Apr 2000 08:29:34 +0000 (08:29 +0000)]
cppexp.c, [...]: Replace cpp_token with cpp_ttype everywhere.
* cppexp.c, cpphash.c, cpphash.h, cpplex.c, cpplib.c,
cpplib.h, cppmain.c, fix-header.c, scan-decls.c: Replace
cpp_token with cpp_ttype everywhere.
* cpperror.c, cpphash.c, cpplex.c, cpplib.c, scan-decls.c:
Replace cpp_buf_line_and_col with CPP_BUF_LINE and/or
CPP_BUF_COL. Line and column numbers are unsigned int, not
long.
* cpplex.c (cpp_buf_line_and_col): Delete.
* cpplib.h (struct cpp_buffer, struct cpp_reader): Change
'long lineno' to 'unsigned int lineno'.
(CPP_BUF_LINE, CPP_BUF_COL): New macros.
From-SVN: r33076
Jeff Law [Tue, 11 Apr 2000 07:45:07 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r33075
Mark Mitchell [Tue, 11 Apr 2000 07:39:05 +0000 (07:39 +0000)]
cp-tree.h (lang_type): Remove has_nonpublic_ctor and has_nonpublic_assign_ref.
* cp-tree.h (lang_type): Remove has_nonpublic_ctor and
has_nonpublic_assign_ref.
(TYPE_HAS_NONPUBLIC_CTOR): Don't declare.
(TYPE_HAS_NONPUBLIC_ASSIGN_REF): Likewise.
* class.c (finish_struct_methods): Don't set
TYPE_HAS_NONPUBLIC_CTOR or TYPE_HAS_NONPUBLIC_ASSIGN_REF.
(interface_only): Don't declare.
(interface_unknown): Likewise.
From-SVN: r33074
Martin v. Löwis [Tue, 11 Apr 2000 07:20:47 +0000 (07:20 +0000)]
extend.texi: ISO C99 is not a draft anymore.
* extend.texi: ISO C99 is not a draft anymore.
* invoke.texi: ISO C++ is not a draft anymore.
* cpp.texi: __cplusplus is required by the ISO standard.
From-SVN: r33073
Martin v. Löwis [Tue, 11 Apr 2000 06:06:22 +0000 (06:06 +0000)]
Add missing table start back in.
From-SVN: r33072
Martin v. Löwis [Tue, 11 Apr 2000 06:01:53 +0000 (06:01 +0000)]
extend.texi (-fthis-is-variable): Undocument.
* extend.texi (-fthis-is-variable): Undocument.
* flags.h (warn_template_debugging): Remove declaration.
* gcc.1 (-fall-virtual, -fenum-int-equiv, -fthis-is-variable,
-Wenum-clash, -Wtemplate-debugging): Undocument.
* cp/tree.h (HAVE_TEMPLATES): Remove definition.
* cp/lang-options.h (-fthis-is-variable): Remove documentation.
From-SVN: r33071
David Edelsohn [Tue, 11 Apr 2000 04:35:22 +0000 (00:35 -0400)]
- Replace reference to newppc-branch ChangeLog with detailed entries.
From-SVN: r33070
Nick Clifton [Tue, 11 Apr 2000 03:08:01 +0000 (03:08 +0000)]
Fix compile time warnings for arm-pe target.
From-SVN: r33069
Jason Merrill [Tue, 11 Apr 2000 01:11:58 +0000 (21:11 -0400)]
note warnings
From-SVN: r33068
Jason Merrill [Tue, 11 Apr 2000 01:11:27 +0000 (21:11 -0400)]
just return failure
From-SVN: r33067
Jason Merrill [Tue, 11 Apr 2000 00:38:39 +0000 (00:38 +0000)]
class.c (instantiate_type): Handle object-relative template-id.
* class.c (instantiate_type): Handle object-relative template-id.
* semantics.c (finish_expr_stmt): Call convert_to_void here.
* decl.c (cplus_expand_expr_stmt): Not here.
* rtti.c (build_dynamic_cast_1): Call non_lvalue.
Initialize exprtype earlier.
* parse.y (fn.def1): Check for defining types in return types.
* decl.c (check_tag_decl): Notice extra fundamental types.
Diagnose empty decls in classes, too.
* decl.c (grokdeclarator): Don't override an anonymous name if no
declarator was given.
* cvt.c (convert_to_void): Call resolve_offset_ref.
* typeck.c (build_x_function_call): Abort if we get an OFFSET_REF.
* decl2.c (decl_namespace): Handle getting a type.
* typeck.c (build_c_cast): Re-enable warning for cast between
pointer and integer of different size.
From-SVN: r33066
Richard Kenner [Mon, 10 Apr 2000 19:35:13 +0000 (19:35 +0000)]
sbitmap.c (sbitmap_a_subset_b_p): Rework loop to avoid potential of sequence point problems.
* sbitmap.c (sbitmap_a_subset_b_p): Rework loop to avoid potential
of sequence point problems.
From-SVN: r33064
Nathan Sidwell [Mon, 10 Apr 2000 16:22:52 +0000 (16:22 +0000)]
* g++.old-deja/g++.eh/catchptr1.C: New test.
From-SVN: r33062
Nathan Sidwell [Mon, 10 Apr 2000 16:21:28 +0000 (16:21 +0000)]
cxxabi.h (__pointer_type_info): Add restrict and incomplete flags.
* inc/cxxabi.h (__pointer_type_info): Add restrict and
incomplete flags.
(__pointer_type_info::__pointer_catch): New virtual function.
(__pointer_to_member_type_info): Derive from
__pointer_type_info. Adjust.
(__pointer_to_member_type_info::__do_catch): Remove.
(__pointer_to_member_type_info::__is_pointer_p): Declare.
(__pointer_to_member_type_info::__pointer_catch): Declare.
* rtti.c (qualifier_flags): Add restrict flag.
(ptmd_initializer): Reorder members.
(create_tinfo_types): Expand comments. Reorder
ptmd_desc_type_node members.
* tinfo2.cc (__pointer_to_member_type_info::__is_pointer_p):
Implement.
(__pointer_type_info::__do_catch): Move specific code into
__pointer_catch. Call it.
(__pointer_type_info::__pointer_catch): Non-pointer-to-member
specific catch checking. Fix void conversion check.
(__pointer_to_member_type_info::__do_catch): Remove.
(__pointer_to_member_type_info::__pointer_catch): Implement.
From-SVN: r33061
Nathan Sidwell [Mon, 10 Apr 2000 16:18:21 +0000 (16:18 +0000)]
rtl.def (ASHIFT, [...]): Recomment.
* rtl.def (ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT):
Recomment.
* tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment.
From-SVN: r33060
Richard Kenner [Mon, 10 Apr 2000 12:31:19 +0000 (12:31 +0000)]
sbitmap.h: Whitespace changes and use upper-case macro args.
* sbitmap.h: Whitespace changes and use upper-case macro args.
(struct simple_bitmap_def): All sizes now unsigned.
(EXECUTE_IF_SET_IN_SBITMAP): Internal vars now _X instead of X_.
* sbitmap.c (sbitmap_alloc): N_ELMS now unsigned; also local vars.
(sbitmap_vector_alloc): Parms and local vars now unsigned.
(sbitmap_zero): Cast bzero arg to PTR.
(sbitmap_vector_zero, sbitmap_vector_one): Parm and Local var unsigned.
(sbitmap_union_of_diffs): Change loop index to unsigned and rework
loop to make structure clearer.
(sbitmap_not, sbitmap_difference, sbitmap_a_and_b): Likewise.
(sbitmap_a_or_b, sbitmap_a_subset_b_p, sbitmap_a_or_b_and_c): Likewise.
(sbitmap_a_and_b_or_c): Likewise.
(sbitmap_intersection_of_succs): Minor cleanups.
(sbitmap_intersection_of_preds, sbitmap_union_of_succs): Likewise.
(sbitmap_union_of_preds): Likewise.
(sbitmap_first_set_bit, dump_sbitmap): Local variables now unsigned.
(debug_sbitmap): New function.
From-SVN: r33059
Richard Kenner [Mon, 10 Apr 2000 11:59:46 +0000 (11:59 +0000)]
c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE.
* c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE.
* c-typeck.c (convert_for_assignment): Likewise.
From-SVN: r33058
Richard Kenner [Mon, 10 Apr 2000 11:51:53 +0000 (11:51 +0000)]
expmed.c (init_expmed): Don't free objects we make.
* expmed.c (init_expmed): Don't free objects we make.
* emit-rtl.c (gen_rtx_CONST_INT, init_emit_once): Minor cleanups.
From-SVN: r33057
Richard Kenner [Mon, 10 Apr 2000 11:46:08 +0000 (11:46 +0000)]
expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases.
* expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases.
(expand_expr, case CONVERT_EXPR): Pass proper alignment to store_field.
From-SVN: r33056
Richard Kenner [Mon, 10 Apr 2000 11:40:06 +0000 (07:40 -0400)]
Add missing blank
From-SVN: r33055
Richard Kenner [Mon, 10 Apr 2000 11:33:18 +0000 (11:33 +0000)]
gcse.c (expr_hash_table_size): Now unsigned.
* gcse.c (expr_hash_table_size): Now unsigned.
(compute_ae_gen): Local variable `i' now unsigned.
(compute_ae_kill, pre_insert_copies, pre_delete, pre_gcse): Likewise.
(compute_transout, hoist_code): Likewise.
(compute_local_properties): Likewise, also hash_table_size.
(alloc_expr_hash_table): N_INSNS now unsigned.
(delete_null_pointer_checks): Mark arg F as unused.
From-SVN: r33054
Richard Kenner [Mon, 10 Apr 2000 11:23:17 +0000 (11:23 +0000)]
regrename.c: Minor cleanups, including changing some variables to unsigned int.
* regrename.c: Minor cleanups, including changing some variables
to unsigned int.
From-SVN: r33053
Neil Booth [Mon, 10 Apr 2000 11:08:12 +0000 (11:08 +0000)]
cpplex.c (skip_block_comment): Use pointer arithmetic rather than GETC ().
* cpplex.c (skip_block_comment): Use pointer arithmetic rather
than GETC ().
* cpphash.h: (CPP_BUMP_BUFFER_LINE_CUR, CPP_BUMP_LINE_CUR): New.
From-SVN: r33052
Martin v. Löwis [Mon, 10 Apr 2000 07:48:15 +0000 (07:48 +0000)]
invoke.texi (-ansi): Remove -foperator-names from list of implied options.
* invoke.texi (-ansi): Remove -foperator-names from list of
implied options. Do not call it ANSI C++.
(-foperator-names): Document as -fno-operator-names.
* cp/decl2.c (flag_operator_names): Default to 1.
(lang_decode_option): Do not set it for -ansi.
From-SVN: r33051
Jeff Law [Mon, 10 Apr 2000 07:45:07 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r33050
Martin v. Löwis [Mon, 10 Apr 2000 07:43:45 +0000 (07:43 +0000)]
invoke.texi (-fno-gnu-keywords): Remove classof, headof, __classof__, and __headof__ from the list of gnu keywords.
* invoke.texi (-fno-gnu-keywords): Remove classof, headof,
__classof__, and __headof__ from the list of gnu keywords.
* cp/lex.c (init_parse): Remove traces of classof and headof.
From-SVN: r33049
Mark Mitchell [Mon, 10 Apr 2000 06:53:57 +0000 (06:53 +0000)]
cp-tree.h (struct lang_decl): Remove main_decl_variant.
* cp-tree.h (struct lang_decl): Remove main_decl_variant.
(DECL_MAIN_VARIANT): Remove.
* decl.c (duplicate_decls): Don't set it.
(start_function): Likewise.
(lang_mark_tree): Don't mark it.
* decl2.c (defer_fn): Don't use it.
* lex.c (retrofit_lang_decl): Don't set it.
* pt.c (tsubst_decl): Likewise.
* ptree.c (print_lang_decl): Don't print it.
* typeck.c (mark_addressable): Don't use it.
From-SVN: r33048
Zack Weinberg [Mon, 10 Apr 2000 03:27:21 +0000 (03:27 +0000)]
cpphash.c (timestamp): Delete.
* cpphash.c (timestamp): Delete.
(del_HASHNODE): If type is T_MCONST, free value.cpval.
(special_symbol): Remove unnecessary braces. Remove
T_VERSION. Treat T_STDC like T_CONST unless
STDC_0_IN_SYSTEM_HEADERS. Render both __DATE__ and __TIME__
when one is encountered, then convert them into T_MCONST
nodes.
* cppinit.c (builtin_array): version_string is T_MCONST.
__STDC__ has a "1" in its cpval. Don't have a terminator
entry. Clean up which entries are dumped.
(initialize_builtins): Only __STDC__ gets the special
-traditional treatment. Count the length of builtin_array.
Render version_string here.
* cpphash.h: Remove T_VERSION. Add T_MCONST.
* cpplib.h (struct cpp_reader): Remove timebuf.
From-SVN: r33047
Richard Henderson [Sun, 9 Apr 2000 20:26:42 +0000 (13:26 -0700)]
genrecog.c (pred): Update comparison_operator for the unordered operators.
* genrecog.c (pred): Update comparison_operator for the unordered
operators.
* config/i386/i386.c (no_comparison_operator): Disallow unordered
operators.
(fcmov_comparison_operator): Allow UNORDERED/ORDERED.
(uno_comparison_operator): New.
(put_condition_code): Handle UNORDERED/ORDERED.
(unsigned_comparison): Likewise.
(ix86_fp_compare_mode): Broken out of ix86_expand_fp_compare.
(ix86_use_fcomi_compare, ix86_prepare_fp_compare_args): Likewise.
(ix86_expand_fp_compare): Use them. Take scratch as argument,
update all callers. Handle all 8 unordered operators.
(ix86_expand_setcc): Lose the unordered argument, update all callers.
(ix86_expand_branch): Likewise. Don't fully expand fp branches.
* config/i386/i386.h (PREDICATE_CODES): Update.
* config/i386/i386-protos.h (ix86_expand_fp_compare): Declare.
(ix86_expand_branch, ix86_expand_setcc): Update.
* config/i386/i386.md (sunordered, sordered): New.
(suneq, sunge, sungt, sunle, sunlt, sltgt): New.
(bunordered, bordered): New.
(buneq, bunge, bungt, bunle, bunlt, bltgt): New.
(*fp_jcc_1, *fp_jcc_2, *fp_jcc_3, *fp_jcc_4): New.
(*fp_jcc_5, *fp_jcc_6, and splitters): New.
From-SVN: r33046
Philip Blundell [Sun, 9 Apr 2000 20:13:21 +0000 (20:13 +0000)]
Strip '*' prefix from label names.
From-SVN: r33045
John Wehle [Sun, 9 Apr 2000 19:26:31 +0000 (19:26 +0000)]
i386.md (fix_truncsfhi2, [...]): New patterns.
* i386.md (fix_truncsfhi2, fix_truncdfhi2,
fix_truncxfhi2): New patterns.
* i386.c (output_fix_trunc): Handle converting to HImode.
From-SVN: r33044
Nathan Sidwell [Sun, 9 Apr 2000 16:05:49 +0000 (16:05 +0000)]
* g++.old-deja/g++.abi/cxa_vec.C: New test.
From-SVN: r33043
Nathan Sidwell [Sun, 9 Apr 2000 16:05:16 +0000 (16:05 +0000)]
vec.cc: Include <new> and <exception>.
* vec.cc: Include <new> and <exception>.
(__cxa_vec_ctor): Use __cxa_vec_dtor for cleanup.
(__cxa_vec_dtor): Catch dtor exceptions, and rethrow or
terminate.
(__cxa_vec_delete): Catch dtor exceptions.
From-SVN: r33042
Nathan Sidwell [Sun, 9 Apr 2000 15:59:16 +0000 (15:59 +0000)]
Prepend __ to implementation defined names.
* inc/typeinfo (type_info): Rename _name to __name.
(type_info::type_info): Rename parameter.
(type_info::operator==, type_info::operator!=,
type_info::before): Likewise.
(type_info::is_pointer_p, type_info::is_function_p,
type_info::do_catch, type_info::do_upcast): Prepend __. Rename
parameters.
* inc/cxxabi.h
(__fundamental_type_info::__fundamental_type_info) Rename parameters.
(__pointer_type_info::__pointer_type_info): Likewise.
(__pointer_type_info::is_pointer_p,
__pointer_type_info::do_catch): Prepend __. Rename parameters.
(__array_type_info::__array_type_info): Rename parameters.
(__function_type_info::__function_type_info): Likewise.
(__function_type_info::is_function_p): Prepend __.
(__enum_type_info::__enum_type_info): Rename parameters.
(__pointer_to_member_type_info::__pointer_to_member_type_info):
Likewise.
(__pointer_to_member_type_info::do_catch): Prepend __. Rename
parameters.
(__base_class_info::is_virtual_p, is_public_p, offset): Prepend __.
(__class_type_info::__class_type_info): Rename parameters.
(__class_type_info::sub_kind): Prepend __. Adjust member names.
(__class_type_info::upcast_result,
__class_type_info::dyncast_result): Prepend __. Move definition
into tinfo.cc.
(__class_type_info::do_upcast, __class_type_info::do_catch,
__class_type_info::find_public_src,
__class_type_info::do_dyncast,
__class_type_info::do_find_public_src): Prepend __. Rename
parameters.
(__si_class_type_info::__si_class_type_info): Rename parameters.
(__si_class_type_info::do_upcast, __si_class_type_info::do_dyncast,
__si_class_type_info::do_find_public_src): Prepent __. Rename
parameters.
(__vmi_class_type_info::__vmi_class_type_info): Rename parameters.
(__vmi_class_type_info::do_upcast, __vmi_class_type_info::do_dyncast,
__vmi_class_type_info::do_find_public_src): Prepent __. Rename
parameters.
(__dynamic_cast): Rename parameters.
* tinfo.cc (type_info::is_pointer_p, type_info::is_function_p,
type_info::do_catch, type_info::do_upcast): Prepend __.
(contained_p, public_p, virtual_p, contained_public_p,
contained_nonpublic_p, contained_nonvirtual_p): Adjust.
(__class_type_info::do_catch,
__class_type_info::do_upcast): Prepend __. Adjust.
(__class_type_info::__upcast_result,
__class_type_info::__dyncast_result): Move from inc/cxxabi.h.
Adjust.
(__class_type_info::find_public_src): Prepend __. Adjust.
(__class_type_info::do_find_public_src,
__si_class_type_info::do_find_public_src,
__vmi_class_type_info::do_find_public_src): Likewise.
(__class_type_info::do_dyncast,
__si_class_type_info::do_dyncast,
__vmi_class_type_info::do_dyncast): Likewise.
(__class_type_info::do_upcast,
__si_class_type_info::do_upcast,
__vmi_class_type_info::do_upcast): Likewise.
(__dynamic_cast): Adjust.
* tinfo2.cc (__pointer_type_info::is_pointer_p): Prepend __.
(__function_type_info::is_function_p): Likewise.
(__pointer_type_info::do_catch): Likewise. Adjust.
(__pointer_to_member_type_info::do_catch): Likewise. Adjust.
(__throw_type_match_rtti_2): Adjust.
(__is_pointer): Adjust.
From-SVN: r33041
Jeff Law [Sun, 9 Apr 2000 07:45:07 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r33040
Anthony Green [Sun, 9 Apr 2000 06:53:00 +0000 (06:53 +0000)]
posix-threads.h (_Jv_MutexUnlock): Replace _JV_NOT_OWNER.
2000-04-08 Anthony Green <green@cygnus.com>
* include/posix-threads.h (_Jv_MutexUnlock): Replace
_JV_NOT_OWNER.
From-SVN: r33039
Mark Mitchell [Sun, 9 Apr 2000 06:44:20 +0000 (06:44 +0000)]
cp-tree.h (cp_tree_index): Add CPTI_COMPLETE_CTOR_IDENTIFIER.
* cp-tree.h (cp_tree_index): Add CPTI_COMPLETE_CTOR_IDENTIFIER.
(complete_ctor_identifier): New macro.
(special_function_kind): Add sfk_copy_constructor and
sfk_assignment_operator.
(LOOKUP_HAS_IN_CHARGE): Remove.
(cons_up_default_function): Rename to ...
(implicitly_declare_fn): ... this.
* call.c (build_new_method_call): Add in-charge parameters for
constructors here.
* class.c (add_implicitly_declared_members): Change parameter name
from cant_have_assignment to cant_have_const_assignment.
Replace calls to cons_up_default_function to implicitly_declare_fn.
* cvt.c (ocp_convert): Use complete_ctor_identifier.
* decl.c (initialize_predefined_identifiers): Initialize it.
(start_function): Use DECL_CONSTRUCTOR_FOR_VBASE_P instead of
complex expression.
* init.c (expand_default_init): Don't calculate the in-charge
parameter here.
(build_new_1): Likewise.
* lex.c (cons_up_default_function): Move to method.c.
* method.c (synthesize_method): Use DECL_DESTRUCTOR_P.
(implicitly_declare_fn): New function.
* typeck.c (build_static_cast): Use complete_ctor_identifier.
(build_modify_expr): Likewise.
* typeck2.c (build_functional_cast): Likewise.
From-SVN: r33038
Anthony Green [Sun, 9 Apr 2000 05:41:56 +0000 (05:41 +0000)]
posix-threads.cc (_Jv_MutexLock): Moved back to posix-threads.h.
2000-04-08 Anthony Green <green@cygnus.com>
* posix-threads.cc (_Jv_MutexLock): Moved back to posix-threads.h.
(_Jv_MutexUnlock): Ditto.
* include/posix-threads.h (_Jv_MutexLock): From posix-threads.cc.
(_Jv_MutexUnlock): Ditto.
From-SVN: r33037
Anthony Green [Sun, 9 Apr 2000 04:52:43 +0000 (04:52 +0000)]
StringBuffer.java (ensureCapacity): Don't call Math::max.
2000-04-08 Anthony Green <green@cygnus.com>
* java/lang/StringBuffer.java (ensureCapacity): Don't call Math::max.
(ensureCapacity_unsynchronized): New private method.
(append): Use ensureCapacity_unsynchronized.
From-SVN: r33036
Mark Mitchell [Sun, 9 Apr 2000 04:28:33 +0000 (04:28 +0000)]
Under the new ABI, constructors don't return `this'.
* cp-tree.h (warn_reorder): Declare.
(special_function_kind): New enum.
(global_base_init_list): Remove declaration.
(emit_base_init): Don't return a value.
(check_base_init): Don't declare.
(is_aggr_typedef): Likewise.
* decl.c (check_special_function_return_type): New function.
(return_types): Remove.
(grokdeclarator): Use check_special_function_return_type.
(start_function): Don't initialize ctor_label under the new ABI.
(finish_construtor_body): Don't create a corresponding LABEL_STMT.
* init.c (begin_init_stmts): Move to top of file.
(finish_init_stmts): Likewise.
(warn_reorder): Don't declare.
(emit_base_init): Don't create a STMT_EXPR here. Don't return a
value.
(check_base_init): Remove.
(is_aggr_typedef): Likewise.
(build_new_1): Don't use the return value of a constructor.
* semantics.c (setup_vtbl_ptr): Don't use the return value
of emit_base_init.
* typeck.c (check_return_expr): Don't magically convert return
statements into `return this' in constructors under the new ABI.
From-SVN: r33035
Tom Tromey [Sun, 9 Apr 2000 04:13:27 +0000 (04:13 +0000)]
Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
* Makefile.am (awt_java_source_files): Added new files.
* java/awt/IllegalComponentStateException.java: New file.
* java/awt/ItemSelectable.java: New file.
* java/awt/event/WindowEvent.java: Finished.
* java/awt/event/TextEvent.java: Finished.
* java/awt/event/ContainerEvent.java: New file.
* java/awt/Component.java (getX, getY): New methods.
* java/awt/event/PaintEvent.java: New file.
* java/awt/event/MouseEvent.java: New file.
* java/awt/ActiveEvent.java: New file.
* java/awt/event/KeyEvent.java: Finished.
* java/awt/event/ItemEvent.java: New file.
* java/awt/Adjustable.java: New file.
* java/awt/event/InputMethodEvent.java: New file.
* java/awt/event/InputEvent.java: Finished.
* java/awt/event/FocusEvent.java: New file.
* java/awt/event/MouseMotionAdapter.java: New file.
* java/awt/event/MouseAdapter.java: New file.
* java/awt/event/KeyAdapter.java: New file.
* java/awt/event/FocusAdapter.java: New file.
* java/awt/event/ContainerAdapter.java: New file.
* java/awt/event/ComponentEvent.java: Finished.
* java/awt/event/AdjustmentEvent.java: New file.
* java/awt/event/ComponentAdapter.java: New file.
* java/awt/event/ActionEvent.java: Finished.
* java/awt/event/MouseMotionListener.java: New file.
* java/awt/event/MouseListener.java: New file.
* java/awt/event/ItemListener.java: New file.
* java/awt/event/InputMethodListener.java: New file.
* java/awt/event/ContainerListener.java: New file.
* java/awt/event/FocusListener.java: New file.
* java/awt/event/ComponentListener.java: New file.
* java/awt/event/AWTEventListener.java: New file.
* java/awt/event/AdjustmentListener.java: New file.
From-SVN: r33034
Anthony Green [Sun, 9 Apr 2000 01:26:20 +0000 (01:26 +0000)]
natObject.cc (_Jv_MonitorEnter): Only perform null check when we have to.
2000-04-08 Anthony Green <green@redhat.com>
* java/lang/natObject.cc (_Jv_MonitorEnter): Only perform null
check when we have to.
* gcj/array.h: Mark elements(JArray<T>& x) and elements(JArray<T>*
x) as `inline'.
* java/util/StringTokenizer.java: Minor optimization. Eliminates
one method call.
* java/util/Vector.java (VectorEnumeration.nextElement): Manually
inline hasMoreElements.
From-SVN: r33033
Alex Samuel [Sun, 9 Apr 2000 01:16:44 +0000 (01:16 +0000)]
ssa.c (convert_to_ssa): Eliminate dead code when calling life_analysis.
* ssa.c (convert_to_ssa): Eliminate dead code when calling
life_analysis.
(convert_from_ssa): Call compute_bb_for_insn before life_analysis.
(for_each_successor_phi): Change parameter to basic_block.
(coalesce_regs_in_successor_phi_nodes): Likewise.
(coalesce_regs_in_copies): Likewise.
(compute_coalesced_reg_partition): Use basic_block instead of index.
* rtl.h (convert_to_ssa): Delete.
(convert_from_ssa): Likewise.
(successor_phi_fn): Likewise.
(for_each_successor_phi): Likewise.
(in_ssa_form): Likewise.
* basic-block.h (convert_to_ssa): Moved from rtl.h.
(convert_from_ssa): Likewise.
(successor_phi_fn): Likewise.
(in_ssa_form): Likewise.
(for_each_successor_phi): Likewise. Change parameter to basic_block.
* flow.c (calculate_global_regs_live): Pass a basic_block to
for_each_successor_phi.
From-SVN: r33032
Mark Mitchell [Sun, 9 Apr 2000 00:27:16 +0000 (00:27 +0000)]
cp-tree.h (cp_tree_index): Add CPTI_BASE_CTOR_IDENTIFIER...
* cp-tree.h (cp_tree_index): Add CPTI_BASE_CTOR_IDENTIFIER,
CPTI_BASE_DTOR_IDENTIFIER, and CPTI_DELETING_DTOR_IDENTIFIER.
(base_ctor_identifier): New macro.
(base_dtor_identifier): Likewise.
(deleting_dtor_identifier): Likewise.
* decl.c: Don't include obstack.h.
(obstack_chunk_alloc): Don't define.
(obstack_chunk_free): Likewise.
(struct predefined_identifier): New type.
(initialize_predefined_identifiers): New function.
(init_decl_processing): Use it.
(debug_temp_inits): Remove.
(start_method): Don't call preserve_data.
(hack_incomplete_structures): Update comment.
* init.c (init_init_processing): Don't initialize
nelts_identifier.
(build_offset_rf): Remove dead code.
(build_delete): Use CLASSTYPE_N_BASECLASSES.
* search.c (init_search_processing): Don't initialize
vptr_identifier.
From-SVN: r33031
Richard Henderson [Sat, 8 Apr 2000 22:38:38 +0000 (15:38 -0700)]
flow.c (mark_used_reg): Use reg_set_p to determine if a register was modified in the current insn.
* flow.c (mark_used_reg): Use reg_set_p to determine if a register
was modified in the current insn.
From-SVN: r33030
Richard Earnshaw [Sat, 8 Apr 2000 14:47:04 +0000 (14:47 +0000)]
thumb.md: Delete.
* arm/thumb.md: Delete.
* arm/thumb-protos.h: Delete.
From-SVN: r33029
Richard Earnshaw [Sat, 8 Apr 2000 14:29:53 +0000 (14:29 +0000)]
Merge changes from merged-arm-thumb-backend-branch onto trunk.
From-SVN: r33028
Jeff Law [Sat, 8 Apr 2000 07:45:08 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r33023
Neil Booth [Sat, 8 Apr 2000 05:09:33 +0000 (05:09 +0000)]
cpp-nullchar.c: Remove test as embedded nulls cause problems.
* cpp-nullchar.c: Remove test as embedded nulls
cause problems.
From-SVN: r33022
Kaveh R. Ghazi [Sat, 8 Apr 2000 05:06:29 +0000 (05:06 +0000)]
* basic-block.h (conflict_graph_enum_fn): K&R fix.
From-SVN: r33021
Neil Booth [Sat, 8 Apr 2000 05:03:43 +0000 (05:03 +0000)]
Correct merge conflict
From-SVN: r33020
Kaveh R. Ghazi [Sat, 8 Apr 2000 04:45:18 +0000 (04:45 +0000)]
tree.c (tree_expr_nonnegative_p): New function.
* tree.c (tree_expr_nonnegative_p): New function.
* tree.h (tree_expr_nonnegative_p): Declare.
* c-typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to
elide some sign_compare warnings.
(build_conditional_expr): Likewise.
cp:
* typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to elide
some sign_compare warnings.
From-SVN: r33019
John Wehle [Sat, 8 Apr 2000 04:33:28 +0000 (04:33 +0000)]
i386.md (ashrsi3, [...]): Fix typo.
* i386.md (ashrsi3, ashrhi3, ashrqi3): Fix typo.
* i386.md (floathisf2, floathidf2, floathixf2): New patterns.
* i386.c (print_operand): Use the proper suffix for a 387 HImode
operand. Abort if a 387 operand has an unsupported size.
From-SVN: r33018
Kaveh R. Ghazi [Sat, 8 Apr 2000 04:17:59 +0000 (04:17 +0000)]
* gcc.dg/compare2.c: New test.
From-SVN: r33016
Neil Booth [Sat, 8 Apr 2000 04:15:20 +0000 (04:15 +0000)]
* gcc.dg/cpp-nullchar.c: New test.
From-SVN: r33015
Neil Booth [Sat, 8 Apr 2000 04:12:53 +0000 (04:12 +0000)]
* cpp-nullchar.c: New test.
From-SVN: r33014
Neil Booth [Sat, 8 Apr 2000 04:00:02 +0000 (04:00 +0000)]
cppexp.c (parse_charconst): Null does not end character constants.
* cppexp.c (parse_charconst): Null does not end character
constants.
* cppinit.c (ISTABLE): Null character handled as whitespace.
* cpplex.c (null_warning): new function.
(skip_string): Emit warning if nulls encountered.
(_cpp_skip_hspace): Emit warning if nulls encountered.
(_cpp_lex_token): Emit warning if nulls encountered. Drop
them.
* cpp.texi: Update.
From-SVN: r33013
Richard Henderson [Fri, 7 Apr 2000 23:33:47 +0000 (16:33 -0700)]
flow.c (loop_depth): Remove.
* flow.c (loop_depth): Remove.
(reg_next_use, cc0_live, mem_set_list): Replace with ...
(struct propagate_block_info): New.
(life_analysis): Don't allocate reg_next_use.
(propagate_block_delete_insn): Break out of propagate_block.
Use flow_delete_insn to unlink rather than use NOTE_INSN_DELETED.
(propagate_block_delete_libcall): Likewise.
(propagate_block): Create a propagate_block_info struct to pass
to subroutines. Allocate one not two temporary regsets. Don't
clobber memory for const calls. Look for clobbers in
CALL_INSN_FUNCTION_USAGE.
(mark_set_regs): Recognize COND_EXEC.
(mark_set_reg): Break out of mark_set_1.
(mark_used_reg): Break out of mark_used_regs.
(mark_used_regs): Recognize COND_EXEC.
(insn_dead_p): Use propagate_block_info struct.
(libcall_dead_p, invalidate_mems_from_autoinc): Likewise.
(find_auto_inc, try_pre_increment_1): Likewise.
(print_rtl_with_bb): Dump regs live at end too.
(count_reg_sets_1): Pass in loop_depth.
(count_reg_sets, count_reg_references): Likewise.
(recompute_reg_usage): Provide it.
From-SVN: r33012
Joern Rennecke [Fri, 7 Apr 2000 23:25:05 +0000 (00:25 +0100)]
Fix filename for block_lump_real_i4 patch.
From-SVN: r33011
Joern Rennecke [Fri, 7 Apr 2000 23:03:20 +0000 (00:03 +0100)]
Fix comment.
From-SVN: r33010
Richard Henderson [Fri, 7 Apr 2000 21:37:56 +0000 (14:37 -0700)]
Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H) not the raw files.
* Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H)
not the raw files.
From-SVN: r33009
Zack Weinberg [Fri, 7 Apr 2000 21:09:51 +0000 (21:09 +0000)]
cpplib.c (do_elif): Skip the rest of the line if we're not going to bother evaluating it.
* cpplib.c (do_elif): Skip the rest of the line if we're
not going to bother evaluating it.
(skip_if_group): Clear pfile->only_seen_white. Reorder loop
to avoid pointless calls to the lexer.
* gcc.dg/cpp-mi2.c: New test.
* gcc.dg/cpp-mi2[abc].h: New files.
From-SVN: r33008
Jim Wilson [Fri, 7 Apr 2000 18:51:44 +0000 (18:51 +0000)]
Fix nit.
* config/ia64/ia64.c: Delete stdio.h and ctype.h includes.
From-SVN: r33007
Jason Merrill [Fri, 7 Apr 2000 17:44:14 +0000 (17:44 +0000)]
* calls.c (expand_call): emit_queue if we're trying a sibcall.
From-SVN: r33006
Nathan Sidwell [Fri, 7 Apr 2000 16:59:12 +0000 (16:59 +0000)]
vmihint.C: Adjust __vmi_class_type_info member name.
* g++.old-deja/g++.abi/vmihint.C: Adjust __vmi_class_type_info
member name.
From-SVN: r33005
Nathan Sidwell [Fri, 7 Apr 2000 16:57:48 +0000 (16:57 +0000)]
Rename abi::__vmi_class_type_info members.
* inc/cxxabi.h (__vmi_class_type_info): Rename details, n_bases,
base_list, detail_masks members to vmi_flags, vmi_base_count,
vmi_bases and vmi_flags_masks respectively.
(__vmi_class_type_info::vmi_flags_masks): Rename
details_unknown_mask to flags_unknown_mask.
* tinfo.cc (__class_type_info::do_upcast): Adjust.
(__vmi_class_type_info::do_find_public_src): Adjust.
(__vmi_class_type_info::do_dyncast): Adjust.
(__vmi_class_type_info::do_upcast): Adjust.
From-SVN: r33004
Jakub Jelinek [Fri, 7 Apr 2000 14:57:58 +0000 (16:57 +0200)]
t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove.
* config/sparc/t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove.
* Makefile.in: Build crtbeginS and crtendS like crtbegin and
crtend so they can be multilibbed.
(STAGESTUFF): Remove s-crt and s-crtS.
From-SVN: r33003
Richard Henderson [Fri, 7 Apr 2000 09:53:18 +0000 (02:53 -0700)]
alpha.c (alpha_emit_conditional_move): Fail if we discover we need a pseudo and no_new_pseudos is true.
* config/alpha/alpha.c (alpha_emit_conditional_move): Fail
if we discover we need a pseudo and no_new_pseudos is true.
* config/alpha/alpha.md (ne:DI insn): New.
(trunctfsf2, sne): Emit NE instead of non-canonical LTU.
From-SVN: r32998
Richard Henderson [Fri, 7 Apr 2000 09:24:45 +0000 (02:24 -0700)]
rtl.def (COND_EXEC): New.
* rtl.def (COND_EXEC): New.
* rtl.h (COND_EXEC_TEST, COND_EXEC_CODE): New.
* tm.texi (MAX_CONDITIONAL_EXECUTE): Document.
* genconfig.c (have_cond_arith_flag): Remove.
(have_cond_exec_flag): New.
(walk_insn_part): Detect COND_EXEC, not arithmetic in IF_THEN_ELSE.
(main): Print HAVE_conditional_execution.
* haifa-sched.c (haifa_classify_insn): Recognize COND_EXEC.
(sched_analyze_insn, print_pattern): Likewise.
* reload.c (find_equiv_reg): Likewise.
* rtlanal.c (reg_referenced_p): Likewise.
(note_stores, dead_or_set_regno_p): Likewise.
(reg_overlap_mentioned_p): Rewrite to use a switch.
From-SVN: r32997
Richard Henderson [Fri, 7 Apr 2000 09:24:06 +0000 (02:24 -0700)]
ggc.h (struct rtx_def): Forward declare.
* ggc.h (struct rtx_def): Forward declare.
* print-rtl.c (debug_rtx_range): New.
* rtl.h (debug_rtx_range): Declare.
* varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New.
From-SVN: r32996
Richard Henderson [Fri, 7 Apr 2000 09:23:29 +0000 (02:23 -0700)]
gcse.c (gcse_main): Don't rebuild the CFG here.
* gcse.c (gcse_main): Don't rebuild the CFG here.
(delete_null_pointer_checks): Likewise.
* ssa.c (convert_to_ssa): Likewise.
* toplev.c (rest_of_compilation): Do it here instead. Combine
sequential calls to TIMEVAR. Consistently use `insns' instead of
`get_insns()'. Always split insns after reload when optimizing.
From-SVN: r32995
Richard Henderson [Fri, 7 Apr 2000 09:22:10 +0000 (02:22 -0700)]
basic-block.h (merge_blocks_nomove): Declare.
* basic-block.h (merge_blocks_nomove): Declare.
(tidy_fallthru_edge): Declare.
* flow.c (merge_blocks_nomove): Document as merging into previous
blocks. Remove cruft from between blocks; remove all edges out of A.
(tidy_fallthru_edge): Export.
From-SVN: r32994
Nathan Sidwell [Fri, 7 Apr 2000 09:07:24 +0000 (09:07 +0000)]
tinfo.cc (convert_to_base): New function.
* tinfo.cc (convert_to_base): New function.
(get_vbase_offset): Remove. Move into convert_to_base.
(__vmi_class_type_info::do_find_public_src): Adjust.
(__vmi_class_type_info::do_dyncast): Adjust.
(__vmi_class_type_info::do_upcast): Adjust.
plus commit changelog entry 2000-04-06 Nathan Sidwell <nathan@codesourcery.com>
From-SVN: r32993
Alex Samuel [Fri, 7 Apr 2000 08:16:31 +0000 (08:16 +0000)]
ssa.c (compute_conservative_reg_partition): Declare with void arguments.
* ssa.c (compute_conservative_reg_partition): Declare with
void arguments.
* toplev.c (clean_dump_file): Remove previously-deleted function
inadvertantly merged back in.
* conflict.c (conflict_graph_add): Use a single call to
htab_find_slot to look up and insert.
From-SVN: r32992
Jeff Law [Fri, 7 Apr 2000 07:45:42 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r32991
Richard Henderson [Fri, 7 Apr 2000 07:16:59 +0000 (00:16 -0700)]
genrecog.c (*): Rename _last_insn to last_insn.
* genrecog.c (*): Rename _last_insn to last_insn.
(make_insn_sequence): Set the position of the peephole2 C test
to be at the last insn.
From-SVN: r32990
Richard Henderson [Fri, 7 Apr 2000 06:15:22 +0000 (23:15 -0700)]
* flow.c (compute_flow_dominators): Free worklist.
From-SVN: r32983
Richard Henderson [Fri, 7 Apr 2000 06:11:40 +0000 (23:11 -0700)]
Michael Matz <matzmich@cs.tu-berlin.de>
Michael Matz <matzmich@cs.tu-berlin.de>
* flow.c (compute_flow_dominators): Process blocks FIFO not LIFO.
From-SVN: r32982
Alex Samuel [Fri, 7 Apr 2000 03:33:15 +0000 (03:33 +0000)]
Forgot the ChangeLog entry in this commit; here it is.
* rtl.h (INSN_P): New macro.
(successor_phi_fn): New typedef.
(for_each_successor_phi): New prototype.
(in_ssa_form): New variable.
(PHI_NODE_P): Likewise.
* flow.c (calculate_global_regs_live): Add to new_live_at_end from
phi nodes in successors.
(mark_used_regs): Add PHI case.
(set_phi_alternative_reg): New function.
(life_analysis): Assert that dead code elimination is not selected
when in SSA form.
* toplev.c (to_ssa_time): New variable.
(from_ssa_time): Likewise.
(compile_file): Zero to_ssa_time and from_ssa_time.
Print time to convert to and from SSA.
(rest_of_compilation): Time convert_to_ssa and convert_from_ssa.
(print_time): Compute percent fraction as integer.
* ssa.c (PHI_NODE_P): Moved to rtl.h.
(convert_to_ssa): Check if we're already in SSA.
Don't eliminate dead code in life_analysis.
Rerun flow and life analysis at bottom.
(eliminate_phi): Use canonical regnos when adding nodes.
(mark_reg_in_phi): New function.
(mark_phi_and_copy_regs): Likewise.
(convert_from_ssa): Rerun life analysis at top.
Use coalesced partition.
Check for removing a phi node at the end of the block.
(compute_coalesced_reg_partition): New function.
(coalesce_regs_in_copies): Likewise.
(coalesce_reg_in_phi): Likewise.
(coalesce_regs_in_sucessor_phi_nodes): Likewise.
(for_each_successor_phi): Likewise.
(rename_context): New struct.
(rename_block): Use a rename_context with rename_insn_1. When
renaming sets of a subreg, emit a copy of the entire reg first.
(rename_insn_1): Treat data as a rename_context *. Save current
insn in set_data.
(rename_set_data): Add field set_insn.
* Makefile.in (HASHTAB_H): Move up in file.
(OBSTACK_H): New macro.
(collect2.o): Use OBSTACK_H in dependencies.
(sdbout.o): Likewise.
(emit-rtl.o): Likewise.
(simplify-rtx.o): Likewise.
(fix-header.o): Likewise.
(OBJS): Add conflict.o.
(conflict.o): New rule.
* basic-block.h: Include partition.h.
(conflict_graph): New typedef.
(conflict_graph_enum_fn): Likewise.
(conflict_graph_new): New prototype.
(conflict_graph_delete): Likewise.
(conflict_graph_add): Likewise.
(conflict_graph_conflict_p): Likewise.
(conflict_graph_enum): Likewise.
(conflict_graph_merge_regs): Likewise.
(conflict_graph_print): Likewise.
(conflict_graph_compute): Likewise.
* conflict.c: New file.
From-SVN: r32981
Jason Merrill [Thu, 6 Apr 2000 22:13:41 +0000 (22:13 +0000)]
tinfo.cc (operator=): Use __builtin_strcmp.
* tinfo.cc (operator=): Use __builtin_strcmp.
* tinfo2.cc (before): Likewise.
From-SVN: r32980
Alex Samuel [Thu, 6 Apr 2000 21:22:49 +0000 (21:22 +0000)]
rtl.h (INSN_P): New macro.
* rtl.h (INSN_P): New macro.
(successor_phi_fn): New typedef.
(for_each_successor_phi): New prototype.
(in_ssa_form): New variable.
(PHI_NODE_P): Likewise.
* flow.c (calculate_global_regs_live): Add to new_live_at_end from
phi nodes in successors.
(mark_used_regs): Add PHI case.
(set_phi_alternative_reg): New function.
(life_analysis): Assert that dead code elimination is not selected
when in SSA form.
* toplev.c (to_ssa_time): New variable.
(from_ssa_time): Likewise.
(compile_file): Zero to_ssa_time and from_ssa_time.
Print time to convert to and from SSA.
(rest_of_compilation): Time convert_to_ssa and convert_from_ssa.
(print_time): Compute percent fraction as integer.
* ssa.c (PHI_NODE_P): Moved to rtl.h.
(convert_to_ssa): Check if we're already in SSA.
Don't eliminate dead code in life_analysis.
Rerun flow and life analysis at bottom.
(eliminate_phi): Use canonical regnos when adding nodes.
(mark_reg_in_phi): New function.
(mark_phi_and_copy_regs): Likewise.
(convert_from_ssa): Rerun life analysis at top.
Use coalesced partition.
Check for removing a phi node at the end of the block.
(compute_coalesced_reg_partition): New function.
(coalesce_regs_in_copies): Likewise.
(coalesce_reg_in_phi): Likewise.
(coalesce_regs_in_sucessor_phi_nodes): Likewise.
(for_each_successor_phi): Likewise.
(rename_context): New struct.
(rename_block): Use a rename_context with rename_insn_1. When
renaming sets of a subreg, emit a copy of the entire reg first.
(rename_insn_1): Treat data as a rename_context *. Save current
insn in set_data.
(rename_set_data): Add field set_insn.
* Makefile.in (HASHTAB_H): Move up in file.
(OBSTACK_H): New macro.
(collect2.o): Use OBSTACK_H in dependencies.
(sdbout.o): Likewise.
(emit-rtl.o): Likewise.
(simplify-rtx.o): Likewise.
(fix-header.o): Likewise.
(OBJS): Add conflict.o.
(conflict.o): New rule.
* basic-block.h: Include partition.h.
(conflict_graph): New typedef.
(conflict_graph_enum_fn): Likewise.
(conflict_graph_new): New prototype.
(conflict_graph_delete): Likewise.
(conflict_graph_add): Likewise.
(conflict_graph_conflict_p): Likewise.
(conflict_graph_enum): Likewise.
(conflict_graph_merge_regs): Likewise.
(conflict_graph_print): Likewise.
(conflict_graph_compute): Likewise.
* conflict.c: New file.
From-SVN: r32979
Jason Merrill [Thu, 6 Apr 2000 21:03:45 +0000 (21:03 +0000)]
tlink.c (read_repo_files): Don't look for .rpo info for linker flags.
* tlink.c (read_repo_files): Don't look for .rpo info for
linker flags.
From-SVN: r32978
J"orn Rennecke [Thu, 6 Apr 2000 19:43:12 +0000 (19:43 +0000)]
* sh.h (STRUCT_VALUE, RETURN_IN_MEMORY): Define.
From-SVN: r32977
Joern Rennecke [Thu, 6 Apr 2000 18:53:39 +0000 (19:53 +0100)]
Fix Copyright.
From-SVN: r32976
J"orn Rennecke [Thu, 6 Apr 2000 18:48:11 +0000 (18:48 +0000)]
lib1funcs.asm (___udivsi3_i4): ( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr only depends...
* config/sh/lib1funcs.asm (___udivsi3_i4):
( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr
only depends on FMOVD_WORKS.
From-SVN: r32975
J"orn Rennecke [Thu, 6 Apr 2000 18:19:44 +0000 (18:19 +0000)]
lib1funcs.asm (___udivsi3_i4): When using fmovd, make double constant 8-byte aligned.
* config/sh/lib1funcs.asm (___udivsi3_i4): When using fmovd,
make double constant 8-byte aligned.
From-SVN: r32974
Mark Mitchell [Thu, 6 Apr 2000 16:30:45 +0000 (16:30 +0000)]
cp-tree.h (lang_decl_flags): Rename saved_inline to deferred.
* cp-tree.h (lang_decl_flags): Rename saved_inline to deferred.
(DECL_SAVED_INLINE): Rename to ...
(DECL_DEFERRED_FN): ... this.
(in_function_p): Remove declaration.
(mark_inline_for_output): Rename to ...
(defer_fn): ... this.
* decl.c (finish_function): Adjust call to mark_inline_for_output.
(in_function_p): Remove definition.
* decl2.c (saved_inlines): Rename to ...
(deferred_fns): ... this.
(saved_inlines_used): Rename to ...
(deferred_fns_used): ... this.
(mark_inline_for_output): Rename to ...
(defer_fn): ... this.
(finish_file): Adjust accordingly.
(init_decl2): Likewise.
* lex.c (cons_up_default_function): Likewise.
* pt.c (mark_decl_instantiated): Likewise.
(instantiate_decl): Don't set DECL_DEFER_OUTPUT under any
circumstances.
* rtti.c (get_tinfo_decl): Adjust call to mark_inline_for_output.
* semantics.c (expand_body): Defer more functions.
From-SVN: r32973
Jakub Jelinek [Thu, 6 Apr 2000 15:07:26 +0000 (17:07 +0200)]
sparc.md (movtf_insn_sp32, [...]): Accept loading 0.0 into GENERAL_REGS.
* config/sparc/sparc.md (movtf_insn_sp32, movtf_insn_vis_sp32,
movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_hq_vis_sp64,
movtf_no_e_insn_sp64): Accept loading 0.0 into GENERAL_REGS.
(movtf_insn_sp64, movtf_insn_vis_sp64): Likewise.
Accept storing GENERAL_REGS into offsetable memory.
* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Don't allow
building a TFmode constant other than 0.0L into GENERAL_REGS.
From-SVN: r32972
Philippe De Muyter [Thu, 6 Apr 2000 14:58:05 +0000 (16:58 +0200)]
* MAINTAINERS: Added myself.
From-SVN: r32971
Nathan Sidwell [Thu, 6 Apr 2000 14:12:34 +0000 (14:12 +0000)]
* g++.old-deja/g++.abi/vmihint.C: New test.
From-SVN: r32970
Clinton Popetz [Thu, 6 Apr 2000 13:52:59 +0000 (13:52 +0000)]
* regrename.c (regrename_optimize): Handle no REG_ALLOC_ORDER.
From-SVN: r32969
Neil Booth [Thu, 6 Apr 2000 12:51:33 +0000 (12:51 +0000)]
cpp-ifparen.c, [...]: Add FSF copyright.
* cpp-ifparen.c, cpp-missingop.c, cpp-missingparen.c,
cpp-shift.c, cpp-shortcircuit.c, cpp-unary.c: Add FSF
copyright.
From-SVN: r32968
Nathan Sidwell [Thu, 6 Apr 2000 11:53:30 +0000 (11:53 +0000)]
vec.cc: New file.
* vec.cc: New file.
* Make-lang.in (CXX_LIB2FUNCS): Add it.
(vec.o): Build it.
* inc/cxxabi.h (__cxa_vec_new, __cxa_vec_ctor, __cxa_vec_dtor,
__cxa_vec_delete): Declare.
From-SVN: r32967