Commit Graph

26000 Commits

Author SHA1 Message Date
Joern Rennecke fa76d9e04e calls.c (special_function_p): New argument fork_or_exec.
* calls.c (special_function_p): New argument fork_or_exec.
	(expand_call): When profile_arc_flag is set and the function
	is in the fork_or_exec group, call __bb_fork_func first.
	* libgcc2.c, _bb module (__bb_fork_func): New function.
	(__bb_exit_func): If fcntl F_SETLKW is available, use it to lock
	output file.
	* config/svr4.h (TARGET_HAS_F_SETLKW): Define.
	* tree.h (special_function_p): Update prototype.

From-SVN: r31636
2000-01-26 23:38:20 +00:00
J"orn Rennecke e09d24ffb1 calls.c (special_function_p): New argument fork_or_exec.
gcc:
	* calls.c (special_function_p): New argument fork_or_exec.
	(expand_call): When profile_arc_flag is set and the function
	is in the fork_or_exec group, call __bb_fork_func first.
	* libgcc2.c, _bb module (__bb_fork_func): New function.
	(__bb_exit_func): If fcntl F_SETLKW is available, use it to lock
	output file.
	* config/svr4.h (TARGET_HAS_F_SETLKW): Define.
	* tree.h (special_function_p): Update prototype.

gcc/cp:
	* cp/optimize.c (calls_setjmp_r): Supply new argument
	to special_function_p.

From-SVN: r31635
2000-01-26 22:27:31 +00:00
Richard Henderson 628d74de0e alpha.c (alpha_split_tfmode_pair): New.
* alpha.c (alpha_split_tfmode_pair): New.
        * alpha-protos.h: Declare it.
        * alpha.md (abstf2, negtf2): New.
        (movtf insn): Add input G constraint.
        (movtf splitter): Use alpha_split_tfmode_pair.

From-SVN: r31634
2000-01-26 14:08:59 -08:00
Kaveh R. Ghazi c96a8082c9 * i386/cygwin.h: PROTO -> PARAMS.
From-SVN: r31633
2000-01-26 21:22:58 +00:00
Kaveh R. Ghazi 158991b7e5 call.c: PROTO -> PARAMS.
* call.c: PROTO -> PARAMS.
        * class.c: Likewise.
        * cp-tree.h: Likewise.
        * cvt.c: Likewise.
        * decl.c: Likewise.
        * decl.h: Likewise.
        * decl2.c: Likewise.
        * dump.c: Likewise.
        * errfn.c: Likewise.
        * error.c: Likewise.
        * except.c: Likewise.
        * expr.c: Likewise.
        * init.c: Likewise.
        * input.c: Likewise.
        * lex.c: Likewise.
        * lex.h: Likewise.
        * method.c: Likewise.
        * optimize.c: Likewise.
        * parse.y: Likewise.
        * pt.c: Likewise.
        * repo.c: Likewise.
        * rtti.c: Likewise.
        * search.c: Likewise.
        * semantics.c: Likewise.
        * spew.c: Likewise.
        * tree.c: Likewise.
        * typeck.c: Likewise.
        * typeck2.c: Likewise.
        * xref.c: Likewise.

From-SVN: r31632
2000-01-26 20:51:37 +00:00
Jakub Jelinek 5c5c34a4cb sparc.c (sparc_emit_float_lib_cmp): Handle TARGET_ARCH32 again.
* config/sparc/sparc.c (sparc_emit_float_lib_cmp): Handle
	TARGET_ARCH32 again. Handle ORDERED, UN* and LTGT comparisons
	using _Qp_cmp/_Q_cmp and testing the return value.
	(print_operand): Call reverse_condition_maybe_unordered if
	we are handling CCFPmode or CCFPEmode.
	Handle ORDERED, UN* and LTGT comparisons.
	* config/sparc/sparc.md (cmptf): Use even on TARGET_ARCH32
	if not TARGET_HARD_QUAD.
	(seq, sne, sgt, slt, sge, sle, beq, bne, bgt, blt, bge, ble,
	bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, bltgt):
	Call sparc_emit_float_lib_cmp even on TARGET_ARCH32.
	Adjust gen_b* calls so that they reflect return comparison of
	sparc_emit_float_lib_cmp.

From-SVN: r31631
2000-01-26 21:14:10 +01:00
Jeff Law ec8b18a48b Daily bump.
From-SVN: r31630
2000-01-26 01:45:06 -07:00
Alexandre Oliva c77f46c67e alpha.c (alpha_emit_xfloating_cvt): Do not assume incoming operands array is large enough for one more operand.
* config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume
incoming operands array is large enough for one more operand.
(alpha_emit_xfloating_arith): Likewise.

From-SVN: r31629
2000-01-26 07:57:28 +00:00
Zack Weinberg cef40e9fa4 Makefile.in (machname.h): SunOS 4 sed can't handle a file with one line and no trailing newline.
* fixinc/Makefile.in (machname.h): SunOS 4 sed can't handle a
	file with one line and no trailing newline.
	Patch by Kaveh Ghazi <ghazi@caip.rutgers.edu>.
	* fixinc/fixtests.c (machine_name_test): Fix fencepost error
	checking if the match is on the line.
	* fixinc/gnu-regex.c: Provide regerror not __regerror.

From-SVN: r31628
2000-01-26 07:37:30 +00:00
Alexandre Oliva 3f50679d00 * gcc.dg/unused-2.c: New test.
From-SVN: r31627
2000-01-26 07:15:01 +00:00
Alexandre Oliva 3ebed0b2f8 * gcc.dg/conv-1.c: New test.
From-SVN: r31626
2000-01-26 07:14:06 +00:00
Richard Henderson 5850dc005d sparc.c (output_cbranch): Fix accidental squashing of the fp branch pre-delay nop.
* sparc.c (output_cbranch): Fix accidental squashing of the
        fp branch pre-delay nop.

From-SVN: r31625
2000-01-25 19:13:13 -08:00
Richard Henderson 7913f3d028 tree.def (UNNE_EXPR): Remove.
* tree.def (UNNE_EXPR): Remove.
        * c-typeck.c (build_binary_op): Don't handle it.
        * expr.c (expand_expr, do_jump, do_store_flag): Likewise.
        * cp/typeck.c (build_binary_op_nodefault): Likewise.

        * rtl.def (UNNE): Remove.
        (LTGT): Add.
        * jump.c (reverse_condition): Update accordingly.
        (swap_condition): Likewise.
        (comparison_dominates_p): Handle unordered comparisons.
        (reverse_condition_maybe_unordered): New.
        * rtl.h (reverse_condition_maybe_unordered): Declare.

        * sparc.c (select_cc_mode): Update for UNNE/LTGT.
        (output_cbranch): Use reverse_condition_maybe_unordered and LTGT.
        * sparc.h (REVERSIBLE_CC_MODE): Always true.  Update docs.
        * sparc.md (bltgt): New.

From-SVN: r31624
2000-01-25 18:06:21 -08:00
Nick Clifton 78340c9f9f Only check machine class insns for improper emission of a RETURN
From-SVN: r31623
2000-01-26 01:23:26 +00:00
Tom Tromey 8de7c9a0eb interpret.cc (run): Don't call println.
* interpret.cc (run): Don't call println.
	Don't include PrintStream.h.

From-SVN: r31622
2000-01-26 00:56:36 +00:00
Tom Tromey 0507a9b19f field.h (struct _Jv_Field): Use "jshort" as type for nameIndex.
* gcj/field.h (struct _Jv_Field): Use "jshort" as type for
	nameIndex.  Use "jint" as type for boffset.
	* java/lang/Class.h (struct _Jv_Method): Made accflags a
	_Jv_ushort.
	(Class): Likewise.  Also changed type of method_count,
	vtable_method_count, size_in_bytes, field_count,
	static_field_count, interface_count.
	* gcj/array.h (__JArray): Made `length' a const jsize, not an
	int.

From-SVN: r31621
2000-01-26 00:55:50 +00:00
Richard Henderson 7554ad67e5 Makefile.in (flow.o): Depend on $(EXPR_H).
* Makefile.in (flow.o): Depend on $(EXPR_H).
        * flow.c (mark_regs_live_at_end): Use hard_function_value, i.e.
        duplicate the structure of diddle_return_value for keeping regs live.

From-SVN: r31620
2000-01-25 16:54:44 -08:00
Mark Mitchell 1a588ad752 cp-tree.h (vcall_offset_in_vtable_p): New macro.
* cp-tree.h (vcall_offset_in_vtable_p): New macro.
	* class.c (build_vbase_offset_vtbl_entries): Fix typo in commment.
	(struct vcall_offset_data_s): New type.
	(dfs_vcall_offset_queue_p): New function.
	(dfs_build_vcall_offset_vtbl_entries): Likewise.
	(build_vcall_offset_vtbl_entries): Likewise.
	(layout_vtable_decl): Likewise.
	(num_vfun_entries): Likewise.
	(num_extra_vtbl_entries): Add the entries for vcall offsets.
	(build_vtbl_initializer): Likewise.
	(dfs_finish_vtabls): Use layout_vtable_decl.
	(modify_one_vtables): Always duplicate vtables under the new ABI.
	(finish_struct_1): Use layout_vtable_decl.

From-SVN: r31619
2000-01-25 23:26:21 +00:00
Michael Hayes 0534b8047e loop.c (current_loop_info): Delete.
2000-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* loop.c (current_loop_info): Delete.
	(consec_sets_invariant_p): Add loop argument, update callers.
	(get_condition_for_loop): Likewise.
	(count_nonfixed_reads, update_giv_derive): Likewise.
	(simplify_giv_expr, general_induction_var): Likewise.
	(consec_sets_giv, recombine_givs): Likewise.
	(move_movables): Delete loop_start and loop_end arguments,
	add loop argument, and update callers.
	(find_mem_givs, check_final_value): Likewise.
	(record_giv, maybe_eliminate_biv, maybe_eliminate_biv_1): Likewise.
	(loop_invariant_p): Rename from invariant_p, add loop argument, and
	update callers.
	(basic_induction_var): Add loop argument, delete loop_level argument,
	and update callers.
	* unroll.c (iteration_info): Delete loop_start and loop_end arguments,
	add loop argument, and update callers.
	(find_splittable_regs, find_splittable_givs): Likewise.
	(reg_dead_after_loop, loop_find_equiv_value): Likewise.
	(final_biv_value, final_giv_value, back_branch_in_range_p): Likewise.
	(biv_total_increment): Delete loop_start and loop_end arguments;
	update callers.
	(precondition_loop_p): Delete loop_start and loop_info arguments;
	update callers.
	* loop.h (get_condition_for_loop): Add loop argument.
	(biv_total_increment): Delete loop_start and loop_end arguments.
	(precondition_loop_p): Delete loop_start and loop_info arguments;
	add loop argument.
	(final_biv_value): Delete loop_start and loop_end arguments;
	add loop argument.
	(final_giv_value, back_branch_in_range_p): Likewise.

From-SVN: r31618
2000-01-25 22:49:56 +00:00
Gavin Romig-Koch 8e46653128 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16.
From-SVN: r31617
2000-01-25 22:18:59 +00:00
Gavin Romig-Koch 490cab7248 Makefile.in (c-gperf.h): Change the "See" pointer to point to the new "generated_files" doc.
2000-01-25  Gavin Romig-Koch  <gavin@cygnus.com>

	* Makefile.in (c-gperf.h) : Change the "See" pointer to
	point to the new "generated_files" doc.

From-SVN: r31616
2000-01-25 20:16:06 +00:00
Kaveh R. Ghazi 4dacf5bd44 decl.c (member_function_or_else): Change third arg from a format specifier to an `enum overload_flags'.
* decl.c (member_function_or_else): Change third arg from a format
	specifier to an `enum overload_flags'.  Callers changed.

From-SVN: r31615
2000-01-25 18:40:05 +00:00
Kaveh R. Ghazi 2884c41e1c parse.h (OBSOLETE_MODIFIER_WARNING): Don't use ANSI string concatenation.
* parse.h (OBSOLETE_MODIFIER_WARNING): Don't use ANSI string
	concatenation.
	(OBSOLETE_MODIFIER_WARNING2): New macro allowing two args.

	* parse.y (register_fields): Don't pass a format specifier to
	OBSOLETE_MODIFIER_WARNING.
	(check_abstract_method_header): Use OBSOLETE_MODIFIER_WARNING2
	instead of OBSOLETE_MODIFIER_WARNING, and don't pass a format
	specifier.
	(check_modifiers): Change function into a macro.
	(check_class_interface_creation): Pass a literal format string.

From-SVN: r31614
2000-01-25 18:29:02 +00:00
Clinton Popetz 8c135f8458 * config/fp-bit.c (_unord_f2): Fix typo.
From-SVN: r31613
2000-01-25 12:25:26 -05:00
Jason Merrill f7cf9dd67d new
From-SVN: r31612
2000-01-25 12:15:58 -05:00
Zack Weinberg 4dd7201eac c-common.c, [...]: Remove all references to obstack functions obsoleted by GC...
* c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c,
	c-typeck.c, objc/objc-act.c: Remove all references to obstack
	functions obsoleted by GC, such as push_obstacks_nochange,
	end_temporary_allocation, savealloc, saveable_tree_cons, etc.
	and code which existed only to decide whether or not to call
	them.  Remove now-unused NESTED argument from start_function;
	all callers changed.  Do not change behavior based on ggc_p.
	The use of the ixp_obstack in c-iterate.c and the util_obstack
	in objc/objc-act.c remain; these are not obsoleted by garbage
	collection.
	* c-tree.h: Update prototype for start_function.

	* c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild.

From-SVN: r31611
2000-01-25 17:13:14 +00:00
Clinton Popetz b5031ab715 mips.md (zero_extendsidi2_internal): Disable for mips16.
* config/mips/mips.md (zero_extendsidi2_internal): Disable for
	mips16.

From-SVN: r31610
2000-01-25 10:51:20 -05:00
Richard Henderson e267e17731 sparc-protos.h (select_cc_mode): Declare.
* sparc-protos.h (select_cc_mode): Declare.
        * sparc.c (select_cc_mode): New.  Handle unordered compares.
        (output_cbranch): Always reverse via code change.  Handle
        unordered compares.  Factor tests and string updates.
        * sparc.h (SELECT_CC_MODE): Split out to select_cc_mode.
        (REVERSIBLE_CC_MODE): Also exclude CCFPmode.
        * sparc.md (bunordered, bordered): New.
        (bungt, bunlt, buneq, bunge, bunle): New.

From-SVN: r31609
2000-01-25 04:42:25 -08:00
Gabriel Dos Reis ddcc7cf6c8 typeck.c (composite_pointer_type, [...]): Avoid ANSI string concatenation usage.
2000-01-25  Gabriel Dos Reis  <gdr@codesourcery.com>

        * typeck.c (composite_pointer_type, c_sizeof, expr_sizeof,
        build_binary_op_nodefault, build_unary_op, build_reinterpret_cast,
        build_const_cast, get_delta_difference, check_return_expr): Avoid
        ANSI string concatenation usage.

From-SVN: r31608
2000-01-25 10:56:54 +00:00
Richard Henderson ef8288f7de dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root.
* dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root.
        * ggc-common.c (ggc_add_rtx_varray_root): New.
        (ggc_mark_rtx_varray): New.
        (ggc_mark_rtx_varray_ptr): New.  Shift all ggc_mark_foo_ptr
        functions down below ggc_mark_foo.
        * ggc.h (ggc_add_rtx_varray_root, ggc_mark_rtx_varray): Declare.

From-SVN: r31607
2000-01-25 02:47:46 -08:00
Richard Henderson 41bd3d4130 alpha.c (secondary_reload_class): Don't allocate a secondary for integral mode memories into FLOAT_REGS.
* alpha.c (secondary_reload_class): Don't allocate a secondary
        for integral mode memories into FLOAT_REGS.  Rearrange the more
        complicated memory expression inward.

From-SVN: r31606
2000-01-25 02:38:41 -08:00
Jeff Law 38544f542a Daily bump.
From-SVN: r31605
2000-01-25 01:45:06 -07:00
Zack Weinberg 3be1fb7253 inclhack.def: Fixes to play nicer with FreeBSD, and corrections to comments.
2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>

	* inclhack.def: Fixes to play nicer with FreeBSD, and
	corrections to comments.
	(cxx_unready): Add select expression.
	(irix_sockaddr): Add bypass expression.
	(machine_ansi_h_va_list): New fix.
	(stdio_va_list): No need to edit _BSD_VA_LIST_.
	Split out addition of "#include <stdarg.h>" to...
	(stdio_stdarg_h): ... here.
	(systypes_for_aix): Rename to systypes_stdlib_size_t.  Apply
	to stdlib.h also.  Do not munge _BSD_SIZE_T_.
	(sysz_stdlib_for_sun): Delete duplicate fix for unprotected
	size_t.
	(ultrix_ifdef): Tighten up select expression.

	* fixincl.tpl: Exorcise 'exesel'.  Rewrite calculations of
	re_ct and max_mach to avoid use of shell.  Make printed names
	match names in inclhack.def.  Use static copyright date.
	Don't count c_test and test expressions as requiring regex_t
	slots.  Add some commentary.
	* inclhack.tpl: Do not include the 'This script contains N
	fixup scripts' line if PROGRAM is defined.  Use static
	copyright date.

From-SVN: r31604
2000-01-25 08:06:23 +00:00
Mark Mitchell 534170eb29 class.c (layout_class_type): Put the fields required to make a class non-empty at the end...
* class.c (layout_class_type): Put the fields required to make a
	class non-empty at the end, not the beginning, of the TYPE_FIELDs
	list.

From-SVN: r31603
2000-01-25 06:33:06 +00:00
Jason Merrill 1865dbb5e2 dwarf2out.c: include "varray.h", not dyn-string.h.
* dwarf2out.c: include "varray.h", not dyn-string.h.
        (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_NAME_TO_STRING): Lose.
        (addr_const_to_string, addr_to_string): Lose.
        (ASM_OUTPUT_DWARF_ADDR_CONST): Copy from dwarfout.c.
        (struct dw_val_struct): val_addr is now an rtx.
        (add_AT_addr, AT_addr, free_AT, output_aranges): Adjust.
        (used_rtx_varray): New varray.
        (dwarf2out_init): Initialize it.
        (save_rtx): New fn.
        (mem_loc_descriptor, add_const_value_attribute): Call it instead of
        addr_to_string.
        * arm/telf.h, arm/unknown-elf.h, mn10200.h, mn10300.h,
        sparc/sp64-elf.h: Remove definition of ASM_OUTPUT_DWARF2_ADDR_CONST.
        * Makefile.in (dwarf2out.o): Update dependencies.

        * i386.c (i386_dwarf_output_addr_const): New.
        * i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): New.

        * dwarf2out.c (mem_loc_descriptor): Call ASM_SIMPLIFY_DWARF_ADDR
        if defined.
        * dwarfout.c (output_mem_loc_descriptor): Likewise.
        * i386.c (i386_simplify_dwarf_addr): New.
        * i386.h (ASM_SIMPLIFY_DWARF_ADDR): New.

From-SVN: r31602
2000-01-25 00:59:18 -05:00
Jason Merrill 7610f2ce1b pt.c (maybe_fold_nontype_arg): Do nothing if we're not in a template.
* pt.c (maybe_fold_nontype_arg): Do nothing if we're not in a
        template.

        * decl2.c (mark_used): Do instantiate inlines that have been
        explicitly instantiated.

From-SVN: r31601
2000-01-25 00:53:12 -05:00
Jason Merrill 6d4e202ef0 typo
From-SVN: r31600
2000-01-24 21:53:54 -05:00
Jim Wilson 65e1263a0d Fix mips EABI/dwarf2 segfault while compiling newlib.
* dwarf2out.c (gen_struct_or_union_type_die): Set complete if
	TYPE_STUB_DECL is NULL.

From-SVN: r31599
2000-01-24 16:58:58 -08:00
Richard Henderson 5eda3d66aa builtins.c (expand_tree_builtin): Move ...
* builtins.c (expand_tree_builtin): Move ...
        * c-common.c (expand_tree_builtin): ... here.

From-SVN: r31598
2000-01-24 16:45:14 -08:00
Michael Hayes 52b3806475 loop.h (LOOP_INFO): New accessor macro.
2000-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* loop.h (LOOP_INFO): New accessor macro.
	* basic-block.h (struct loop): Rename field `info' to `aux'.
	* loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop).
	(prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise.
	* unroll.c (loop_iterations, unroll_loop): Likewise.

From-SVN: r31596
2000-01-25 00:38:09 +00:00
Christopher Faylor a1e3399aef Include new cygwin include directories
From-SVN: r31595
2000-01-24 22:46:11 +00:00
Mark Mitchell 7a53e94bc8 Makefile.in (CXX_FOR_TARGET): Use g++, not xgcc, to invoke the C++ compiler.
* Makefile.in (CXX_FOR_TARGET): Use g++, not xgcc, to invoke
	the C++ compiler.

	* lib/g++.exp (g++init): Use g++, not xgcc, to invoke the C++
	compiler.
	(tool_option_proc): Fix typo.

From-SVN: r31593
2000-01-24 21:02:27 +00:00
Geoff Keating 360f2326ea ecos.exp (gcsec-1.c): Check the version of the ld on the host, not on the build machine.
* gcc.dg/special/ecos.exp (gcsec-1.c): Check the version
of the ld on the host, not on the build machine.
Also, don't crash if '--help' is not a supported option.

From-SVN: r31592
2000-01-24 20:56:33 +00:00
Richard Henderson 1eb8759b1b rtl.def: Add unordered fp comparisions.
* rtl.def: Add unordered fp comparisions.
        * tree.def: Likewise.
	* tree.h: Add ISO C 9x unordered fp comparision builtins.

	* builtins.c (expand_tree_builtin): New function.
	* c-typeck.c (build_function_call): Use it.
	(build_binary_op): Support unordered compares.
	* c-common.c (c_common_nodes_and_builtins): Add unordered compares.

	* combine.c (known_cond): Handle reverse_condition returning UNKNOWN.
	(reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed.
	* cse.c (fold_rtx): Check FLOAT_MODE_P before reversing.
	(record_jump_equiv): Handle reverse_condition returning UNKNOWN.
	* jump.c (reverse_condition): Don't abort for UNLE etc, but
	return UNKNOWN.
	(swap_condition): Handle unordered compares.
	(thread_jumps): Check can_reverse before reversing.
	* loop.c (get_condition): Likewise.  Allow UNORERED/ORDERED to be
	reversed for FP.

	* optabs.c (can_compare_p): New argument CODE.  Verify branch or
	setcc is present before acking for cmp_optab.  Update all callers.
	(prepare_float_lib_cmp, init_optabs): Handle UNORDERED.
	* expmed.c (do_cmp_and_jump): Update for can_compare_p.
	* expr.c (expand_expr): Likewise.  Support unordered compares.
	(do_jump, do_store_flag): Likewise.
	* expr.h (enum libfunc_index): Add unordered compares.

	* Makefile.in (FPBIT_FUNCS): Add _unord_sf.
	(DPBIT_FUNCS): Add _unord_df.
	* config/fp-bit.c (_unord_f2): New.
	* fp-test.c (main): Try unordered compare builtins.

	* alpha-protos.h (alpha_fp_comparison_operator): Declare.
	* alpha.c (alpha_comparison_operator): Check mode properly.
	(alpha_swapped_comparison_operator): Likewise.
	(signed_comparison_operator): Likewise.
	(alpha_fp_comparison_operator): New.
	(alpha_emit_conditional_branch): Handle unordered compares.
	* alpha.h (PREDICATE_CODES): Update.
	* alpha.md (fp compares): Use alpha_fp_comparison_operator.
	(bunordered, bordered): New.

	* cp/call.c (build_over_call): Use expand_tree_builtin.
	* cp/typeck.c (build_function_call_real): Likewise.
	(build_binary_op_nodefault): Handle unordered compares.

	* gcc.c-torture/execute/ieee/fp-cmp-4.c: New.

From-SVN: r31591
2000-01-24 12:10:04 -08:00
Richard Henderson d6cde8451a alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation.
* alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation.
        * alpha.md (movtf): New expander, insn, and splitter.

From-SVN: r31589
2000-01-24 11:51:09 -08:00
Jan Hubicka eedf2f550c reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of dead registers.
* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
	dead registers.

From-SVN: r31588
2000-01-24 18:58:32 +00:00
Jan Hubicka 564d80f490 i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
* i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
	(FIXED_REGISTERS, CALL_USED_REGISTERS,
	 REG_ALLOC_ORDER): Add frame pointer
	(FRAME_POINTER_REGNUM): Set to 20
	(HARD_FRAME_POINTER_REGNUM): New macro.
	(ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER
	to HARD_FRAME_POINTER.
	(REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM
	(REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
	(REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
	(HI_REGISTER_NAMES): Add "frame".
	(CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination.
	(debug_reg): Handle FRAME_POINTER_REGNUM.
	(reg_class): Add arg pointer and frame pointer to NON_Q_REGS,
	GENERAL_REGS and INDEX_REGS.
	* i386.c (SAVED_REGS_FIRST): new macro.
	(AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx
	(ix86_decompose_address, memory_address_length): Likewise.
	(regclass_map): Add frame pointer.
	(call_insn_operand): Handle frame_pointer_rtx.
	(reg_no_sp_operand): Likewise.
	(ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx.
	(print_operand, legitimize_pic_address): Fix formating.
	(ix86_compute_frame_size): Make static, update prototype, new
	parameters padding1, padding2, use ix86_nsaved_regs, use
	stack_alignment_needed.
	(ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM
	to HARD_FRAME_POINTER_REGNUM conversions.
	(ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues.
	(ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues.
	(print_reg): Abort on FRAME_POINTER_REGNUM

From-SVN: r31587
2000-01-24 16:39:07 +00:00
Jan Hubicka 2247f6ed8d i386.h (PREDICATE_CODES): Add aligned_operand.
* i386.h (PREDICATE_CODES): Add aligned_operand.
	* i386.c (aligned_operand): New function.
	(ix86_aligned_p): Kill.
	* i386.md (movhi_1): Emit mov for aligned operands.
	(promoting peep2s): Use aligned_operand.

From-SVN: r31586
2000-01-24 15:54:35 +00:00
Nathan Sidwell 059fa5e776 cp-tree.h (CPTI_BAD_CAST, [...]): New cp_tree_index values.
* cp-tree.h (CPTI_BAD_CAST, CPTI_BAD_TYPEID, CPTI_DCAST): New
	cp_tree_index values.
	(throw_bad_cast_node, throw_bad_typeid_node, dynamic_cast_node):
	New global node #defines for them.
	* rtti.c (call_void_fn): Replace with ...
	(build_runtime_decl): ... new static function.
	(throw_bad_cast): Use throw_bad_cast_node and build_runtime_decl.
	(throw_bad_typeid): Use throw_bad_typeid_node and build_runtime_decl.
	(build_dynamic_cast_1): Always produce correctly typed result.
	Explicitly produce type_info addresses. Use dynamic_cast_node.
	* exception.cc (__throw_bad_cast): Return `void *'.
	(__throw_bad_typeid): Return `const type_info &'.

From-SVN: r31585
2000-01-24 12:16:59 +00:00
Gabriel Dos Reis f1c9d505f9 stl_iterator.h: Make it possible to use standard class `iterator'.
2000-01-19  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

        * stl_iterator.h: Make it possible to use standard class
        `iterator'.

From-SVN: r31584
2000-01-24 11:25:23 +00:00