gcc.git
20 years agos390-protos.h (s390_load_got): Update prototype.
Ulrich Weigand [Sun, 27 Jun 2004 15:31:53 +0000 (15:31 +0000)]
s390-protos.h (s390_load_got): Update prototype.

* config/s390/s390-protos.h (s390_load_got): Update prototype.
* config/s390/s390.c (struct machine_function): Add member base_reg.
(s390_decompose_address): Accept UNSPEC_LTREF.  Simplify logic.
(s390_split_branches): Annotate late pool references.
(annotate_constant_pool_refs): New function.
(find_constant_pool_ref): Work on annotated pool references.
(replace_constant_pool_ref): Likewise.  Use explicit base.
(replace_ltrel_base): Use explicit base.
(s390_mainpool_start): Reflect main_pool pattern change.
(s390_mainpool_finish): Use base register from main_pool.
Update calls to replace_ltrel_base and replace_constant_pool_ref.
(s390_chunkify_start): Use base_reg from struct machine_function.
(s390_chunkify_finish): Remove base_reg argument.  Update calls
to replace_ltrel_base and replace_constant_pool_ref.
(s390_reorg): Don't decide upon base register.  Update calls.
(s390_load_got): Remove MAYBE_DEAD handling.  Do not emit insns
but return sequence instead.
(s390_emit_prologue): Decide upon base register to use.  Annotate
all literal pool references.  Adapt to main_pool pattern change.
Update s390_load_got call; move MAYBE_DEAD handling here.
(s390_emit_epilogue): Annotate late literal pool references.
Remove barrier before register restore instruction.
* config/s390/s390.md (UNSPEC_LTREF): New constant.
("builtin_setjmp_receiver"): Update s390_load_got call.
("main_pool"): Explicitly reference base register.

From-SVN: r83735

20 years agore PR java/15715 (member interfaces are always static)
Bryce McKinlay [Sun, 27 Jun 2004 15:30:06 +0000 (15:30 +0000)]
re PR java/15715 (member interfaces are always static)

2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>

       PR java/15715.
       * parse.y (create_interface): Set correct access modifiers for
       interfaces.
       * jcf-write.c (get_classfile_modifiers): New function.
       (generate_classfile): Use get_classfile_modifiers, not
       get_access_flags.

2004-06-26  Bryce McKinlay  <mckinlay@redhat.com>

       * parse.y (register_incomplete_type): Set JDEP_ENCLOSING for "super"
       dependency to current parser context, not NULL_TREE, for top-level
       classes.
       (jdep_resolve_class): Enable member access check for all inner
       class dependencies.

From-SVN: r83734

20 years agofold-const.c (fold): Optimize ~X|X and X|~X as -1.
Roger Sayle [Sun, 27 Jun 2004 15:23:46 +0000 (15:23 +0000)]
fold-const.c (fold): Optimize ~X|X and X|~X as -1.

* fold-const.c (fold) <BIT_IOR_EXPR>: Optimize ~X|X and X|~X as -1.
<BIT_XOR_EXPR>: Optimize ~X|X and X|~X as -1.
<BIT_AND_EXPR>: Optimize ~X&X and X&~X as 0.
<TRUTH_AND_EXPR, TRUTH_ANDIF_EXPR>: Optimize !X&&X and X&&!X as false.
        <TRUTH_OR_EXPR, TRUTH_ORIF_EXPR>: Optimize !X||X and !X||X as true.
<TRUTH_XOR_EXPR>: Optimize !X^X and X^X! as true.  Now that
TRUTH_XOR_EXPR is a commutative tree code, don't test whether arg0
is a constant.

* gcc.dg/20040527-1.c: New test case.

From-SVN: r83733

20 years agoerror.c (pp_template_argument_list_start): Remove.
Gabriel Dos Reis [Sun, 27 Jun 2004 15:20:41 +0000 (15:20 +0000)]
error.c (pp_template_argument_list_start): Remove.

* error.c (pp_template_argument_list_start): Remove.
(pp_template_argument_list_end): Likewise.
(pp_separate_with_comma): Use pp_cxx_separate_with.
(reinit_global_formatting_buffer): Remove.
(pp_non_consecutive_character): Likewise.
(dump_scope): Use pp_cxx_colon_colon.
(dump_template_parameter): Use pp_cxx_identifier,
pp_cxx_tree_identifier and pp_cxx_whitespace.
(dump_templat_bindings): Replace use of pp_string with
sequence
of pp_cxx_whitespace and pp_equal.
(dump_type): Use pp_cxx_identifier, pp_cxx_tree_identifier,
pp_cxx_colon_colon, pp_cxx_whitespace throughout.  Don't set
padding here.
(dump_aggr_type): Use pp_cxx_identifier amd
pp_cxx_tree_identifier.
(dump_type_prefix): Don't set padding.  Use pp_cxx_whitespace,
pp_cxx_left_parent, pp_cxx_colon_colon and pp_cxx_star
troughout.
(dump_type_suffix): Use pp_cxx_right_paren,
pp_cxx_left_bracket,
pp_cxx_right_bracket, pp_cxx_identifier throughout,
(dump_decl): Likewise.
(dump_template_decl): Likewise.
(dump_function_decl): Likewise.  Set padding as appropriate.
(dump_parameters): Use pp_cxx_left_paren, pp_cxx_identifier
and
pp_cxx_right_paren.
(dump_exception_spec): Likewise.
(dump_function_name): Use pp_cxx_tree_identifier and
pp_cxx_identifier.
(dump_template_parms): Use pp_cxx_begin_template_argument_list
and
pp_cxx_end_template_argument_list.
(dump_expr): Use pp_cxx_left_paren, pp_cxx_right_paren,
pp_cxx_colon_colon, pp_cxx_identifier, pp_cxx_tree_identifier
and
pp_cxx_whitespace throughout.
(dump_binary_op): Use pp_cxx_whitespace, pp_cxx_left_paren and
pp_cxx_right_paren.
(dump_unary_op): Likewise.
(reinit_cxx_pp): New function.
(type_as_string); Use it.
(expr_as_string): Likewise.
(decl_as_string); Likewise.
(context_as_string): Likewise.
(lang_decl_name): Likewise.
(decl_to_string): Likewise.
(expr_to_string): Likewise.
(parm_to_string): Likewise.
(type_to_string): Likewise.
(args_to_string): Likewise.
(cv_to_string): Likewise.

From-SVN: r83732

20 years ago[multiple changes]
Mark Wielaard [Sun, 27 Jun 2004 12:10:12 +0000 (12:10 +0000)]
[multiple changes]

2004-06-27  Mark Wielaard  <mark@klomp.org>

       * java/awt/EventQueue.java (postEvent): Throw NullPointerException
       when argument is null.

2004-06-26  Mark Wielaard  <mark@klomp.org>

       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
       (ok_clicked): Use Ljava/lang/String; not Ljava.lang.String; in JNI
       GetMethodID call.
       (cancel_clicked): Likewise.

From-SVN: r83731

20 years agore PR bootstrap/15627 (Sun CC cannot bootstrap GCC)
Giovanni Bajo [Sun, 27 Jun 2004 11:21:13 +0000 (11:21 +0000)]
re PR bootstrap/15627 (Sun CC cannot bootstrap GCC)

PR bootstrap/15627
* engine/flowrow-sort.c (update_upper_bound): Converted comment to
C-style.
(flowrow_inclusion): Likewise.
(flowrow_extract_field): Unnest field_eq.
* engine/setif-sort.c (search_ubs): Unnest search_ubs_aux.
(search_lbs): Unnest search_lbs_aux.
(setif_inclusion): Unnest collapse_cycle_lower, collapse_cycle_upper,
update_lower_bound, update_upper_bound.

From-SVN: r83730

20 years agocp-tree.h (cp_cv_quals): New type.
Mark Mitchell [Sun, 27 Jun 2004 03:03:55 +0000 (03:03 +0000)]
cp-tree.h (cp_cv_quals): New type.

* cp-tree.h (cp_cv_quals): New type.
(cp_declarator): Use it instead of "tree" as appropriate.
(grok_method_quals): Adjust prototype.
(grokclassfn): Likewise.
(do_friend): Likewise.
* decl.c (grokfndecl): Use cp_cv_quals, not tree.
(grokdeclarator): Likewise.
* decl2.c (grok_method_quals): Likewise.
(grokclassfn): Likewise.
* friend.c (do_friend): Likewise.
* method.c (implicitly_declare_fn): Adjust call to grokclassfn.
* parser.c (make_call_declarator): Use cp_cv_quals, not tree.
(make_pointer_declarator): Likewise.
(make_reference_declarator): Likewise.
(make_ptrmem_declarator): Likewise.
(cp_parser_ptr_operator): Likewise.
(cp_parser_cv_qualifier_seq_opt): Likewise.
(cp_parser_cv_qualifier_opt): Remove.
(cp_parser_new_declarator_opt): Adjust call to
cp_parser_ptr_operator.
(cp_parser_conversion_declaration_opt): Likewise.
(cp_parser_declarator): Use cp_cv_quals, not tree.
(cp_parser_direct_declarator): Likewise.

From-SVN: r83729

20 years agoparse.y (qualify_and_find): Pass type decl, not identifier, to load_class.
Bryce McKinlay [Sun, 27 Jun 2004 00:34:57 +0000 (00:34 +0000)]
parse.y (qualify_and_find): Pass type decl, not identifier, to load_class.

* parse.y (qualify_and_find): Pass type decl, not identifier, to
load_class.

From-SVN: r83728

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

From-SVN: r83726

20 years agoada-tree.def (DECL_STMT): Deleted.
Richard Kenner [Sat, 26 Jun 2004 21:30:01 +0000 (17:30 -0400)]
ada-tree.def (DECL_STMT): Deleted.

2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

        * ada-tree.def (DECL_STMT): Deleted.
        * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
        (DECL_STMT_VAR): Deleted.
        * decl.c: add_decl_stmt now add_decl_expr.
        * gigi.h: Likewise.
        * trans.c: Likewise.
        (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
        (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
        (add_stmt): Only handle padded type here.
        (add_stmt_with_node): Allow gnat_node to not be present.
        (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
        (gnat_gimplify_stmt, case DECL_STMT): Deleted.
        (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
        make a SAVE_EXPR for the entire fat pointer.
        * utils.c (pushdecl): Walk a DECL_EXPR in global case.
        (create_index_type): Make a DECL_EXPR.
        (end_subprog_body): Don't call allocate_struct_function here but
        do clear cfn.

From-SVN: r83722

20 years agoc-common.c (c_safe_from_p, [...]): Deleted.
Richard Kenner [Sat, 26 Jun 2004 21:11:23 +0000 (21:11 +0000)]
c-common.c (c_safe_from_p, [...]): Deleted.

2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

        * c-common.c (c_safe_from_p, c_walk_subtrees): Deleted.
        * c-common.def (DECL_STMT): Remove.
        * c-common.h (DECL_STMT_DECL): Deleted.
        (COMPOUNT_LITERAL_EXPR_DECL): Use DECL_EXPR_DECL.
        (c_safe_from_p, c_walk_subtrees): Deleted.
        * c-decl.c, c-parse.in, c-pretty-print.c: DECL_STMT now DECL_EXPR.
        * c-dump.c (c_dump_tree, case DECL_STMT): Deleted.
        * c-gimplify.c (gimplify_decl_stmt): Deleted.
        (gimplify_compound_literal_expr): Use DECL_EXPR_DECL
        and gimplify_and_add.
        (c_gimplify_expr, case DECL_EXPR): New case.
        (c_gimplify_expr, case DECL_STMT): Deleted.
        * c-lang.c (LANG_HOOKS_SAFE_FROM_P): Likewise.
        (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
        * expr.c (safe_from_p, case 's'): New case.
        * gimplify.c (gimplify_decl_expr): New function.
        (gimplify_expr, case DECL_EXPR): New case.
        * tree-inline.c (walk_tree): Walk into all fields of a type and
        decl only if they are in a DECL_EXPR.
        (mark_local_for_remap_r): Minor code cleanup.
        * tree-outof-ssa.c (discover_nonconstant_array_refs_r): Add else.
        * tree.c (has_cleanups, case DECL_EXPR): New case.
        * tree.def (DECL_EXPR): New code.
        * tree.h (DECL_EXPR_DECL): New macro.

        * objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted.

From-SVN: r83721

20 years agore PR java/15734 (internal compiler error: Segmentation fault)
Bryce McKinlay [Sat, 26 Jun 2004 20:42:01 +0000 (20:42 +0000)]
re PR java/15734 (internal compiler error: Segmentation fault)

PR java/15734
* expr.c (expand_java_field_op): Ensure that target class for static
field access has been loaded.

From-SVN: r83720

20 years agoPR java/1207, java/16178
Bryce McKinlay [Sat, 26 Jun 2004 20:40:31 +0000 (20:40 +0000)]
PR java/1207, java/16178

PR java/1207, java/16178
* jcf-parse.c (load_class): Return immediately if passed a type decl
where CLASS_FROM_SOURCE_P is set. Remove FIXME.
* parse.y (do_resolve_class): Remove checks for CLASS_FROM_SOURCE_P
before calling load_class.
(qualify_and_find): Likewise.
(find_in_imports_on_demand): Likewise.
(find_applicable_accessible_methods_list): Likewise.

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

20 years agore PR bootstrap/13334 (Bootstrap failure: libiberty/fibheap.c: LONG_MIN undeclared)
Andrew Pinski [Sat, 26 Jun 2004 20:40:31 +0000 (20:40 +0000)]
re PR bootstrap/13334 (Bootstrap failure: libiberty/fibheap.c: LONG_MIN undeclared)

2004-06-26  Andrew Pinski  <pinskia@physics.uc.edu>

        PR 13334
        * doc/install.texi: Document non-standard CFLAGS and bootstrap
        failures and warnings.

From-SVN: r83718

20 years agolibtool-version: Fix typo in revision/age.
Matthias Klose [Sat, 26 Jun 2004 20:37:03 +0000 (20:37 +0000)]
libtool-version: Fix typo in revision/age.

2004-06-26  Matthias Klose  <doko@debian.org>

        * libtool-version: Fix typo in revision/age.

From-SVN: r83717

20 years agore PR preprocessor/15933 (Caching of include files breaks compilation)
Zack Weinberg [Sat, 26 Jun 2004 17:39:40 +0000 (17:39 +0000)]
re PR preprocessor/15933 (Caching of include files breaks compilation)

PR 15933
Partially revert patch of 2004-06-05.
* files.c (search_cache): Remove pfile argument.  Don't check
for file that would be found by "" or <> search here...
(_cpp_find_file): ...do it here, before calling find_file_in_dir.
Do not apply directory-of-current-file correction to files
found by this check.  Rearrange code slightly.

From-SVN: r83714

20 years agoAndrew Vaught <andyv@firstinter.net>
Tobias Schlüter [Sat, 26 Jun 2004 12:01:43 +0000 (14:01 +0200)]
Andrew Vaught <andyv@firstinter.net>

2004-06-26  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
Andrew Vaught  <andyv@firstinter.net>

* decl.c (contained_procedure): New function.
(match_end): Verify correctness of END STATEMENT in
all cases.

Also fix two typos in Kenner's ChangeLog

From-SVN: r83710

20 years agore PR libfortran/16196 (gfortran fails to create file with OPEN(...,status='REPLACE'))
Bud Davis [Sat, 26 Jun 2004 11:49:06 +0000 (11:49 +0000)]
re PR libfortran/16196 (gfortran fails to create file with OPEN(...,status='REPLACE'))

2004-06-26  Bud Davis  <bdavis9659@comcast.net>

        PR gfortran/16196
        * unix.c(regular_file): create file if it does not exist.
        * gfortran.fortran-torture/execute/open_replace.f90: New test case.

From-SVN: r83709

20 years agoAndrew Vaught <andyv@firstinter.net>
Tobias Schlüter [Sat, 26 Jun 2004 11:48:55 +0000 (13:48 +0200)]
Andrew Vaught <andyv@firstinter.net>

2004-06-25  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
Andrew Vaught <andyv@firstinter.net>

PR fortran/15190
* decl.c (gfc_match_type_spec), io.c (match_io), parse.c
(decode_statement): Enforce required space in free-form.

Co-Authored-By: Andrew Vaught <andyv@firstinter.net>
From-SVN: r83708

20 years agore PR c++/14865 (No instantiation of VTT at -O1)
Jan Hubicka [Sat, 26 Jun 2004 10:23:05 +0000 (12:23 +0200)]
re PR c++/14865 (No instantiation of VTT at -O1)

PR C++/14865
* decl2.c (maybe_emit_vtables):  Always import_export_vtable for the
reachability analysis.

From-SVN: r83707

20 years agoemit-rtl.c (set_mem_attributes_minus_bitpos): Check TREE_THIS_NOTRAP when setting...
Andrew Haley [Sat, 26 Jun 2004 10:10:25 +0000 (10:10 +0000)]
emit-rtl.c (set_mem_attributes_minus_bitpos): Check TREE_THIS_NOTRAP when setting MEM_NOTRAP_P.

2004-06-26  Andrew Haley  <aph@redhat.com>

* emit-rtl.c (set_mem_attributes_minus_bitpos): Check
TREE_THIS_NOTRAP when setting MEM_NOTRAP_P.
* tree-eh.c (tree_could_trap_p): Check TREE_THIS_NOTRAP.
* tree.h (TREE_THIS_NOTRAP): New.

From-SVN: r83706

20 years agore PR libstdc++/16210 ([3.4 only] gratuitously omits "long long" I/O)
Paolo Carlini [Sat, 26 Jun 2004 08:42:38 +0000 (08:42 +0000)]
re PR libstdc++/16210 ([3.4 only] gratuitously omits "long long" I/O)

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

PR libstdc++/16210
* acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
availability of strto(u)ll, not used anymore in the iostreams.
* configure: Regenerate.

From-SVN: r83705

20 years agogenattrtab.c (write_test_expr): Put a unsigned cast before the first operand for...
Kaz Kojima [Sat, 26 Jun 2004 05:25:38 +0000 (05:25 +0000)]
genattrtab.c (write_test_expr): Put a unsigned cast before the first operand for GEU, GTU, LEU and LTU.

* genattrtab.c (write_test_expr): Put a unsigned cast before
the first operand for GEU, GTU, LEU and LTU.

From-SVN: r83704

20 years agoc-typeck.c, [...]: Fix comment typos.
Kazu Hirata [Sat, 26 Jun 2004 05:03:55 +0000 (05:03 +0000)]
c-typeck.c, [...]: Fix comment typos.

* c-typeck.c, cfgexpand.c, ddg.c, ddg.h, df.c, fold-const.c,
gcov.c, gimplify.c, modulo-sched.c, passes.c, tree-cfg.c,
tree-mudflap.c, tree-nrv.c, tree-outof-ssa.c, tree-ssa-dom.c,
tree-ssa-dse.c, tree-ssa-operands.c, tree-ssa-pre.c,
tree-tailcall.c: Fix comment typos.  Follow spelling
conventions.

From-SVN: r83703

20 years agomips.md: Add back scheduling exclusion info.
Eric Christopher [Sat, 26 Jun 2004 03:51:29 +0000 (03:51 +0000)]
mips.md: Add back scheduling exclusion info.

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

* config/mips/mips.md: Add back scheduling exclusion info.

From-SVN: r83699

20 years ago2004-06-26 Andreas Tobler <a.tobler@schweiz.ch>
Andreas Tobler [Sat, 26 Jun 2004 03:44:38 +0000 (05:44 +0200)]
2004-06-26  Andreas Tobler  <a.tobler@schweiz.ch>

* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
(init_dpi_conversion_factor): Check for int_dpi < 0 in case gtk-xft-dpi
can not calculate the right value.
(dpi_changed_cb): Likewise. Mark *pspec as unused.

From-SVN: r83698

20 years agoifcvt.c (seq_contains_jump): Delete function.
Roger Sayle [Sat, 26 Jun 2004 01:43:57 +0000 (01:43 +0000)]
ifcvt.c (seq_contains_jump): Delete function.

* ifcvt.c (seq_contains_jump): Delete function.
(end_ifcvt_sequence): Replace call to seq_contains_jump with an
inline test for a jump instruction in the existing "insn" loop.
(block_fallthru): Document function.

From-SVN: r83697

20 years agoDaily bump.
GCC Administrator [Sat, 26 Jun 2004 00:17:34 +0000 (00:17 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83695.2

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

[[Split portion of a mixed commit.]]

From-SVN: r83694.2

20 years agore PR other/15194 (Fastjar configure needlessly fails without long long)
Kelley Cook [Fri, 25 Jun 2004 23:06:47 +0000 (23:06 +0000)]
re PR other/15194 (Fastjar configure needlessly fails without long long)

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

PR other/15194
* configure.ac: Add check for long long.
* jartool.h: Check for long long before using it.
* configure: Regenerate
* config.h.in: Regenerate.

From-SVN: r83690

20 years agore PR tree-optimization/15089 (local register variable with a specified register...
Philip Blundell [Fri, 25 Jun 2004 21:48:38 +0000 (21:48 +0000)]
re PR tree-optimization/15089 (local register variable with a specified register is bad)

PR wrong-code/15089
* loop.c (scan_loop): Do not move user-specified register
assignments.

From-SVN: r83684

20 years agoc-common.h (warn_cast_qual, [...]): Remove explicit declarations.
DJ Delorie [Fri, 25 Jun 2004 21:24:21 +0000 (17:24 -0400)]
c-common.h (warn_cast_qual, [...]): Remove explicit declarations.

* c-common.h (warn_cast_qual, warn_missing_format_attribute,
warn_pointer_arith, warn_missing_prototypes, warn_parentheses,
warn_missing_braces, warn_sign_compare, warn_long_long,
warn_redundant_decls, warn_float_equal, warn_char_subscripts,
warn_conversion, warn_format_y2k, warn_format_extra_args,
warn_format_zero_length, warn_format_nonliteral,
warn_format_security, mesg_implicit_function_declaration,
warn_bad_function_cast, warn_traditional,
warn_declaration_after_statement, warn_strict_prototypes,
warn_missing_declarations, warn_nested_externs,
warn_sequence_point, warn_init_self, warn_div_by_zero,
warn_implicit_int, warn_nonnull, warn_old_style_definition,
warn_selector, warn_undeclared_selector, warn_protocol,
warn_abi, warn_invalid_offsetof, warn_ctor_dtor_privacy,
warn_overloaded_virtual, warn_nonvdtor, warn_reorder,
warn_synth, warn_pmf2ptr, warn_ecpp, warn_sign_promo,
warn_old_style_cast, warn_nontemplate_friend,
warn_deprecated): Remove explicit declarations.
* c-common.c: Likewise, remove explicit definitions.
* c-opts.c: Likewise, remove explicit assignments.
* c.opts: Likewise, add implicit declare/define/assign.

From-SVN: r83680

20 years agogimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case.
Richard Kenner [Fri, 25 Jun 2004 20:47:45 +0000 (20:47 +0000)]
gimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case.

* gimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case.
(build_addr_expr_with_type): Deleted.
(build_addr_expr): Deleted; callers changed to build_fold_addr_expr.
(gimplify_compound_lval): Make two passes over reference nest.

From-SVN: r83678

20 years agotree-nested.c (build_addr): Merge real/imagpart with handled_component_p.
Richard Kenner [Fri, 25 Jun 2004 20:33:09 +0000 (20:33 +0000)]
tree-nested.c (build_addr): Merge real/imagpart with handled_component_p.

* tree-nested.c (build_addr): Merge real/imagpart with
handled_component_p.
(convert_nonlocal_reference, convert_local_reference): Process extra
args to COMPONENT_REF and ARRAY_REF.
* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Check for
lower bound and field offset being constant.

From-SVN: r83677

20 years agocp-mudflap.c (mflang_flush_calls): Fix thinkos resulting from 2004-06-23 change.
Mark Mitchell [Fri, 25 Jun 2004 19:44:49 +0000 (19:44 +0000)]
cp-mudflap.c (mflang_flush_calls): Fix thinkos resulting from 2004-06-23 change.

* cp-mudflap.c (mflang_flush_calls): Fix thinkos resulting from
2004-06-23 change.

From-SVN: r83675

20 years agore PR c++/16129 (g++.old-deja/g++.eh/catch[35679]*.C)
Mark Mitchell [Fri, 25 Jun 2004 19:17:49 +0000 (19:17 +0000)]
re PR c++/16129 (g++.old-deja/g++.eh/catch[35679]*.C)

PR wrong-code/16129
* alias.c (get_alias_set): Adjust setting of
DECL_POINTER_ALIAS_SET for pointers to aggregates.

From-SVN: r83674

20 years agotree-inline.c (remap_type): Arrange to have just one pointer type for each type,...
Richard Kenner [Fri, 25 Jun 2004 19:12:02 +0000 (19:12 +0000)]
tree-inline.c (remap_type): Arrange to have just one pointer type for each type, mode, and 'can alias' value.

* tree-inline.c (remap_type): Arrange to have just one pointer type
for each type, mode, and 'can alias' value.
(setup_one_parameter): Remap type when making VAR_DECL for PARM_DECL.
(estimate_num_insns_1): Minor code reformatting.
(inline_forbidden_p_1): Likewise; add; missing return statement.

From-SVN: r83672

20 years agore PR middle-end/15825 (if-cvt optimisation patch noce_try_sign_mask breaks apple...
Roger Sayle [Fri, 25 Jun 2004 18:40:07 +0000 (18:40 +0000)]
re PR middle-end/15825 (if-cvt optimisation patch noce_try_sign_mask breaks apple-ppc-darwin port)

PR middle-end/15825
* ifcvt.c (unshare_ifcvt_sequence): Rename to end_ifcvt_sequence.
Use get_isns and end_sequence instead of accepting a seq argument.
Scan the instruction sequence for unrecognizable or jump insns.
(noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
noce_try_sign_mask): Use end_ifcvt_sequence to factor common code.

* gcc.dg/pr15825-1.c: New test case.

From-SVN: r83671

20 years agogimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS after gimplifying the...
Jeff Law [Fri, 25 Jun 2004 18:31:56 +0000 (12:31 -0600)]
gimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS after gimplifying the innermost component.

        * gimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS
        after gimplifying the innermost component.

In

From-SVN: r83670

20 years agotree-dfa.c (get_virtual_var): Merge real/imaginary parts with handled_component_p...
Richard Kenner [Fri, 25 Jun 2004 18:30:09 +0000 (18:30 +0000)]
tree-dfa.c (get_virtual_var): Merge real/imaginary parts with handled_component_p handling.

* tree-dfa.c (get_virtual_var): Merge real/imaginary parts with
handled_component_p handling.
* tree-gimple.c (get_base_address): Likewise and fix typo that
caused both recursion and looping.

From-SVN: r83669

20 years agore PR target/16176 (Miscompilation of unaligned data in MIPS backend (SB1 flavor))
Richard Sandiford [Fri, 25 Jun 2004 18:24:51 +0000 (18:24 +0000)]
re PR target/16176 (Miscompilation of unaligned data in MIPS backend (SB1 flavor))

PR target/16176
* config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
register for the destination of the lwl or ldl.

From-SVN: r83668

20 years agotree-cfg.c (verify_expr): Add macro CHECK_OK.
Richard Kenner [Fri, 25 Jun 2004 18:17:53 +0000 (18:17 +0000)]
tree-cfg.c (verify_expr): Add macro CHECK_OK.

* tree-cfg.c (verify_expr): Add macro CHECK_OK.
Properly test for nest of handled_components in LHS context.

From-SVN: r83666

20 years agore PR libstdc++/16182 (wctype.h not included by c++locale_internal.h)
Benjamin Kosnik [Fri, 25 Jun 2004 17:45:42 +0000 (17:45 +0000)]
re PR libstdc++/16182 (wctype.h not included by c++locale_internal.h)

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

PR libstdc++/16182
* linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
AC_DEFINE_UNQUOTED.
* configure: Regenerate.

From-SVN: r83664

20 years ago* doc/tree-ssa.texi: Document info about MODIFY_EXPR's type
Devang Patel [Fri, 25 Jun 2004 17:36:50 +0000 (10:36 -0700)]
* doc/tree-ssa.texi: Document info about MODIFY_EXPR's type

From-SVN: r83662

20 years ago* quick build fix
Frank Ch. Eigler [Fri, 25 Jun 2004 17:17:51 +0000 (17:17 +0000)]
* quick build fix

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

* ansidecl.h, libiberty.h: New dummy files for building splay-tree.
* config.h.in: Regenerated.

From-SVN: r83661

20 years agotarget-def.h (TARGET_CXX_GUARD_TYPE, [...]): Define.
Paul Brook [Fri, 25 Jun 2004 17:15:46 +0000 (17:15 +0000)]
target-def.h (TARGET_CXX_GUARD_TYPE, [...]): Define.

gcc/
* target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT,
TARGET_CXX): Define.
(TARGET_INITIALIZER): Use TARGET_CXX.
* target.h (struct gcc_target): Add struct cxx.
* targhooks.h (default_cxx_guard_type): Add prototype.
* targhooks.c (default_cxx_guard_type): New function.
* config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT):
Define.
(arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions.
* doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and
TARGET_CXX_GUARD_MASK_BIT.
gcc/cp/
* decl2.c (get_guard): Call targetm.cxx.guard_type.
(get_guard_bits, get_guard_cond): Call targetm.cxx.guard_mask_bit.
libstdc++/
* libsupc++/cxxabi.h: Define __ARM_EABI__
(__guard): Use it.
* libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.

From-SVN: r83660

20 years agorevert: [multiple changes]
Arnaud Charlet [Fri, 25 Jun 2004 16:39:33 +0000 (18:39 +0200)]
revert: [multiple changes]

2004-06-25  Pascal Obry  <obry@gnat.com>

* makegpr.adb (Build_Library): Remove parameter Lib_Address and
Relocatable from Build_Dynamic_Library call.

* gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
Relocatable are now synonym.

* Makefile.in: Use s-parame-mingw.adb on MingW platform.

* mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
call.

* mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
Lib_Address and Relocatable.
(Default_DLL_Address): Removed.

* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
(Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
(Default_DLL_Address): Removed.

* mlib-tgt-mingw.adb: Ditto.
(Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.

* s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
the initial thread stack size.

* a-strmap.ads: Move package L to private part as it is not used in
the spec. Found while reading code.

2004-06-25  Olivier Hainque  <hainque@act-europe.fr>

* tracebak.c: Introduce support for a GCC infrastructure based
implementation of __gnat_backtrace.

* raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
any more. Use accessors instead. This eases maintenance and relaxes
some alignment constraints.
(_GNAT_Exception structure): Remove the Ada specific fields
(EID_For, Adjust_N_Cleanups_For): New accessors, exported by
a-exexpr.adb.
(is_handled_by, __gnat_eh_personality): Replace component references to
exception structure by use of the new accessors.

* init.c (__gnat_initialize): Adjust comments to match the just
reverted meaning of the -static link-time option.

* adaint.c (convert_addresses): Arrange not to define a stub for
mips-irix any more, as we now want to rely on a real version from a
recent libaddr2line.

* a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
the personality routine can use them and not have to rely on a C
counterpart of the record anymore. This simplifies maintenance and
relaxes the constraint of having Standard'Maximum_Alignment match
BIGGEST_ALIGNMENT.
Update comments, and add a section on the common header alignment issue.

2004-06-25  Geert Bosch  <bosch@gnat.com>

* a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.

2004-06-25  Robert Dewar  <dewar@gnat.com>

* gnat_rm.texi: Fix section on component clauses to indicate that the
restriction on byte boundary placement still applies for bit packed
arrays.
Add comment on stack usage from Initialize_Scalars

* gnat_ugn.texi: Add documentation for -gnatyLnnn

* stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
limiting nesting level.

* usage.adb: Add line for -gnatyLnnn switch

* g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
sem_ch13.adb, exp_aggr.adb: Minor reformatting

* sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
type as well as on the subtype. This corrects a problem in freeze in
setting alignments of atomic types.

* sem_eval.ads: Minor comment typo fixed

* par-util.adb (Push_Scope_Stack): Check for violation of max nesting
level.  Minor reformatting.

* fname.adb (Is_Predefined_File_Name): Require a letter after the
minus sign. This means that file names like a--b.adb will not be
considered predefined.

* freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
record Test new flag and give diagnostic for bad component clause.
(Freeze_Entity): Set alignment of array from component alignment in
cases where this is safe to do.

* exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
arrays.

* cstand.adb: (Create_Standard): Set alignment of String to 1

* einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary

* exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
code in the common constrained array cases.

* a-storio.adb: Change implementation to avoid possible alignment
problems on machines requiring strict alignment (data should be moved
as type Buffer, not type Elmt).

* checks.adb (Apply_Array_Size_Check): Improve these checks by
killing the overflow checks which we really do not need (64-bits is
enough).

2004-06-25  Vincent Celier  <celier@gnat.com>

* makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
(Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
inconditionally for the main project.
(Recursive_Add_Archives.Add_Archive_Path): New procedure
(Link_Executables.Check_Time_Stamps): New procedure
(Link_Executables.Link_Foreign): New procedure
Changes made to reduce nesting level of this package
(Check): New procedure
(Add_Switches): When not in quiet output, check that a switch is not
the concatenation of several valid switches. If it is, issue a warning.
(Build_Global_Archive): If the global archive is rebuilt, linking need
to be done.
(Compile_Sources): Rebuilding a library archive does not imply
rebuilding the global archive.
(Build_Global_Archive): New procedure
(Build_Library): New name for Build_Archive, now only for library
project
(Check_Archive_Builder): New procedure
(Create_Global_Archive_Dependency_File): New procedure
(Gprmake): Call Build_Global_Archive before linking
* makegpr.adb: Use Other_Sources_Present instead of Sources_Present
throughout.
(Scan_Arg): Display the Copyright notice when -v is used

* gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
for gnatls.

* vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
COMPILE.
Add new GNAT LIST qualifier /FILES=
Added qualifier /DIRECTORY= to GNAT METRIC
Added qualifier /FILES= to GNAT METRIC
Added qualifier /FILES to GNAT PRETTY

* switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
to take into account both versions of the switch.

* switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
always be the last switch to the gcc driver. Disable switch storing so
that switches automatically added by the gcc driver are not put in the
ALI file.

* prj.adb (Project_Empty): Take into account changes in components of
Project_Data.

* prj.ads (Languages_Processed): New enumaration value All_Languages.

* prj.ads (Project_Data): Remove component Lib_Elaboration: never
used. Split Boolean component Ada_Sources_Present in two Boolean
components Ada_Sources_Present and Other_Sources_Present.
Minor reformatting

* prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
instead of Sources_Present.
(Set_Ada_Paths.Add.Recursive_Add): Ditto

* prj-nmsc.adb: Minor reformatting
(Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
(Check_Ada_Naming_Scheme_Validity): New name of previous procedure
Check_Ada_Naming_Scheme.
Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
throughout.

* prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
In_Limited.
Make sure that all cycles where there is at least one "limited with"
are detected.
(Parse_Single_Project): New Boolean parameter In_Limited

* prj-proc.adb (Recursive_Check): When Process_Languages is
All_Languages, call first Prj.Nmsc.Ada_Check, then
Prj.Nmsc.Other_Languages_Check.

* prj-proc.adb (Process): Use Ada_Sources_Present or
Other_Sources_Present (instead of Sources_Present) depending on
Process_Languages.

* lang-specs.h: Keep -g and -m switches in the same order, and as the
last switches.

* lib.adb (Switch_Storing_Enabled): New global Boolean flag
(Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
False.
(Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
False.

* lib.ads (Disable_Switch_Storing): New procedure.

* make.adb: Modifications to reduce nesting level of this package.
(Check_Standard_Library): New procedure
(Gnatmake.Check_Mains): New procedure
(Gnatmake.Create_Binder_Mapping_File): New procedure
(Compile_Sources.Compile): Add switch -gnatez as the last option
(Display): Never display -gnatez

* Makefile.generic:
When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)

* gnatcmd.adb (Check_Project): New function
(Process_Link): New procedure to reduce nesting depth
(Check_Files): New procedure to reduce the nesting depth.
For GNAT METRIC, include the inherited sources in extending projects.
(GNATCmd): When GNAT LS is invoked with a project file and no files,
add the list of files from the sources of the project file. If this list
is too long, put it in a temp text files and use switch -files=
(Delete_Temp_Config_Files): Delete the temp text file that contains
a list of source for gnatpp or gnatmetric, if one has been created.
(GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
in the project file is too large, create a temporary text file that
list them and pass it to the tool with "-files=<temp text file>".
(GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch

* gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
generated file is in not in Ada.

* gnatls.adb: Remove all parameters And_Save that are no longer used.
(Scan_Ls_Arg): Add processing for -files=
(Usage): Add line for -files=

* g-os_lib.adb (On_Windows): New global constant Boolean flag
(Normalize_Pathname): When on Windows and the path starts with a
directory separator, make sure that the resulting path will start with
a drive letter.

* clean.adb (Clean_Archive): New procedure
(Clean_Project): When there is non-Ada code, delete the global archive,
the archive dependency files, the object files and their dependency
files, if they exist.
(Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.

2004-06-25  Thomas Quinot  <quinot@act-europe.fr>

* sinfo.ads: Fix typo in comment.

* sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
the TSS for remote access-to-subprogram types, since these TSS are
always present once the type has been analyzed.
(RAS_E_Dereference): Same.

* sem_attr.adb (Analyze_Attribute): When analysis of an attribute
reference raises Bad_Attribute, mark the reference as analyzed so the
node (and any children resulting from rewrites that could have occurred
during the analysis that ultimately failed) is not analyzed again.

* exp_ch7.ads (Find_Final_List): Fix misaligned comment.

* exp_dist.adb: Minor comment fix.

* exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
type is an anonymous access type, no unchecked deallocation of the
allocated object can occur. If the object is controlled, attach it with
a count of 1. This allows attachment to the Global_Final_List, if
no other relevant list is available.
(Get_Allocator_Final_List): For an anonymous access type that is
the type of a discriminant or record component, the corresponding
finalisation list is the one of the scope of the type.

2004-06-25  Ed Schonberg  <schonberg@gnat.com>

* sem_ch3.adb (Replace_Type): When computing the signature of an
inherited subprogram, use the first subtype if the derived type
declaration has no constraint.

* exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
before applying previous optimization. Minor code cleanup.

* exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
placed at the beginning of an unpacked record without explicit
alignment, a slice of it will be aligned and does not need a copy when
used as an actual.

2004-06-25  Ed Schonberg  <schonberg@gnat.com>

PR ada/15591
PR ada/15592
* sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
reference is written with expressions mimicking parameters.

2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>

PR ada/15589
* sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
STEP 2a. The constraints of a full type declaration of a derived record
type are checked for conformance with those declared in the
corresponding private extension declaration. The message
"not conformant with previous declaration" is emitted if an error is
detected.

2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>

* g-traceb.ads: Document the need for -E binder switch in the spec.

* g-trasym.ads: Document the need for -E binder switch in the spec.

2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>

* sem_prag.adb: Add handling of pragma Detect_Blocking.

* snames.h, snames.ads, snames.adb: Add entry for pragma
Detect_Blocking.

* s-rident.ads: Change reference to pragma Detect_Blocking.

* targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
system.ads.

* opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
to indicate whether pragma Detect_Blocking is active.

* par-prag.adb: Add entry for pragma Detect_Blocking.

* rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
of not handling WITH.
Note that this replaces the previous update which was incorrect.

2004-06-25  Javier Miranda  <miranda@gnat.com>

* sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
use-clauses to have a clean environment.

* sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
the installation of the use-clauses to stablish a clean environment in
case of compilation of a separate unit; otherwise the call to
use_one_package is protected by the barrier Applicable_Use.

* sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
the installation of the use-clauses to stablish a clean environment in
case of compilation of a separate unit.
(End_Use_Clauses): Minor comment cleanup.

2004-06-25  Sergey Rybin  <rybin@act-europe.fr>

* gnat_ugn.texi: Add description of the gnatpp 'files' switch

From-SVN: r83658

20 years agoconcurrence.h: Still create mutex object when single-threaded.
Paul Brook [Fri, 25 Jun 2004 16:36:13 +0000 (16:36 +0000)]
concurrence.h: Still create mutex object when single-threaded.

* include/bits/concurrence.h: Still create mutex object when
single-threaded.

From-SVN: r83657

20 years agodarwin.h (CC1_SPEC): Handle -gused and -gfull.
Devang Patel [Fri, 25 Jun 2004 15:41:38 +0000 (08:41 -0700)]
darwin.h (CC1_SPEC): Handle -gused and -gfull.

        * config/rs6000/darwin.h (CC1_SPEC): Handle -gused and -gfull.
        * config/i386/darwin.h (CC1_SPEC): Same.

From-SVN: r83655

20 years ago* gfortran.fortran-torture/execute/der_init_3.f90: Fix syntax error.
Tobias Schlüter [Fri, 25 Jun 2004 15:30:57 +0000 (17:30 +0200)]
* gfortran.fortran-torture/execute/der_init_3.f90: Fix syntax error.

From-SVN: r83654

20 years ago* dbxout.h: Add include guards
Mark G. Adams [Fri, 25 Jun 2004 15:01:35 +0000 (15:01 +0000)]
* dbxout.h: Add include guards

From-SVN: r83653

20 years agostl_algobase.h (fill, fill_n): Revert last change...
Paolo Carlini [Fri, 25 Jun 2004 14:17:58 +0000 (14:17 +0000)]
stl_algobase.h (fill, fill_n): Revert last change...

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

* include/bits/stl_algobase.h (fill, fill_n): Revert last
change: actually we need to copy construct an object of type
_Tp, not of type iterator_traits<>::value_type, therefore the
code is ok.

From-SVN: r83652

20 years ago* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__.
Paul Brook [Fri, 25 Jun 2004 13:48:51 +0000 (13:48 +0000)]
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__.

From-SVN: r83651

20 years agostl_algobase.h (fill, fill_n): Tighten the dispatch: use iterator_traits<>::value_typ...
Paolo Carlini [Fri, 25 Jun 2004 10:51:45 +0000 (10:51 +0000)]
stl_algobase.h (fill, fill_n): Tighten the dispatch: use iterator_traits<>::value_type, not _Tp.

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

* include/bits/stl_algobase.h (fill, fill_n): Tighten the
dispatch: use iterator_traits<>::value_type, not _Tp.

From-SVN: r83648

20 years agoarm.c (arm_arch4t): New variable.
Richard Earnshaw [Fri, 25 Jun 2004 10:42:21 +0000 (10:42 +0000)]
arm.c (arm_arch4t): New variable.

* arm.c (arm_arch4t): New variable.
(arm_override_options): Initialize it.  If compiling for armv5 or
higher clear TARGET_INTERWORK.
(output_call): Abort if called for armv5.  Use BX if it's available.
(output_call_mem): Use BLX if available and ensure that all armv5
code is interworking safe.
(output_return_instruction): Always use BX in preference to MOV if
it's available.
(arm_output_epilogue): Likewise.
(arm_final_prescan_insn): Never conditionally call a subroutine
on armv5.
* arm.h (arm_arch4t): Declare.
* arm.md (call_reg_armv5, call_value_reg_armv5): New.
(call_reg_arm, call_value_reg_arm): Renamed from call_reg and
call_value_reg respectively.
(call_reg_thumb_v5, call_value_reg_thumb_v5): New.
(call_reg_thumb, call_value_reg_thumb): Renamed from call_indirect
and call_value_indirect respectively.

From-SVN: r83647

20 years ago1.cc: Tweak instantiations.
Paolo Carlini [Fri, 25 Jun 2004 09:37:21 +0000 (09:37 +0000)]
1.cc: Tweak instantiations.

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

* testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
* testsuite/25_algorithms/fill/2.cc: Likewise.

From-SVN: r83646

20 years ago[multiple changes]
Paolo Carlini [Fri, 25 Jun 2004 09:25:57 +0000 (09:25 +0000)]
[multiple changes]

2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
    Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algobase.h (__fill, __fill_n): New helpers
for fill and fill_n, respectively: when copying is cheap, use a
temporary to avoid a memory read in each iteration.

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

* testsuite/25_algorithms/fill/1.cc: New.
* testsuite/25_algorithms/fill/2.cc: Likewise.

From-SVN: r83645

20 years agoformatter.h (__gnu_debug::_Error_formatter): Remove copy constructor and assignment...
Benjamin Kosnik [Fri, 25 Jun 2004 07:01:42 +0000 (07:01 +0000)]
formatter.h (__gnu_debug::_Error_formatter): Remove copy constructor and assignment operator.

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

* include/debug/formatter.h (__gnu_debug::_Error_formatter):
Remove copy constructor and assignment operator.

From-SVN: r83641

20 years agomips.c (reg_or_const_float_1_operand): Reimplement in terms of const_float_1_operand.
Richard Sandiford [Fri, 25 Jun 2004 06:59:03 +0000 (06:59 +0000)]
mips.c (reg_or_const_float_1_operand): Reimplement in terms of const_float_1_operand.

* config/mips/mips.c (reg_or_const_float_1_operand): Reimplement
in terms of const_float_1_operand.

From-SVN: r83640

20 years agore PR target/16144 (Bogus reference to __divdf3 when -O1)
Richard Sandiford [Fri, 25 Jun 2004 06:57:14 +0000 (06:57 +0000)]
re PR target/16144 (Bogus reference to __divdf3 when -O1)

PR target/16144
* config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
is 1.0; force it into a register instead.

From-SVN: r83639

20 years agoconcurrence.h (__gnu_cxx::lock): New.
Benjamin Kosnik [Fri, 25 Jun 2004 06:10:44 +0000 (06:10 +0000)]
concurrence.h (__gnu_cxx::lock): New.

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

* include/bits/concurrence.h (__gnu_cxx::lock): New.
* include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
(__pool_base::_M_get_mutex): New.
* include/bits/allocator.h: Tweak.
* src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
* config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
* include/bits/stl_threads.h: Remove.
* include/Makefile.am: Also here.
* include/Makefile.in: Regenerate.

* src/locale_init.cc: Use __gnu_cxx::lock.

* src/allocator.cc: Move all instantiations...
* src/allocator-inst.cc: ...here.

From-SVN: r83638

20 years agom68k.h: Restore valid comment removed by mistake with the recent m68k comments cleanup.
Bernardo Innocenti [Fri, 25 Jun 2004 05:05:16 +0000 (07:05 +0200)]
m68k.h: Restore valid comment removed by mistake with the recent m68k comments cleanup.

* config/m68k/m68k.h: Restore valid comment removed by mistake with
the recent m68k comments cleanup.

From-SVN: r83637

20 years agodecl.c (grokdeclarator): Restore error messages about __thread.
Mark Mitchell [Fri, 25 Jun 2004 04:48:53 +0000 (04:48 +0000)]
decl.c (grokdeclarator): Restore error messages about __thread.

* decl.c (grokdeclarator): Restore error messages about __thread.
* parser.c (cp_parser_decl_specifier_seq): Likewise.

From-SVN: r83636

20 years agoencoding.h: Wrap the functions with extern "C" for C++ mode.
Andrew Pinski [Fri, 25 Jun 2004 04:31:51 +0000 (04:31 +0000)]
encoding.h: Wrap the functions with extern "C" for C++ mode.

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

        * objc/encoding.h: Wrap the functions with extern "C" for C++
        mode.
        * objc/hash.h: Likewise.
        * objc/objc-api.h: Likewise.
        * objc/objc-list.h: Likewise.
        * objc/runtime.h: Likewise.
        * objc/sarray.h: Likewise.
        * objc/thr.h: Likewise.
        * objc/typedstream.h: Likewise.

From-SVN: r83635

20 years agoc-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.
Richard Kenner [Fri, 25 Jun 2004 03:46:30 +0000 (03:46 +0000)]
c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.

* c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.
* gimplify.c (internal_get_tmp_var, gimplify_return_expr): Likewise.
(gimplify_loop_expr, gimplify_init_constructor): Likewise.
(gimplify_self_mod_expr, gimplify_cond_expr): Likewise.

From-SVN: r83634

20 years agogimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.
Richard Kenner [Fri, 25 Jun 2004 03:41:41 +0000 (03:41 +0000)]
gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.

PR/16131
* gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.

From-SVN: r83633

20 years agoUpdate whitespace and comments
Richard Kenner [Fri, 25 Jun 2004 02:00:16 +0000 (22:00 -0400)]
Update whitespace and comments

From-SVN: r83632

20 years ago* gimplify.c: Remove unneeded forward declarations.
Richard Kenner [Fri, 25 Jun 2004 01:37:56 +0000 (01:37 +0000)]
* gimplify.c: Remove unneeded forward declarations.

From-SVN: r83630

20 years agogimplify.c (append_to_compound_expr): Deleted.
Richard Kenner [Fri, 25 Jun 2004 01:33:42 +0000 (01:33 +0000)]
gimplify.c (append_to_compound_expr): Deleted.

* gimplify.c (append_to_compound_expr): Deleted.
* tree-gimple.h (append_to_compound_expr): Deleted.

From-SVN: r83629

20 years agofold-const.c (fold_addr_expr_with_type): Look through all valid LHS modifiers to...
Richard Kenner [Fri, 25 Jun 2004 01:28:34 +0000 (01:28 +0000)]
fold-const.c (fold_addr_expr_with_type): Look through all valid LHS modifiers to find a base to mark addressable.

* fold-const.c (fold_addr_expr_with_type): Look through all
valid LHS modifiers to find a base to mark addressable.

From-SVN: r83628

20 years agotree.h (debug_find_tree): Add declaration.
Richard Kenner [Fri, 25 Jun 2004 01:22:04 +0000 (01:22 +0000)]
tree.h (debug_find_tree): Add declaration.

* tree.h (debug_find_tree): Add declaration.
* tree-inline.c (debug_find_tree): Remove extern declaration.

From-SVN: r83627

20 years agors6000.md: Apply change mistakenly deleted with 2004-06-22 patch.
Eric Christopher [Fri, 25 Jun 2004 00:59:35 +0000 (00:59 +0000)]
rs6000.md: Apply change mistakenly deleted with 2004-06-22 patch.

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

* config/rs6000/rs6000.md: Apply change mistakenly
deleted with 2004-06-22 patch.

From-SVN: r83625

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

[[Split portion of a mixed commit.]]

From-SVN: r83623.2

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

[[Split portion of a mixed commit.]]

From-SVN: r83622.2

20 years agoc-decl.c (c_in_iteration_stmt, [...]): Remove.
Richard Henderson [Thu, 24 Jun 2004 23:12:30 +0000 (16:12 -0700)]
c-decl.c (c_in_iteration_stmt, [...]): Remove.

* c-decl.c (c_in_iteration_stmt, c_in_case_stmt): Remove.
(c_break_label, c_cont_label): New.
(start_function): Update initializations.
(c_push_function_context): Update saves.
(c_pop_function_context): Update restores.
* c-parse.in: Update expected conflicts.
(stmt_count, compstmt_count): Remove.  Remove all updates.
(if_prefix, simple_if, do_stmt_start): Remove.
(lineno_labeled_stmt): Remove.
(lineno_labels): New.
(c99_block_lineno_labeled_stmt): Use it.
(lineno_stmt, lineno_label): Don't clear EXPR_LOCUS before calling
annotate_with_locus.
(select_or_iter_stmt): Replace by ...
(condition, if_statement_1, if_statement_2, if_statement,
start_break, start_continue, while_statement, do_statement,
for_cond_expr, for_incr_expr, for_statement, switch_statement): New.
(stmt): Split out ...
(stmt_nocomp): ... this.  Use c_finish_bc_stmt, c_finish_goto_label,
c_finish_goto_ptr.
* c-semantics.c (add_stmt): Don't add line numbers to labels.
* c-tree.h: Update prototypes.
(struct language_function): Remove x_in_iteration_stmt, x_in_case_stmt;
add x_break_label, x_cont_label, x_switch_stack.
(c_switch_stack): Declare.
* c-typeck.c (c_finish_goto_label, c_finish_goto_ptr): New.
(c_finish_return): Return the statement.
(c_switch_stack): Rename from switch_stack; export.
(if_elt, if_stack, if_stack_space, if_stack_pointer): Remove.
(c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_begin_else,
c_finish_else): Remove.
(c_finish_if_stmt): Rewrite to perform the entire operation.
(c_begin_while_stmt, c_finish_while_stmt_cond, c_finish_while_stmt,
c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
c_finish_for_stmt_incr, c_finish_for_stmt): Remove.
(c_finish_loop): New.
(c_finish_bc_stmt): New.
(c_finish_expr_stmt): Return the statement.  Split out...
(c_process_expr_stmt): ... this.  Don't add locus to error marks.
* gimplify.c (gimplify_cond_expr): Accept NULL type statements.
* tree-gimple.c (is_gimple_stmt): Likewise.
* tree-pretty-print.c (dump_generic_node <COND_EXPR>): Likewise.
(print_struct_decl): Delete empty compound statement.
* objc/objc-act.c (objc_build_throw_stmt): Return the statement.
* objc/objc-act.h: Update decl.

From-SVN: r83620

20 years agotree-pretty-print.c (dump_generic_node, [...]): Don't look at TYPE_METHODS unless...
Richard Kenner [Thu, 24 Jun 2004 22:54:21 +0000 (22:54 +0000)]
tree-pretty-print.c (dump_generic_node, [...]): Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE.

* tree-pretty-print.c (dump_generic_node, case TYPE_DECL):
Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE.

From-SVN: r83619

20 years agoobjc-act.c (build_objc_method_call): Save the lookup_object so we do not call it...
Andrew Pinski [Thu, 24 Jun 2004 22:52:42 +0000 (22:52 +0000)]
objc-act.c (build_objc_method_call): Save the lookup_object so we do not call it twice.

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

        * objc-act.c (build_objc_method_call): Save the lookup_object
        so we do not call it twice.

From-SVN: r83618

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

From-SVN: r83617

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