Jan Hubicka
a710247903
re PR debug/13974 (bad line marker in debug info)
...
PR debug/13974
* cfgrtl.c (try_redirect_by_replacing_jump,
force_nonfallthru_and_redirect, commit_one_edge_insertion,
cfg_layout_merge_blocks): Do not attach any line number information
to newly inserted instructions.
* emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
emit_insn_*_noloc.
(emit_*insn_before, emit_insn*_after): New.
(emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
existing locators.
* rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
(emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
From-SVN: r88358
2004-09-30 21:25:52 +00:00
Ulrich Weigand
9108699053
s390-protos.h (s390_arg_frame_offset): Remove.
...
* config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
(s390_return_address_offset): Remove.
(s390_can_eliminate): Add prototype.
(s390_initial_elimination_offset): Add prototype.
* config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
(INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
* config/s390/s390.c (s390_arg_frame_offset): Remove.
(s390_return_address_offset): Remove.
(s390_can_eliminate, s390_initial_elimination_offset): New functions.
(struct machine_function): New member split_branches_pending_p.
(s390_mainpool_start): Allow nonexistant pool insn for empty pool.
(s390_mainpool_finish): Likewise. Clear base_reg if pool empty.
(s390_optimize_prologue): Remove base_used argument. Call
s390_update_frame_layout instead of s390_register_info. Handle
prologue/epilogue insns that touch only RETURN_REGNUM.
(s390_reorg): Remove base_used. Clear split_branches_pending_p.
(s390_register_info): Remove base_used and return_addr_used
arguments, compute special register usage inline. Return live
register data to caller.
(s390_frame_info): Remove arguments, do not call s390_register_info.
(s390_init_frame_layout): New function.
(s390_update_frame_layout): Likewise.
(s390_emit_prologue): Call s390_update_frame_layout; some code
move to there. Do not emit pool placeholder insn if unnecessary.
From-SVN: r88357
2004-09-30 21:23:29 +00:00
Ulrich Weigand
13c025c186
s390.c (legitimate_reload_constant_p): Remove floating point constant workaround.
...
* config/s390/s390.c (legitimate_reload_constant_p): Remove
floating point constant workaround.
(s390_secondary_input_reload_class): Handle PLUS reloads
with too-large constant.
(s390_expand_plus_operand): Likewise.
* config/s390/s390.md ("movdi"): Do not call force_const_mem.
("movsi"): Likewise. Also, remove workaround for non-general
operands.
("movdf"): Do not call force_const_mem.
("movsf"): Likewise. Merge expander with *movsf insn.
("*movsf"): Remove, merge with movsf expander.
From-SVN: r88356
2004-09-30 21:21:57 +00:00
Paul Brook
99b2692a09
symbian.h (STARTFILE_SPEC): Remove crt*.o.
...
* config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
(ENDFILE_SPEC): Define.
* config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
From-SVN: r88355
2004-09-30 20:24:33 +00:00
Richard Henderson
3ac7c0f21f
* config/alpha/qrnnd.asm: Mark for noexecstack.
...
From-SVN: r88349
2004-09-30 12:32:07 -07:00
Kazu Hirata
75b8070489
* protoize.c, tree-cfg.c: Fix comment typos.
...
From-SVN: r88345
2004-09-30 18:27:25 +00:00
Joseph Myers
254ac10c31
re PR c/17730 (Regression in diagnost message "invalid lvalue in unary %<&%>")
...
PR c/17730
* c-typeck.c (lvalue_or_else): Pass msgid directly to error.
testsuite:
* gcc.dg/pr17730-1.c: New test
From-SVN: r88343
2004-09-30 19:17:54 +01:00
Nathan Sidwell
84eeda0c97
cp-tree.h (struct lang_decl): Shrink by reordering fields and turning operator_code and fixed_offset into...
...
* cp-tree.h (struct lang_decl): Shrink by reordering fields and
turning operator_code and fixed_offset into bitfields.
From-SVN: r88337
2004-09-30 15:25:18 +00:00
Diego Novillo
20c16b361d
tree-ssa-alias.c (collect_points_to_info_r): Move analysis of expressions...
...
* tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
expressions...
(add_pointed_to_expr): ... here.
Call add_pointed_to_expr for variables with DECL_INITIAL set.
* tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
pointer variable, if set.
From-SVN: r88334
2004-09-30 10:09:45 -04:00
Kazu Hirata
8b0add272f
* config/sh/sh.c: Follow spelling conventions.
...
From-SVN: r88333
2004-09-30 12:25:34 +00:00
Richard Henderson
282efe1c41
unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
...
* unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
* doc/tm.texi (DWARF_ZERO_REG): New.
* config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
* config/alpha/alpha.h (DWARF_ZERO_REG): New.
From-SVN: r88331
2004-09-30 01:21:27 -07:00
Per Bothner
de39930392
check-init.c (check_init): Handle USE_MAPPED_LOCATION case.
...
* check-init.c (check_init): Handle USE_MAPPED_LOCATION case.
* decl.c (finish_method, java_add_stmt): Likewise.
* java-gimplify.c (java-gimplify.c): Likewise.
* jcf-write.c (generate_bytecode_insns): Likewise.
* lang.c (java_post_options): Likewise - call linemap_add.
From-SVN: r88324
2004-09-29 19:16:46 -07:00
Per Bothner
d68acc044e
java-tree.h: Redefine some macros and add soem declaration to handle the USE_MAPPED_LOCATION...
...
* java-tree.h: Redefine some macros and add soem declaration
to handle the USE_MAPPED_LOCATION case.
* parse.h (EXPR_WFL_QUALIFICATION): Use operand 1, not 2.
* java-tree.h (EXPR_WFL_FILENAME_NODE): Use operand 2, not 1.
* java-tree.def (EXPR_WITH_FILE_LOCATION): Only need two operands in
USE_MAPPED_LOCATION case, since EXPR_WFL_FILENAME_NODE is gone.
From-SVN: r88323
2004-09-29 19:16:00 -07:00
Ulrich Weigand
7ce3fc8ffe
builtins.c (expand_builtin_strlen): Do not call emit_move_insn with a PLUS as source operand.
...
* builtins.c (expand_builtin_strlen): Do not call emit_move_insn
with a PLUS as source operand.
(expand_movstr): Likewise.
(expand_builtin_stpcpy): Likewise.
From-SVN: r88322
2004-09-30 01:39:35 +00:00
Richard Henderson
e670d9e4ce
re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable)
...
PR 17739
* tree-gimple.c (is_gimple_reg): Reject hard registers.
(is_gimple_asm_val): New.
* tree-gimple.h (is_gimple_asm_val): Declare.
* gimplify.c (gimplify_asm_expr): Use it.
* tree-pretty-print.c (print_declaration): Dump hard regs.
* tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
* tree-ssa-pre.c (is_undefined_value): Likewise.
* tree-ssa-copy.c (may_propagate_copy): Likewise.
(may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
* tree-ssa.c (warn_uninit): Likewise.
* tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
From-SVN: r88321
2004-09-29 18:22:07 -07:00
GCC Administrator
fa74d329ec
Daily bump.
...
From-SVN: r88316
2004-09-30 00:16:12 +00:00
Fariborz Jahanian
2587f86519
FIxed an IMA bug showed up in parse and gzip.
...
OKed by Richard Henderson.
From-SVN: r88312
2004-09-30 00:09:42 +00:00
Daniel Berlin
1b096a0a0a
tree.h (INDIRECT_REF_P): New macro.
...
2004-09-29 Daniel Berlin <dberlin@dberlin.org>
* tree.h (INDIRECT_REF_P): New macro.
* alias.c (get_alias_set): Use it
(nonoverlapping_memrefs_p): Ditto.
* emit-rtl.c (mem_expr_equal_p): Ditto.
(set_mem_attributes_minus_bitpos): Ditto.
(is_gimple_addressable): Ditto.
(get_base_address): Ditto.
* tree-ssa-alias.c (find_ptr_derefernece): Ditto.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
* tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
* tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
(add_address_candidates): Ditto.
(rewrite_address_base): Ditto.
From-SVN: r88309
2004-09-29 23:08:32 +00:00
Ben Elliston
2a7cd6864b
tree-flow.h (struct bb_ann_d): Remove num_preds member.
...
* tree-flow.h (struct bb_ann_d): Remove num_preds member.
* tree-into-ssa.c (rewrite_into_ssa): Don't set it.
(rewrite_ssa_into_ssa): Likewise.
* tree-phinodes.c (create_phi_node): Access the number of
predecessor edges using EDGE_COUNT() and not num_preds.
Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
Co-Authored-By: Steven Bosscher <stevenb@suse.de>
From-SVN: r88308
2004-09-30 07:23:35 +10:00
Joseph Myers
302a2cc5c6
re PR c/7425 (deprecated attribute doesn't merge with multiple declarations)
...
PR c/7425
* c-decl.c (merge_decls): Merge TREE_DEPRECATED.
cp:
* decl.c (duplicate_decls): Merge TREE_DEPRECATED.
testsuite:
* gcc.dg/deprecated-3.c, g++.dg/warn/deprecated-2.C: New tests.
From-SVN: r88303
2004-09-29 21:27:26 +01:00
Jason Merrill
08272b8528
revert accidental checkin
...
From-SVN: r88302
2004-09-29 16:18:49 -04:00
Eric Christopher
3e6688a77f
fold-const.c (tree_swap_operands_p): Remove duplicated code.
...
2004-09-29 Eric Christopher <echristo@redhat.com>
* fold-const.c (tree_swap_operands_p): Remove duplicated code.
From-SVN: r88299
2004-09-29 19:47:32 +00:00
Hans-Peter Nilsson
8820e4bed8
cris.md (moverside, movemside): With MEM, make sure the address is (plus reg mem).
...
* config/cris/cris.md (moverside, movemside): With MEM, make sure
the address is (plus reg mem).
From-SVN: r88298
2004-09-29 19:46:18 +00:00
Jason Merrill
5cefa0d95b
re PR tree-optimization/17697 (ICE: Statement marked for throw, but doesn't - verify_stmts failed)
...
PR tree-optimization/17697
* decl.c (duplicate_decls): Copy TREE_NOTHROW from newdecl to olddecl.
From-SVN: r88293
2004-09-29 14:16:34 -04:00
David Edelsohn
d962e7adc0
* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
...
From-SVN: r88290
2004-09-29 11:19:56 -04:00
Andrew Haley
eab3f38f80
re PR java/17007 (Inconsistent builtin attributes set by Java front end)
...
2004-09-29 Andrew Haley <aph@redhat.com>
PR java/17007
* parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
result of TRUNC_MOD_EXPR.
(patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
* decl.c (java_init_decl_processing): Mark
soft_lookupinterfacemethod_node and soft_instanceof_node pure.
From-SVN: r88289
2004-09-29 14:13:17 +00:00
Nathan Sidwell
c4b3f0eb21
tree.c (make_node_stat): Fix uninitialized warning.
...
* tree.c (make_node_stat): Fix uninitialized warning. Replace
cascaded if ... else if with a switch.
From-SVN: r88288
2004-09-29 13:07:50 +00:00
Aaron W. LaFramboise
b4f6904019
* read-rtl.c (apply_macro_to_string): Replace index with strchr.
...
From-SVN: r88283
2004-09-29 11:23:11 +00:00
Jakub Jelinek
58c8adc127
tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD.
...
* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
and TI_VA_LIST_FPR_COUNTER_FIELD.
(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
* tree-pass.h (pass_stdarg): Add.
* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
* tree-stdarg.c: New file.
* Makefile.in (OBJS-common): Add tree-stdarg.o.
(tree-stdarg.o): Add dependencies.
* function.h (struct function): Add va_list_gpr_size and
va_list_fpr_size fields.
* function.c (allocate_struct_function): Initialize them.
* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
va_list_{g,f}pr_counter_field.
(ix86_setup_incoming_varargs): Don't do anything if reg_save
area will not be used. Only save registers that tree-stdarg.c
detected they need saving.
(ix86_va_start): Don't set up fields that won't be used.
* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
va_list_{g,f}pr_counter_field.
(setup_incoming_varargs): Don't do anything if reg_save
area will not be used. Only save registers that tree-stdarg.c
detected they need saving.
(rs6000_va_start): Don't set up fields that won't be used.
* gcc.c-torture/execute/stdarg-1.c: New test.
* gcc.c-torture/execute/stdarg-2.c: New test.
* gcc.c-torture/execute/stdarg-3.c: New test.
* gcc.dg/tree-ssa/stdarg-1.c: New test.
* gcc.dg/tree-ssa/stdarg-2.c: New test.
* gcc.dg/tree-ssa/stdarg-3.c: New test.
* gcc.dg/tree-ssa/stdarg-4.c: New test.
* gcc.dg/tree-ssa/stdarg-5.c: New test.
From-SVN: r88279
2004-09-29 11:47:56 +02:00
Jakub Jelinek
0d5b215ca1
builtins.def (BUILT_IN_FPUTC, [...]): Remove nothrow attribute.
...
* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
ATTR_NONNULL_1_4): New.
From-SVN: r88278
2004-09-29 11:06:49 +02:00
Jakub Jelinek
a7d6ba2411
re PR tree-optimization/17697 (ICE: Statement marked for throw, but doesn't - verify_stmts failed)
...
PR tree-optimization/17697
* tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
cfg if needed.
* g++.dg/opt/pr17697-1.C: New test.
* g++.dg/opt/pr17697-2.C: New test.
* g++.dg/opt/pr17697-3.C: New test.
From-SVN: r88277
2004-09-29 11:04:21 +02:00
Per Bothner
ac973acecf
Oops - fix typo in ChangeLog.
...
From-SVN: r88272
2004-09-28 23:44:51 -07:00
Per Bothner
50fd1c970f
profile.c (brnahc_prob): Pass correct value to output_location, even when USE_MAPPED_LOCATION.
...
* profile.c (brnahc_prob): Pass correct value to output_location,
even when USE_MAPPED_LOCATION. Fixes bug from 09-11.
From-SVN: r88271
2004-09-28 23:42:31 -07:00
Jason Merrill
550f100c57
re PR middle-end/17525 (ICE in emit_move_insn (non-BLKmode arg))
...
PR middle-end/17525
* class.c (build_base_field): Set TYPE_MODE.
From-SVN: r88270
2004-09-29 02:23:49 -04:00
Richard Henderson
aa24864c23
re PR tree-optimization/15089 (local register variable with a specified register is bad)
...
PR 15089
* tree-ssa-copy.c (may_propagate_copy_into_asm): New.
* tree-flow.h (may_propagate_copy_into_asm): Declare.
* tree-ssa-ccp.c (replace_uses_in): Use it.
* tree-ssa-dom.c (cprop_operand): Likewise.
From-SVN: r88269
2004-09-28 19:50:47 -07:00
Jeff Law
e376fe5842
tree-ssa-threadupdate.c (create_block_for_threading): Request that no outgoing edges be left in the duplicate block.
...
* tree-ssa-threadupdate.c (create_block_for_threading): Request
that no outgoing edges be left in the duplicate block. Do no
update information on outgoing edges or PHI nodes in target
blocks here.
(remove_ctrl_stmt_and_useless_edges): Renamed from
remove_last_stmt_and_useless_edges. Handle case where the
block is empty or has no control statements. Do not update edge
flags here.
(thread_block): Create a template block rather than copying the
original block every time. Create outgoing edges from the
duplicate blocks and update PHIs at the target of the outgoing
edges here. Fix edge flags for the original block if necessary.
* cfghooks (duplicate_block): No longer assert that the original
block has incoming edges.
From-SVN: r88267
2004-09-28 20:15:00 -06:00
Hans-Peter Nilsson
805c33df13
extend.texi (Extended Asm): Add blurb about using Explicit Reg Vars to enforce register allocation with...
...
* doc/extend.texi (Extended Asm): Add blurb about using Explicit
Reg Vars to enforce register allocation with general constraints.
(Explicit Reg Vars): Clarify relation to asm statements.
(Local Reg Vars): Similar.
From-SVN: r88265
2004-09-29 01:42:09 +00:00
Ulrich Weigand
dcda848050
sched-rgn.c (haifa_edge, [...]): Remove.
...
* sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
build_control_flow, new_edge): Remove.
(schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
(bitlst, bitlst_table_last, bitlst_table): Remove.
(bblst): Store basic_block pointer instead of block index.
(bblst_table): Likewise.
(edgelst): Store edge pointer instead of edge index.
(edgelst_table, edgelst_last): New variables.
(extract_bitlst): Rename to ...
(extract_edgelst): ... this. Return edge pointers, not indices.
(split_edges): Update call.
(rgn_edges): Store edge pointers instead of indices.
(edge_to_bit): Remove.
(EDGE_TO_BIT): Store per-region edge index in edge->aux.
(SET_EDGE_TO_BIT): New macro.
(is_cfg_nonregular): Check for simple cases of unreachable blocks.
(find_rgns): Remove edge_list parameter. Traverse standard CFG
data structures instead of haifa_edge et al. Use edge pointers
instead of edge indices everywhere.
(compute_dom_prob_ps): Use standard CFG data structures. Account
for exit edges.
(compute_trg_info): Likewise.
(propagate_deps): Likewise.
(debug_candidate): Account for bblst data structure change.
(check_live_1, update_live_1, is_pfree): Likewise.
(IS_REACHABLE): Use standard CFG data structures.
(init_ready_list): Update bblst_table/edgelst_table allocation.
(schedule_region): Update alloc/cleanup code to data structure
changes. Use edge->aux to store per-region edge index.
(init_regions): No longer call build_control_flow. Do not
create edge list any more.
From-SVN: r88264
2004-09-29 01:28:22 +00:00
GCC Administrator
f7deb4e9f6
Daily bump.
...
From-SVN: r88262
2004-09-29 00:16:16 +00:00
Ulrich Weigand
2f39b6caf6
cse.c (cse_insn): Avoid creating direct non-local jumps.
...
* cse.c (cse_insn): Avoid creating direct non-local jumps.
* combine.c (can_combine_p): Likewise.
* local-alloc. (update_equiv_regs): Likewise.
From-SVN: r88258
2004-09-28 23:29:02 +00:00
Richard Henderson
b0b324b07f
re PR tree-optimization/17531 ([ivopts] ICE compiling gzip deflate.c)
...
PR 17531
* expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
Don't check VOIDmode here. Force PLUS operands to common type.
(expand_expr_addr_expr): Do VOIDmode check earlier. Force use of
Pmode if given a non pointer type.
PR 17531
* optabs.c (expand_binop): Force constants to the correct mode.
From-SVN: r88257
2004-09-28 15:55:04 -07:00
Roger Sayle
078208ebef
re PR driver/17537 (g++ not passing -lstdc++ to linker when -l is only supplied)
...
PR driver/17537
* g++spec.c (lang_specific_driver): Unrecognized libraries, other
than -lc and -lm, may require linking against libstc++.
From-SVN: r88256
2004-09-28 22:43:11 +00:00
Ulrich Weigand
ea77e73803
s390.c (s390_adjust_cost): Remove.
...
* config/s390/s390.c (s390_adjust_cost): Remove.
(TARGET_SCHED_ADJUST_COST): Do not redefine.
(s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
* config/s390/s390.md ("main_pool"): Use "larl" type
attribute if TARGET_CPU_ZARCH.
From-SVN: r88254
2004-09-28 21:39:28 +00:00
Jakub Jelinek
9924d7d8d8
ia64.c (ia64_expand_prologue): Declare ei variable.
...
* config/ia64/ia64.c (ia64_expand_prologue): Declare ei
variable.
From-SVN: r88253
2004-09-28 23:17:53 +02:00
Diego Novillo
81842e1b15
tree-ssa-loop.c (pass_record_bounds): Do not assign a name to the pass.
...
* tree-ssa-loop.c (pass_record_bounds): Do not assign a
name to the pass.
From-SVN: r88252
2004-09-28 16:39:46 -04:00
Steven Bosscher
21ef99b8ca
common.opt (flag_gcse_sm): Disable by default.
...
* common.opt (flag_gcse_sm): Disable by default.
(flag_gcse_las): Likewise.
(flag_web): Likewise. Create from this file.
* flags.h: Remove flag_web declaration.
* toplev.c (flag_web): Likewise.
(process_options): Never set flag_web.
From-SVN: r88250
2004-09-28 20:34:17 +00:00
Steven Bosscher
78492bf5ac
Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
...
* Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
* tree-ssa-propagate.c: Include vec.h.
(interesting_ssa_edges, varying_ssa_edges): Make these VECs
instead of varrays.
(cfg_blocks_add): Assert the block is not already in the worklist.
Update uses of interesting_ssa_edges and varying_ssa_edges.
(process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
ssa_propagate): Likewise.
From-SVN: r88249
2004-09-28 20:31:16 +00:00
Joseph Myers
ef7878226a
re PR c/16409 (ICE in size_binop, at fold-const.c)
...
PR c/16409
* c-decl.c (start_decl): Check for initializing incomplete array
of VLAs.
(build_compound_literal): Check for TYPE being error_mark_node.
* c-parse.in (primary): Check for VLA compound literals.
testsuite:
* gcc.dg/vla-init-2.c, gcc.dg/vla-init-3.c, gcc.dg/vla-init-4.c,
gcc.dg/vla-init-5.c: New tests.
From-SVN: r88248
2004-09-28 20:35:26 +01:00
Tom Tromey
346c5b01de
re PR java/15710 (ICE: tree check: expected class 'E', have 'c' (integer_cst) in make_class_data)
...
PR java/15710:
* class.c (add_miranda_methods): Load superinterface if not
already loaded.
From-SVN: r88243
2004-09-28 18:27:25 +00:00
Diego Novillo
c3b8e9aa7f
tree-ssa-live.c (calculate_live_on_entry): Fix warnings with --disable-checking.
...
* tree-ssa-live.c (calculate_live_on_entry): Fix warnings
with --disable-checking.
From-SVN: r88241
2004-09-28 14:14:33 -04:00
Devang Patel
56bac5af0f
* tree-pretty-print.c (dump_generic_node): Print vector types.
...
From-SVN: r88240
2004-09-28 10:52:59 -07:00
Andrew Haley
1679340f35
re PR java/17586 (kawa build fails with ICE)
...
2004-09-28 Andrew Haley <aph@redhat.com>
PR java/17586
* jcf-parse.c (load_class): Don't try to read a class that we've
already read.
From-SVN: r88239
2004-09-28 17:40:56 +00:00
Nick Clifton
cc15e98f65
sh.h (INIT_CUMULATIVE_ARGS): Replace with an invocation of the function sh_init_cumulative_args.
...
sh.h (INIT_CUMULATIVE_ARGS): Replace with an invocation of the function
sh_init_cumulative_args.
(INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
(INIT_CUMULATIVE_INCOMING_ARGS): Delete.
sh-protos.h: Prototype sh_init_cumulative_args.
sh.c (sh_init_cumulative_args): New function based on the contents of the old
INIT_CUMULATIVE_ARGS macro but with a heuristic added to determine the setting
of force_mem when a library function is being called.
From-SVN: r88238
2004-09-28 17:37:35 +00:00
Diego Novillo
ee1f0fb06c
tree-ssa-loop-im.c (single_reachable_address): Skip constant arguments.
...
* tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
Skip constant arguments.
From-SVN: r88237
2004-09-28 13:29:32 -04:00
Andrew Haley
46d82a27ee
jcf-parse.c (load_class): Back out previous broken patch.
...
2004-09-28 Andrew Haley <aph@redhat.com>
* jcf-parse.c (load_class): Back out previous broken patch.
From-SVN: r88234
2004-09-28 14:58:31 +00:00
Andrew Haley
03ec093d04
re PR java/17586 (kawa build fails with ICE)
...
2004-09-28 Andrew Haley <aph@redhat.com>
PR java/17586
* jcf-parse.c (load_class): Don't try to read a class that we've
already read.
Check that we really did read the right class.
From-SVN: r88233
2004-09-28 13:57:05 +00:00
Diego Novillo
38e05395ac
tree-ssa-alias.c (create_name_tags): If PTR points to a volatile type, mark the tag volatile.
...
* tree-ssa-alias.c (create_name_tags): If PTR points to a
volatile type, mark the tag volatile.
(get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
volatile.
From-SVN: r88232
2004-09-28 09:45:05 -04:00
Andrew Pinski
45fbb18639
tree.def (vec_cond_expr): Fix.
...
2004-09-28 Andrew Pinski <pinskia@physics.uc.edu>
* tree.def (vec_cond_expr): Fix. Change 'e'
to tcc_expression.
From-SVN: r88231
2004-09-28 06:14:28 -07:00
Kazu Hirata
c2b7c2d85f
* basic-block.h: Fix a comment typo.
...
From-SVN: r88230
2004-09-28 12:15:48 +00:00
Kazu Hirata
f9f1c24eb8
* tree.c: Fix a comment typo.
...
From-SVN: r88229
2004-09-28 11:55:45 +00:00
Kazu Hirata
6dbd43badd
* optabs.c, optabs.h: Fix comment typos.
...
From-SVN: r88228
2004-09-28 11:49:07 +00:00
Eric Botcazou
ecaa611b36
sparc.md (call_address_struct_value_sp32): Properly mask the immediate field of the 'unimp' instruction.
...
* config/sparc/sparc.md (call_address_struct_value_sp32):
Properly mask the immediate field of the 'unimp' instruction.
(call_symbolic_struct_value_sp32): Likewise.
From-SVN: r88227
2004-09-28 11:40:27 +00:00
Nathan Sidwell
a3a0fc7f89
class.c (VTT_TOP_LEVEL_P, [...]): Remove.
...
* class.c (VTT_TOP_LEVEL_P, VTT_MARKED_BINFO_P): Remove.
(struct secondary_vptr_vtt_init_data_s): New.
(build_vtt_inits): Adjust dfs_walkers.
(dfs_build_secondary_vptr_vtt_inits): Caller data is a
secondary_vptr_vtt_init_data_s structure. Adjust.
(dfs_ctor_vtable_bases_queue_p): Remove.
(dfs_fixup_binfo_vtbls): No need to clear BINFO_MARKED. Simplify.
* pt.c (struct get_template_base_data_s): Remove.
(get_template_base_r): Fold into get_template_base.
(get_template_base): Walk base binfos directly in inheritance
graph order.
Remove duplicated changelog entries
From-SVN: r88224
2004-09-28 08:50:56 +00:00
Ben Elliston
628f6a4e7c
backport: basic-block.h: Include vec.h, errors.h.
...
2004-09-24 Ben Elliston <bje@au.ibm.com>
Steven Bosscher <stevenb@suse.de>
Andrew Pinski <pinskia@physics.uc.edu>
Merge from edge-vector-branch:
* basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
(struct edge_def): Remove pred_next, succ_next members.
(struct basic_block_def): Remove pred, succ members. Add preds
and succs members of type VEC(edge).
(FALLTHRU_EDGE): Redefine using EDGE_SUCC.
(BRANCH_EDGE): Likewise.
(EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
(EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
(edge_iterator): New.
(ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
(ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
(FOR_EACH_EDGE): New.
* bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
where applicable.
(rotate_loop): Likewise.
(find_traces_1_route): Likewise.
(bb_to_key): Likewise.
(connect_traces): Likewise.
(copy_bb_p): Likewise.
(find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
(add_labels_and_missing_jumps): Likewise.
(fix_up_fall_thru_edges): Likewise.
(find_jump_block): Likewise.
(fix_crossing_conditional_branches): Likewise.
(fix_crossing_unconditional_branches): Likewise.
(add_reg_crossing_jump_notes): Likewise.
* bt-load.c (augment_live_range): Likewise.
* cfg.c (clear_edges): Likewise.
(unchecked_make_edge): Likewise.
(cached_make_edge): Likewise.
(make_single_succ_edge): Likewise.
(remove_edge): Likewise.
(redirect_edge_succ_nodup): Likewise.
(check_bb_profile): Likewise.
(dump_flow_info): Likewise.
(alloc_aux_for_edges): Likewise.
(clear_aux_for_edges): Likewise.
(dump_cfg_bb_info): Likewise.
* cfganal.c (forwarder_block_p): Likewise.
(can_fallthru): Likewise.
(could_fall_through): Likewise.
(mark_dfs_back_edges): Likewise.
(set_edge_can_fallthru_flag): Likewise.
(find_unreachable_blocks): Likewise.
(create_edge_list): Likewise.
(verify_edge_list): Likewise.
(add_noreturn_fake_exit_edges): Likewise.
(connect_infinite_loops_to_exit): Likewise.
(flow_reverse_top_sort_order_compute): Likewise.
(flow_depth_first_order_compute): Likewise.
(flow_preorder_transversal_compute): Likewise.
(flow_dfs_compute_reverse_execute): Likewise.
(dfs_enumerate_from): Likewise.
(compute_dominance_frontiers_1): Likewise.
* cfgbuild.c (make_edges): Likewise.
(compute_outgoing_frequencies): Likewise.
(find_many_sub_basic_blocks): Likewise.
(find_sub_basic_blocks): Likewise.
* cfgcleanup.c (try_simplify_condjump): Likewise.
(thread_jump): Likewise.
(try_forward_edges): Likewise.
(merge_blocks_move): Likewise.
(outgoing_edges_match): Likewise.
(try_crossjump_to_edge): Likewise.
(try_crossjump_bb): Likewise.
(try_optimize_cfg): Likewise.
(merge_seq_blocks): Likewise.
* cfgexpand.c (expand_gimple_tailcall): Likewise.
(expand_gimple_basic_block): Likewise.
(construct_init_block): Likewise.
(construct_exit_block): Likewise.
* cfghooks.c (verify_flow_info): Likewise.
(dump_bb): Likewise.
(delete_basic_block): Likewise.
(split_edge): Likewise.
(merge_blocks): Likewise.
(make_forwarder_block): Likewise.
(tidy_fallthru_edges): Likewise.
(can_duplicate_block_p): Likewise.
(duplicate_block): Likewise.
* cfglayout.c (fixup_reorder_chain): Likewise.
(fixup_fallthru_exit_predecessor): Likewise.
(can_copy_bbs_p): Likewise.
(copy_bbs): Likewise.
* cfgloop.c (flow_loops_cfg_dump): Likewise.
(flow_loop_entry_edges_find): Likewise.
(flow_loop_exit_edges_find): Likewise.
(flow_loop_nodes_find): Likewise.
(mark_single_exit_loops): Likewise.
(flow_loop_pre_header_scan): Likewise.
(flow_loop_pre_header_find): Likewise.
(update_latch_info): Likewise.
(canonicalize_loop_headers): Likewise.
(flow_loops_find): Likewise.
(get_loop_body_in_bfs_order): Likewise.
(get_loop_exit_edges): Likewise.
(num_loop_branches): Likewise.
(verify_loop_structure): Likewise.
(loop_latch_edge): Likewise.
(loop_preheader_edge): Likewise.
* cfgloopanal.c (mark_irreducible_loops): Likewise.
(expected_loop_iterations): Likewise.
* cfgloopmanip.c (remove_bbs): Likewise.
(fix_bb_placement): Likewise.
(fix_irreducible_loops): Likewise.
(remove_path): Likewise.
(scale_bbs_frequencies): Likewise.
(loopify): Likewise.
(unloop): Likewise.
(fix_loop_placement): Likewise.
(loop_delete_branch_edge): Likewise.
(duplicate_loop_to_header_edge): Likewise.
(mfb_keep_just): Likewise.
(create_preheader): Likewise.
(force_single_succ_latches): Likewise.
(loop_split_edge_with): Likewise.
(create_loop_notes): Likewise.
* cfgrtl.c (rtl_split_block): Likewise.
(rtl_merge_blocks): Likewise.
(rtl_can_merge_blocks): Likewise.
(try_redirect_by_replacing_jump): Likewise.
(force_nonfallthru_and_redirect): Likewise.
(rtl_tidy_fallthru_edge): Likewise.
(commit_one_edge_insertion): Likewise.
(commit_edge_insertions): Likewise.
(commit_edge_insertions_watch_calls): Likewise.
(rtl_verify_flow_info_1): Likewise.
(rtl_verify_flow_info): Likewise.
(purge_dead_edges): Likewise.
(cfg_layout_redirect_edge_and_branch): Likewise.
(cfg_layout_can_merge_blocks_p): Likewise.
(rtl_flow_call_edges_add): Likewise.
* cse.c (cse_cc_succs): Likewise.
* df.c (hybrid_search): Likewise.
* dominance.c (calc_dfs_tree_nonrec): Likewise.
(calc_dfs_tree): Likewise.
(calc_idoms): Likewise.
(recount_dominator): Likewise.
* domwalk.c (walk_dominator_tree): Likewise.
* except.c (emit_to_new_bb_before): Likewise.
(connect_post_landing_pads): Likewise.
(sjlj_emit_function_enter): Likewise.
(sjlj_emit_function_exit): Likewise.
(finish_eh_generation): Likewise.
* final.c (compute_alignments): Likewise.
* flow.c (calculate_global_regs_live): Likewise.
(initialize_uninitialized_subregs): Likewise.
(init_propagate_block_info): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* gcse.c (find_implicit_sets): Likewise.
(bypass_block): Likewise.
(bypass_conditional_jumps): Likewise.
(compute_pre_data): Likewise.
(insert_insn_end_bb): Likewise.
(insert_store): Likewise.
(remove_reachable_equiv_notes): Likewise.
* global.c (global_conflicts): Likewise.
(calculate_reg_pav): Likewise.
* graph.c (print_rtl_graph_with_bb): Likewise.
* ifcvt.c (mark_loop_exit_edges): Likewise.
(merge_if_block): Likewise.
(find_if_header): Likewise.
(block_jumps_and_fallthru_p): Likewise.
(find_if_block): Likewise.
(find_cond_trap): Likewise.
(block_has_only_trap): Likewise.
(find_if_case1): Likewise.
(find_if_case_2): Likewise.
* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
(perfect_nestify): Likewise.
* lcm.c (compute_antinout_edge): Likewise.
(compute_laterin): Likewise.
(compute_available): Likewise.
(compute_nearerout): Likewise.
* loop-doloop.c (doloop_modify): Likewise.
* loop-init.c (loop_optimizer_init): Likewise.
* loop-invariant.c (find_exits): Likewise.
* loop-iv.c (simplify_using_initial_values): Likewise.
(check_simple_exit): Likewise.
(find_simple_exit): Likewise.
* loop-unroll.c (peel_loop_completely): Likewise.
(unroll_loop_constant_iterations): Likewise.
(unroll_loop_runtime_iterations): Likewise.
* loop-unswitch.c (may_unswitch_on): Likewise.
(unswitch_loop): Likewise.
* modulo-sched.c (generate_prolog_epilog): Likewise.
(sms_schedule): Likewise.
* postreload-gcse.c (eliminate_partially_redundant_load):
Likewise.
* predict.c (can_predict_insn_p): Likewise.
(set_even_probabilities): Likewise.
(combine_predictions_for_bb): Likewise.
(predict_loops): Likewise.
(estimate_probability): Likewise.
(tree_predict_by_opcode): Likewise.
(tree_estimate_probability): Likewise.
(last_basic_block_p): Likewise.
(propagate_freq): Likewise.
(estimate_loops_at_level): Likewise.
(estimate_bb_frequencies): Likewise.
* profile.c (instrument_edges): Likewise.
(get_exec_counts): Likewise.
(compute_branch_probabilities): Likewise.
(branch_prob): Likewise.
* ra-build.c (live_in): Likewise.
* ra-rewrite.c (rewrite_program2): Likewise.
* ra.c (reg_alloc): Likewise.
* reg-stack.c (reg_to_stack): Likewise.
(convert_regs_entry): Likewise.
(compensate_edge): Likewise.
(convert_regs_1): Likewise,
(convert_regs_2): Likewise.
(convert_regs): Likewise.
* regrename.c (copyprop_hardreg_forward): Likewise.
* reload1.c (fixup_abnormal_edges): Likewise.
* sbitmap.c (sbitmap_intersection_of_succs): Likewise.
(sbitmap_insersection_of_preds): Likewise.
(sbitmap_union_of_succs): Likewise.
(sbitmap_union_of_preds): Likewise.
* sched-ebb.c (compute_jump_reg_dependencies): Likewise.
(fix_basic_block_boundaries): Likewise.
(sched_ebbs): Likewise.
* sched-rgn.c (build_control_flow): Likewise.
(find_rgns): Likewise.
* tracer.c (find_best_successor): Likewise.
(find_best_predecessor): Likewise.
(tail_duplicate): Likewise.
* tree-cfg.c (make_edges): Likewise.
(make_ctrl_stmt_edges): Likewise.
(make_goto_expr_edges): Likewise.
(tree_can_merge_blocks_p): Likewise.
(tree_merge_blocks): Likewise.
(cfg_remove_useless_stmts_bb): Likewise.
(remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
(tree_block_forwards_to): Likewise.
(cleanup_control_expr_graph): Likewise.
(find_taken_edge): Likewise.
(dump_cfg_stats): Likewise.
(tree_cfg2vcg): Likewise.
(disband_implicit_edges): Likewise.
(tree_find_edge_insert_loc): Likewise.
(bsi_commit_edge_inserts): Likewise.
(tree_split_edge): Likewise.
(tree_verify_flow_info): Likewise.
(tree_make_forwarder_block): Likewise.
(tree_forwarder_block_p): Likewise.
(thread_jumps): Likewise.
(tree_try_redirect_by_replacing_jump): Likewise.
(tree_split_block): Likewise.
(add_phi_args_after_copy_bb): Likewise.
(rewrite_to_new_ssa_names_bb): Likewise.
(dump_function_to_file): Likewise.
(print_pred_bbs): Likewise.
(print_loop): Likewise.
(tree_flow_call_edges_add): Likewise.
(split_critical_edges): Likewise.
(execute_warn_function_return): Likewise.
(extract_true_false_edges_from_block): Likewise.
* tree-if-conv.c (tree_if_conversion): Likewise.
(if_convertable_bb_p): Likewise.
(find_phi_replacement_condition): Likewise.
(combine_blocks): Likewise.
* tree-into-ssa.c (compute_global_livein): Likewise.
(ssa_mark_phi_uses): Likewise.
(ssa_rewrite_initialize_block): Likewise.
(rewrite_add_phi_arguments): Likewise.
(ssa_rewrite_phi_arguments): Likewise.
(insert_phi_nodes_for): Likewise.
(rewrite_into_ssa): Likewise.
(rewrite_ssa_into_ssa): Likewise.
* tree-mudflap.c (mf_build_check_statement_for): Likewise.
* tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
(rewrite_trees): Likewise.
* tree-pretty-print.c (dump_bb_header): Likewise.
(dump_implicit_edges): Likewise.
* tree-sra.c (insert_edge_copies): Likewise.
(find_obviously_necessary_stmts): Likewise.
(remove_data_stmt): Likewise.
* tree-ssa-dom.c (thread_across_edge): Likewise.
(dom_opt_finalize_block): Likewise.
(single_incoming_edge_ignoring_loop_edges): Likewise.
(record_equivalences_from_incoming_edges): Likewise.
(cprop_into_successor_phis): Likewise.
* tree-ssa-live.c (live_worklist): Likewise.
(calculate_live_on_entry): Likewise.
(calculate_live_on_exit): Likewise.
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
(copy_loop_headers): Likewise.
* tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
(fill_always_executed_in): Likewise.
* tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
* tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
(compute_phi_arg_on_exit): Likewise.
* tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
(get_loops_exit): Likewise.
(split_loop_exit_edge): Likewise.
(ip_normal_pos): Likewise.
* tree-ssa-loop-niter.c (simplify_using_initial_conditions):
Likewise.
* tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
(replace_phi_with_stmt): Likewise.
(value_replacement): Likewise.
* tree-ssa-pre.c (compute_antic_aux): Likewise.
(insert_aux): Likewise.
(init_pre): Likewise.
* tree-ssa-propagate.c (simulate_stmt): Likewise.
(simulate_block): Likewise.
(ssa_prop_init): Likewise.
* tree-ssa-threadupdate.c (thread_block): Likewise.
(create_block_for_threading): Likewise.
(remove_last_stmt_and_useless_edges): Likewise.
* tree-ssa.c (verify_phi_args): Likewise.
(verify_ssa): Likewise.
* tree_tailcall.c (independent_of_stmt_p): Likewise.
(find_tail_calls): Likewise.
(eliminate_tail_call): Likewise.
(tree_optimize_tail_calls_1): Likewise.
* tree-vectorizer.c (vect_transform_loop): Likewise.
* var-tracking.c (prologue_stack_adjust): Likewise.
(vt_stack_adjustments): Likewise.
(vt_find_locations): Likewise.
* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
* config/i386/i386.c (ix86_pad_returns): Likewise.
* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
Co-Authored-By: Steven Bosscher <stevenb@suse.de>
From-SVN: r88222
2004-09-28 17:59:54 +10:00
Eric Botcazou
5be9b7a175
re PR target/16532 (Inefficient jump to epilogue)
...
PR target/16532
* config/sparc/sparc.c (struct machine_function): New field
'leaf_function_p' and 'prologue_data_valid_p'.
(sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
to conveniently access the above fields.
(TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
(eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
of the generic flavor 'current_function_uses_only_leaf_regs'.
(eligible_for_sibcall_delay): Likewise.
(sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
'sparc_prologue_data_valid_p'. Use 'sparc_leaf_function_p'.
(sparc_asm_function_prologue): Add sanity check for the assumption
made in 'sparc_expand_prologue'. Use 'sparc_leaf_function_p'.
(sparc_can_use_return_insn_p): New function.
(sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
(output_restore): Likewise.
(output_sibcall): Likewise.
(sparc_output_mi_thunk): Likewise.
* config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
* config/sparc/sparc.md (return): New expander.
* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
From-SVN: r88220
2004-09-28 06:26:08 +00:00
David Edelsohn
4badaa417d
Fix formatting.
...
From-SVN: r88218
2004-09-28 00:42:52 -04:00
Mark Mitchell
455f19cb1c
re PR c++/17642 (internal compiler error: in invert_truthvalue, at fold-const.c:2997)
...
PR c++/17642
* stor-layout.c (layout_decl): Use fold_convert, not convert.
(bit_from_pos): Likewise.
(byte_from_pos): Likewise.
(pos_from_bit): Likewise.
(normalize_offset): Likewise.
(place_field): Likewise.
(finalize_type_size): Likewise.
(layout_type): Likewise.
* tree.c (build_index_type): Likewise.
PR c++/17642
* cp-tree.h (fold_if_not_in_template): New function.
* call.c (build_conditional_expr): Use fold_if_not_in_template.
(build_cxx_call): Likewise.
* cvt.c (convert_to_complex): Likewise.
(ocp_convert): Likewise.
(convert): Likewise.
(convert_force): Likewise.
* decl.c (compute_array_index_type): Clear
processing_template_decl while folding array bounds.
* pt.c (convert_nontype_argument): Clear
processing_template_decl while processing non-type argument
initialization.
* tree.c (fold_if_not_in_template): New function.
* typeck.c (build_class_member_access_expr): Use
fold_if_not_in_template.
(build_array_ref): Likewise.
(build_binary_op): Likewise. Do not try to optimize computations
when processing templates.
(cp_pointer_int_sum): Use fold_if_not_in_template.
(pointer_diff): Likewise.
(build_unary_op): Likewise.
(build_reinterpret_cast): Likewise.
(get_delta_difference): Likewise.
(expand_ptrmemfunc_cst): Likewise.
(dubious_conversion_warnings): Likewise.
* g++.dg/template/crash23.C: New test.
From-SVN: r88217
2004-09-28 02:56:11 +00:00
GCC Administrator
081077002d
Daily bump.
...
From-SVN: r88212
2004-09-28 00:16:13 +00:00
Devang Patel
7ce67fbe42
expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
...
* expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
* genopinit.c (optabs): New entry for vcond_gen_code and
vcondu_gen_code.
* optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
(get_rtx_code): New function.
(vector_compare_rtx): New function.
(init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
(expand_vec_cond_expr_p): New function.
(expand_vec_cond_expr): New function.
(get_vcond_icode): New function.
* optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
(vcond_gen_code, vcondu_gen_code): Same.
From-SVN: r88209
2004-09-27 17:13:12 -07:00
Kelley Cook
55040e7a24
Makefile.in (STAGESTUFF): Split into ...
...
2004-09-27 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.in (STAGESTUFF): Split into ...
(STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
(mostlyclean): Update.
(stage1-start, stage2-start, stage3-start, stage4-start,
stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
Move the STAGEMOVESTUFF.
From-SVN: r88207
2004-09-27 23:16:29 +00:00
R. Kelley Cook
b2cace2966
aclocal.m4: Quote m4_includes.
...
2004-09-27 Kelley Cook <kcook@gcc.gnu.org>
* aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
* configure.ac: Don't sinclude it here.
* configure: Regenerate.
From-SVN: r88205
2004-09-27 22:51:37 +00:00
Eric Botcazou
f6260033c9
* system.h (getpagesize): Return 'int' instead of 'long'.
...
From-SVN: r88204
2004-09-27 22:38:08 +00:00
Matt Austern
7d381002de
Fix implicit extern "C" breakage introduced by tokenization patch.
...
* cp/parser.c (struct cp_token): new one-bit field , implicit_extern_c
(cp_lexer_get_preprocessor_token): Set implicit_extern_c for
tokens that come from headers that are implicitly extern "C".
(struct cp_parser): new one-bit field, implicit_extern_c.
(cp_parser_new): Set parser's implicit_extern_c to false.
(cp_parser_translation_unit): Pop lang context if we were in a
header that was implicitly extern "C".
(cp_parser_declaration_seq_opt): Push/pop lang context as
required by the token's and parser's implicit_extern_c.
From-SVN: r88203
2004-09-27 22:24:35 +00:00
Michael Matz
49f41d0643
re PR rtl-optimization/17698 (Mainline failed to bootstrap on ia64)
...
2004-09-27 Michael Matz <matz@suse.de>
PR bootstrap/17698
PR bootstrap/17702
* bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
bmp_iter_and_init): Shift by bit_in_word.
From-SVN: r88201
2004-09-27 14:41:33 -07:00
R. Kelley Cook
a62322c4dc
aclocal.m4: Quote m4_includes.
...
2004-09-27 Kelley Cook <kcook@gcc.gnu.org>
* aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
* configure.ac: Don't sinclude it here.
* configure: Regenerate.
From-SVN: r88200
2004-09-27 21:32:13 +00:00
Dorit Naishlos
850e8d3d56
rs6000.c (rs6000_legitimate_address, [...]): Handle AND pattern
...
* config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
Handle AND pattern
From-SVN: r88196
2004-09-27 20:23:38 +00:00
Joseph Myers
5e9bda655c
re PR c/13804 (Error message enhancement Request)
...
PR c/13804
* c-typeck.c (build_component_ref): Name type involved in
diagnostic for structure or union without a member of the given
name.
testsuite:
* gcc.dg/pr13804-1.c: New test.
From-SVN: r88195
2004-09-27 20:33:55 +01:00
DJ Delorie
43f51151e2
stormy16.c (xstormy16_asm_output_aligned_common): ..comm alignment is bytes, not bits.
...
* config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
.comm alignment is bytes, not bits.
From-SVN: r88194
2004-09-27 15:28:51 -04:00
Devang Patel
6337c1a2e8
tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
...
* tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
(print_call_name): Do not print VEC_COND_EXPR.
From-SVN: r88192
2004-09-27 12:23:55 -07:00
Mark Mitchell
821eaf2a80
re PR c++/17585 (usage of unqualified name of static member from within class not allowed)
...
PR c++/17585
* cp-tree.h (shared_member_p): Declare.
* search.c (shared_member_p): Give it external linkage.
* semantics.c (finish_qualified_id_expr): Use it.
(finish_id_expression): Likewise.
From-SVN: r88188
2004-09-27 18:47:29 +00:00
Devang Patel
7e200b5010
* tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
...
From-SVN: r88187
2004-09-27 11:22:14 -07:00
Jan Hubicka
8c1e80e992
* i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
...
From-SVN: r88181
2004-09-27 16:19:18 +00:00
Tobias Schlüter
a487f59fd9
re PR fortran/16938 (Internal compiler error using constructor of derived type that is component of derived type)
...
PR fortran/16938
* gfortran.dg/pr16938.f90: New test.
From-SVN: r88180
2004-09-27 18:01:58 +02:00
Mark Mitchell
d19e85e886
re PR c++/17585 (usage of unqualified name of static member from within class not allowed)
...
PR c++/17585
* semantics.c (finish_id_expression): Do not add "this->" to
static member functions.
PR c++/17585
* g++.dg/template/static8.C: New test.
From-SVN: r88174
2004-09-27 14:46:55 +00:00
Nathan Sidwell
c81f61b250
re PR c++/17681 (Bad message about constructor ordering (-Wall))
...
cp:
PR c++/17681
* error.c (dump_type): Change TREE_VEC case into TREE_BINFO.
testsuite:
PR c++/17681
* g++.dg/other/error9.C: New test.
From-SVN: r88170
2004-09-27 12:10:16 +00:00
Nathan Sidwell
8d83768f78
class.c (struct count_depth_data): Remove.
...
* class.c (struct count_depth_data): Remove.
(dfs_depth_post, dfs_depth_q): Remove.
(find_final_overrider): Use number of vbase classes as depth
bound.
* cp-tree.h (types_overlap_p): Remove.
* search.c (struct overlap_info): Remove.
(dfs_check_overlap, dfs_no_overlap_yet, types_overlap_p): Remove.
* pt.c (GTB_VIA_VIRTUAL, GTB_IGNORE_TYPE): Remove.
(get_template_base_recursive): Remove. Replace with ...
(get_template_base_r): ... this.
(struct get_template_base_data_s): New.
(get_template_base): Use get_template_base_r via dfs_walk. Always
return NULL on failure.
(unify): Remove error_mark_node check from get_template_base result.
From-SVN: r88169
2004-09-27 12:00:08 +00:00
Kazu Hirata
75e50bd288
* bitmap.h: Fix a comment typo.
...
From-SVN: r88168
2004-09-27 11:18:10 +00:00
Aaron W. LaFramboise
94c1e7acf0
libgcc2.c (getpagesize): Change type of return value to int.
...
2004-09-27 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
* libgcc2.c (getpagesize): Change type of return value to int.
From-SVN: r88165
2004-09-27 08:01:57 +00:00
Matt Austern
772299b3b4
ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're using mmap.
...
* ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
using mmap.
From-SVN: r88161
2004-09-27 04:09:15 +00:00
GCC Administrator
84ca2ba728
Daily bump.
...
From-SVN: r88156
2004-09-27 00:16:14 +00:00
Ulrich Weigand
f4dbad2364
* gcc.dg/tree-ssa/loop-1.c: Use -msmall-exec on s390-*-* targets.
...
From-SVN: r88151
2004-09-26 22:31:26 +00:00
Zdenek Dvorak
87c476a22c
bitmap.h (EXECUTE_IF_SET_IN_BITMAP, [...]): Changed to iterator style.
...
* bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
(bitmap_iterator): New type.
(bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
bmp_iter_and_init, bmp_iter_and_next): New functions.
* basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
use iterator-style EXECUTE_IF_IN_BITMAP macros.
* bitmap.c (bitmap_print): Ditto.
* bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
btr_def_live_range): Ditto.
* cfganal.c (compute_dominance_frontiers_1) Ditto.
* cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
Ditto.
* ddg.c (build_inter_loop_deps): Ditto.
* df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
Ditto.
* except.c (remove_eh_handler): Ditto.
* flow.c (reg_set_to_hard_reg_set): Ditto.
* gcse.c (clear_modify_mem_tables): Ditto.
* global.c (build_insn_chain): Ditto.
* ifcvt.c (dead_or_predicable): Ditto.
* loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
Ditto.
* ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
* ra-rewrite.c (reloads_to_loads, rewrite_program2,
detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
* tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
tree_purge_all_dead_eh_edges): Ditto.
* tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
rewrite_ssa_into_ssa): Ditto.
* tree-outof-ssa.c (find_replaceable_exprs): Ditto.
* tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
Ditto.
* tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
compute_flow_sensitive_aliasing, maybe_create_global_var,
dump_points_to_info_for): Ditto.
* tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
* tree-ssa-dse.c (dse_finalize_block): Ditto.
* tree-ssa-live.c (live_worklist, calculate_live_on_entry,
calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
Ditto.
* tree-ssa-loop-ivopts.c (find_induction_variables,
find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
determine_use_iv_costs, determine_set_costs, find_best_candidate,
set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
Ditto.
* tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
* tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
add_call_read_ops): Ditto.
* tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
From-SVN: r88145
2004-09-26 19:53:13 +00:00
John David Anglin
69049ba07a
pa.c (print_operand): Use non-trapping completers for UNLE...
...
* pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
From-SVN: r88144
2004-09-26 19:37:56 +00:00
Ulrich Weigand
6cbaec9e89
builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to reflect size of memory regions being compared.
...
* builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
reflect size of memory regions being compared.
From-SVN: r88142
2004-09-26 19:15:00 +00:00
Ulrich Weigand
931e6c29a7
builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR expressions.
...
* builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
expressions. Always clear MEM_SIZE and alias set.
From-SVN: r88141
2004-09-26 19:13:38 +00:00
Tobias Schlüter
54df0e3ead
re PR fortran/15164 (trans-decl.c:411: gfc_finish_var_decl: Assertion failed)
...
PR fortran/15164
* gfortran.dg/pr15164.f90: New test. Fixed in followup commit.
From-SVN: r88132
2004-09-26 17:44:19 +02:00
Tobias Schlüter
fafdb00c15
re PR fortran/15164 (trans-decl.c:411: gfc_finish_var_decl: Assertion failed)
...
PR fortran/15164
* gfortran.dg/pr15164.f90: New test.
From-SVN: r88131
2004-09-26 17:24:57 +02:00
Roger Sayle
897f610ba4
re PR middle-end/17112 (Copying of packed bitfields is wrong)
...
PR middle-end/17112
* stor-layout.c (compute_record_mode): For records with a single
field, only use the field's mode if its size matches what we'd
have choosen for the record ourselves. This forces the use of
BLKmode for packed records that don't completely fill a mode.
* gcc.dg/pr17112-1.c: New test case.
Co-Authored-By: Giovanni Bajo <giovannibajo@gcc.gnu.org>
From-SVN: r88130
2004-09-26 14:58:34 +00:00
Roger Sayle
5c8c573a86
re PR rtl-optimization/17151 (x >> (y % WORDSIZE) not optimized)
...
PR middle-end/17151
* combine.c (force_to_mode): Remove dubious early return test that
inhibits further optimization.
From-SVN: r88129
2004-09-26 14:55:37 +00:00
Tobias Schlüter
68629d160e
* trans-intrinsic.c: Comment fixes.
...
From-SVN: r88126
2004-09-26 16:24:07 +02:00