platform/upstream/gcc.git
19 years agolinux.h (TARGET_C99_FUNCTIONS): Define.
Alan Modra [Sun, 3 Oct 2004 03:31:38 +0000 (03:31 +0000)]
linux.h (TARGET_C99_FUNCTIONS): Define.

* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
(OS_MISSING_POWERPC64): Move, and comment.
* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
(OS_MISSING_POWERPC64): Move, and comment.

From-SVN: r88440

19 years ago* arm.c (output_call_mem): Add missing \t.
Ian Lance Taylor [Sun, 3 Oct 2004 03:04:21 +0000 (03:04 +0000)]
* arm.c (output_call_mem): Add missing \t.

From-SVN: r88438

19 years agobuiltins.c (expand_builtin_memcmp, [...]): Delete duplicate code.
Kaveh R. Ghazi [Sun, 3 Oct 2004 01:53:09 +0000 (01:53 +0000)]
builtins.c (expand_builtin_memcmp, [...]): Delete duplicate code.

* builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
expand_builtin_strncmp): Delete duplicate code.

From-SVN: r88437

19 years agoDaily bump.
GCC Administrator [Sun, 3 Oct 2004 00:16:10 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r88435

19 years agotree-mudflap.c (mf_build_check_statement_for): Reorganize to take check-base and...
Frank Ch. Eigler [Sat, 2 Oct 2004 23:12:49 +0000 (23:12 +0000)]
tree-mudflap.c (mf_build_check_statement_for): Reorganize to take check-base and -limit arguments.

2004-10-02  Frank Ch. Eigler  <fche@redhat.com>

* tree-mudflap.c (mf_build_check_statement_for): Reorganize to
take check-base and -limit arguments.
(mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
check ranges for ARRAY_REF and COMPONENT_REF.
(execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
instrumentation.

2004-10-02  Frank Ch. Eigler  <fche@redhat.com>

* testsuite/libmudflap.c/pass50-frag.c, fail33-frag.c, fail34-frag.c:
New tests for proper base/limit checking for aggregates.

From-SVN: r88432

19 years agoc-objc-common.c (c_tree_printer): Correct description of %E.
Joseph Myers [Sat, 2 Oct 2004 19:15:45 +0000 (20:15 +0100)]
c-objc-common.c (c_tree_printer): Correct description of %E.

* c-objc-common.c (c_tree_printer): Correct description of %E.
Don't fall through after printing an expression.

testsuite:
* gcc.dg/20040920-1.c: Update expected message text.

From-SVN: r88431

19 years agore PR treelang/17762 (treelang doesn't use mapped locations)
James A. Morrison [Sat, 2 Oct 2004 18:38:29 +0000 (18:38 +0000)]
re PR treelang/17762 (treelang doesn't use mapped locations)

2004-10-02  James A. Morrison  <phython@gcc.gnu.org>

        PR other/17762
        * lex.l: Include input.h and errors.h
        (lineno): New variable.
        (LINEMAP_POSITION_FOR_COLUMN): Define as noop when USE_MAPPED_LOCATION
        is not defined.
        Set column position with LINEMAP_POSITION_FOR_COLUMN.
        Use error instead of fprintf.
        Set input_location with the value returned by linemap_start_line when
        USE_MAPPED_LOCATION is defined.
        (dump_lex_value): Use LOCATION_LINE.
        * parse.y: Include errors.h.
        Use error and warning instead of fprintf.
        (return): Move exp to rule scope and always set to $2.  Test against
        exp instead of $2.
        (init): Set $$ to $2.
        (print_token): Use LOCATION_LINE.
        * tree1.c (treelang_init): Call treelang_init_decl_processing last.
        Call linemap_add to set input_filename when USE_MAPPED_LOCATION is
        defined.
        (treelang_parse_file): Always start at line one.
        Rename input_filename to main_input_filename when USE_MAPPED_LOCATION is
        defined.
        Leave main_input_filename when done parsing the input.
        (insert_tree_name): Use error instead of fprintf.
        * treetree.c (tree_code_get_expression): Wrap long line.
        (tree_mark_addressable): Use %qD to print out DECLs.

2004-10-02  James A. Morrison  <phython@gcc.gnu.org>

        * compile/autofunc.tree: New File.
        * compile/badchar.tree: New File.
        * compile/externvar.tree: New File.
        * compile/mismatch.tree: New File.
        * compile/noproto.tree: New File.
        * compile/novar.tree: New File.
        * compile/var_defs.tree: Add duplicate variable.

From-SVN: r88430

19 years agoparse.y: Use gcc_assert and gcc_unreachable instead of abort.
James A. Morrison [Sat, 2 Oct 2004 17:42:44 +0000 (17:42 +0000)]
parse.y: Use gcc_assert and gcc_unreachable instead of abort.

2004-10-02  James A. Morrison  <phython@gcc.gnu.org>

        * parse.y: Use gcc_assert and gcc_unreachable instead of abort.
        * tree1.c: Likewise.
        * treetree.c: Likewise.

From-SVN: r88429

19 years agolex.l: Remove random whitespace.
James A. Morrison [Sat, 2 Oct 2004 17:40:04 +0000 (17:40 +0000)]
lex.l: Remove random whitespace.

2004-10-02  James A. Morrison  <phython@gcc.gnu.org>

        * lex.l: Remove random whitespace.
        * parse.y: Reformat copyright notice.  Indent declarations.
        Wrap long lines, unwrap short lines.
        * tree1.c: Reformat copyright notice.  Wrap long lines.
        Remove random whitespace.
        (lookup_tree_name): Use LOCATION_LINE.
        * treetree.c: Reformat copyright notice.  Wrap long lines.
        Remove random whitespace.

From-SVN: r88428

19 years agoltcf-c.sh (tpf*): Add ld_shlibs=yes.
P.J. Darcy [Sat, 2 Oct 2004 16:33:06 +0000 (16:33 +0000)]
ltcf-c.sh (tpf*): Add ld_shlibs=yes.

2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>

* ltcf-c.sh (tpf*): Add ld_shlibs=yes.
* ltcf-cxx.sh (tpf*): Likewise.
* ltconfig (tpf*): Add TPF OS configuration support.

From-SVN: r88427

19 years ago* objc-act.c: Fix comment typos.
Kazu Hirata [Sat, 2 Oct 2004 15:56:06 +0000 (15:56 +0000)]
* objc-act.c: Fix comment typos.

From-SVN: r88426

19 years agoparse.y (ELSE): Set tok to $1.
James A. Morrison [Sat, 2 Oct 2004 15:18:16 +0000 (15:18 +0000)]
parse.y (ELSE): Set tok to $1.

2004-09-28  James A. Morrison  <phython@gcc.gnu.org>

        * parse.y (ELSE): Set tok to $1.
        * treelang.texi: Wrap comments in @r{}.  Indent example comments.
        Use gcc when refering to the command line or website.  Update function
        definition.

From-SVN: r88425

19 years ago* tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
Kazu Hirata [Sat, 2 Oct 2004 12:47:11 +0000 (12:47 +0000)]
* tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.

From-SVN: r88424

19 years ago* testsuite/libffi.call/negint.c: New test case.
Kaz Kojima [Sat, 2 Oct 2004 07:02:41 +0000 (07:02 +0000)]
* testsuite/libffi.call/negint.c: New test case.

From-SVN: r88421

19 years ago* gcc.dg/tree-ssa/loop-1.c: Merge changed dg-options for s390-*-*.
Ulrich Weigand [Sat, 2 Oct 2004 04:19:16 +0000 (04:19 +0000)]
* gcc.dg/tree-ssa/loop-1.c: Merge changed dg-options for s390-*-*.

From-SVN: r88420

19 years agotree-cfg.c (cleanup_tree_cfg): Speed up by calling delete_unrechable_blocks() only...
Kazu Hirata [Sat, 2 Oct 2004 02:00:51 +0000 (02:00 +0000)]
tree-cfg.c (cleanup_tree_cfg): Speed up by calling delete_unrechable_blocks() only when necessary.

* tree-cfg.c (cleanup_tree_cfg): Speed up by calling
delete_unrechable_blocks() only when necessary.

From-SVN: r88419

19 years agogthr-tpf.h (__gthread_recursive_mutex_t): New type.
P.J. Darcy [Sat, 2 Oct 2004 00:48:44 +0000 (00:48 +0000)]
gthr-tpf.h (__gthread_recursive_mutex_t): New type.

2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>

* gthr-tpf.h (__gthread_recursive_mutex_t): New type.
(__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
(__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
__gthread_recursive_mutex_unlock): New functions.

From-SVN: r88418

19 years agot-tpf (LIB2ADDEH): Remove tpf-eh.c.
P.J. Darcy [Sat, 2 Oct 2004 00:47:06 +0000 (00:47 +0000)]
t-tpf (LIB2ADDEH): Remove tpf-eh.c.

2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>

* config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
* config/s390/tpf-eh.c: Remove file.
* config/s390/tpf-unwind.h: New file.
* config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
(MD_UNWIND_SUPPORT): Define.

From-SVN: r88417

19 years agoDaily bump.
GCC Administrator [Sat, 2 Oct 2004 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r88415

19 years ago* c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
Joseph Myers [Fri, 1 Oct 2004 23:11:58 +0000 (00:11 +0100)]
* c-typeck.c (warn_for_assignment): Don't permit argnum == 0.

From-SVN: r88412

19 years agos390-protos.h (s390_comparison): Add prototype.
Ulrich Weigand [Fri, 1 Oct 2004 21:48:13 +0000 (21:48 +0000)]
s390-protos.h (s390_comparison): Add prototype.

* config/s390/s390-protos.h (s390_comparison): Add prototype.
* config/s390/s390.c (s390_comparison): New function.
(s390_branch_condition_mask): Return -1 for invalid comparisons.
(s390_branch_condition_mnemonic): Assert valid comparison.
* config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
* config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
"*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
s390_comparison instead of comparison_operator.

* config/s390/s390.md (UNSPEC_CMPINT): New constant.
("cmpmemdi"): Remove.
("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
("cmpint_si"): Rename to ...
("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
("cmpint_di", "*cmpint_di"): Likewise.
* config/s390/s390.c (s390_canonicalize_comparison): Remove
redundant UNSPEC_CMPINT conversions.
(s390_expand_cmpmem): Adapt to cmpint pattern changes.

From-SVN: r88410

19 years agosstream.tcc (pbackfail): Implement correctly 27.7.1.3/2, bullet 2...
Paolo Carlini [Fri, 1 Oct 2004 21:01:29 +0000 (21:01 +0000)]
sstream.tcc (pbackfail): Implement correctly 27.7.1.3/2, bullet 2...

2004-10-01  Paolo Carlini  <pcarlini@suse.de>

* include/bits/sstream.tcc (pbackfail): Implement correctly
27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
write in the buffer.
* testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
* testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.

From-SVN: r88407

19 years agocollect2.c (COLLECT_PARSE_FLAG): Remove.
Kazu Hirata [Fri, 1 Oct 2004 18:45:28 +0000 (18:45 +0000)]
collect2.c (COLLECT_PARSE_FLAG): Remove.

* collect2.c (COLLECT_PARSE_FLAG): Remove.
(main): Remove a reference to COLLECT_PARSE_FLAG
* system.h: Poison COLLECT_PARSE_FLAG.
* doc/tm.texi (COLLECT_PARSE_FLAG): Remove.

From-SVN: r88406

19 years ago* config/arm/crti.asm: Give _init and _fini function type.
Paul Brook [Fri, 1 Oct 2004 18:30:22 +0000 (18:30 +0000)]
* config/arm/crti.asm: Give _init and _fini function type.

From-SVN: r88405

19 years agocommon.opt (ftree-loop-ivcanon): Enable by default.
Zdenek Dvorak [Fri, 1 Oct 2004 18:26:37 +0000 (20:26 +0200)]
common.opt (ftree-loop-ivcanon): Enable by default.

* common.opt (ftree-loop-ivcanon): Enable by default.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
Enable complete loop unrolling.
(canonicalize_induction_variables, tree_unroll_loops_completely):
Reset scev info.

* gcc.dg/tree-ssa/loop-1.c: Check that unrolling occurs already on
tree level.

From-SVN: r88404

19 years agopr17343.c: Remove.
Andrew Pinski [Fri, 1 Oct 2004 16:55:56 +0000 (16:55 +0000)]
pr17343.c: Remove.

2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.dg/tree-ssa/pr17343.c: Remove.

From-SVN: r88401

19 years agoChange of email address
Bernd Schmidt [Fri, 1 Oct 2004 16:25:11 +0000 (16:25 +0000)]
Change of email address

From-SVN: r88400

19 years agoarm.c (thumb_compute_saved_rag_mask): Or with bitmask, not register number.
Paul Brook [Fri, 1 Oct 2004 15:55:21 +0000 (15:55 +0000)]
arm.c (thumb_compute_saved_rag_mask): Or with bitmask, not register number.

* config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
not register number.
(thumb_find_work_register): Search full register range.

From-SVN: r88399

19 years agore PR tree-optimization/17343 (a dispatch table can be shortened for certain switch...
Andrew Pinski [Fri, 1 Oct 2004 15:22:26 +0000 (15:22 +0000)]
re PR tree-optimization/17343 (a dispatch table can be shortened for certain switch statements)

2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17343
        * gcc.dg/tree-ssa/pr17343.c: New test.

2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17343
        * tree-cfg.c (group_case_labels): Get the label and not
        the case expr for the default case.
        When the label we looking at is the default, decrement the
        new_size.

From-SVN: r88397

19 years agoc-decl.c (c_expand_body): Update call tree_rest_of_compilation.
Jan Hubicka [Fri, 1 Oct 2004 15:11:25 +0000 (17:11 +0200)]
c-decl.c (c_expand_body): Update call tree_rest_of_compilation.

* c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
* toplev.h (tree_rest_of_compilation): Update prototype.
* tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.

* misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.

* semantics.c (expand_body): Update call of tree_rest_of_compilation.

* f95-lang.c (gfc_expand_function): Update call of
tree_rest_of_compilation.
* trans-decl.c (gfc_generate_constructors): Likewise.

* java.c (java_expand_body): Update call of tree_rest_of_compilation.

* treetree.c (treeland_expand_function): Update call of
tree_rest_of_compilation.

From-SVN: r88396

19 years agotree-cfg.c (cleanup_tree_cfg): Pull a call to cleanup_control_flow() out of the while...
Kazu Hirata [Fri, 1 Oct 2004 14:51:25 +0000 (14:51 +0000)]
tree-cfg.c (cleanup_tree_cfg): Pull a call to cleanup_control_flow() out of the while loop.

* tree-cfg.c (cleanup_tree_cfg): Pull a call to
cleanup_control_flow() out of the while loop.

From-SVN: r88395

19 years ago* lex.c: Fix a comment typo.
Kazu Hirata [Fri, 1 Oct 2004 13:44:20 +0000 (13:44 +0000)]
* lex.c: Fix a comment typo.

From-SVN: r88394

19 years ago* java-tree.h: Fix a comment typo.
Kazu Hirata [Fri, 1 Oct 2004 12:54:51 +0000 (12:54 +0000)]
* java-tree.h: Fix a comment typo.

From-SVN: r88393

19 years agoFix typo.
Andreas Schwab [Fri, 1 Oct 2004 11:11:36 +0000 (11:11 +0000)]
Fix typo.

From-SVN: r88392

19 years agotree-vectorizer.c (vectorizable_operation): Fail unless the mode for the vector type...
Paolo Bonzini [Fri, 1 Oct 2004 09:59:01 +0000 (09:59 +0000)]
tree-vectorizer.c (vectorizable_operation): Fail unless the mode for the vector type is indeed a vector mode.

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.

From-SVN: r88390

19 years agosstream.tcc (seekpos): Minor rearrangement of two conditionals consistently with...
Paolo Carlini [Fri, 1 Oct 2004 09:22:49 +0000 (09:22 +0000)]
sstream.tcc (seekpos): Minor rearrangement of two conditionals consistently with seekoff.

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.

From-SVN: r88389

19 years agotree-chrec.c (chrec_fold_plus_poly_poly, [...]): Use fold_convert or build_int_cst_ty...
Zdenek Dvorak [Fri, 1 Oct 2004 09:06:06 +0000 (11:06 +0200)]
tree-chrec.c (chrec_fold_plus_poly_poly, [...]): Use fold_convert or build_int_cst_type instead od fonvert.

* 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.

From-SVN: r88388

19 years agorevert: tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR...
Jakub Jelinek [Fri, 1 Oct 2004 07:43:03 +0000 (09:43 +0200)]
revert: tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD.

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.

From-SVN: r88383

19 years agodwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi.
Eric Christopher [Fri, 1 Oct 2004 05:08:59 +0000 (05:08 +0000)]
dwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi.

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.

From-SVN: r88382

19 years agore PR libobjc/16448 (FAIL: objc/execute/IMP.m compilation, -O0)
Andrew Pinski [Fri, 1 Oct 2004 03:46:39 +0000 (03:46 +0000)]
re PR libobjc/16448 (FAIL: objc/execute/IMP.m compilation,  -O0)

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.

From-SVN: r88379

19 years agobuiltins.c (expand_builtin_strstr, [...]): Eliminate duplicate code.
Kaveh R. Ghazi [Fri, 1 Oct 2004 02:54:39 +0000 (02:54 +0000)]
builtins.c (expand_builtin_strstr, [...]): Eliminate duplicate code.

* 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.

From-SVN: r88378

19 years agoDaily bump.
GCC Administrator [Fri, 1 Oct 2004 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r88373

19 years agos390-protos.h (s390_expand_logical_operator): Add prototype.
Ulrich Weigand [Fri, 1 Oct 2004 00:07:52 +0000 (00:07 +0000)]
s390-protos.h (s390_expand_logical_operator): Add prototype.

* 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.

From-SVN: r88370

19 years agocombine.c (force_to_mode): Only convert the expression (AND (NE FOO 0) CONST) into...
Roger Sayle [Thu, 30 Sep 2004 23:44:30 +0000 (23:44 +0000)]
combine.c (force_to_mode): Only convert the expression (AND (NE FOO 0) CONST) into (AND FOO CONST) if...

* 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.

From-SVN: r88369

19 years agore PR bootstrap/17761 (sh-elf doesn't build after merge from edge-vector-branch)
Ben Elliston [Thu, 30 Sep 2004 23:40:15 +0000 (23:40 +0000)]
re PR bootstrap/17761 (sh-elf doesn't build after merge from edge-vector-branch)

PR bootstrap/17761
* lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
FOR_EACH_EDGE macros.

From-SVN: r88368

19 years agoSimplify lexer. Implement --enable-mapped-location support.
Per Bothner [Thu, 30 Sep 2004 23:35:07 +0000 (16:35 -0700)]
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.

From-SVN: r88367

19 years agojava-tree.h (JAVA_FILE_P, ZIP_FILE_P): Remove unused macros.
Per Bothner [Thu, 30 Sep 2004 23:25:27 +0000 (16:25 -0700)]
java-tree.h (JAVA_FILE_P, ZIP_FILE_P): Remove unused macros.

* 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.

From-SVN: r88366

19 years agoMore cleanup for --enable-mapped-location.
Per Bothner [Thu, 30 Sep 2004 23:23:52 +0000 (16:23 -0700)]
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.

From-SVN: r88365

19 years ago* gcc.pot: Regenerate.
Joseph Myers [Thu, 30 Sep 2004 22:59:36 +0000 (23:59 +0100)]
* gcc.pot: Regenerate.

From-SVN: r88363

19 years agoc-tree.h (readonly_error): Remove.
Joseph Myers [Thu, 30 Sep 2004 22:52:06 +0000 (23:52 +0100)]
c-tree.h (readonly_error): Remove.

* 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.

From-SVN: r88362

19 years agoOops, revert accidental commit.
Jan Hubicka [Thu, 30 Sep 2004 21:30:20 +0000 (21:30 +0000)]
Oops, revert accidental commit.

From-SVN: r88359

19 years agore PR debug/13974 (bad line marker in debug info)
Jan Hubicka [Thu, 30 Sep 2004 21:25:52 +0000 (23:25 +0200)]
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

19 years agos390-protos.h (s390_arg_frame_offset): Remove.
Ulrich Weigand [Thu, 30 Sep 2004 21:23:29 +0000 (21:23 +0000)]
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

19 years agos390.c (legitimate_reload_constant_p): Remove floating point constant workaround.
Ulrich Weigand [Thu, 30 Sep 2004 21:21:57 +0000 (21:21 +0000)]
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

19 years agosymbian.h (STARTFILE_SPEC): Remove crt*.o.
Paul Brook [Thu, 30 Sep 2004 20:24:33 +0000 (20:24 +0000)]
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

19 years ago* config/alpha/qrnnd.asm: Mark for noexecstack.
Richard Henderson [Thu, 30 Sep 2004 19:32:07 +0000 (12:32 -0700)]
* config/alpha/qrnnd.asm: Mark for noexecstack.

From-SVN: r88349

19 years ago2004-09-30 Tom Tromey <tromey@redhat.com>
Tom Tromey [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.

From-SVN: r88346

19 years ago* protoize.c, tree-cfg.c: Fix comment typos.
Kazu Hirata [Thu, 30 Sep 2004 18:27:25 +0000 (18:27 +0000)]
* protoize.c, tree-cfg.c: Fix comment typos.

From-SVN: r88345

19 years agoMacSpi.java: Fixed typo.
Tom Tromey [Thu, 30 Sep 2004 18:21:42 +0000 (18:21 +0000)]
MacSpi.java: Fixed typo.

2004-09-30  Tom Tromey  <tromey@redhat.com>

* javax/crypto/MacSpi.java: Fixed typo.

From-SVN: r88344

19 years agore PR c/17730 (Regression in diagnost message "invalid lvalue in unary %<&%>")
Joseph Myers [Thu, 30 Sep 2004 18:17:54 +0000 (19:17 +0100)]
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

19 years agoPR libstdc++/10975 (DR 453)
Paolo Carlini [Thu, 30 Sep 2004 17:23:10 +0000 (17:23 +0000)]
PR libstdc++/10975 (DR 453)

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.

From-SVN: r88341

19 years agocp-tree.h (struct lang_decl): Shrink by reordering fields and turning operator_code...
Nathan Sidwell [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...

* cp-tree.h (struct lang_decl): Shrink by reordering fields and
turning operator_code and fixed_offset into bitfields.

From-SVN: r88337

19 years agoInetAddress.java: Reformatted.
Michael Koch [Thu, 30 Sep 2004 15:22:08 +0000 (15:22 +0000)]
InetAddress.java: Reformatted.

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.

From-SVN: r88336

19 years agoBeans.java, [...]: Reordered import statements and removed redundant modifiers.
Michael Koch [Thu, 30 Sep 2004 14:54:13 +0000 (14:54 +0000)]
Beans.java, [...]: Reordered import statements and removed redundant modifiers.

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.

From-SVN: r88335

19 years agotree-ssa-alias.c (collect_points_to_info_r): Move analysis of expressions...
Diego Novillo [Thu, 30 Sep 2004 14:09:45 +0000 (14:09 +0000)]
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

19 years ago* config/sh/sh.c: Follow spelling conventions.
Kazu Hirata [Thu, 30 Sep 2004 12:25:34 +0000 (12:25 +0000)]
* config/sh/sh.c: Follow spelling conventions.

From-SVN: r88333

19 years agounwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
Richard Henderson [Thu, 30 Sep 2004 08:21:27 +0000 (01:21 -0700)]
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

19 years agocheck-init.c (check_init): Handle USE_MAPPED_LOCATION case.
Per Bothner [Thu, 30 Sep 2004 02:16:46 +0000 (19:16 -0700)]
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

19 years agojava-tree.h: Redefine some macros and add soem declaration to handle the USE_MAPPED_L...
Per Bothner [Thu, 30 Sep 2004 02:16:00 +0000 (19:16 -0700)]
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

19 years agobuiltins.c (expand_builtin_strlen): Do not call emit_move_insn with a PLUS as source...
Ulrich Weigand [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.

* 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

19 years agore PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register...
Richard Henderson [Thu, 30 Sep 2004 01:22:07 +0000 (18:22 -0700)]
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

19 years agodirectives.c (cpp_handle_deferred_pragma): Save, clear and restore cb.line_change.
Per Bothner [Thu, 30 Sep 2004 01:19:46 +0000 (18:19 -0700)]
directives.c (cpp_handle_deferred_pragma): Save, clear and restore cb.line_change.

* 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.

From-SVN: r88320

19 years agoDaily bump.
GCC Administrator [Thu, 30 Sep 2004 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r88316

19 years agoFIxed an IMA bug showed up in parse and gzip.
Fariborz Jahanian [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.

From-SVN: r88312

19 years agotree.h (INDIRECT_REF_P): New macro.
Daniel Berlin [Wed, 29 Sep 2004 23:08:32 +0000 (23:08 +0000)]
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

19 years agotree-flow.h (struct bb_ann_d): Remove num_preds member.
Ben Elliston [Wed, 29 Sep 2004 21:23:35 +0000 (21:23 +0000)]
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

19 years agostd_sstream.h (basic_stringbuf(ios_base::openmode)): Don't use _M_stringbuf_init...
Paolo Carlini [Wed, 29 Sep 2004 21:14:43 +0000 (21:14 +0000)]
std_sstream.h (basic_stringbuf(ios_base::openmode)): Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.

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.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r88307

19 years agore PR c/7425 (deprecated attribute doesn't merge with multiple declarations)
Joseph Myers [Wed, 29 Sep 2004 20:27:26 +0000 (21:27 +0100)]
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

19 years agorevert accidental checkin
Jason Merrill [Wed, 29 Sep 2004 20:18:49 +0000 (16:18 -0400)]
revert accidental checkin

From-SVN: r88302

19 years agore PR libgcj/17715 (.properties files missing from libgcj-4.0.0.jar)
Tom Tromey [Wed, 29 Sep 2004 19:51:17 +0000 (19:51 +0000)]
re PR libgcj/17715 (.properties files missing from libgcj-4.0.0.jar)

PR libgcj/17715:
* Makefile.in: Rebuilt.
* Makefile.am (libgcj-@gcc_version@.jar): Include properties
files.
(all_property_files): New macro.

From-SVN: r88300

19 years agofold-const.c (tree_swap_operands_p): Remove duplicated code.
Eric Christopher [Wed, 29 Sep 2004 19:47:32 +0000 (19:47 +0000)]
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

19 years agocris.md (moverside, movemside): With MEM, make sure the address is (plus reg mem).
Hans-Peter Nilsson [Wed, 29 Sep 2004 19:46:18 +0000 (19:46 +0000)]
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

19 years agoMakefile.in: Rebuilt.
Tom Tromey [Wed, 29 Sep 2004 18:31:54 +0000 (18:31 +0000)]
Makefile.in: Rebuilt.

* Makefile.in: Rebuilt.
* Makefile.am (ordinary_java_source_files): Re-sorted.
(libgcj.la): Moved to old location near lib-gnu-awt-xlib.la.

From-SVN: r88294

19 years agore PR tree-optimization/17697 (ICE: Statement marked for throw, but doesn't - verify_...
Jason Merrill [Wed, 29 Sep 2004 18:16:34 +0000 (14:16 -0400)]
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

19 years ago* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
David Edelsohn [Wed, 29 Sep 2004 15:19:56 +0000 (15:19 +0000)]
* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.

From-SVN: r88290

19 years agore PR java/17007 (Inconsistent builtin attributes set by Java front end)
Andrew Haley [Wed, 29 Sep 2004 14:13:17 +0000 (14:13 +0000)]
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

19 years agotree.c (make_node_stat): Fix uninitialized warning.
Nathan Sidwell [Wed, 29 Sep 2004 13:07:50 +0000 (13:07 +0000)]
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

19 years agoRegenerate.
Richard Sandiford [Wed, 29 Sep 2004 11:42:03 +0000 (11:42 +0000)]
Regenerate.

From-SVN: r88285

19 years agoconfigure.in (--without-headers): Add missing double quotes.
Michael Roth [Wed, 29 Sep 2004 11:41:17 +0000 (11:41 +0000)]
configure.in (--without-headers): Add missing double quotes.

* configure.in (--without-headers): Add missing double quotes.
* configure: Regenerate.

From-SVN: r88284

19 years ago* read-rtl.c (apply_macro_to_string): Replace index with strchr.
Aaron W. LaFramboise [Wed, 29 Sep 2004 11:23:11 +0000 (05:23 -0600)]
* read-rtl.c (apply_macro_to_string): Replace index with strchr.

From-SVN: r88283

19 years agotree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER...
Jakub Jelinek [Wed, 29 Sep 2004 09:47:56 +0000 (11:47 +0200)]
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

19 years agobuiltins.def (BUILT_IN_FPUTC, [...]): Remove nothrow attribute.
Jakub Jelinek [Wed, 29 Sep 2004 09:06:49 +0000 (11:06 +0200)]
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

19 years agore PR tree-optimization/17697 (ICE: Statement marked for throw, but doesn't - verify_...
Jakub Jelinek [Wed, 29 Sep 2004 09:04:21 +0000 (11:04 +0200)]
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

19 years agoOops - fix typo in ChangeLog.
Per Bothner [Wed, 29 Sep 2004 06:44:51 +0000 (23:44 -0700)]
Oops - fix typo in ChangeLog.

From-SVN: r88272

19 years agoprofile.c (brnahc_prob): Pass correct value to output_location, even when USE_MAPPED_...
Per Bothner [Wed, 29 Sep 2004 06:42:31 +0000 (23:42 -0700)]
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

19 years agore PR middle-end/17525 (ICE in emit_move_insn (non-BLKmode arg))
Jason Merrill [Wed, 29 Sep 2004 06:23:49 +0000 (02:23 -0400)]
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

19 years agore PR tree-optimization/15089 (local register variable with a specified register...
Richard Henderson [Wed, 29 Sep 2004 02:50:47 +0000 (19:50 -0700)]
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

19 years agotree-ssa-threadupdate.c (create_block_for_threading): Request that no outgoing edges...
Jeff Law [Wed, 29 Sep 2004 02:15:00 +0000 (20:15 -0600)]
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

19 years agoextend.texi (Extended Asm): Add blurb about using Explicit Reg Vars to enforce regist...
Hans-Peter Nilsson [Wed, 29 Sep 2004 01:42:09 +0000 (01:42 +0000)]
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

19 years agosched-rgn.c (haifa_edge, [...]): Remove.
Ulrich Weigand [Wed, 29 Sep 2004 01:28:22 +0000 (01:28 +0000)]
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