schwab [Fri, 1 Oct 2004 11:11:36 +0000 (11:11 +0000)]
Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88392
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Fri, 1 Oct 2004 09:59:01 +0000 (09:59 +0000)]
2004-10-01 Paolo Bonzini <bonzini@gnu.org>
* tree-vectorizer.c (vectorizable_operation): Fail unless
the mode for the vector type is indeed a vector mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88390
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 1 Oct 2004 09:22:49 +0000 (09:22 +0000)]
2004-10-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/sstream.tcc (seekpos): Minor rearrangement of two
conditionals consistently with seekoff.
* include/std/std_sstream.h (setbuf): Avoid a string temporary.
(_M_sync): Simplify a bit, clean-up comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88389
138bc75d-0d04-0410-961f-
82ee72b054a4
rakdver [Fri, 1 Oct 2004 09:06:06 +0000 (09:06 +0000)]
* tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
od fonvert.
* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
follow_ssa_edge_in_rhs): Ditto.
* tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
(dump_iv): Dump base_object.
(dump_use, dump_cand): Use dump_iv.
(determine_base_object): New function.
(alloc_iv): Initialize base_object field.
(record_use): Clear the ssa_name field of iv.
(get_computation_cost_at): Do not use difference of addresses of
two different objects.
(may_eliminate_iv): Do not require the loop to have just single exit.
* tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
(nonzero_p): New function.
(inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
tree_simplify_using_condition, simplify_using_initial_conditions,
loop_niter_by_eval, find_loop_niter_by_eval,
estimate_numbers_of_iterations_loop, compare_trees,
upper_bound_in_type, lower_bound_in_type,
can_count_iv_in_wider_type_bound): Use buildN instead of build. Use
fold_convert or build_int_cst_type instead of convert. Use (non)zero_p
instead of integer_(non)zerop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88388
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 1 Oct 2004 07:43:03 +0000 (07:43 +0000)]
2004-10-01 Jakub Jelinek <jakub@redhat.com>
Revert
2004-09-29 Jakub Jelinek <jakub@redhat.com>
* 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.dg/tree-ssa/stdarg-1.c: Removed.
* gcc.dg/tree-ssa/stdarg-2.c: Removed.
* gcc.dg/tree-ssa/stdarg-3.c: Removed.
* gcc.dg/tree-ssa/stdarg-4.c: Removed.
* gcc.dg/tree-ssa/stdarg-5.c: Removed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88383
138bc75d-0d04-0410-961f-
82ee72b054a4
echristo [Fri, 1 Oct 2004 05:08:59 +0000 (05:08 +0000)]
2004-09-30 Eric Christopher <echristo@redhat.com>
* dwarf2.h (dwarf_calling_convention): Add enum for renesas
sh abi.
* dwarf2out.c (add_calling_convention_attribute): New function.
(gen_subroutine_type_die): Use.
* target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
* target.h (gcc_target): Add dwarf_calling_convention.
* hooks.c (hook_int_tree_0): New function.
* hooks.h: Prototype.
* config/sh/sh.c: Include dwarf2.h.
(sh_dwarf_calling_convention): New function.
(TARGET_DWARF_CALLING_CONVENTION): Use.
* doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88382
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Fri, 1 Oct 2004 03:46:39 +0000 (03:46 +0000)]
2004-09-16 Andrew Pinski <pinskia@physics.uc.edu>
PR libobjc/16448
* exception.c: Include config.h
(objc_exception_throw): Change _GLIBCXX_SJLJ_EXCEPTIONS to
SJLJ_EXCEPTIONS.
* configure.ac: Find out what exception handling code we use.
* configure: Regenerate.
* config.h.in: New file, regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88379
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Fri, 1 Oct 2004 02:54:39 +0000 (02:54 +0000)]
* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
expand_builtin_strrchr, expand_builtin_strpbrk,
expand_builtin_strncat, expand_builtin_strspn,
expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88378
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 1 Oct 2004 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88373
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Fri, 1 Oct 2004 00:07:52 +0000 (00:07 +0000)]
* config/s390/s390-protos.h (s390_expand_logical_operator): Add
prototype.
(s390_logical_operator_ok_p): Likewise.
* config/s390/s390.c (s390_expand_logical_operator): New function.
(s390_logical_operator_ok_p): Likewise.
* config/s390/s390.md ("anddi3"): New expander.
("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
("*anddi3_ss", "*anddi3_ss_inv"): Remove.
("andsi3"): Use s390_expand_logical_operator.
("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
("*andsi3_ss", "*andsi3_ss_inv"): Remove.
("andhi3"): New expander.
("*andhi3_zarch", "*andhi3_esa"): New patterns.
("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
("andqi3"): New expander.
("*andqi3_zarch", "*andqi3_esa"): New patterns.
("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
("iordi3"): New expander.
("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
("*iordi3_ss", "*iordi3_ss_inv"): Remove.
("iorsi3"): Use s390_expand_logical_operator.
("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
("iorhi3"): New expiorer.
("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
("iorqi3"): New expiorer.
("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
("xordi3"): New expander.
("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
("*xordi3_ss", "*xordi3_ss_inv"): Remove.
("xorsi3"): New expander.
("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
("xorhi3"): New expander.
("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
("xorqi3"): New expander.
("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88370
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Thu, 30 Sep 2004 23:44:30 +0000 (23:44 +0000)]
* combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
(AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
machine mode as the result.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88369
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Thu, 30 Sep 2004 23:40:15 +0000 (23:40 +0000)]
PR bootstrap/17761
* lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
FOR_EACH_EDGE macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88368
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 30 Sep 2004 23:35:07 +0000 (23:35 +0000)]
Simplify lexer. Implement --enable-mapped-location support.
* jcf-parse.c (parse_class_file): Use linemap_line_start.
(parse_source_file_1): Pass filename as extra parameter, so we can call
linemap_add and set input_location here, rather than in both callers.
(read_class): Pass copied filename to parse_source_file_1.
Don't initialize wfl_operator - only needed for source compilation.
(read_class, jcf_parse): Call linemap_add with LC_LEAVE.
* lex.h: Remove a bunch of debugging macros.
* lex.h (struct_java_line, struct java_error): Remove types.
(JAVA_COLUMN_DELTA): Remove - use java_lexer.next_colums instead.
(struct java_lc_s): Remove prev_col field.
(struct java_lexer): New fields next_unicode, next_columns, and
avail_unicode. New position field, and maybe token_start field.
Don't need hit_eof field - use next_unicode == -1 instead.
(JAVA_INTEGERAL_RANGE_ERROR): Rename to JAVA_RANGE_ERROR.
(JAVA_RANGE_ERROR, JAVA_FLOAT_ANGE_ERROR): Update accordingly.
* parse.h: Various changes for USE_MAPPED_LOCATION.
(EXPR_WFL_EMIT_LINE_NOTE): XXX
(BUILD_EXPR_WFL, EXPR_WFL_ADD_COL): Remove no-longer-used macros.
(struct parser_ctxt): New file_start_location field.
Remove p_line, c_line fields since we no longer save lines.
Remove elc, lineno, and current_jcf fields - no longer used.
* parse.y: Updates for USE_MAPPED_LOCATION and new lexer.
Don't use EXPR_WFL_ADD_COL since that isn't trivial with
source_location and is probably not needed anymore anyway.
Use new expr_add_Location function.
(SET_EXPR_LOCATION_FROM_TOKEN): New convenience macro.
(java_pop_parser_context): Minor cleanup.
(java_parser_context_save_global, java_parser_context_restore_global,
java_pop_parser_context): Save/restore input_location as a unit.
(issue_warning_error_from_context): If USE_MAPPED_LOCATION take
a source_location instead of a wfl context node.
(check_class_interface_creation): input_filename is not addressable.
(create_artificial_method): Calling java_parser_context_save_global
and java_parser_context_restore_global is overkill. Instead,
temporarily set input_location from class decl.
(java_layout_seen_class_methods): Set input_location from method decl.
(fix_constructors): Make more robust if no EXPR_WITH_FILE_LOCATION.
(finish_loop_body): Likewise.
* lex.c: Updates for USE_MAPPED_LOCATION. Use build_unknwon_wfl.
(java_sprint_unicode): Take a character, not index in line.
(java_sneak_uncode): Replaced by java_peek_unicode.
(java_unget_unicode): No longer used.
(java_allocate_new_line. java_store_unicode): Removed, since we
no longer remember "lines".
(java_new_lexer): Update for new data structures.
(java_read_char): Move unget_value checking to java_read_unicode.
(java_get_unicode, java_peek_unicode, java_next_unicode): New more
efficient functions that are used directly when lexing.
(java_read_unicode_collapsing_terminators): No longer needed.
(java_parse_end_comment, java_parse_escape_sequence, do_java_lex):
Re-organize to use java_peek_unicode to avoid java_unget_unicode.
(java_parse_escape_sequence): Rewrite to be simpler / more efficient.
(do_java_lex): Lots of movings around to avoid java_unget_unicode,
combine switch branches, and test for common token kinds earlier.
(java_lex_error): Rewrite.
* jv-scan.c (expand_location): New function, copied from tree.c.
(main): Set ctxp->filename instead of setting input_filename directly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88367
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 30 Sep 2004 23:25:27 +0000 (23:25 +0000)]
* java-tree.h (JAVA_FILE_P, ZIP_FILE_P): Remove unused macros.
* jcf-parse.c (java_parse_file): Don't set input_filename.
Use IS_A_COMMAND_LINE_FILENAME_P to check for duplicate filenames.
Create a list of TRANSLATION_UNIT_DECL.
(current_file_list): Is now a TRANSLATION_UNIT_DECL chain. The
reason is so we can set a DECL_SOURCE_LOCATION for each file.
(java_parse_file): Don't set unused ZIP_FILE_P, JAVA_FILE_P..
Create line-map LC_ENTER/LC_LEAVE entries for archive itself.
(file_start_location): New static.
(set_source_filename): Avoid extra access to input_filename macro.
Concatenate new name with class's package prefix.
(set_source_filename, give_name_to_class): Update.
(give_name_to_class): Set class's "line 0" input_location here.
(parse_class_file): Set input_location as a unit.
* jcf-parse.c (load_class): Sanity test if missing inner class file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88366
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 30 Sep 2004 23:23:52 +0000 (23:23 +0000)]
More cleanup for --enable-mapped-location.
* class.c (push_class): If USE_MAPPED_LOCATION don't set
input_location here. Instead do it in give_name_to_class.
(build_class_ref): Set DECL_ARTIFICIAL, for the sake of dwarf2out.
* expr.c (expand_byte_code): Call linemap_line_start.
* expr.c (build_expr_wfl): If USE_MAPPED_LOCATION, change final
parameters to a source_location. Don't need EXPR_WFL_FILENAME_NODE.
(expr_add_location): New function, if USE_MAPPED_LOCATION.
* class.c (maybe_layout_super_class): Adjust build_expr_wfl call
to USE_MAPPED_LOCATION case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88365
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 30 Sep 2004 22:59:36 +0000 (22:59 +0000)]
* gcc.pot: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88363
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 30 Sep 2004 22:52:06 +0000 (22:52 +0000)]
* c-tree.h (readonly_error): Remove.
* c-typeck (enum lvalue_use): New.
(lvalue_or_else, readonly_error): Use it. All callers changed.
(readonly_error): Make static.
testsuite:
* gcc.dg/lvalue-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88362
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 30 Sep 2004 21:30:20 +0000 (21:30 +0000)]
Oops, revert accidental commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88359
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 30 Sep 2004 21:25:52 +0000 (21:25 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88358
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 30 Sep 2004 21:23:29 +0000 (21:23 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88357
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 30 Sep 2004 21:21:57 +0000 (21:21 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88356
138bc75d-0d04-0410-961f-
82ee72b054a4
pbrook [Thu, 30 Sep 2004 20:24:33 +0000 (20:24 +0000)]
* config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
(ENDFILE_SPEC): Define.
* config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88355
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 30 Sep 2004 19:32:07 +0000 (19:32 +0000)]
* config/alpha/qrnnd.asm: Mark for noexecstack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88349
138bc75d-0d04-0410-961f-
82ee72b054a4
mkoch [Thu, 30 Sep 2004 18:27:53 +0000 (18:27 +0000)]
2004-09-30 Tom Tromey <tromey@redhat.com>
i * java/text/MessageFormat.java (Field): Constructor now
protected.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88346
138bc75d-0d04-0410-961f-
82ee72b054a4
kazu [Thu, 30 Sep 2004 18:27:25 +0000 (18:27 +0000)]
* protoize.c, tree-cfg.c: Fix comment typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88345
138bc75d-0d04-0410-961f-
82ee72b054a4
mkoch [Thu, 30 Sep 2004 18:21:42 +0000 (18:21 +0000)]
2004-09-30 Tom Tromey <tromey@redhat.com>
* javax/crypto/MacSpi.java: Fixed typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88344
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 30 Sep 2004 18:17:54 +0000 (18:17 +0000)]
PR c/17730
* c-typeck.c (lvalue_or_else): Pass msgid directly to error.
testsuite:
* gcc.dg/pr17730-1.c: New test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88343
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 30 Sep 2004 17:23:10 +0000 (17:23 +0000)]
2004-09-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/10975 (DR 453)
* include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
and __off == 0.
* docs/html/ext/howto.html: Add an entry for DR 453.
* testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
* testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
move to...
* testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
* testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
move to...
* testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88341
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Thu, 30 Sep 2004 15:25:18 +0000 (15:25 +0000)]
* cp-tree.h (struct lang_decl): Shrink by reordering fields and
turning operator_code and fixed_offset into bitfields.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88337
138bc75d-0d04-0410-961f-
82ee72b054a4
mkoch [Thu, 30 Sep 2004 15:22:08 +0000 (15:22 +0000)]
2004-09-30 Michael Koch <konqueror@gmx.de>
* java/net/InetAddress.java: Reformatted.
(loopback): Initialize with Inet4Address object.
(static): Initialize ANY_IF with Inet4Address object.
(InetAddress): Removed unused package-private constructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88336
138bc75d-0d04-0410-961f-
82ee72b054a4
mkoch [Thu, 30 Sep 2004 14:54:13 +0000 (14:54 +0000)]
2004-09-30 Michael Koch <konqueror@gmx.de>
* java/beans/Beans.java,
java/beans/EventHandler.java,
java/beans/EventSetDescriptor.java,
java/beans/Introspector.java,
java/beans/PropertyEditorManager.java,
java/beans/beancontext/BeanContext.java,
java/beans/beancontext/BeanContextChild.java,
java/beans/beancontext/BeanContextChildSupport.java,
java/beans/beancontext/BeanContextMembershipEvent.java:
Reordered import statements and removed redundant modifiers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88335
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Thu, 30 Sep 2004 14:09:45 +0000 (14:09 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88334
138bc75d-0d04-0410-961f-
82ee72b054a4
kazu [Thu, 30 Sep 2004 12:25:34 +0000 (12:25 +0000)]
* config/sh/sh.c: Follow spelling conventions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88333
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 30 Sep 2004 08:21:27 +0000 (08:21 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88331
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 30 Sep 2004 02:16:46 +0000 (02:16 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88324
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 30 Sep 2004 02:16:00 +0000 (02:16 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88323
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 30 Sep 2004 01:39:35 +0000 (01:39 +0000)]
* builtins.c (expand_builtin_strlen): Do not call emit_move_insn
with a PLUS as source operand.
(expand_movstr): Likewise.
(expand_builtin_stpcpy): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88322
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 30 Sep 2004 01:22:07 +0000 (01:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88321
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 30 Sep 2004 01:19:46 +0000 (01:19 +0000)]
* directives.c (cpp_handle_deferred_pragma): Save, clear and restore
cb.line_change. Otherwise do_pragma will call the line_change
call-back with a meaningless line number.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88320
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 30 Sep 2004 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88316
138bc75d-0d04-0410-961f-
82ee72b054a4
fjahanian [Thu, 30 Sep 2004 00:09:42 +0000 (00:09 +0000)]
FIxed an IMA bug showed up in parse and gzip.
OKed by Richard Henderson.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88312
138bc75d-0d04-0410-961f-
82ee72b054a4
dberlin [Wed, 29 Sep 2004 23:08:32 +0000 (23:08 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88309
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Wed, 29 Sep 2004 21:23:35 +0000 (21:23 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88308
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 29 Sep 2004 21:14:43 +0000 (21:14 +0000)]
2004-09-29 Paolo Carlini <pcarlini@suse.de>
* include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
(str()): Slightly tweak, protect from pptr() == 0.
(_M_update_egptr()): Likewise.
* include/bits/sstream.tcc (ssekoff, seekpos): In order to check
for an empty buffer use __beg instead of _M_string.capacity().
* testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
* testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
* testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
* testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
2004-09-29 Paolo Carlini <pcarlini@suse.de>
Benjamin Kosnik <bkoz@redhat.com>
* testsuite/testsuite_io.h (class constraint_buf): New, extended
and templatized version of constraint_filebuf; add typedefs for
streambuf/stringbuf/filebuf and wchar_t counterparts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88307
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 29 Sep 2004 20:27:26 +0000 (20:27 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88303
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 29 Sep 2004 20:18:49 +0000 (20:18 +0000)]
revert accidental checkin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88302
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Wed, 29 Sep 2004 19:51:17 +0000 (19:51 +0000)]
PR libgcj/17715:
* Makefile.in: Rebuilt.
* Makefile.am (libgcj-@gcc_version@.jar): Include properties
files.
(all_property_files): New macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88300
138bc75d-0d04-0410-961f-
82ee72b054a4
echristo [Wed, 29 Sep 2004 19:47:32 +0000 (19:47 +0000)]
2004-09-29 Eric Christopher <echristo@redhat.com>
* fold-const.c (tree_swap_operands_p): Remove duplicated code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88299
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Wed, 29 Sep 2004 19:46:18 +0000 (19:46 +0000)]
* config/cris/cris.md (moverside, movemside): With MEM, make sure
the address is (plus reg mem).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88298
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Wed, 29 Sep 2004 18:31:54 +0000 (18:31 +0000)]
* Makefile.in: Rebuilt.
* Makefile.am (ordinary_java_source_files): Re-sorted.
(libgcj.la): Moved to old location near lib-gnu-awt-xlib.la.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88294
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 29 Sep 2004 18:16:34 +0000 (18:16 +0000)]
PR tree-optimization/17697
* decl.c (duplicate_decls): Copy TREE_NOTHROW from newdecl to olddecl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88293
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Wed, 29 Sep 2004 15:19:56 +0000 (15:19 +0000)]
* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88290
138bc75d-0d04-0410-961f-
82ee72b054a4
aph [Wed, 29 Sep 2004 14:13:17 +0000 (14:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88289
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Wed, 29 Sep 2004 13:07:50 +0000 (13:07 +0000)]
* tree.c (make_node_stat): Fix uninitialized warning. Replace
cascaded if ... else if with a switch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88288
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 29 Sep 2004 11:42:03 +0000 (11:42 +0000)]
Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88285
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 29 Sep 2004 11:41:17 +0000 (11:41 +0000)]
* configure.in (--without-headers): Add missing double quotes.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88284
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 29 Sep 2004 11:23:11 +0000 (11:23 +0000)]
* read-rtl.c (apply_macro_to_string): Replace index with strchr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88283
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 29 Sep 2004 09:47:56 +0000 (09:47 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88279
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 29 Sep 2004 09:06:49 +0000 (09:06 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88278
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 29 Sep 2004 09:04:21 +0000 (09:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88277
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Wed, 29 Sep 2004 06:44:51 +0000 (06:44 +0000)]
Oops - fix typo in ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88272
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Wed, 29 Sep 2004 06:42:31 +0000 (06:42 +0000)]
* profile.c (brnahc_prob): Pass correct value to output_location,
even when USE_MAPPED_LOCATION. Fixes bug from 09-11.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88271
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 29 Sep 2004 06:23:49 +0000 (06:23 +0000)]
PR middle-end/17525
* class.c (build_base_field): Set TYPE_MODE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88270
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 29 Sep 2004 02:50:47 +0000 (02:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88269
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 29 Sep 2004 02:15:00 +0000 (02:15 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88267
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Wed, 29 Sep 2004 01:42:09 +0000 (01:42 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88265
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Wed, 29 Sep 2004 01:28:22 +0000 (01:28 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88264
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 29 Sep 2004 00:16:16 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88262
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Tue, 28 Sep 2004 23:29:02 +0000 (23:29 +0000)]
* cse.c (cse_insn): Avoid creating direct non-local jumps.
* combine.c (can_combine_p): Likewise.
* local-alloc. (update_equiv_regs): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88258
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 28 Sep 2004 22:55:04 +0000 (22:55 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88257
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Tue, 28 Sep 2004 22:43:11 +0000 (22:43 +0000)]
PR driver/17537
* g++spec.c (lang_specific_driver): Unrecognized libraries, other
than -lc and -lm, may require linking against libstc++.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88256
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Tue, 28 Sep 2004 21:55:26 +0000 (21:55 +0000)]
* jni.cc (_Jv_JNI_RegisterNatives): Formatting fixlets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88255
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Tue, 28 Sep 2004 21:39:28 +0000 (21:39 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88254
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 28 Sep 2004 21:17:53 +0000 (21:17 +0000)]
* config/ia64/ia64.c (ia64_expand_prologue): Declare ei
variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88253
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Tue, 28 Sep 2004 20:39:46 +0000 (20:39 +0000)]
* tree-ssa-loop.c (pass_record_bounds): Do not assign a
name to the pass.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88252
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Tue, 28 Sep 2004 20:37:40 +0000 (20:37 +0000)]
PR libgcj/17222:
* Makefile.am (libgcj.la): Restored.
* Makefile.in: Rebuilt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88251
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 28 Sep 2004 20:34:17 +0000 (20:34 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88250
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 28 Sep 2004 20:31:16 +0000 (20:31 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88249
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 28 Sep 2004 19:35:26 +0000 (19:35 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88248
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Tue, 28 Sep 2004 18:27:25 +0000 (18:27 +0000)]
PR java/15710:
* class.c (add_miranda_methods): Load superinterface if not
already loaded.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88243
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Tue, 28 Sep 2004 18:14:33 +0000 (18:14 +0000)]
* tree-ssa-live.c (calculate_live_on_entry): Fix warnings
with --disable-checking.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88241
138bc75d-0d04-0410-961f-
82ee72b054a4
dpatel [Tue, 28 Sep 2004 17:52:59 +0000 (17:52 +0000)]
* tree-pretty-print.c (dump_generic_node): Print vector types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88240
138bc75d-0d04-0410-961f-
82ee72b054a4
aph [Tue, 28 Sep 2004 17:40:56 +0000 (17:40 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88239
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Tue, 28 Sep 2004 17:37:35 +0000 (17:37 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88238
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Tue, 28 Sep 2004 17:29:32 +0000 (17:29 +0000)]
* tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
Skip constant arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88237
138bc75d-0d04-0410-961f-
82ee72b054a4
aph [Tue, 28 Sep 2004 14:58:31 +0000 (14:58 +0000)]
2004-09-28 Andrew Haley <aph@redhat.com>
* jcf-parse.c (load_class): Back out previous broken patch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88234
138bc75d-0d04-0410-961f-
82ee72b054a4
aph [Tue, 28 Sep 2004 13:57:05 +0000 (13:57 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88233
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Tue, 28 Sep 2004 13:45:05 +0000 (13:45 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88232
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Tue, 28 Sep 2004 13:14:28 +0000 (13:14 +0000)]
2004-09-28 Andrew Pinski <pinskia@physics.uc.edu>
* tree.def (vec_cond_expr): Fix. Change 'e'
to tcc_expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88231
138bc75d-0d04-0410-961f-
82ee72b054a4
kazu [Tue, 28 Sep 2004 12:15:48 +0000 (12:15 +0000)]
* basic-block.h: Fix a comment typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88230
138bc75d-0d04-0410-961f-
82ee72b054a4
kazu [Tue, 28 Sep 2004 11:55:45 +0000 (11:55 +0000)]
* tree.c: Fix a comment typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88229
138bc75d-0d04-0410-961f-
82ee72b054a4
kazu [Tue, 28 Sep 2004 11:49:07 +0000 (11:49 +0000)]
* optabs.c, optabs.h: Fix comment typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88228
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 28 Sep 2004 11:40:27 +0000 (11:40 +0000)]
* config/sparc/sparc.md (call_address_struct_value_sp32):
Properly mask the immediate field of the 'unimp' instruction.
(call_symbolic_struct_value_sp32): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88227
138bc75d-0d04-0410-961f-
82ee72b054a4
mkoch [Tue, 28 Sep 2004 11:02:35 +0000 (11:02 +0000)]
2004-09-28 Michael Koch <konqueror@gmx.de>
* java/net/URLConnection.java: Reformatted.
* java/net/URLClassLoader.java: Reformatted.
(getContent): Reordered return of content.
(getContentHandler): Don't check for null explicitely.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88226
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 28 Sep 2004 08:58:35 +0000 (08:58 +0000)]
2004-09-28 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/16612
* include/bits/basic_string.h (_M_dispose, _M_refcopy,
basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
don't deal with _S_empty_rep.
* include/bits/basic_string.tcc (_S_construct, _M_destroy,
_M_leak_hard, _M_mutate): Likewise.
* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
* acconfig.h: Add corresponding undef.
* configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
* docs/html/configopts.html: Document --enable-fully-dynamic-string.
* configure: Regenerate.
* config.h.in: Likewise.
2004-09-28 Benjamin Kosnik <bkoz@redhat.com>
Paolo Carlini <pcarlini@suse.de>
* testsuite/21_strings/basic_string/operations/char/1.cc: New.
* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
* testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
* testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
New.
2004-09-28 Paolo Carlini <pcarlini@suse.de>
* README: Remove obsolete entry about include/c_shadow.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88225
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 28 Sep 2004 08:50:56 +0000 (08:50 +0000)]
* 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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88224
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Tue, 28 Sep 2004 07:59:54 +0000 (07:59 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88222
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 28 Sep 2004 06:26:08 +0000 (06:26 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88220
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Tue, 28 Sep 2004 04:42:52 +0000 (04:42 +0000)]
Fix formatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88218
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Tue, 28 Sep 2004 02:56:11 +0000 (02:56 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88217
138bc75d-0d04-0410-961f-
82ee72b054a4