Commit Graph

49062 Commits

Author SHA1 Message Date
Jason Merrill
ed2e5902ab re PR c/10175 (-Wunreachable-code doesn't work for single lines)
PR c/10175
        * jump.c (never_reached_warning): Revert patch of 2002-11-02.
        Look backwards for a line note.

From-SVN: r65227
2003-04-03 20:21:56 -05:00
Mike Stump
bc349178ee asm-fs-1.c: Expect failure on darwin.
* gcc.dg/asm-fs-1.c: Expect failure on darwin.

	* lib/scanasm.exp (scan-assembler): Add xfail processing for
        target arg.
	(scan-assembler-times, scan-assembler-not): Likewise.
	(scan-assembler-dem, scan-assembler-dem-not): Likewise.

From-SVN: r65225
2003-04-04 01:19:31 +00:00
GCC Administrator
26ec28e403 Daily bump.
From-SVN: r65224
2003-04-04 00:17:04 +00:00
Kaveh R. Ghazi
d893ff3389 Make-lang.in (cp-warn): Add $(STRICT_WARN).
* Make-lang.in (cp-warn): Add $(STRICT_WARN).
	* cp-tree.h: Don't insist on having GNUC.

From-SVN: r65217
2003-04-03 23:26:03 +00:00
Neil Booth
7b43d10453 * fix-header.c (read_scan_file): Defer switch processing.
From-SVN: r65216
2003-04-03 22:01:21 +00:00
Matt Austern
d24ecd21b3 cpppch.c (reset_ht): Remove.
* cpppch.c (reset_ht): Remove.
	(cpp_read_state): Remove loop to reset hashtable identifiers.
	* ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
	after pch file is written.
	* ggc.h (gt_pch_fixup_stringpool): Declare.
	* stringpool.c (ht_copy_and_clear): Define.  Callback.  Copy
	hashnode's value to another hashtable, then clear the original.
	(saved_ident_hash): Define.
	(gt_pch_save_stringpool): Create saved_ident_hash, use it to
	store definitions in ident_hash, and clear ident_hash.
	(gt_pch_fixup_stringpool): Define.  Restore definitions from
	saved_ident_hash to ident_hash, then destroy saved_ident_hash.

From-SVN: r65215
2003-04-03 21:00:56 +00:00
Jan Hubicka
bcc53e2a94 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
From-SVN: r65214
2003-04-03 20:28:39 +00:00
Jason Merrill
55a2af0c42 cvt.c (ocp_convert): Only abort if we try to convert an object of TREE_ADDRESSABLE type.
* cvt.c (ocp_convert): Only abort if we try to convert an object
        of TREE_ADDRESSABLE type.

From-SVN: r65212
2003-04-03 15:07:56 -05:00
Eric Botcazou
773eae3968 re PR rtl-optimization/10157 ([Sparc] internal compiler error: in extract_insn, at recog.c:2188)
PR optimization/10157
	* gcse.c (can_copy_p): Rename it to can_copy.
	(can_copy_init_p): Remove.
	(compute_can_copy): Use can_copy instead of can_copy_p.
	(can_copy_p): New exported function. Call compute_can_copy.
	(hash_scan_set): Use it.
	(gcse_main): Don't call compute_can_copy.
	(bypass_jumps): Don't call compute_can_copy.
	* rtl.h (can_copy_p): Declare.
	* loop.c (scan_loop): Don't move the source and add a reg-to-reg
	copy if the mode doesn't support copy operations.

From-SVN: r65210
2003-04-03 19:20:06 +00:00
Jason Merrill
613fa1469c * Makefile.in (unstrap): Also remove stage_last.
From-SVN: r65209
2003-04-03 14:10:42 -05:00
Jason Merrill
7bf6b23db5 dwarf2out.c (lookup_filename): Don't check for "<internal>".
* dwarf2out.c (lookup_filename): Don't check for "<internal>".
        (dwarf2out_source_line): Don't do anything if line==0.

From-SVN: r65208
2003-04-03 14:03:08 -05:00
Jason Merrill
78d55cc86e stor-layout.c (do_type_align): New fn, split out from...
* stor-layout.c (do_type_align): New fn, split out from...
        (layout_decl): ...here.  Do all alignment calculations for
        FIELD_DECLs here.
        (update_alignment_for_field): Not here.
        (start_record_layout, debug_rli): Remove unpadded_align.
        * tree.h (struct record_layout_info_s): Remove unpadded_align.
        * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
        or DECL_MODE on the CONST_DECLs.
        (finish_struct): Don't mess with DECL_ALIGN.
        * cp/class.c (build_vtable): Set DECL_ALIGN here.
        (get_vtable_decl): Not here.
        (layout_vtable_decl): Or here.
        (create_vtable_ptr): Or here.
        (layout_class_type): Or here.
        (check_bitfield_decl): Don't mess with field alignment.
        * ada/misc.c (gnat_adjust_rli): #if 0.

From-SVN: r65207
2003-04-03 13:23:04 -05:00
Jan Hubicka
d10f5ecf5c * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
From-SVN: r65205
2003-04-03 17:40:47 +00:00
J"orn Rennecke
70aadfcca2 sh.c (sh_function_ok_for_sibcall): Return 0 if the current function is an interrupt handler.
* sh.c (sh_function_ok_for_sibcall): Return 0 if the current
	function is an interrupt handler.

From-SVN: r65204
2003-04-03 18:01:34 +01:00
J"orn Rennecke
8d3b095348 * Avoid clash of temp register for restoring target registers
with EH_RETURN_STACKADJ_RTX; use multiple registers in round-robin
	fashion.

From-SVN: r65202
2003-04-03 17:21:48 +01:00
Kaveh R. Ghazi
de94b46c5c gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
gcc:
	* gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
	* system.h (CHAR_BITFIELD): New.
cp:
	* operators.def (DEF_SIMPLE_OPERATOR, DEF_ASSN_OPERATOR,
	DEF_ASSN_OPERATOR): Delete spurious semi-colon.
	* rtti.c (dfs_class_hint_mark): Likewise.

	* decl.c (push_local_name, push_class_level_binding,
	maybe_inject_for_scope_var): Don't use POP_TIMEVAR_AND_RETURN in
	functions returning void.
	* decl2.c (add_using_namespace): Likewise.

	* decl.c (print_binding_level, print_other_binding_stack,
	print_binding_stack): Cast argument of %p specifier to void*.
	* ptree.c (cxx_print_decl): Likewise.

	* cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK,
	VAR_FUNCTION_OR_PARM_DECL_CHECK,
	VAR_TEMPL_TYPE_OR_FUNCTION_DECL_CHECK, RECORD_OR_UNION_TYPE_CHECK,
	BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK, LANG_TYPE_CLASS_CHECK,
	LANG_TYPE_PTRMEM_CHECK, LANG_DECL_U2_CHECK): Add __extension__.

	* decl.c (set_current_binding_level): New macro.  Use throughout
	when setting the current binding level.

	* cp-tree.h (cp_lvalue_kind, base_access): Delete trailing comma
	in enum.
	* method.c (mangling_flags): Likewise.

	* cp-tree.h (lang_type_header): Add __extension__ and use
	CHAR_BITFIELD for members.

From-SVN: r65201
2003-04-03 15:42:16 +00:00
Kazu Hirata
203dcb741c h8300.md (a peephole2): Generalize to accept GT and LE.
* config/h8300/h8300.md (a peephole2): Generalize to accept GT
	and LE.
	(another peephole2): Likewise.

From-SVN: r65199
2003-04-03 11:59:42 +00:00
Nick Clifton
dc00aebddf sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
* config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
(DEF_ARCH64_SPEC): Likewise.

From-SVN: r65198
2003-04-03 10:21:22 +00:00
Jan Hubicka
a94f136b52 i386.c (constant_address_p): Use legitimate_constant_p.
* i386.c (constant_address_p): Use legitimate_constant_p.
	(legitimate_address_p): Do not use CONSTANT_ADDRESS_P.

From-SVN: r65196
2003-04-03 07:54:27 +00:00
Geoffrey Keating
0de298af46 Index: testsuite/ChangeLog
2003-04-02  Geoffrey Keating  <geoffk@apple.com>

	* g++.dg/pch/system-2.C: New.
	* g++.dg/pch/system-2.Hs: New.

Index: cp/ChangeLog
2003-04-02  Geoffrey Keating  <geoffk@apple.com>

	* mangle.c: Include gt-cp-mangle.h.
	(subst_identifiers): Mark with GTY.
	* config-lang.in (gtfiles): Add cp/mangle.c.
	* Make-lang.in: (gt-cp-mangle.h): New rule.
	(cp/mangle.o): Depends on gt-cp-mangle.h.

From-SVN: r65194
2003-04-03 03:45:49 +00:00
Kazu Hirata
9a2dd2dd02 h8300-protos.h: Add a prototype for gtle_operator.
* config/h8300/h8300-protos.h: Add a prototype for
	gtle_operator.
	* config/h8300/h8300.c (gtle_operator): New.
	* config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
	gtle_operator.
	* config/h8300/h8300.md (a peephole2): Generalize to accept GT
	and LE.

From-SVN: r65192
2003-04-03 02:41:19 +00:00
Richard Henderson
378683cf62 libgcc-std.ver (_Unwind_GetCFA): New.
* libgcc-std.ver (_Unwind_GetCFA): New.
        * unwind-dw2.c (_Unwind_GetCFA): New.
        * unwind-libunwind.c (_Unwind_GetCFA): New.
        * unwind-sjlj.c (_Unwind_GetCFA): New.
        * unwind.h: Declare it.

From-SVN: r65190
2003-04-02 18:06:55 -08:00
GCC Administrator
63dfa9bb2a Daily bump.
From-SVN: r65189
2003-04-03 00:17:06 +00:00
Jan Hubicka
a67a3220ed re PR inline-asm/8808 (Internal compiler error in extract_constrain_insn_cached)
PR inline-asm/8088
	* i386.c (ix86_hard_regno_mode_ok):  Return 0 for MMX/SSE registers
	when MMX/SSE is not available.

From-SVN: r65181
2003-04-02 22:42:59 +00:00
Mike Stump
112924807c * doc/install.texi (Specific): Update pointers to apple.com.
From-SVN: r65180
2003-04-02 22:30:49 +00:00
Jan Hubicka
a5b378d6f7 i386.c (override_options): Disable red zone by default on i386.
* i386.c (override_options):  Disable red zone by default on i386.
	(compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
	Do not test TARGET_64BIT together with TARGET_RED_ZONE

From-SVN: r65178
2003-04-02 22:19:30 +00:00
Kazu Hirata
8fc9a7ba7b * config/h8300/h8300.md (a peephole2): Tighten the condition.
From-SVN: r65174
2003-04-02 21:43:35 +00:00
Richard Henderson
496e1c4bdf * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
From-SVN: r65173
2003-04-02 11:33:22 -08:00
Kazu Hirata
d98cd543ca * config/h8300/h8300.md (a peephole2): New.
From-SVN: r65172
2003-04-02 18:36:01 +00:00
Richard Henderson
b30abdf256 except.c (sjlj_find_directly_reachable_regions): Recognize when must-not-throw region has been deleted.
* except.c (sjlj_find_directly_reachable_regions): Recognize when
        must-not-throw region has been deleted.

From-SVN: r65170
2003-04-02 09:58:38 -08:00
Richard Henderson
ad5eeaa9c1 dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an optimization when flag_exceptions not enabled.
* dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
        optimization when flag_exceptions not enabled.

From-SVN: r65169
2003-04-02 09:23:01 -08:00
Vladimir Makarov
be12c2b0cc 2003-04-02 Vladimir Makarov <vmakarov@redhat.com>
* config/rs6000/rs6000.c
	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
	macros.
	(rs6000_issue_rate): Add case for 8540.
	(rs6000_use_sched_lookahead): New function.

	* config/rs6000/8540.md: Rename SIU units into SU ones and MIU
	units into MU ones.
	(ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
	reservation before retirement.
	(ppc8540_multiply, ppc8540_load, ppc8540_store,
	ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
	Remove additional cycle in the reservation before retirement.
	(ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
	reservation of ppc8540_issue.

From-SVN: r65167
2003-04-02 17:20:54 +00:00
Aldy Hernandez
0f91f09492 simd-2.C (vecfunc): Fix typo.
2003-04-02  Aldy Hernandez  <aldyh@redhat.com>

        * g++.dg/eh/simd-2.C (vecfunc): Fix typo.

        * g++.dg/eh/simd-1.C (vecfunc): Same.

From-SVN: r65165
2003-04-02 16:56:33 +00:00
Jason Merrill
b945f15461 fix
From-SVN: r65163
2003-04-02 10:50:31 -05:00
Andreas Schwab
f875310e62 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
From-SVN: r65161
2003-04-02 09:13:33 +00:00
Richard Henderson
125ca8fde8 except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION notes for nothrow calls if flag_forced_unwind_exceptions.
* except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
        notes for nothrow calls if flag_forced_unwind_exceptions.
        (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
        (sjlj_find_directly_reachable_regions): Likewise.
        (reachable_handlers): Likewise.
        (can_throw_external): Likewise.
        (collect_one_action_chain): Record cleanups after catch-all and
        must-not-throw if flag_forced_unwind_exceptions.
        * flags.h (flag_forced_unwind_exceptions): Declare.
        * toplev.c (flag_forced_unwind_exceptions): New.
        (lang_independent_options): Add it.
	* doc/invoke.text: Add it.

        * g++.dg/eh/forced1.C: New.
        * g++.dg/eh/forced2.C: New.

From-SVN: r65158
2003-04-01 23:08:16 -08:00
GCC Administrator
5b64bfc45b Daily bump.
From-SVN: r65157
2003-04-02 00:17:07 +00:00
David Mosberger
8f744ea917 crti.asm: Clean up trailing whitespace.
* config/ia64/crti.asm: Clean up trailing whitespace.
        Remove trailing hashes (#) from identifiers.

        * config/ia64/crtn.asm: Ditto.

        * config/ia64/crtend.asm: Remove trailing hashes (#) from
        identifiers.
        (__do_global_ctors_aux): Align to 32-byte boundary.  Add unwind
        directives.  Drop explicit bundling---it just makes the code
        harder to read.  Don't save/restore gp needlessly.

        * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
        identifiers (they're only needed if the identifier would clash
        with a register name otherwise).
        (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
        directives.  Drop explicit bundling---it just makes the code
        harder to read.
        (__do_jv_register_classes): Ditto.
        (.fini_array): Remove "progbits" (newer
        assemblers don't like wrong section-types).
        (.init_array): Ditto.

From-SVN: r65150
2003-04-01 15:29:35 -08:00
Roger Sayle
e129b3f951 re PR fortran/9974 (Test g77.f-torture/noncompile/check0.f fails)
PR fortran/9974
	* gcse.c (reg_killed_on_egde): New function to test whether the
	given reg is overwritten by any instruction queued on an edge.
	(bypass_block): Ignore substitutions killed on incoming edges.
	Don't bypass outgoing edges that have queued instructions.

	* gcc.c-torture/execute/20030401-1.c: New test case.

From-SVN: r65148
2003-04-01 22:32:37 +00:00
Ziemowit Laski
70ab763c5b defs.m: New.
2003-04-01  Ziemowit Laski <zlaski@apple.com>

        * objc.dg/defs.m: New.

From-SVN: r65147
2003-04-01 22:11:01 +00:00
Alexandre Oliva
fe0002ee9d real.h (EXP_BITS): Make room for...
* real.h (EXP_BITS): Make room for...
(struct real_value): ... added canonical bit.
(struct real_format): Added pnan.
(mips_single_format, mips_double_format, mips_extended_format,
mips_quad_format): New.
* real.c: Copy p to pnan in all formats.
(get_canonical_qnan, get_canonical_snan): Set canonical bit.
(real_nan): Use pnan to compute significand's shift.
(real_identical): Disregard significand in canonical
NaNs.
(real_hash): Likewise.  Take signalling into account.
(encode_ieee_single, encode_ieee_double, encode_ieee_quad):
Disregard significand bits in canonical NaNs.  Set all bits of
canonical NaN if !qnan_msb_set.
(encode_ibm_extended, decode_ibm_extended): Likewise.  Use
qnan_msb_set to tell the base double format.
(ibm_extended_format): Use 53 as pnan.
(mips_single_format, mips_double_format, mips_extended_format,
mips_quad_format): Copied from the corresponding ieee/ibm
formats, with qnan_msb_set false.
* config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
* config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
* config/mips/mips.c (override_options): Use mips_single_format
and mips_double_format.  Default TFmode to mips_quad_format.
* config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
* config/mips/t-irix6: Likewise.
* config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
* config/fp-bit.c (pack_d, unpack_d): Obey it.

From-SVN: r65146
2003-04-01 21:45:28 +00:00
Geoffrey Keating
481a818131 unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
* unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
	(live_image_destructor): Reset image to initial state.
	(examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.

From-SVN: r65145
2003-04-01 21:02:25 +00:00
Eric Botcazou
375ffbe622 sparc.c (input_operand): Accept bare CONSTANT_P_RTX operands.
* config/sparc/sparc.c (input_operand): Accept bare
	CONSTANT_P_RTX operands.

From-SVN: r65143
2003-04-01 20:45:19 +00:00
Andrew Pinski
28ea4c880d config-lang.in (gtfiles): add \$(srcdir)/cp/name-lookup.c after \$(srcdir)/cp/name-lookup.h.
2003-04-01  Andrew Pinski  <pinskia@physics.uc.edu>

        * config-lang.in (gtfiles): add \$(srcdir)/cp/name-lookup.c
        after \$(srcdir)/cp/name-lookup.h.
        * name-lookup.c: (cxx_binding_make): Use ggc_alloc_clearedinstead
        of ggc_alloc.  Include gt-cp-name-lookup.h at the end of the file.
        * Make-lang.in: (gt-cp-name-lookup.h): is generated by the gtype.
        (cp/name-lookup.o): depends on gt-cp-name-lookup.h.

From-SVN: r65142
2003-04-01 15:37:00 -05:00
Zdenek Dvorak
47a3dae13e gcse.c (struct ls_expr): Added pattern_regs field.
* gcse.c (struct ls_expr): Added pattern_regs field.
	(ldst_entry): Initialize it.
	(extract_mentioned_regs, extract_mentioned_regs_helper): New.
	(store_ops_ok): Use regs precomputed by them.
	(find_loads, store_killed_in_insn, load_kills_store): Change return
	type to bool.
	(store_killed_before, store_killed_after): Take position of register
	set in account.
	(reg_set_info): Store position of the setter.
	(gcse_main): Enable store motion.
	(mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
	(pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
	sharing.
	(simple_mem): Enable store motion of non-symbol mems.
	(regvec): Type changed.
	(LAST_AVAIL_CHECK_FAILURE): New.
	(compute_store_table_current_insn): New.
	(build_store_vectors): Computation of availability and anticipatability
	moved ...
	(compute_store_table, find_moveable_store): ... here.
	(delete_store): Remove senseless comment.
	(store_motion): Reorganize.

From-SVN: r65141
2003-04-01 20:23:54 +00:00
Kazu Hirata
63855aa6ed Fix a typo in ChangeLog.
From-SVN: r65140
2003-04-01 20:15:40 +00:00
Kevin Buettner
77d4f3a4f4 mips.c (override_options): Provide mappings for HI_REGNUM and LO_REGNUM.
* config/mips/mips.c (override_options): Provide mappings for
	HI_REGNUM and LO_REGNUM.
	* config/mips/mips.h (MD_DBX_FIRST): Define.

From-SVN: r65139
2003-04-01 19:43:29 +00:00
Aldy Hernandez
705412b04b simd-1.C: New.
2003-04-01  Aldy Hernandez  <aldyh@redhat.com>

        * g++.dg/eh/simd-1.C: New.

        * g++.dg/eh/simd-2.C: New.

From-SVN: r65138
2003-04-01 19:18:24 +00:00
Franz Sirl
7d4444ea03 combine.c (merge_outer_ops): Fix typo.
2003-04-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* combine.c (merge_outer_ops): Fix typo.

	* varasm.c (make_decl_one_only): Revert 2003-03-09 patch.

From-SVN: r65136
2003-04-01 18:33:51 +00:00
David Edelsohn
9259f3b0f0 {40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md, [...]: Change mult_compare to imul_compare.
* config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
        power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
        imul_compare.  Add lmul_compare.
        * config/rs6000/power4.md: Bump some latencies.  Model extra cycle
        in second pair of dispatch slots.  Model stores more accurately.
        Tweak multiply model.  Add bypasses for CR instructions dependent
        on complicated compares.
        * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
        (muldi3): Add lmul_compare patterns.
        * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
        and FPSTORE_UX to split instructions and add COMPARE,
        DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
        (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
        (rs6000_rtx_costs): Separate POWER4 multiply case.

From-SVN: r65135
2003-04-01 13:05:46 -05:00