gcc.git
20 years agotree-ssa-dom.c (real_avail_expr_hash): New.
Richard Henderson [Thu, 24 Jun 2004 22:46:56 +0000 (15:46 -0700)]
tree-ssa-dom.c (real_avail_expr_hash): New.

        * tree-ssa-dom.c (real_avail_expr_hash): New.
        (tree_ssa_dominator_optimize): Use it in the htab.

From-SVN: r83616

20 years agoMinor updating of comments.
Richard Kenner [Thu, 24 Jun 2004 22:45:57 +0000 (18:45 -0400)]
Minor updating of comments.

From-SVN: r83615

20 years agoMinor whitespace changes
Richard Kenner [Thu, 24 Jun 2004 22:42:26 +0000 (18:42 -0400)]
Minor whitespace changes

From-SVN: r83613

20 years agotree-mudflap.c (mx_register_decls): Add third (type) argument to synthesized __mf_unr...
Frank Ch. Eigler [Thu, 24 Jun 2004 21:12:49 +0000 (21:12 +0000)]
tree-mudflap.c (mx_register_decls): Add third (type) argument to synthesized __mf_unregister call.

2004-06-24  Frank Ch. Eigler  <fche@redhat.com>

* tree-mudflap.c (mx_register_decls): Add third (type) argument
to synthesized __mf_unregister call.

From-SVN: r83612

20 years agoAdopt splay trees for object database.
Frank Ch. Eigler [Thu, 24 Jun 2004 21:12:18 +0000 (21:12 +0000)]
Adopt splay trees for object database.

2004-06-24  Frank Ch. Eigler  <fche@redhat.com>

Adopt splay trees for object database.
* Makefile.am: Copy splay-tree.* from libiberty.
* Makefile.in, testsuite/Makefile.in: Regenerated.
* mf-runtime.h.in (__mf_unregister): Add third parameter (type).
* mf-hooks[123].c (*): Add new third parameter to mf_unregister.
* mf-impl.h (BEGIN_PROTECT): Remove some trace text.
* mf-runtime.c: Rewrite code dealing with object database to use
libiberty splay trees.  Remove tree liveness aging option.
* testsuite/libmudflap.c/fail18-frag.c: Add volatile flag.

From-SVN: r83611

20 years agore PR middle-end/15239 (suboptimal mult-by-const expansion cost limit)
Roger Sayle [Thu, 24 Jun 2004 20:38:59 +0000 (20:38 +0000)]
re PR middle-end/15239 (suboptimal mult-by-const expansion cost limit)

PR middle-end/15239
* expmed.c (expand_mult): Remove artificial restriction on the
maximum cost of a synthetic multiplication sequence.

From-SVN: r83610

20 years agore PR tree-optimization/16115 (double-destruction problem with argument passing via...
Jason Merrill [Thu, 24 Jun 2004 20:07:23 +0000 (16:07 -0400)]
re PR tree-optimization/16115 (double-destruction problem with argument passing via temporary (breaks auto_ptr))

        PR c++/16115
        * decl.c (grokparms): Give the PARM_DECL reference type if the
        parameter is passed by invisible reference.

From-SVN: r83609

20 years agocombine.c (distribute_notes): Don't delete sets to global register variables.
Eric Christopher [Thu, 24 Jun 2004 19:15:43 +0000 (19:15 +0000)]
combine.c (distribute_notes): Don't delete sets to global register variables.

2004-06-24  Eric Christopher  <echristo@redhat.com>

* combine.c (distribute_notes): Don't delete sets to
global register variables.

From-SVN: r83606

20 years agoi386.md (ffsdi2, clzdi2): New expanders.
Jakub Jelinek [Thu, 24 Jun 2004 17:54:13 +0000 (19:54 +0200)]
i386.md (ffsdi2, clzdi2): New expanders.

* config/i386/i386.md (ffsdi2, clzdi2): New expanders.
(ffs_rex64): New splitter.
(ffsdi_1, ctzdi2, bsr_rex64): New instructions.

From-SVN: r83604

20 years agodarwin7.h (MATH_LIBRARY): Remove.
Andrew Pinski [Thu, 24 Jun 2004 17:53:07 +0000 (17:53 +0000)]
darwin7.h (MATH_LIBRARY): Remove.

gcc/ChangeLog:
        * config/darwin7.h (MATH_LIBRARY): Remove.
        (LIB_SPEC): Define.
        * config/darwin.h (MATH_LIBRARY): Define always to empty.
        (LIB_SPEC): Only define if not already defined.

libstdc++/ChangeLog:
* linkage.m4: Remove check for libmx.
* configure: Regenerate.

libgfortran/ChangeLog:
* configure.ac: Remove check for libmx.
* configure: Regenerate.

From-SVN: r83603

20 years agojacks.xfail: Remove 15.9.1-qualified-concrete-20.
Bryce McKinlay [Thu, 24 Jun 2004 17:41:18 +0000 (17:41 +0000)]
jacks.xfail: Remove 15.9.1-qualified-concrete-20.

* testsuite/libjava.jacks/jacks.xfail: Remove
15.9.1-qualified-concrete-20.

From-SVN: r83602

20 years agoloop-iv.c (iv_analyze, [...]): Support for identifying shifts of induction variable.
Revital Eres [Thu, 24 Jun 2004 16:50:35 +0000 (16:50 +0000)]
loop-iv.c (iv_analyze, [...]): Support for identifying shifts of induction variable.

2004-06-24  Revital Eres  <eres@il.ibm.com>

* loop-iv.c (iv_analyze, simple_set_p): Support for identifying
shifts of induction variable.
(iv_shift): New function.

From-SVN: r83599

20 years ago* gimplify.c (gimplify_body): Watch for body vanishing.
Richard Henderson [Thu, 24 Jun 2004 16:25:17 +0000 (09:25 -0700)]
* gimplify.c (gimplify_body): Watch for body vanishing.

From-SVN: r83598

20 years agotree-ssa-dom.c (record_dominating_conditions): New function.
Jeff Law [Thu, 24 Jun 2004 15:59:52 +0000 (09:59 -0600)]
tree-ssa-dom.c (record_dominating_conditions): New function.

* tree-ssa-dom.c (record_dominating_conditions): New function.
(dom_opt_finalize_block, get_eq_expr_value): Use it.

* gcc.dg/tree-ssa/20040624-1.c: New test.

From-SVN: r83597

20 years agoparse.y (set_nested_class_simple_name_value): Removed.
Bryce McKinlay [Thu, 24 Jun 2004 15:56:54 +0000 (15:56 +0000)]
parse.y (set_nested_class_simple_name_value): Removed.

* parse.y (set_nested_class_simple_name_value): Removed.
(java_complete_expand_class): Remove calls to
set_nested_class_simple_name_value.

From-SVN: r83596

20 years agocalls.c (shift_returned_value): Fix handling of non-integer TYPE_MODEs.
Richard Sandiford [Thu, 24 Jun 2004 15:30:07 +0000 (15:30 +0000)]
calls.c (shift_returned_value): Fix handling of non-integer TYPE_MODEs.

* calls.c (shift_returned_value): Fix handling of non-integer
TYPE_MODEs.

From-SVN: r83595

20 years agoreformat, remove '^M's
Nathan Sidwell [Thu, 24 Jun 2004 15:05:35 +0000 (15:05 +0000)]
reformat, remove '^M's

From-SVN: r83594

20 years agoAdd a blank.
Richard Kenner [Thu, 24 Jun 2004 13:47:49 +0000 (09:47 -0400)]
Add a blank.

From-SVN: r83593

20 years agoc-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
Ulrich Weigand [Thu, 24 Jun 2004 12:09:44 +0000 (12:09 +0000)]
c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.

* c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
* system.h (DEFAULT_MAIN_RETURN): Poison.
* doc/tm.texi (DEFAULT_MAIN_RETURN): Remove documentation.

From-SVN: r83592

20 years ago* doc/cfg.texi (Edges): Fix typo.
Ben Elliston [Thu, 24 Jun 2004 11:43:34 +0000 (21:43 +1000)]
* doc/cfg.texi (Edges): Fix typo.

From-SVN: r83591

20 years ago* config/arm/arm.c (arm_output_epilogue): Remove excess checks.
Paul Brook [Thu, 24 Jun 2004 11:01:56 +0000 (11:01 +0000)]
* config/arm/arm.c (arm_output_epilogue): Remove excess checks.

From-SVN: r83589

20 years agotree-ssa.exp: Remove.
Giovanni Bajo [Thu, 24 Jun 2004 09:47:31 +0000 (09:47 +0000)]
tree-ssa.exp: Remove.

* g++.dg/tree-ssa/tree-ssa.exp: Remove. dg.exp already handles
this directory.

From-SVN: r83588

20 years ago* cp-tree.h (enum cp_storage_class): Remove trailing comma.
Andreas Schwab [Thu, 24 Jun 2004 09:34:23 +0000 (09:34 +0000)]
* cp-tree.h (enum cp_storage_class): Remove trailing comma.

From-SVN: r83587

20 years agore PR middle-end/15988 (ICE in fold_convert with pointer-to-member-function)
Andrew Pinski [Thu, 24 Jun 2004 06:51:56 +0000 (06:51 +0000)]
re PR middle-end/15988 (ICE in fold_convert with pointer-to-member-function)

2004-06-23  Andrew Pinski  <apinski@apple.com>

        PR middle-end/15988
        * fold-const.c (fold_convert): Types which are compatible
        can be converted with only a NOP_EXPR.

2004-06-23  Andrew Pinski  <apinski@apple.com>

        PR middle-end/15988
        * g++.dg/opt/ptrmem4.C: New test.

From-SVN: r83585

20 years agoMake-lang.in (cp/lex.o): Do not depend on cp/lex.h.
Mark Mitchell [Thu, 24 Jun 2004 06:48:44 +0000 (06:48 +0000)]
Make-lang.in (cp/lex.o): Do not depend on cp/lex.h.

* Make-lang.in (cp/lex.o): Do not depend on cp/lex.h.
(cp/decl.o): Likewise.
(cp/decl2.o): Likewise.
(cp/pt.o): Likewise.
(cp/semantics.o): Likewise.
* config-lang.in (gtfiles): Do not reference cp/lex.h.
* class.c: Do not include lex.h.
(add_implicitly_declared_members): Do not use
adding_implicit_members.
(check_bases_and_members): Do not talk about grok_x_components.
* cp/cp-tree.h (adding_implicit_members): Remove.
(cp_storage_class): New type.
(cp_decl_spec): Likewise.
(cp_decl_specifier_seq): Likewise.
(cp_parameter_declarator): Use it for the decl_specifiers field.
(check_tag_decl): Adjust prototype.
(shadow_tag): Likewise.
(groktypename): Likewise.
(start_decl): Likewise.
(start_function): Likewise.
(start_method): Likewise.
(grok_x_components): Remove.
(grokfield): Adjust prototype.
(grokbitfield): Likewise.
(finish_member_class_template): Remove.
* decl.c: Do not include lex.h.
(adding_implicit_members): Do not define.
(check_tag_decl): Do not use trees to represent decl-specifiers.
(shadow_tag): Likewise.
(groktypename): Likewise.
(start_decl): Likewise.
(grokvardecl): Likewise.
(grokdeclarator): Likewise.
(grokparms): Likewise.
(start_function): Likewise.
(start_method): Likewise.
* decl.h (grokdeclarator): Adjust prototype.
* decl2.c: Do not include lex.h.
(grok_x_components): Remove.
(grokfield): Do not use trees to represent decl-specifiers.
(grokbitfield): Likewise.
* lex.c: Do not include lex.h.
* lex.h: Remove.
* parser.c: Include target.h.
(clear_decl_specs): New function.
(cp_parser_translation_unit): Do not use trees to represent
decl-specifiers.
(cp_parser_postfix_expression): Likewise.
(cp_parser_new_type_id): Likewise.
(cp_parser_condition): Likewise.
(cp_parser_simple_declaration): Likewise.
(cp_parser_decl_specifier_seq): Likewise.
(cp_parser_function_specifier_opt): Likewise.
(cp_parser_conversion_type_id): Likewise.
(cp_parser_template_parameter): Likewise.
(cp_parser_explicit_instantiation): Likewise.
(cp_parser_type_specifier): Likewise.
(cp_parser_simple_type_specifier): Likewise.
(cp_parser_init_declarator): Likewise.
(cp_parser_type_id): Likewise.
(cp_parser_type_specifier_seq): Likewise.
(cp_parser_parameter_declaration): Likewise.
(cp_parser_member_declaration): Likewise.
(cp_parser_exception_declaration): Likewise.
(cp_parser_function_definition_from_specifiers_and_declarator):
Likewise.
(cp_parser_single_declaration): Likewise.
(cp_parser_save_member_function_body): Likewise.
(cp_parser_friend_p): Likewise.
(cp_parser_set_storage_class): New function.
(cp_parser_set_decl_spec_type): Likewise.
* pt.c: Do not include lex.h.
* semantics.c: Likewise.
(finish_member_class_template): Remove.

From-SVN: r83584

20 years agocalls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and pass raw n_named_args...
Alan Modra [Thu, 24 Jun 2004 06:10:35 +0000 (06:10 +0000)]
calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and pass raw n_named_args to it.

* calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
pass raw n_named_args to it.
* targhooks.c: Formatting.
(hook_bool_CUMULATIVE_ARGS_false): Correct comment.

From-SVN: r83583

20 years agoc-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside non-constant...
Richard Henderson [Thu, 24 Jun 2004 05:35:16 +0000 (22:35 -0700)]
c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside non-constant size check.

* c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside
non-constant size check.  Gimplify the type too.  Tidy building
BUILT_IN_STACK_ALLOC call

From-SVN: r83582

20 years agoc-common.c (expand_unordered_cmp): Delete.
Roger Sayle [Thu, 24 Jun 2004 05:26:07 +0000 (05:26 +0000)]
c-common.c (expand_unordered_cmp): Delete.

* c-common.c (expand_unordered_cmp): Delete.
(expand_tree_builtin): Delete.
* c-common.h (expand_tree_builtin): Delete function prototype.
* c-typeck.c (build_function_call): Don't call expand_tree_builtin.

* call.c (build_cxx_call): Don't call expand_tree_builtin.  No
longer take both "args" and "convert_args" as arguments.
(build_op_delete_call): Update call to build_cxx_call.
(build_over_call): Likewise, update call to build_cxx_call.
* cp-tree.h (build_cxx_call): Update funtion prototype.
* typeck.c (build_function_call): Don't call expand_tree_builtin.
* rtti.c (throw_bad_cast): Update call to build_cxx_call.
(throw_bad_typeid): Likewise.
(build_dynamic_cast_1): Likewise.

From-SVN: r83579

20 years agogimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or COMPONENT_REF variable...
Richard Henderson [Thu, 24 Jun 2004 05:21:27 +0000 (22:21 -0700)]
gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or COMPONENT_REF variable fields unless they're non-constant.

        * gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or
        COMPONENT_REF variable fields unless they're non-constant.

From-SVN: r83578

20 years agoPatch from Robert Millan.
Robert Millan [Thu, 24 Jun 2004 02:56:23 +0000 (02:56 +0000)]
Patch from Robert Millan.

* config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu.
* config/i386/linux.h: Allow overriding of LINK_EMULATION,
  DYNAMIC_LINKER and register names in sc_ structure.
* config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h.
* config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu.
* config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu.
* config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu.
* config/kfreebsdgnu.h: Remove.
* config/t-kfreebsd-gnu: Likewise.
* config/i386/kfreebsdgnu.h: Likewise.

From-SVN: r83577

20 years agofold-const.c (make_range): Cleanup type checking through function.
Eric Christopher [Thu, 24 Jun 2004 02:00:25 +0000 (02:00 +0000)]
fold-const.c (make_range): Cleanup type checking through function.

2004-06-23  Eric Christopher  <echristo@redhat.com>

* fold-const.c (make_range): Cleanup type checking through function.
Remove orig_type. Replace with checks to exp_type and arg0_type.
Clarify comment when converting from unsigned to signed.

From-SVN: r83576

20 years agomips.c (mips_use_dfa_pipeline_interface): Add R3000.
Eric Christopher [Thu, 24 Jun 2004 01:51:30 +0000 (01:51 +0000)]
mips.c (mips_use_dfa_pipeline_interface): Add R3000.

2004-06-23  Eric Christopher  <echristo@redhat.com>

* config/mips/mips.c (mips_use_dfa_pipeline_interface): Add R3000.
* config/mips/mips.md: Remove R3000 scheduling description.
* config/mips/3000.md: New file.

From-SVN: r83575

20 years agos390-protos.h (s390_emit_compare): Add prototype.
Ulrich Weigand [Thu, 24 Jun 2004 00:49:07 +0000 (00:49 +0000)]
s390-protos.h (s390_emit_compare): Add prototype.

* config/s390/s390-protos.h (s390_emit_compare): Add prototype.
(s390_emit_jump): Likewise.
* config/s390/s390.c (s390_emit_compare): New function.
(s390_emit_jump): Likewise.
* config/s390/s390.md ("beq", "bne", "bgt", "bgtu", "blt", "bltu",
"bge", "bgeu", "ble", "bleu", "bunordered", "bordered", "buneq",
"bungt", "bunlt", "bunge", "bunle", "bltgt"): Use s390_emit_compare
and s390_emit_jump.
("cjump"): Remove, replace by ...
("*cjump_64", "*cjump_31"): ... these insns.  Improve length default.
("icjump", "*icjump_64", "*icjump_31"): Likewise.
("trap"): Fix type attribute.
("conditional_trap"): Use s390_emit_compare.
("doloop_si"): Remove, replace by ...
("doloop_si64", "doloop_si31"): ... these new insn_and_split.
Merge existing splitter into insn_and_split.  Improve length default.
("doloop_di"): Merge with existing splitter into insn_and_split.
("doloop"): Adapt.
("jump"): Convert to expander.  Use s390_emit_jump.
("*jump_64", "*jump_31"): New insns.  Improve length default.

From-SVN: r83574

20 years agoDaily bump.
GCC Administrator [Thu, 24 Jun 2004 00:16:20 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83572.2

20 years agoDaily bump.
GCC Administrator [Thu, 24 Jun 2004 00:16:15 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83571.2

20 years agogthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
Wu Yongwei [Wed, 23 Jun 2004 23:57:27 +0000 (23:57 +0000)]
gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.

2004-06-23  Wu Yongwei  <adah@sh163.net>

* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
(__gthr_i486_lock_cmp_xchg): New inline assembly function.
(__GTHR_W32_InterlockedCompareExchange): New macro to choose a
suitable function for interlocked compare-and-exchange.
(__gthread_mutex_trylock): Use
__GTHR_W32_InterlockedCompareExchange.
(__gthread_mutex_init_function, __gthread_mutex_lock,
__gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
initial counter value to work correctly under Windows 95.
* config/i386/gthr-win32.c: Adjust include order.
Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
gthr-win32.h.
(__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
__gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
to match inline versions in gthr-win32.h.

From-SVN: r83569

20 years agors6000.c (rs6000_use_dfa_pipeline_interface): Delete.
David Edelsohn [Wed, 23 Jun 2004 21:19:00 +0000 (21:19 +0000)]
rs6000.c (rs6000_use_dfa_pipeline_interface): Delete.

* config/rs6000/rs6000.c (rs6000_use_dfa_pipeline_interface): Delete.
(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Redefine a hook_int_void_1.
(insvdi_rshift_rlwimi_p): New function.
* config/rs6000/rs6000.md (insvdi_internal2/3): New patterns.
(extendsfdf2): Convert to define_insn_and_split.
* config/rs6000/rs6000-protos.h (insvdi_rshift_rlwimi_p): Prototype.

From-SVN: r83568

20 years agoc-typeck.c (composite_type, [...]): Abort if we have type qualifiers at all.
Andrew Pinski [Wed, 23 Jun 2004 20:53:17 +0000 (20:53 +0000)]
c-typeck.c (composite_type, [...]): Abort if we have type qualifiers at all.

2004-06-23  Andrew Pinski  <apinski@apple.com>

        * c-typeck.c (composite_type, <case ARRAY_TYPE>): Abort if we have
        type qualifiers at all.
        If both of the type domains are null and the new element type is
        the same as one of the, return the one which the element type.
        matches.
        Do not call qualify_type on the new type.

2004-06-23  Andrew Pinski  <apinski@apple.com>

        * gcc.dg/c90-array-quals-2.c: New test.

From-SVN: r83567

20 years ago* config/s390/s390.h (DEFAULT_MAIN_RETURN): Remove.
Ulrich Weigand [Wed, 23 Jun 2004 20:44:54 +0000 (20:44 +0000)]
* config/s390/s390.h (DEFAULT_MAIN_RETURN): Remove.

From-SVN: r83566

20 years agoconvert.c (strip_float_extension): Skip both NOP_EXPR and CONVERT_EXPR floating point...
Roger Sayle [Wed, 23 Jun 2004 20:42:45 +0000 (20:42 +0000)]
convert.c (strip_float_extension): Skip both NOP_EXPR and CONVERT_EXPR floating point extensions.

* convert.c (strip_float_extension): Skip both NOP_EXPR and
CONVERT_EXPR floating point extensions.

From-SVN: r83565

20 years agoMakefile.in (tree-vn.o): New.
Diego Novillo [Wed, 23 Jun 2004 20:12:44 +0000 (20:12 +0000)]
Makefile.in (tree-vn.o): New.

* Makefile.in (tree-vn.o): New.
(tree-ssa-pre.o): Don't depend on RTL_H.
* tree-dfa.c (find_referenced_vars): Don't call init_tree_ssa.
* tree-flow.h (struct var_ann_d): Remove field expr_set.
(add_to_value, expressions_equal_p, get_value_handle, vn_compute,
vn_lookup_or_add, vn_add, vn_lookup, vn_init, vn_delete): Declare.
* tree-optimize.c (execute_init_datastructures): New local function.
(pass_init_datastructures): New local variable.
(init_tree_optimization_passes): Sequence pass_init_datastructures.
* tree-pretty-print.c (MASK_POINTER): Remove.
(dump_generic_node): Handle VALUE_HANDLE.
* tree-ssa-pre.c: Move all value numbering routines to tree-vn.c.
Update callers to use new function names.
Use VALUE_HANDLE_ID and VALUE_HANDLE_EXPR_SET instead of
variable annotations.
* tree-ssa.c (init_tree_ssa): Call vn_init.
(delete_tree_ssa): Call vn_delete.
* tree-vn.c: New file.
* tree.c (tree_size): Handle VALUE_HANDLE.
(tree_node_structure): Likewise.
(iterative_hash_expr): Likewise.
* tree.def (VALUE_HANDLE): New code.
* tree.h (struct tree_value_handle): New.
(VALUE_HANDLE_ID): Define.
(VALUE_HANDLE_EXPR_SET): Define.
(enum tree_node_structure_enum): Add TS_VALUE_HANDLE.
(union tree_node): Add struct tree_value_handle.

From-SVN: r83564

20 years ago* gcc.dg/kpice1.c: New test.
Nitin Yewale [Wed, 23 Jun 2004 19:58:01 +0000 (13:58 -0600)]
* gcc.dg/kpice1.c: New test.

From-SVN: r83563

20 years ago[multiple changes]
Andrew Pinski [Wed, 23 Jun 2004 17:05:45 +0000 (17:05 +0000)]
[multiple changes]

2004-06-23  Andrew Pinski  <apinski@apple.com>

        * c-typeck.c (composite_type):
        <case POINTER_TYPE>: Build a qualified type of
        the new type.
        <case ARRAY_TYPE>: Likewise.
        <case FUNCTION_TYPE>: Likewise.

2006-06-23  Andrew Pinski  <apinski@apple.com>

        * gcc.dg/c90-array-quals.c: New test.

From-SVN: r83557

20 years agore PR rtl-optimization/15633 (Failure to propagate FDO counters by vpt results in...
Pat Haugen [Wed, 23 Jun 2004 16:07:58 +0000 (16:07 +0000)]
re PR rtl-optimization/15633 (Failure to propagate FDO counters by vpt results in performance regression)

2004-06-23  Pat Haugen  <pthaugen@us.ibm.com>

        PR optimization/15633
        * value-prof.c (divmod_fixed_value_transform): Compute probability
        of taking optimal path and pass along to gen_ routine.
        (mod_pow2_value_transform): Same.
        (mod_subtract_transform): Same.
        (gen_divmod_fixed_value): Add new probability parameter.
        Add probability to newly created jump.
        (gen_mod_pow2): Same.
        (gen_mod_subtract): Same.

From-SVN: r83555

20 years agore PR libstdc++/16154 (input iterator concept too restrictive)
Paolo Carlini [Wed, 23 Jun 2004 16:03:52 +0000 (16:03 +0000)]
re PR libstdc++/16154 (input iterator concept too restrictive)

2004-06-23  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/16154
* include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
Don't require the _DefaultConstructibleConcept.
(struct _ForwardIteratorConcept): Require it here.

From-SVN: r83554

20 years agore PR target/15948 (THUMB: ICE with non-commutative cbranch)
Richard Earnshaw [Wed, 23 Jun 2004 11:39:32 +0000 (11:39 +0000)]
re PR target/15948 (THUMB: ICE with non-commutative cbranch)

* PR target/15948
* arm.md (bicsi3_cbranch): Add alternative to handle tying operands
one and two.

From-SVN: r83549

20 years agore PR target/15927 (THUMB -O2: strength-reduced iteration variable ends up off by 1)
Richard Earnshaw [Wed, 23 Jun 2004 10:39:50 +0000 (10:39 +0000)]
re PR target/15927 (THUMB -O2: strength-reduced iteration variable ends up off by 1)

PR target/15927
* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
reload if CLASS is BASE_REGS.

From-SVN: r83548

20 years agoMakefile.tpl (HOST_EXPORTS): Fix pasto.
Paolo Bonzini [Wed, 23 Jun 2004 09:10:36 +0000 (09:10 +0000)]
Makefile.tpl (HOST_EXPORTS): Fix pasto.

2004-06-22  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.tpl (HOST_EXPORTS): Fix pasto.
* Makefile.in: Regenerate.

From-SVN: r83547

20 years agogengtype-yacc.y (option): Avoid use of non-constant struct initializer.
Richard Sandiford [Wed, 23 Jun 2004 09:08:21 +0000 (09:08 +0000)]
gengtype-yacc.y (option): Avoid use of non-constant struct initializer.

* gengtype-yacc.y (option): Avoid use of non-constant struct
initializer.

From-SVN: r83546

20 years agoremove stray conflict marker
Nathan Sidwell [Wed, 23 Jun 2004 08:43:25 +0000 (08:43 +0000)]
remove stray conflict marker

From-SVN: r83544

20 years ago* doc/extend.texi (Function Attributes): Alphabetize.
Nathan Sidwell [Wed, 23 Jun 2004 08:41:55 +0000 (08:41 +0000)]
* doc/extend.texi (Function Attributes): Alphabetize.

From-SVN: r83543

20 years agoMakefile.tpl (configure-build-[+module+], [...]): Pass [+extra_configure_args+].
Paolo Bonzini [Wed, 23 Jun 2004 08:36:05 +0000 (08:36 +0000)]
Makefile.tpl (configure-build-[+module+], [...]): Pass [+extra_configure_args+].

2004-06-22  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.tpl (configure-build-[+module+],
configure-[+module+], configure-target-[+module+]): Pass
[+extra_configure_args+].
(all-build-[+module+], all-[+module+], check-[+module+],
install-[+module+], [+make_target+]-[+module+],
all-target-[+module+], check-target-[+module+],
install-target-[+module+], [+make_target+]-target-[+module+]):
Pass [+extra_make_args+].
(HOST_EXPORTS): Include the former GCC_HOST_EXPORTS.
(GCC_HOST_EXPORTS): Remove.
(configure-gcc, all-gcc, GCC_STRAP_TARGETS, profiledbootstrap,
cross, check-gcc, check-gcc-c++, install-gcc,
gcc-no-fixedincludes, [+make_target+]-gcc, stage[+id+]-bubble):
Replace GCC_HOST_EXPORTS with HOST_EXPORTS.
* Makefile.in: Regenerate.

From-SVN: r83542

20 years agoc-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call.
Richard Henderson [Wed, 23 Jun 2004 07:43:21 +0000 (00:43 -0700)]
c-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call.

        * c-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call.
        Use gimplify_and_add.
        * c-typeck.c (c_finish_if_stmt): Use NULL instead of empty stmt.
        * gimplify.c (build_and_jump, gimplify_exit_expr,
        gimplify_init_constructor, gimplify_save_expr, gimple_push_cleanup,
        gimplify_stmt, gimplify_expr): Likewise.
        (shortcut_cond_expr): Handle NULL arms of COND_EXPR.
        (gimplify_statement_list): Remove NULL entries.
        (gimplify_to_stmt_list): Handle NULL results.
        (gimplify_type_sizes): Add list_p argument.
        (gimplify_one_sizepos): Don't use internal pre/post queue.
        * tree-gimple.h (gimplify_type_sizes): Update.
ada/
        * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.

From-SVN: r83539

20 years agors6000.md (*insvsi_internal5/6): New patterns.
Eric Christopher [Wed, 23 Jun 2004 05:54:21 +0000 (05:54 +0000)]
rs6000.md (*insvsi_internal5/6): New patterns.

2004-06-22  Eric Christopher  <echristo@redhat.com>

* config/rs6000/rs6000.md (*insvsi_internal5/6): New patterns.

From-SVN: r83538

20 years agocfghooks.c (make_forwarder_block): Decrement count on fallthru edge when redirecting...
Pat Haugen [Wed, 23 Jun 2004 04:09:46 +0000 (04:09 +0000)]
cfghooks.c (make_forwarder_block): Decrement count on fallthru edge when redirecting back edges.

       * cfghooks.c (make_forwarder_block): Decrement count on fallthru edge
        when redirecting back edges.

        * cfghooks.c (split_block): Call make_single_succ_edge so that edge
        count/probability are set correctly.

From-SVN: r83537

20 years ago* gcc.dg/noreturn-1.c (foo5): Update function does return lineno.
Richard Henderson [Wed, 23 Jun 2004 02:51:06 +0000 (19:51 -0700)]
* gcc.dg/noreturn-1.c (foo5): Update function does return lineno.

From-SVN: r83535

20 years agoc-typeck.c (emit_side_effect_warnings): Ignore error marks.
Richard Henderson [Wed, 23 Jun 2004 02:33:25 +0000 (19:33 -0700)]
c-typeck.c (emit_side_effect_warnings): Ignore error marks.

        * c-typeck.c (emit_side_effect_warnings): Ignore error marks.
        (c_finish_stmt_expr): Likewise.

From-SVN: r83534

20 years agoi386.c (TARGET_STRUCT_VALUE_RTX): New.
Richard Henderson [Wed, 23 Jun 2004 02:27:22 +0000 (19:27 -0700)]
i386.c (TARGET_STRUCT_VALUE_RTX): New.

        * config/i386/i386.c (TARGET_STRUCT_VALUE_RTX): New.
        (ix86_return_in_memory): Move SSE vector return warning ...
        (ix86_struct_value_rtx): ... here.  New.

From-SVN: r83533

20 years ago* gcc.dg/builtins-config.h: Handle FreeBSD.
Loren J. Rittle [Wed, 23 Jun 2004 02:25:06 +0000 (02:25 +0000)]
* gcc.dg/builtins-config.h: Handle FreeBSD.

From-SVN: r83532

20 years agotree.def (VTABLE_REF): Remove.
Richard Henderson [Wed, 23 Jun 2004 00:26:04 +0000 (17:26 -0700)]
tree.def (VTABLE_REF): Remove.

        * tree.def (VTABLE_REF): Remove.
        (OBJ_TYPE_REF): New.
        (TRY_CATCH_EXPR, TRY_FINALLY_EXPR): Set type 's'.
        * expr.c (expand_expr_real_1): Replace VTABLE_REF with OBJ_TYPE_REF.
        * fold-const.c (non_lvalue): Likewise.
        * gimplify.c (gimplify_expr): Likewise.
        (gimplify_call_expr): Use is_gimple_call_addr.
        * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New.
        * langhooks.h (fold_obj_type_ref): New.
        * tree-gimple.c (is_gimple_call_addr): New.
        * tree-gimple.h (is_gimple_call_addr): Declare.
        * tree-inline.c (inlinable_function_p): Fix merge error.
        (estimate_num_insns_1): Replace VTABLE_REF with OBJ_TYPE_REF.
        * tree-pretty-print.c (dump_generic_node): Likewise.
        (print_call_name): Handle OBJ_TYPE_REF.
        * tree-ssa-ccp.c (fold_stmt): Fold OBJ_TYPE_REF.
        * tree-ssa-operands.c (get_expr_operands): Handle OBJ_TYPE_REF.
        * tree.h (OBJ_TYPE_REF_EXPR): New.
        (OBJ_TYPE_REF_OBJECT, OBJ_TYPE_REF_TOKEN): New.
        * doc/c-tree.texi (VTABLE_REF): Remove.
        * objc/objc-act.c (build_objc_method_call): Build an OBJ_TYPE_REF.
cp/
        * class.c (build_vfn_ref): Take a pointer not object.  Build
        an OBJ_TYPE_REF.
        (cp_fold_obj_type_ref): New.
        * call.c (build_over_call): Update build_vfn_ref call.
        * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New.
        * cp-tree.h (cp_fold_obj_type_ref): Declare.
testsuite/
        * g++.dg/opt/devirt1.C: New.

From-SVN: r83531

20 years agoDaily bump.
GCC Administrator [Wed, 23 Jun 2004 00:16:16 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83529.2

20 years agoDaily bump.
GCC Administrator [Wed, 23 Jun 2004 00:16:10 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83527.2

20 years agore PR middle-end/16026 (ICE in function.c:4804, assign_parms, when -mpowerpc64 &...
Richard Henderson [Tue, 22 Jun 2004 23:54:46 +0000 (16:54 -0700)]
re PR middle-end/16026 (ICE in function.c:4804, assign_parms, when -mpowerpc64 & half-word operation)

        PR middle-end/16026
        * function.c (assign_parms): Don't abort for overaligned PARALLEL.

From-SVN: r83525

20 years ago* Makefile.in (distclean): Don't try to remove empty directories.
Joseph Myers [Tue, 22 Jun 2004 22:27:16 +0000 (23:27 +0100)]
* Makefile.in (distclean): Don't try to remove empty directories.

From-SVN: r83523

20 years agoistream.tcc (getline): Make sure arguments passed to min/max have the same type.
Alexandre Oliva [Tue, 22 Jun 2004 22:22:14 +0000 (22:22 +0000)]
istream.tcc (getline): Make sure arguments passed to min/max have the same type.

* include/bits/istream.tcc (getline): Make sure arguments passed
to min/max have the same type.
* include/bits/locale_facets.tcc (__verify_grouping): Likewise.
* include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.

From-SVN: r83522

20 years agofix
Jason Merrill [Tue, 22 Jun 2004 21:45:54 +0000 (17:45 -0400)]
fix

From-SVN: r83517

20 years agore PR target/15869 (No NOP after LW (with -mips1 -O0))
Richard Sandiford [Tue, 22 Jun 2004 21:28:05 +0000 (21:28 +0000)]
re PR target/15869 (No NOP after LW (with -mips1 -O0))

PR target/15869
* config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.

From-SVN: r83516

20 years agopr15551.C: New testcase.
Kelley Cook [Tue, 22 Jun 2004 21:17:16 +0000 (21:17 +0000)]
pr15551.C: New testcase.

2004-06-22 Kelley Cook <kcook@gcc.gnu.org>

* g++.dg/opt/pr15551.C: New testcase.

From-SVN: r83515

20 years agore PR c++/16112 (ICE with statement expression in return statement)
Jason Merrill [Tue, 22 Jun 2004 21:15:29 +0000 (17:15 -0400)]
re PR c++/16112 (ICE with statement expression in return statement)

        PR c++/16112
        * cp-gimplify.c (cp_gimplify_init_expr): Look through
        CLEANUP_POINT_EXPR.

From-SVN: r83514

20 years agore PR target/14800 (Some x86 tests aren't valid for x86_64)
H.J. Lu [Tue, 22 Jun 2004 19:52:33 +0000 (19:52 +0000)]
re PR target/14800 (Some x86 tests aren't valid for x86_64)

2004-06-22  H.J. Lu  <hongjiu.lu@intel.com>

PR target/14800
* gcc.misc-tests/linkage.exp: Set native_cflags to "-m32" for
x86_64-*-linux* when compiling for 32bit.

From-SVN: r83513

20 years agoBytesToUnicode.java (getDecoder): Pass original encoding name to iconv.
Bryce McKinlay [Tue, 22 Jun 2004 19:24:32 +0000 (19:24 +0000)]
BytesToUnicode.java (getDecoder): Pass original encoding name to iconv.

* gnu/gcj/convert/BytesToUnicode.java (getDecoder): Pass original
encoding name to iconv.
* gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Likewise.

From-SVN: r83512

20 years agoTestcases for my rs6000-specific change of this date.
Dale Johannesen [Tue, 22 Jun 2004 19:11:43 +0000 (19:11 +0000)]
Testcases for my rs6000-specific change of this date.

From-SVN: r83511

20 years agomn10300.md (movdi, movdf): Use high/low for movu operands.
Alexandre Oliva [Tue, 22 Jun 2004 18:38:00 +0000 (18:38 +0000)]
mn10300.md (movdi, movdf): Use high/low for movu operands.

* config/mn10300/mn10300.md (movdi, movdf): Use high/low for movu
operands.

From-SVN: r83510

20 years agore PR java/16113 (ICE: Segmentation fault when compiling bytecode with debugging...
Andrew Haley [Tue, 22 Jun 2004 18:22:43 +0000 (18:22 +0000)]
re PR java/16113 (ICE: Segmentation fault when compiling bytecode with debugging info and try/catch)

Fixes PR java/16113.
* decl.c (force_poplevels): Remove call to expand_end_bindings.

Co-Authored-By: Ranjit Mathew <rmathew@hotmail.com>
From-SVN: r83509

20 years agoparse.y (create_class): Correct diagnostic message about java.lang.Object extending...
Ranjit Mathew [Tue, 22 Jun 2004 18:17:12 +0000 (18:17 +0000)]
parse.y (create_class): Correct diagnostic message about java.lang.Object extending anything else.

* parse.y (create_class): Correct diagnostic message about
java.lang.Object extending anything else.

From-SVN: r83507

20 years agors6000.c (legitimate_offset_address_p): Make global, rename rs6000_legitimate_offset_...
Dale Johannesen [Tue, 22 Jun 2004 18:12:37 +0000 (18:12 +0000)]
rs6000.c (legitimate_offset_address_p): Make global, rename rs6000_legitimate_offset_address_p.

2004-06-22  Dale Johannesen  <dalej@apple.com>

* config/rs6000/rs6000.c (legitimate_offset_address_p): Make
global, rename rs6000_legitimate_offset_address_p.
(rs6000_legitimate_address_p): Adjust calls to it.
(lmw_operation): Ditto.
(stmw_operation): Ditto.
* config/rs6000/rs6000-protos.h: Declare it.
* config/rs6000/rs6000.md (*movdf_hardfloat32): Use it
instead of offsettable_memref_p.

2004-06-22  Dale Johannesen  <dalej@apple.com>

* config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
[reg+reg] mode for TFmode memory accesses.
(rs6000_eliminate_indexed_memrefs): New.
(rs6000_emit_move): Call preceding for TImode and TFmode.

From-SVN: r83504

20 years agoFix ChangeLog entry.
Bryce McKinlay [Tue, 22 Jun 2004 17:23:13 +0000 (18:23 +0100)]
Fix ChangeLog entry.

From-SVN: r83502

20 years agore PR libgcj/16134 (Memory leak in String.getBytes())
Bryce McKinlay [Tue, 22 Jun 2004 17:21:23 +0000 (17:21 +0000)]
re PR libgcj/16134 (Memory leak in String.getBytes())

PR libgcj/16134:
* gnu/gcj/convert/BytesToUnicode.java: Canonicalize encoding name
before cache lookup. Thanks to Hannes Wallnoefer.
* gnu/gcj/convert/UnicodeToBytes.java: Likewise.

From-SVN: r83501

20 years agoabi.html: Update links.
Benjamin Kosnik [Tue, 22 Jun 2004 16:01:02 +0000 (16:01 +0000)]
abi.html: Update links.

2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>

* docs/html/abi.html: Update links.

From-SVN: r83498

20 years agocomplex_inserters_extractors.cc, [...]: Move to...
Paolo Carlini [Tue, 22 Jun 2004 10:52:14 +0000 (10:52 +0000)]
complex_inserters_extractors.cc, [...]: Move to...

2004-06-22  Paolo Carlini  <pcarlini@suse.de>

* testsuite/26_numerics/complex_inserters_extractors.cc,
complex_value.cc, buggy_complex.cc: Move to...
* testsuite/26_numerics/complex/: ... here.
* testsuite/26_numerics/c99_classification_macros_c++.cc,
c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
fabs_inline.cc: Move to...
* testsuite/26_numerics/cmath/: ... here.
* testsuite/26_numerics/binary_closure.cc, slice.cc,
slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
valarray_name_lookup.cc, valarray_operators.cc,
valarray_subset_assignment.cc: Move to...
* testsuite/26_numerics/valarray/: ... here (new dir).
* testsuite/26_numerics/sum_diff.cc: Move to...
* testsuite/26_numerics/numeric/: ... here (new dir).

From-SVN: r83489

20 years agotree-cfg.c (pass_warn_function_return): It needs CFG, not SSA.
Paolo Bonzini [Tue, 22 Jun 2004 10:06:49 +0000 (10:06 +0000)]
tree-cfg.c (pass_warn_function_return): It needs CFG, not SSA.

2004-06-22  Paolo Bonzini  <bonzini@gnu.org>

* tree-cfg.c (pass_warn_function_return): It needs
CFG, not SSA.

From-SVN: r83487

20 years agostd_istream.h (ignore(streamsize __n = 1, int_type __delim = traits_type::eof())...
Paolo Carlini [Tue, 22 Jun 2004 10:06:39 +0000 (10:06 +0000)]
std_istream.h (ignore(streamsize __n = 1, int_type __delim = traits_type::eof())): Split into...

2004-06-22  Paolo Carlini  <pcarlini@suse.de>

* include/std/std_istream.h (ignore(streamsize __n = 1,
int_type __delim = traits_type::eof())): Split into...
(ignore(), ignore(streamsize __n), ignore(streamsize __n,
int_type __delim)): The first two can be much more simpler
and efficient than the fully general case; also, the last
two can take advantage of the same mechanism already used
for getline.
* include/bits/istream.tcc (ignore(streamsize __n = 1,
int_type __delim = traits_type::eof()): Remove.
(ignore(), ignore(streamsize __n), ignore(streamsize __n,
int_type __delim)): New.

From-SVN: r83486

20 years agoinvoke.texi (Machine Dependent Options): Alphabetize.
Nathan Sidwell [Tue, 22 Jun 2004 08:32:31 +0000 (08:32 +0000)]
invoke.texi (Machine Dependent Options): Alphabetize.

* doc/invoke.texi (Machine Dependent Options): Alphabetize.
(Submodel Options): Likewise.

From-SVN: r83485

20 years agoRadar #: 3701874
Andrew Pinski [Tue, 22 Jun 2004 07:23:25 +0000 (07:23 +0000)]
Radar #: 3701874

2004-06-21  Andrew Pinski  <apinski@apple.com>

        Radar #: 3701874
        * c-decl.c (push_file_scope): Return early if we already
        have a file scope.

2004-06-21  Andrew Pinski  <apinski@apple.com>

        * gcc.dg/pch/struct-1.c: New.
        * gcc.dg/pch/struct-1.hs: New.

From-SVN: r83483

20 years agocp-tree.def (NEW_EXPR): Add a fourth slot.
Mark Mitchell [Tue, 22 Jun 2004 07:18:38 +0000 (07:18 +0000)]
cp-tree.def (NEW_EXPR): Add a fourth slot.

* cp-tree.def (NEW_EXPR): Add a fourth slot.
* cp-tree.h (PARMLIST_ELLIPSIS_P): Remove.
(TREE_PARMLIST): Likewise.
(CALL_DECLARATOR_PARMS): Likewise.
(CALL_DECLARATOR_QUALS): Likewise.
(CALL_DECLARATOR_EXCEPTION_SPEC): Likewise.
(cp_declarator_kind): New type.
(cp_parameter_declarator): Likewise.
(cp_declarator): Likewise.
(cp_error_declarator): Likewise.
(no_parameters): Likewise.
(groktypename): Change prototype.
(start_decl): Likewise.
(start_handler_parms): Likewise.
(get_scope_of_declarator): Likewise.
(start_function): Likewise.
(start_preparsed_function): New function.
(start_function): Change prototype.
(start_method): Likewise.
(grokfield): Likewise.
(grokbitfield): Likewise.
(build_new): Likewise.
(make_pointer_declarator): Remove.
(make_reference_declarator): Likewise.
(make_call_declarator): Likewise.
(set_quals_and_spec): Likewise.
(process_template_parm): Change prototype.
(begin_function_definition): Remove.
(finish_parmlist): Remove.
* decl.c (groktypename): Do not use trees to represent
declarators.
(start_decl): Likewise.
(start_handler_parms): Remove.
(get_scope_of_declarator): Reimplement.
(grokdeclarator): Do not use trees to represent declarators.
(grokparms): Likewise.
(start_function): Likewise.
(start_method): Likewise.
(build_void_list_mode): Do not use TREE_PARMLIST.
* decl.h (grokdeclarator): Change prototype.
* decl2.c (grok_method_quals): Robustify.
(grok_x_components): Do not use trees to represent declarators.
(grokfield): Likewise.
(grokbitfield): Likewise.
(start_objects): Build FUNCTION_DECLs, not declarators.
(start_static_storage_duration_function): Likewise.
* init.c (build_new): Simplify.
* lex.c (make_pointer_declarator): Remove.
(make_reference_declarator): Likewise.
(make_call_declarator): Likewise.
(set_quals_and_spec): Likewise.
* method.c (use_thunk): Use start_preparsed_function.
(synthesize_method): Likewise.
(implicitly_declare_fn): Build FUNCTION_DECLs, not declarators.
* optimize.c (maybe_clone_body): Use start_preparsed_function.
* parser.c (cp_error_declarator): New variable.
(declarator_obstack): Likewise.
(alloc_declarator): New function.
(make_declarator): Likewise.
(make_id_declarator): Likewise.
(make_pointer_declarator): Likewise.
(make_reference_declarator): Likewise.
(make_ptrmem_declarator): Likewise.
(make_call_declarator): Likewise.
(make_array_declarator): Likewise.
(no_parameters): New variable.
(make_parameter_declarator): Likewise.
(cp_parser_check_for_definition_in_return_type): Do not use trees
to represent declarators.
(cp_parser_translation_unit): Likewise.
(cp_parser_new_expression): Likewise.
(cp_parser_new_type_id): Likewise.
(cp_parser_new_declarator_opt): Likewise.
(cp_parser_direct_new_declarator): Likewise.
(cp_parser_condition): Likewise.
(cp_parser_declaration_statement): Likewise.
(cp_parser_declaration): Likewise.
(cp_parser_conversion_type_id): Likewise.
(cp_parser_conversion_declarator_opt): Likewise.
(cp_parser_template_parameter_list): Likewise.
(cp_parser_template_parameter): Likewise.
(cp_parser_explicit_instantiation): Likewise.
(cp_parser_init_declarator): Likewise.
(cp_parser_declarator): Likewise.
(cp_parser_direct_declarator): Likewise.
(cp_parser_type_id): Likewise.
(cp_parser_parameter_declaration_clause): Likewise.
(cp_parser_parameter_declaration_list): Likewise.
(cp_parser_parameter_declaration): Likewise.
(cp_parser_member_declaration): Likewise.
(cp_parser_exception_declaration): Likewise.
(cp_parser_check_declarator_template_parameters): Likewise.
(cp_parser_function_definition_from_specifiers_and_declarator):
Likewise.
(cp_parser_save_member_function_body): Likewise.
* pt.c (process_template_parm): Add is_non_type parameter.
(convert_template_argument): Adjust call to groktypename.
(tsubst_call_declarator_parms): Remove use of TREE_PARMLIST.
(tsubst): Do not expect declarators.
(tsubst_copy_and_build): Adjust NEW_EXPR case to handle additional
argument.
(instantiate_decl): Use start_preparsed_function.
* semantics.c (begin_function_definition): Remove.
(finish_parmlist): Remove.
* cp-mudflap.c (mflang_flush_calls): Build FUNCTION_DECLs, not
declarators.

From-SVN: r83482

20 years agoc-opts.c (c_common_handle_option): Handle -fpch-preprocess.
Geoffrey Keating [Tue, 22 Jun 2004 06:51:56 +0000 (06:51 +0000)]
c-opts.c (c_common_handle_option): Handle -fpch-preprocess.

2004-06-21  Geoffrey Keating  <geoffk@apple.com>

* c-opts.c (c_common_handle_option): Handle -fpch-preprocess.
* c-common.h (flag_pch_preprocess): Declare.
(c_common_pch_pragma): Likewise.
* c-common.c (flag_pch_preprocess): New.
* c-pch.c (c_common_read_pch): Support -fpreprocess-only.
(c_common_pch_pragma): New.
* c-ppoutput.c (cb_read_pch): New.
(init_pp_output): Support -fpch-preprocess.
* c-pragma.c (init_pragma): Support #pragma GNUC pch_preprocess.
* c.opt (fpch-preprocess): New.
* gcc.c (cpp_options): When save-temps, pass -fpch-preprocess.
* doc/cppopts.texi: Document -fpch-preprocess.
* doc/invoke.texi (Precompiled Headers): Mention that
-fpreprocessed is safe for PCH.  Mention that if an option is
listed as safe that doesn't mean it does what you expect.

Index: gcc/testsuite/ChangeLog
2004-06-21  Geoffrey Keating  <geoffk@apple.com>

* gcc.dg/pch/save-temps-1.c: New file.
* gcc.dg/pch/save-temps-1.hs: New file.

Index: libcpp/ChangeLog
2004-06-21  Geoffrey Keating  <geoffk@apple.com>

* files.c (should_stack_file): Correct swapped parameters to call
to cb.read_pch.
* pch.c (cpp_valid_state): Handle -fpreprocessed.

From-SVN: r83478

20 years ago* tree-ssa.c (ssa_redirect_edge): Correct leading comment.
Ben Elliston [Tue, 22 Jun 2004 06:08:37 +0000 (06:08 +0000)]
* tree-ssa.c (ssa_redirect_edge): Correct leading comment.

From-SVN: r83477

20 years agoMAINTAINERS: Added self to write-after-approval.
Matthew Sachs [Tue, 22 Jun 2004 04:13:32 +0000 (04:13 +0000)]
MAINTAINERS: Added self to write-after-approval.

From-SVN: r83476

20 years ago* Makefile.in (gimplify.o): Add cgraph.h.
Richard Kenner [Tue, 22 Jun 2004 03:18:15 +0000 (03:18 +0000)]
* Makefile.in (gimplify.o): Add cgraph.h.

From-SVN: r83475

20 years agoalias.c (adjust_offset_for_component_ref): Use component_ref_field_offset.
Richard Kenner [Tue, 22 Jun 2004 03:07:05 +0000 (03:07 +0000)]
alias.c (adjust_offset_for_component_ref): Use component_ref_field_offset.

* alias.c (adjust_offset_for_component_ref): Use
component_ref_field_offset.
* c-decl.c (build_array_declarator): Add news args for ARRAY_REF.
* c-gimplify.c (gimplify_expr_stmt): Use alloc_stmt_list.
(gimplify_decl_stmt): Call gimplify_type_sizes for type.
For decl, call gimplify_one_sizepos and use statement list.
(gimplify_compound_literal_expr): New arg PRE_P.
Add statement to PRE_P list and return DECL.
(c_gimplify_expr, case COMPOUND_LITERAL_EXPR): Add arg to
gimplify_compound_literal_expr.
* c-tree.h (getdecls): Deleted.
* c-typeck.c (build_component_ref): Add operand for COMPONENT_REF.
(build_array_ref): Add two operands for ARRAY_REF.
(build_unary_op): Set TREE_INVARIANT and TREE_CONSTANT for
COMPOUND_LITERAL_EXPR.
* coverage.c (tree_coverage_counter_ref): Add new operands
for ARRAY_REF.
* emit-rtl.c (component_ref_for_mem_expr): Add new operand
for COMPONENT_REF.
(set_mem_attributes_minus_bitpos): Use array_ref_low_bound
and array_ref_element_size.
(widen_memory_access):Use component_ref_field_offset.
* explow.c (update_nonlocal_goto_save_area): Add two operands
for ARRAY_REF.
* expr.c (array_ref_element_size, array_ref_low_bound): New functions.
(component_ref_field_offset): Likewise.
(get_inner_reference): Use them.
(expand_expr_real_1, case ARRAY_REF): Use array_ref_low_bound.
* fold-const.c (fold, case EQ_EXPR): Properly handle DECL_SIZE.
(fold_read_from_constant_string): Use array_ref_low_bound.
Verify that result is a character type.
(build_fold_indirect_ref): Add two operands for ARRAY_REF.
* function.c (expand_function_start): Likewise.
* gimple-low.c (expand_var_p): Delete duplicated line.
* gimplify.c: Add static decls for local functions.
(cgraph.h): Now included.
(create_tmp_var): Remove check for ARRAY_TYPE.
(copy_if_shared_r): Look at bounds and sizes of types.
(build_and_jump): Return alloc_stmt_list instead of build_empty_stmt.
(gimplify_exit_expr, shortcut_cond_expr): Likewise.
(gimplify_save_expr, gimple_push_cleanup): Likewise.
(gimplify_init_constructor): Likewise.
WANT_VALUE now bool.
If empty list with no result wanted, return GS_UNHANDLED.
Add additional operands for ARRAY_REF and COMPONENT_REF.
(canonicalize_component_ref): Convert to &array[L].
(gimplify_array_ref_to_plus): Use array_ref_element_size and
array_ref_lower_bound.
(build_addr_expr_with_type, build_addr_expr): New functions.
(gimplify_compound_lval): WANT_LVALUE now bool.
Major rework to allow handle_component_p and initialize and
gimplify new operands for ARRAY_REF, ARRAY_RANGE_REF, and
COMPONENT_REF.
(gimplify_array_ref): Deleted.
(gimplify_self_mod_expr): WANT_VALUE now bool.
(gimplify_modify_expr): Gimplify to_p and from_p later.
Factor out code into gimplify_modify_expr_rhs and call twice.
Move variable-size code earlier and handle PLACEHOLDER_EXPR.
(gimplify_modify_expr_rhs, gimplify_variable_sized_compare): New fns.
(gimplify_addr_expr, case VIEW_CONVERT_EXPR): New case.
(gimplify_expr, case ARRAY_REF): Delete special case.
Instead handle like COMPONENT_REF; also do ARRAY_RANGE_REF,
IMAGPART, and REALPART the same way.
(gimplify_expr, case VIEW_CONVERT_EXPR): New case.
(gimplify_expr): Call gimplify_variable_sized_compare if applicable.
Call alloc_stmt_list instead of build_empty_stmt.
Deal with _REF that's volatile.
(gimplify_type_sizes, gimplify_one_sizepos): New functions.
(unshare_body, unvisit_body): New functions.
(gimplify_body): Call them.
* stmt.c (expand_stack_alloc): Don't expand TYPE_MAX_VALUE.
* stor-layout.c (get_pending_sizes): Don't change SAVE_EXPR_CONTEXT.
* tree-alias-common.c (get_alias_var): Also skip ARRAY_RANGE_REF.
* tree-cfg.c (tree_node_can_be_shared): Treat ARRAY_RANGE_REF
like ARRAY_REF.
(verify_expr, case ADDR_EXPR): Use handled_component_p.
* tree-dfa.c (get_virtual_var): Likewise.
* tree-dump.c (dequeue_and_dump, case COMPONENT_REF, ARRAY_REF):
New cases to dump new operands; likewise for ARRAY_RANGE_REF.
* tree-eh.c (tree_could_trap, case ARRAY_RANGE_REF): Like ARRAY_REF.
* tree-gimple.c (is_gimple_addr_expr_arg): Add ARRAY_RANGE_REF
and INDIRECT_REF.
(get_base_address): Use handled_component_p.
* tree-gimple.h (gimplify_type_sizes, gimplify_one_sizepos): New.
* tree-line.c (walk_tree): Walk more things for types and decls.
* tree-mudflap.c (mf_build_check_statement_for): Add new operands
for ARRAY_REF and COMPONENT_REF.
(mx_xform_derefs_1): Clean up usage of decl sizes.
* tree-nested.c (build_addr): Use handled_component_p.
(walk_stmts, case CATCH_EXPR): Add missing "break".
(get_static_chain, get_frame_field): Add new operand for COMPONENT_REF.
(finalize_nesting_tree_1): Likewise.
(convert_nonlocal_reference, case ARRAY_RANGE_REF): Like ARRAY_REF
and process additional operands.
(convert_local_reference): Likewise.
* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Treat
ARRAY_RANGE_REF similarly to ARRAY_REF.
* tree-pretty-print.c (dump_generic_node, case QUAL_UNION_TYPE): Handle
like RECORD_TYPE.
(dump_generic_node, case COMPONENT_REF): Print offset operand.
(dump_generic_node, case ARRAY_RANGE_REF): Treat like ARRAY_REF
and print lower bound and element size for both.
(op_prio, case ARRAY_RANGE_REF): Like ARRAY_REF.
* tree-sra.c (csc_build_component_ref): Add new operand.
(scalarize_call_expr): Use get_base_address.
* tree-ssa-ccp.c (widen_bitfield): Clean up size handling.
(maybe_fold_offset_to_array_ref): Rework to handle input having an
ARRAY_REF, refine handling of lower bound, and add new operands
for ARRAY_REF.
(maybe_fold_to_component_ref): Add new operand for COMPONENT_REF.
(maybe_fold_stmt_indirect): Only fold *&B to B if types match.
(maybe_fold_stmt_addition): Only handle constant lower bound.
* tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
Treat ARRAY_REF and ARRAY_RANGE_REF the same; look at extra operands.
Look at new offset operand of COMPONENT_REF.
* tree-ssa.c (set_is_used): Use handled_component_p.
* tree.c (substitute_in_expr, case COMPONENT_REF): Add new operand.
(stabilize_reference, case COMPONENT_REF): Likewise.
(stabilize_reference, case ARRAY_RANGE_REF, ARRAY_REF): Similarly.
(recompute_tree_invariant_for_addr_expr): Completely rework to
be more precise.  Also set TREE_SIDE_EFFECTS.
(build1_stat, case ARRAY_EXPR): Don't handle TREE_SIDE_EFFECTS here.
(build2_stat, build3_stat, build4_stat): For references,
propagate TREE_THIS_VOLATILE.
(get_unwidened): Add new operand for COMPONENT_REF.
(get_narrower): Likewise; use host_integerp for DECL_SIZE.
* tree.def (COMPONENT_REF): Add new operand.
(ARRAY_REF, ARRAY_RANGE_REF): Add two new operands.
* tree.h (array_ref_element_size, array_ref_low_bound): New decls.
(component_ref_field_offset): Likewise.
* config/alpha/alpha.c (alpha_va_start): Add new op for COMPONENT_REF.
(alpha_gimplify_va_arg): Likewise.
* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
* config/i860/i860.c (i860_va_start, i860_va_arg): Likewise.
* config/iq2000/iq2000.c (iq2000_va_arg): Likewise.
* config/mips/mips.c (mips_va_start, mips_va_arg): Likewise.
* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
Likewise.
* config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
* config/sh/sh.c (sh_va_start, sh_va_arg): Likewise.
* config/stormy16/stormy16.c (xstormy1_expand_builin_va_start):
Likewise.
(xstormy16_expand_builtin_va_arg): Likewise.
* config/xtensa/xtensa.c (xtensa_va_start, xtensa_va_arg): Likewise.

* cp/call.c (build_vfield_ref): Add new operand for COMPONENT_REF.
(build_new_method_call): Likewise.
* cp/decl.c (local_variable_p_walkfn): Don't walk into types.
* cp/decl2.c (grok_array_decl): Add new operands for ARRAY_REF.
(build_anon_union_vars): Add new operand for COMPONENT_REF.
* cp/init.c (buld_new): Add new operand for ARRAY_REF.
* cp/method.c (do_build_copy_constructor): New op for COMPONENT_REF.
(do_build_assign_ref): Likewise.
* cp/parser.c (cp_parser_direct_new_declarator): Add new operands
for ARRAY_REF.
(cp_parser_direct_declarator): Likewise.
* cp/pt.c (tsubst): Likewise.
(tsubst_copy, tsubst_copy_and_build): Likewise; also add new operand
  for COMPONENT_REF.
* cp/semantics.c (finish_non_static_data_member): Add new operand
for COMPONENT_REF.
* cp/typeck.c (build_class_member_access_expr): Likewise.
(build_class_member_access_expr, finish_class_member_access_expr):
Likewise.
(build_ptrmemfunc_access_expr): Likewise.
(build_array_ref): Add new operands for ARRAY_REF.
* cp/typeck2.c (split_nonconstant_init_1): Likewise; COMPONENT_REF too.
* cp/tree.c (count_trees_r, no_linkage_helper): Don't walk in types.

* fortran/f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted.
* fortran/trans-array.c (gfc_conv_descriptor_data): Add operand
for COMPONENT_REF.
(gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise.
(gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise.
(gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise.
* fortran/trans-common.c (create_common): Likewise.
* fortran/trans-expr.c (gfc_conv_component_ref): Likewise.
* fortran/trans-io.c (set_parameter_value): Likewise.
(set_parameter_ref, set_string, set_flag, io_result): Likewise.
(transfer_expr): Likewise.
* fortran/trans-decl.c (gfc_trans_auto_character_variable):
Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified.
(gfc_simplify_function): New function.
(gfc_generate_function-code): Properly handle nested functions.
* fortran/trans.c (gfc_build_array_ref): Add two new operands
for ARRAY_REF.

* java/class.c (build_class_ref): Add new operand for COMPONENT_REF.
(build_static_field_ref): Likewise and add new operands for ARRAY_REF.
* java/constants.c (build_ref_from_constant_pool): Likewise.
* java/expr.c (build_java_array_length_access): Likewise.
(build_get_class, build_field_ref, build_known_method_ref): Likewise.
(invoke_build_dtable, build_invokevirtual): Likewise.
(build_invokeinterface, java_expand_expr): Likewise.
(emit_init_test_initialization): Likewise.
* java/java-gimplify.c (java_gimplify_new_array_init): Likewise.
* java/parse.y (make_qualifed_name, build_array_ref): Likewise.

* objc/ojbc-act.c (generate_static_references): Add additional
operands to ARRAY_REF.
(generate_strings, build_method_prototype_list_template): Likewise.
(generate_protocol_list): Likewise.

From-SVN: r83474

20 years agoconfigure.in: Check for srcdir/winsup rather than build directory winsup.
Christopher Faylor [Tue, 22 Jun 2004 01:37:04 +0000 (01:37 +0000)]
configure.in: Check for srcdir/winsup rather than build directory winsup.

* configure.in: Check for srcdir/winsup rather than build directory winsup.
* configure: Regenerate.

From-SVN: r83473

20 years agore PR fortran/15750 (IOLENGTH form of INQUIRE statement not implemented)
Janne Blomqvist [Tue, 22 Jun 2004 00:43:55 +0000 (03:43 +0300)]
re PR fortran/15750 (IOLENGTH form of INQUIRE statement not implemented)

PR fortran/15750
* io.c (gfc_match_inquire): Bugfix for iolength related stuff.
(gfc_resolve_inquire): Resolve the iolength tag.  Return
SUCCESS at end of function if no failure has occured.
* resolve.c (resolve_code): Resolve if iolength is encountered.
* trans-io.c: (ioparm_iolength, iocall_iolength,
iocall_iolength_done): New variables.
(last_dt): Add IOLENGTH.
(gfc_build_io_library_fndecls ): Set iolength related variables.
(gfc_trans_iolength): Implement.
(gfc_trans_dt_end): Treat iolength as a third form of data transfer.
libgfortran/
PR fortran/15750
* inquire.c (st_inquire): Add comment
* io.h (st_parameter): Add iolength.
(st_iolength, st_iolength_done): Declare.
* transfer.c (iolength_transfer, iolength_transfer_init,
st_iolength, st_iolength_done): New functions.
testsuite/
* gfortran.fortran-torture/execute/iolength_1.f90: New test.
* gfortran.fortran-torture/execute/iolength_3.f90: New test.

From-SVN: r83472

20 years agolinker-map.gnu: Use wildcards for __basic_file::sys_open(FILE*, _Ios_Openmode).
Loren J. Rittle [Tue, 22 Jun 2004 00:24:52 +0000 (00:24 +0000)]
linker-map.gnu: Use wildcards for __basic_file::sys_open(FILE*, _Ios_Openmode).

* config/linker-map.gnu: Use wildcards for
__basic_file::sys_open(FILE*, _Ios_Openmode).

From-SVN: r83470

20 years agoDaily bump.
GCC Administrator [Tue, 22 Jun 2004 00:16:47 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83467.2

20 years agoDaily bump.
GCC Administrator [Tue, 22 Jun 2004 00:16:42 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83466.2

20 years agore PR rtl-optimization/14782 (produces an unaligned data access at -O2)
John David Anglin [Mon, 21 Jun 2004 23:49:04 +0000 (23:49 +0000)]
re PR rtl-optimization/14782 (produces an unaligned data access at -O2)

PR rtl-optimization/14782
* pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
the address checks for secondary reloads for loads from and stores
to floating-point registers.
* pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
in the address check.  Move work around for ELF32 targets to
GO_IF_LEGITIMATE_ADDRESS.
(GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
correctly aligned for DImode loads and stores.  Don't allow long
SFmode displacements on ELF32.

From-SVN: r83464

20 years agore PR rtl-optimization/16114 (Hang in cse.c (flush_hash_table))
Richard Henderson [Mon, 21 Jun 2004 23:39:26 +0000 (16:39 -0700)]
re PR rtl-optimization/16114 (Hang in cse.c (flush_hash_table))

        PR rtl-opt/16114
        * cse.c (merge_equiv_classes): Also rehash in response to
        delete_reg_equiv changes.
        (rehash_using_reg): Don't exclude REGs from rehashing.

From-SVN: r83463

20 years agoc-common.def (RETURN_STMT): Remove.
Richard Henderson [Mon, 21 Jun 2004 23:30:30 +0000 (16:30 -0700)]
c-common.def (RETURN_STMT): Remove.

        * c-common.def (RETURN_STMT): Remove.
        * c-common.h (RETURN_STMT_EXPR): Remove.
        (c_expand_return, build_return_stmt): Remove.
        (c_common_stmt_codes): Remove RETURN_STMT.
        * c-dump.c (dump_next_stmt): Remove.
        (c_dump_tree): Remove RETURN_STMT.
        * c-decl.c (finish_function): Use c_finish_return.
        * c-parse.in (stmt): Likewise.
        * c-gimplify.c (gimplify_return_stmt): Remove.
        (c_gimplify_expr): Remove RETURN_STMT.
        * c-pretty-print.c (pp_c_statement): Likewise.
        * c-semantics.c (build_return_stmt): Remove.
        * c-tree.h (c_finish_return): Declare.
        * c-typeck.c (c_finish_return): Rename from c_expand_return.
        Return void.  Build RETURN_EXPR directly.
        * tree-dump.h (dump_next_stmt): Remove.
cp/
        * dump.c (cp_dump_tree): Don't use dump_next_stmt.
        * parser.c (cp_parser_jump_statement): Update commentary.
        * pt.c (tsubst_expr): Use RETURN_EXPR.
        * semantics.c (finish_return_stmt): Likewise.
        (finalize_nrv_r): Likewise.
        * typeck.c, typeck2.c: Update file start commentary.

From-SVN: r83461

20 years agoc-decl.c (start_function): Don't call make_decl_rtl.
Zack Weinberg [Mon, 21 Jun 2004 23:04:49 +0000 (23:04 +0000)]
c-decl.c (start_function): Don't call make_decl_rtl.

* c-decl.c (start_function): Don't call make_decl_rtl.  Don't
look at TREE_ADDRESSABLE of symbol name.

From-SVN: r83460

20 years agoselect_1.f90: Rename function to fix type error.
Tobias Schlüter [Mon, 21 Jun 2004 22:56:34 +0000 (00:56 +0200)]
select_1.f90: Rename function to fix type error.

* gfortran.fortran-torture/execute/select_1.f90: Rename function
to fix type error.
* gfortran.fortran-torture/execute/intrinsic_associated.f90:
Remove trailing spaces.

From-SVN: r83459