Devang Patel [Mon, 14 Mar 2005 22:34:36 +0000 (14:34 -0800)]
* doc/invoke.texi: Add reference to Visibility document.
From-SVN: r96453
Richard Sandiford [Mon, 14 Mar 2005 20:40:57 +0000 (20:40 +0000)]
config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to MASK_SPLIT_ADDRESSES.
* config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to
MASK_SPLIT_ADDRESSES.
* config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete.
(MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD)
(MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT)
(MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS)
(MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN)
(MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16)
(MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY)
(MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400)
(MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN)
(MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE)
(MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D)
(MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64)
(TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE)
(TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS)
(TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT)
(TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA)
(TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN)
(TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD)
(TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV)
(TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1)
(TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120)
(TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS)
(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32)
(TARGET_EXPLICIT_RELOCS): Delete.
(TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete.
(TARGET_OPTIONS): Remove entry for -mfix-vr4130.
* config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
(override_options): Set MASK_LONG64 if -mint64 is given and no
-mlongXX option is. Complain about -mint64 -mlong32.
(override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename
MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT.
* config/mips/mips.opt: New file.
From-SVN: r96452
Richard Sandiford [Mon, 14 Mar 2005 20:18:43 +0000 (20:18 +0000)]
config.gcc (extra_options): New variable for listing option files.
* config.gcc (extra_options): New variable for listing option files.
Add ${cpu_type}/${cpu_type}.opt to it if that file exists.
* configure.ac (extra_opt_files): New AC_SUBST variable.
(tm_file_list, tm_include_list): Include options.h first.
* configure: Regenerate.
* Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables.
(s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files)
(s-options-h): New rule.
(options.h): Depend on it.
(TEXI_GCCINT_FILES): Add options.texi.
* hooks.h (hook_bool_size_t_constcharptr_int_true): Declare.
* hooks.c (hook_bool_size_t_constcharptr_int_true): New function.
* target.h (gcc_target): Add default_target_flags and handle_option.
* target-def.h (TARGET_DEFAULT_TARGET_FLAGS)
(TARGET_HANDLE_OPTION): New macros.
(TARGET_INITIALIZER): Include them.
* opt-functions.awk (opt_args, nth_arg): New functions.
(switch_flags): Handle the "Target" flag.
(var_args): Delete.
(var_name): Use opt_args and nth_arg.
(var_set, var_ref): Likewise. Handle "Mask" and "InverseMask".
* opth-gen.awk: Declare target_flags. Declare MASK_* and TARGET_*
macros for the "Mask" and "InverseMask" options.
* opts.h (cl_var_cond): New enum.
(cl_option): Replace the "has_set_value" and "set_value" fields with
"var_cond" and "var_value".
(CL_TARGET): New macro.
(option_enabled, print_filtered_help): Declare.
(decode_options): Move definition.
* opts.c (handle_option): Search for the original option before
removing any "no-" prefix. Handle CL_TARGET. Adjust for the new
var_cond and var_value fields. Use targetm.handle_option to handle
target options.
(decode_options): Set target_flags to targetm.default_target_flags.
(print_filtered_help): Make global. Handle CL_TARGET.
(option_enabled): New function.
* toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES.
(display_target_options, set_target_switch, print_switch_values)
(default_pch_valid_p): Guard uses of target_switches with
#ifdef TARGET_SWITCHES. Also...
(display_target_options): Display the CL_TARGET entries in cl_options.
(set_target_option): Don't complain about the "" option when
TARGET_SWITCHES is undefined.
(print_switch_values): Use option_enabled.
(default_pch_valid_p): Check cl_options[] when looking for something
that has changed the value of target_flags.
* c.opt: Remove documentation from top of file.
* doc/gccint.texi: Add an "Options" chapter. Include options.texi.
* doc/sourecebuild.texi: Refer to the new options documentation
instead of c.opt. Document machine-specific .opt files.
* doc/tm.texi (target_flags): Say that this variable is declared
by options.h.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document.
(TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as
an alternative.
* doc/options.texi: New file.
From-SVN: r96448
Alexandre Oliva [Mon, 14 Mar 2005 20:06:23 +0000 (20:06 +0000)]
re PR rtl-optimization/18628 (miscompilation of switch statement in loop)
gcc/ChangeLog:
PR middle-end/18628
* cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a
register.
gcc/testsuite/ChangeLog:
* gcc.dg/pr18628.c: New.
From-SVN: r96445
Alexandre Oliva [Mon, 14 Mar 2005 20:02:05 +0000 (20:02 +0000)]
re PR c++/20280 (ICE in create_tmp_var, at gimplify.c:368)
gcc/ChangeLog:
PR c++/20280
* gimplify.c (gimplify_cond_expr): Add fallback argument. Use a
temporary variable of pointer type if an lvalues is required.
(gimplify_modify_expr_rhs): Request an rvalue from it.
(gimplify_expr): Pass fallback on.
gcc/testsuite/ChangeLog:
PR c++/20280
* g++.dg/tree-ssa/pr20280.C: New.
From-SVN: r96444
Tobias Schlüter [Mon, 14 Mar 2005 19:55:02 +0000 (20:55 +0100)]
re PR fortran/20467 (Bad fortran code causes ICE)
fortran/
PR fortran/20467
* symbol.c (check_conflict): A dummy argument can't be a statement
function.
testsuite/
PR fortran/20467
* gfortran.dg/stfunc_2.f90: New test.
From-SVN: r96443
Kazu Hirata [Mon, 14 Mar 2005 19:12:14 +0000 (19:12 +0000)]
* cfgbuild.c: Update comments.
From-SVN: r96442
Roger Sayle [Mon, 14 Mar 2005 18:24:15 +0000 (18:24 +0000)]
re PR rtl-optimization/17236 (inefficient code for long long multiply on x86)
PR rtl-optimization/17236
* optabs.c (expand_doubleword_mult): New helper function split out
from expand_binop. Permute the order in which instructions are
emitted to minimize the number of simultaneously live registers.
(expand_binop): Call expand_doubleword_mult to synthesize a double
word multiplication.
From-SVN: r96441
Kazu Hirata [Mon, 14 Mar 2005 17:43:01 +0000 (17:43 +0000)]
basic-block.h: Update the prototypes of cached_make_edge and rtl_make_eh_edge.
* basic-block.h: Update the prototypes of cached_make_edge and
rtl_make_eh_edge.
* cfg.c (cached_make_edge): Take edge_cache representing one
row of the adjacency matrix of edges.
* cfgbuild.c (make_label_edge, rtl_make_eh_edge): Likewise.
(make_edges): Initialize edge_cache to represent one row of
the adjacency matrix of edges.
From-SVN: r96440
Zdenek Dvorak [Mon, 14 Mar 2005 16:26:11 +0000 (17:26 +0100)]
tree-ssa-phiopt.c (minmax_replacement, [...]): New functions.
* tree-ssa-phiopt.c (minmax_replacement, blocks_in_phiopt_order):
New functions.
(tree_ssa_phiopt): Use blocks_in_phiopt_order and minmax_replacement.
Remove unused removed_phis variable.
(conditional_replacement): Use build1/build2.
(abs_replacement): Use last_and_only_stmt and build1/build2.
* gcc.dg/tree-ssa/phi-opt-5.c: New test.
From-SVN: r96439
Zdenek Dvorak [Mon, 14 Mar 2005 16:21:16 +0000 (17:21 +0100)]
builtin-attrs.def (ATTR_NOVOPS, [...]): New.
* builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST,
ATTR_PURE_NOTHROW_NOVOPS_LIST): New.
* builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS.
(BUILT_IN_PREFETCH): Set the NOVOPS attribute.
* c-common.c (handle_novops_attribute): New function.
(c_common_attribute_table): Add "no vops" entry.
* c-decl.c (merge_decls): Copy DECL_IS_NOVOPS.
* calls.c (flags_from_decl_or_type): Set ECF_NOVOPS.
* tree-ssa-operands.c (get_call_expr_operands): Do not
create virtual operands for calls with ECF_NOVOPS flag.
* tree.h (DECL_IS_NOVOPS): New macro.
(struct tree_decl): Add novops_flag.
(ECF_NOVOPS): New constant.
From-SVN: r96438
Uros Bizjak [Mon, 14 Mar 2005 16:16:15 +0000 (17:16 +0100)]
re PR target/17688 ([4.1] x87 fops can handle HImodes)
PR target/17688
* config/i386/i386.c (x86_use_himode_fiop): New.
(x86_use_simode_fiop): Rename from x86_use_fiop.
* config/i386/i386.h (x86_use_himode_fiop): Declare.
(TARGET_USE_HIMODE_FIOP): New.
(x86_use_simode_fiop): Rename from x86_use_fiop.
(TARGET_USE_SIMODE_FIOP): Rename from TARGET_USE_FIOP.
* config/i386/i386.md (X87MODEI12): New mode macro define.
(*cmpfp_<mode>): Rename from *cmpfp_si. Use X87MODEI12 mode macro
to implement x87 FP compare with HImode input operands.
(*fp_jcc_8<mode>_387, splitter): Rename from *fp_jcc_8_387.
Use X87MODEI12 mode macro to handle HImode input operands.
(*fop_sf_2<mode>_i387, *fop_sf_3<mode>_i387, *fop_df_2<mode>_i387,
*fop_df_3<mode>_i387, *fop_xf_2<mode>_i387, *fop_xf_3<mode>_i387):
Renamed from *fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387,
*fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387. Use X87MODEI12 mode
macro to implement x87 operators with HImode input operands.
(fop splitters): Use X87MODEI12 mode macro to handle HImode
input operands.
From-SVN: r96437
Eric Botcazou [Mon, 14 Mar 2005 16:11:43 +0000 (16:11 +0000)]
Fix bogus date.
From-SVN: r96436
Zdenek Dvorak [Mon, 14 Mar 2005 15:23:43 +0000 (16:23 +0100)]
tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of integer_zerop.
* tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
integer_zerop.
* tree-gimple.c (is_gimple_min_invariant): Consider overflowed
constants invariant.
* fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
the argument of the shift to the unsigned type.
From-SVN: r96435
Zdenek Dvorak [Mon, 14 Mar 2005 15:19:56 +0000 (16:19 +0100)]
basic-block.h (BB_VISITED): Removed.
* basic-block.h (BB_VISITED): Removed.
* cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag.
From-SVN: r96434
Daniel Jacobowitz [Mon, 14 Mar 2005 14:54:24 +0000 (14:54 +0000)]
Fix typo in changelog entry.
From-SVN: r96433
Kriang Lerdsuwanakij [Mon, 14 Mar 2005 14:51:25 +0000 (14:51 +0000)]
re PR c++/4403 (incorrect class becomes a friend in template)
PR c++/4403
PR c++/9783, DR433
* name-lookup.c (pushtag): Skip template parameter scope when
scope is ts_global. Don't push tag into template parameter
scope.
* pt.c (instantiate_class_template): Reorder friend class
template substitution to handle non-dependent friend class
that hasn't been previously declared.
* g++.dg/template/friend34.C: New test.
* g++.dg/template/friend35.C: Likewise.
* g++.old-deja/g++.pt/inherit2.C: Remove XFAIL's.
From-SVN: r96432
Falk Hueffner [Mon, 14 Mar 2005 14:44:10 +0000 (15:44 +0100)]
re PR target/20424 (Bootstrap failure on alphaev56)
PR bootstrap/20424
* config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo.
From-SVN: r96431
Kriang Lerdsuwanakij [Mon, 14 Mar 2005 14:33:54 +0000 (14:33 +0000)]
Friend class name lookup 5/n PR c++/1016
Friend class name lookup 5/n
PR c++/1016
* cp-tree.h (pushtag): Adjust declaration.
* decl.c (lookup_and_check_tag): Call lookup_type_scope if
lookup_name fails.
(xref_tag): Adjust call to pushtag. Make hidden class visible.
(start_enum): Adjust call to pushtag.
* name-lookup.c (ambiguous_decl): Ignore hidden names.
(qualify_lookup): Change return type to bool.
(hidden_name_p): New function.
(lookup_namespace_name, unqualified_namespace_lookup,
lookup_name_real): Use it.
(lookup_type_scope): Update comments.
(maybe_process_template_type_declaration): Change parameter name
from globalize to is_friend.
(pushtag): Change globalize parameter of type int to tag_scope.
Hide name if introduced by friend declaration.
* name-lookup.h (hidden_name_p): Add declaration.
* parser.c (cp_parser_lookup_name): Don't deal with hidden name
here.
* pt.c (push_template_decl_real): Make hidden class template
visible.
(lookup_template_class, instantiate_class_template): Adjust call
to pushtag.
* semantics.c (begin_class_definition): Likewise.
* rtti.c (init_rtti_processing, build_dynamic_cast_1,
tinfo_base_init, emit_support_tinfos): Use ts_current instead of
ts_global.
* g++.dg/lookup/hidden-class1.C: New test.
* g++.dg/lookup/hidden-class2.C: Likewise.
* g++.dg/lookup/hidden-class3.C: Likewise.
* g++.dg/lookup/hidden-class4.C: Likewise.
* g++.dg/lookup/hidden-class5.C: Likewise.
* g++.dg/lookup/hidden-class6.C: Likewise.
* g++.dg/lookup/hidden-class7.C: Likewise.
* g++.dg/lookup/hidden-class8.C: Likewise.
* g++.dg/lookup/hidden-class9.C: Likewise.
* g++.dg/lookup/hidden-temp-class1.C: Likewise.
* g++.dg/lookup/hidden-temp-class2.C: Likewise.
* g++.dg/lookup/hidden-temp-class3.C: Likewise.
* g++.dg/lookup/hidden-temp-class4.C: Likewise.
* g++.dg/lookup/hidden-temp-class5.C: Likewise.
* g++.dg/lookup/hidden-temp-class6.C: Likewise.
* g++.dg/lookup/hidden-temp-class7.C: Likewise.
* g++.dg/lookup/hidden-temp-class8.C: Likewise.
* g++.dg/lookup/hidden-temp-class9.C: Likewise.
* g++.dg/lookup/hidden-temp-class10.C: Likewise.
* g++.dg/lookup/hidden-temp-class11.C: Likewise.
From-SVN: r96430
Kazu Hirata [Mon, 14 Mar 2005 13:10:51 +0000 (13:10 +0000)]
alloc-pool.c, [...]: Update copyright.
* alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h,
stringpool.c, config/mips/mips-protos.h: Update copyright.
From-SVN: r96428
Kazu Hirata [Mon, 14 Mar 2005 13:04:48 +0000 (13:04 +0000)]
* ggc-zone.c: Fix comment typos.
From-SVN: r96427
Alan Modra [Mon, 14 Mar 2005 07:24:29 +0000 (07:24 +0000)]
rs6000-protos.h: Replace "struct rtx_def *" throughout with its typedef, "rtx".
* config/rs6000/rs6000-protos.h: Replace "struct rtx_def *"
throughout with its typedef, "rtx".
* config/rs6000/rs6000.c: Likewise. Formatting fixes.
(rs6000_tls_symbol_ref_1): Remove inline keyword.
* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Formatting. Reorder
regs in comment to match code.
From-SVN: r96420
Kazu Hirata [Mon, 14 Mar 2005 04:33:46 +0000 (04:33 +0000)]
tree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI node and statement.
* tree-cfg.c (verify_stmts): Check that
bb_for_stmt (stmt) == bb for every PHI node and statement.
From-SVN: r96418
Mark Mitchell [Mon, 14 Mar 2005 04:02:20 +0000 (04:02 +0000)]
Update message
From-SVN: r96417
Mark Mitchell [Mon, 14 Mar 2005 03:54:21 +0000 (03:54 +0000)]
re PR c++/20157 (Internal compiler error on invalid code)
PR c++/20157
* pt.c (determine_specialization): Reject non-specializations.
PR c++/20157
* g++.dg/template/error18.C: New test.
From-SVN: r96414
Kazu Hirata [Mon, 14 Mar 2005 02:56:51 +0000 (02:56 +0000)]
regclass.c (reg_class_superclasses, [...]): Make them static.
* regclass.c (reg_class_superclasses, reg_class_subclasses):
Make them static.
* hard-reg-set.h: Remove the corresponding declarations.
From-SVN: r96410
Kazu Hirata [Mon, 14 Mar 2005 02:55:03 +0000 (02:55 +0000)]
function.c (get_func_frame_size): Make it static.
* function.c (get_func_frame_size): Make it static.
* function.h: Remove the corresponding type.
From-SVN: r96409
Kazu Hirata [Mon, 14 Mar 2005 02:53:59 +0000 (02:53 +0000)]
except.c (check_handled): Make it static.
* except.c (check_handled): Make it static.
* except.h: Remove the corresponding prototype.
From-SVN: r96408
Alan Modra [Mon, 14 Mar 2005 02:23:49 +0000 (02:23 +0000)]
config.gcc: Remove excess indentation.
* config.gcc: Remove excess indentation.
(powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548.
From-SVN: r96405
GCC Administrator [Mon, 14 Mar 2005 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r96401
Roger Sayle [Sun, 13 Mar 2005 22:34:03 +0000 (22:34 +0000)]
re PR middle-end/19331 (Inefficient code generated for bitfield assignment)
PR middle-end/19331
* tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically.
* fold-const.c (fold_sign_changed_comparison): Likewise.
(fold_binary): Optimize comparisons against widened operands if
the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR.
From-SVN: r96397
Ben Elliston [Sun, 13 Mar 2005 22:17:59 +0000 (22:17 +0000)]
re PR c++/16792 (ICE in gen_subprogram_die, at dwarf2out.c:11267)
PR debug/16792
* g++.dg/debug/pr16792.C: New test.
From-SVN: r96396
Eric Botcazou [Sun, 13 Mar 2005 22:11:46 +0000 (23:11 +0100)]
sparc.c (struct_value_alias_set): New global variable.
* config/sparc/sparc.c (struct_value_alias_set): New global variable.
(sparc_override_options): Initialize it.
(sparc_struct_value_rtx): Set it on the MEM to be returned.
From-SVN: r96395
Joseph Myers [Sun, 13 Mar 2005 21:13:41 +0000 (21:13 +0000)]
anon-struct-6.c, [...]: Ensure uniqueness of test assertion names.
* gcc.dg/anon-struct-6.c, gcc.dg/array-8.c,
gcc.dg/cpp/
19940712-1.c, gcc.dg/cpp/
19951025-1.c,
gcc.dg/cpp/tr-warn6.c, gcc.dg/deprecated.c, gcc.dg/init-bad-1.c,
gcc.dg/init-bad-2.c, gcc.dg/init-bad-3.c, gcc.dg/m-un-2.c,
gcc.dg/parm-mismatch-1.c, gcc.dg/redecl-1.c: Ensure uniqueness of
test assertion names.
From-SVN: r96391
David Edelsohn [Sun, 13 Mar 2005 20:28:29 +0000 (20:28 +0000)]
predicates.md (mem_or_easy_const_operand): Delete.
* config/rs6000/predicates.md (mem_or_easy_const_operand): Delete.
(reg_or_none500mem_operand): New predicate.
(zero_reg_mem_operand): New predicate.
* config/rs6000/rs6000.md (extendsfdf2): Change operand1 predicate
to reg_or_none500mem_operand.
(extendsfdf2_fpr): Add MEM alternative.
(extenddftf2_internal): Change operand2 predicate to
zero_reg_mem_operand.
From-SVN: r96390
Tobias Schlüter [Sun, 13 Mar 2005 19:28:18 +0000 (20:28 +0100)]
re PR fortran/18600 (ICE NIST FM020.f reduced case)
PR fortran/18600
* gfortran.dg/stfunc_1.f90: New test.
From-SVN: r96389
Tobias Schlüter [Sun, 13 Mar 2005 18:46:36 +0000 (19:46 +0100)]
re PR fortran/16907 (Non-integer array indices rejected)
fortran/
PR fortran/16907
* resolve.c (gfc_resolve_index): Allow REAL indices as an extension.
testsuite/
PR fortran/16907
* gfortran.dg/real_index_1.f90: New test.
From-SVN: r96385
Tobias Schlüter [Sun, 13 Mar 2005 18:37:17 +0000 (19:37 +0100)]
re PR fortran/20323 (optional arguments incorrectly accepted in specification expressions)
fortran/
PR fortran/20323
* resolve.c (gfc_resolve): Check if character lengths are
specification expressions.
testsuite/
PR fortran/20323
* gfortran.dg/spec_expr_1.f90: New test.
From-SVN: r96382
Daniel Jacobowitz [Sun, 13 Mar 2005 18:09:55 +0000 (18:09 +0000)]
ggc-zone.c: Rewritten.
* ggc-zone.c: Rewritten.
* alloc-pool.c (dump_alloc_pool_statistics): Don't print statistics
if there are none.
* configure.ac: Define GGC_ZONE for --with-gc=zone.
* config.in: Regenerated.
* configure: Regenerated.
* gentype.c (write_types_process_field, write_func_for_structure):
Pass new argument to gt_pch_note_object.
* ggc-common.c (struct ptr_data): Add TYPE.
(gt_pch_note_object): Take TYPE argument and save it.
(call_count): Update call to ggc_pch_count_object.
(call_alloc): Update call to ggc_pch_alloc_object.
(gt_pch_save): Call ggc_pch_prepare_write after paddng the PCH
file.
* ggc-none.c (rtl_zone, garbage_zone, ggc_alloc_zone_stat): Delete.
* ggc-page.c (rtl_zone, tree_zone, garbage_zone)
(ggc_alloc_zone_stat): Delete.
(ggc_pch_count_object, ggc_pch_alloc_object): Add TYPE argument.
* ggc.h (gt_pch_note_object, ggc_pch_count_object)
(ggc_pch_alloc_object): Update prototypes.
(garbage_zone): Delete.
(tree_zone, rtl_zone, ggc_alloc_zone_stat, ggc_alloc_zone): Move to
GGC_ZONE conditional. Update. Change tree_zone and rtl_zone into
pointers.
(tree_id_zone): New variable.
(ggc_alloc_cleared_zone): Remove unused.
(ggc_alloc_zone): Define.
(ggc_alloc_rtvec, ggc_alloc_tree): Update to use ggc_alloc_zone.
* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Use
ggc_alloc_zone_stat.
* stringpool.c (gt_pch_n_S): Update call to gt_pch_note_object.
* tree.c (copy_node_stat, make_tree_binfo_stat, make_tree_vec_stat)
(tree_cons_stat, build1_stat): Update call to ggc_alloc_zone_stat.
(make_node_stat): Likewise. Use tree_id_zone.
From-SVN: r96381
Daniel Jacobowitz [Sun, 13 Mar 2005 18:03:25 +0000 (18:03 +0000)]
configure.ac: Check for MIPS TLS.
* configure.ac: Check for MIPS TLS.
* configure: Regenerated.
* config/mips/mips-protos.h (enum mips_symbol_type): Add
SYMBOL_TLS, SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL,
SYMBOL_GOTTPREL, and SYMBOL_TPREL.
* config/mips/mips.c (mips_regno_to_class): Handle V1_REG.
(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
(mips_classify_symbol, mips_symbolic_constant_p)
(mips_symbolic_address_p, mips_symbol_insns): Handle TLS symbols.
(mips_tls_operand_p, mips_call_tls_get_addr)
(mips_legitimize_tls_address, mips_cannot_force_const_mem)
(mips_tls_symbol_ref_1): New functions.
(mips_legitimize_address, mips_legitimize_const_move): Call
mips_legitimize_tls_address.
(override_options): Handle V1_REG and TLS symbols. Disable TLS
for MIPS16.
* config/mips/mips.h (enum reg_class, REG_CLASS_NAMES)
(REG_CLASS_CONTENTS, GR_REG_CLASS_P): Include V1_REG.
(mips_char_to_class): Document V1_REG.
(HAVE_AS_TLS): Provide default.
* config/mips/mips.md (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): New
constants.
(load_got<mode>): Renamed from *load_got<mode>. Allow when
!TARGET_ABICALLS.
(tls_get_tp_<mode>): New instruction.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r96380
Daniel Jacobowitz [Sun, 13 Mar 2005 17:57:49 +0000 (17:57 +0000)]
configure.ac: Update checks for target tools.
* configure.ac: Update checks for target tools.
* configure: Regenerated.
From-SVN: r96379
Daniel Jacobowitz [Sun, 13 Mar 2005 17:56:14 +0000 (17:56 +0000)]
* varasm.c (decl_tls_model): Check flag_shlib instead of flag_pic.
From-SVN: r96378
Roger Sayle [Sun, 13 Mar 2005 17:06:42 +0000 (17:06 +0000)]
expmed.c (expand_mult): Use synthetic multiplication sequences for more classes of DImode...
* expmed.c (expand_mult): Use synthetic multiplication sequences for
more classes of DImode multiplication by constant. Allow both
multiplication by small negative constants (by performing a
multiplication by a positive constant and negating the result) and
multiplications by large powers of two, by using a left shift.
From-SVN: r96377
Kazu Hirata [Sun, 13 Mar 2005 15:58:31 +0000 (15:58 +0000)]
tree-ssa-phiopt.c (value_replacement): Remove local variable result.
* tree-ssa-phiopt.c (value_replacement): Remove local variable
result.
From-SVN: r96376
Kazu Hirata [Sun, 13 Mar 2005 15:57:31 +0000 (15:57 +0000)]
tree-ssa-live.c (build_tree_conflict_graph): Remove local variable ann.
* tree-ssa-live.c (build_tree_conflict_graph): Remove local
variable ann.
From-SVN: r96375
Kazu Hirata [Sun, 13 Mar 2005 15:55:32 +0000 (15:55 +0000)]
* tree-cfg.c (group_case_labels): Remove local variable type.
From-SVN: r96374
Kazu Hirata [Sun, 13 Mar 2005 15:54:15 +0000 (15:54 +0000)]
lambda-code.c (lambda_compute_auxillary_space): Remove local variable determinant.
* lambda-code.c (lambda_compute_auxillary_space): Remove local
variable determinant.
From-SVN: r96373
Kazu Hirata [Sun, 13 Mar 2005 15:53:13 +0000 (15:53 +0000)]
builtins.c (expand_builtin_mathfn_3): Remove local variable before_call.
* builtins.c (expand_builtin_mathfn_3): Remove local variable
before_call.
From-SVN: r96372
Kazu Hirata [Sun, 13 Mar 2005 15:51:08 +0000 (15:51 +0000)]
builtins.c (fold_trunc_transparent_mathfn, [...]): Use TYPE (TYPE (fndecl)) instead of TREE_TYPE (exp).
* builtins.c (fold_trunc_transparent_mathfn,
fold_fixed_mathfn, fold_builtin_atan, fold_builtin_trunc,
fold_builtin_floor, fold_builtin_ceil, fold_builtin_round,
fold_builtin_lround, fold_builtin_bitop, fold_builtin_memcpy,
fold_builtin_strcpy, fold_builtin_strncpy,
fold_builtin_signbit): Use TYPE (TYPE (fndecl)) instead of
TREE_TYPE (exp).
From-SVN: r96371
Kazu Hirata [Sun, 13 Mar 2005 14:23:31 +0000 (14:23 +0000)]
c-decl.c (c_init_decl_processing): Remove useless calls to build_function_type.
* c-decl.c (c_init_decl_processing): Remove useless calls to
build_function_type.
From-SVN: r96370
Kazu Hirata [Sun, 13 Mar 2005 14:06:48 +0000 (14:06 +0000)]
builtin-attrs.def, [...]: Update copyright.
* builtin-attrs.def, c-lex.c, c-pragma.h, reg-stack.c,
config/mips/vr.h: Update copyright.
From-SVN: r96369
Feng Wang [Sun, 13 Mar 2005 14:05:58 +0000 (14:05 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2005-03-13 Feng Wang <fengwang@nudt.edu.cn>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r96368
Kazu Hirata [Sun, 13 Mar 2005 13:31:01 +0000 (13:31 +0000)]
tree-into-ssa.c (find_idf): Speed up by putting the indexes of basic blocks into work_stack.
* tree-into-ssa.c (find_idf): Speed up by putting the indexes
of basic blocks into work_stack.
From-SVN: r96367
Andy Hutchinson [Sun, 13 Mar 2005 10:09:53 +0000 (10:09 +0000)]
re PR target/18251 (unable to find a register to spill in class `POINTER_REGS')
PR target/18251
* config/avr/avr.md (movmemhi): Rewrite as RTL loop.
(*movmemqi_insn): Delete.
(*movmemhi): Delete.
From-SVN: r96365
Kazu Hirata [Sun, 13 Mar 2005 04:35:12 +0000 (04:35 +0000)]
builtins.c (fold_builtin_classify): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_classify): Take decomposed
arguments of CALL_EXPR.
(fold_builtin_1): Update a call to fold_builtin_classify.
From-SVN: r96364
Joseph Myers [Sun, 13 Mar 2005 01:09:47 +0000 (01:09 +0000)]
re PR c/20402 (gcc.dg/noncompile/920923-1.c ICE)
PR c/20402
* c-parser.c (c_parser_struct_or_union_specifier): Don't fall
through into call to parser_xref_tag after parse error.
(c_parser_struct_declaration): Consistently return NULL_TREE on
error.
testsuite:
* gcc.dg/noncompile/920923-1.c: Detail expected diagnostics for
new parser.
From-SVN: r96363
Daniel Berlin [Sun, 13 Mar 2005 00:46:07 +0000 (00:46 +0000)]
In gcc/ada/ 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
In gcc/ada/
2005-03-12 Daniel Berlin <dberlin@dberlin.org>
* misc.c (gnat_post_options): Turn off structural
aliasing for now.
In gcc/
2005-03-12 Daniel Berlin <dberlin@dberlin.org>
* tree-flow-inline.h (ref_contains_array_ref): New function.
(lookup_subvars_for_var): Ditto.
(get_subvars_for_var): Ditto.
(var_can_have_subvars): Ditto.
* tree-flow.h (mem_tag_kind): Add STRUCT_FIELD.
(struct subvar): New type.
* tree-dfa.c (okay_component_ref_for_subvars): New function.
* tree-optimize.c (init_tree_optimization_passes): Call
pass_create_structure_vars.
* tree-ssa-alias.c: Include vec.h.
(init_alias_info): Don't auto-clear call clobbered on struct-field
tags.
(compute_flow_insensitive_aliasing): Handle subvars.
(group_aliases): Handle STRUCT_FIELD aliases.
(setup_pointers_and_addressables): Ditto.
Don't mark variables non-addressable if they still have
addressable subvars.
Also mark subvars addressable when the real variable is marked
addressable.
(add_pointed_to_var): Try to prune the pointed-to set by only
pointing to subvars when possible.
Otherwise, make sure we set addresses_needed and pt_vars to
properly include subvars.
(bitpos_of_field): New function.
(push_fields_onto_fieldstack): Ditto.
(get_or_create_used_part_for): Ditto.
(create_overlap_variables_for): Ditto.
(find_used_portions): Ditto.
(create_structure_vars): Ditto.
(pass_create_structure_vars): New structure.
* tree-ssa-operands.c (finalize_ssa_v_must_defs): Remove assert.
(get_expr_operands): Handle subvars. Also try to turn
COMPONENT_REF accesses into must-defs now that we can accurately
portray it.
(note_addressable): Try to only mark as addressable those subvars
we know a COMPONENT_REF touches.
(overlap_subvar): New function.
* tree-vect-analyze.c (vect_object_analysis): Add new parameter.
Handle subvar storing.
(vect_address_analysis): Update caller of vect_object_analysis.
* tree-vect-transform.c (vect_create_data_ref_ptr): Copy subvars.
* tree-vectorizer.h (struct _stmt_vec_info): Add subvars member.
(STMT_VINFO_SUBVARS): New macro.
* common.opts: add flag_tree_salias.
* opts.c (decode_options): flag_tree_salias defaults to on.
* doc/invoke.texi: Document fdump-tree-svars and -ftree-salias.
* doc/tree-ssa.texi: Document structural alias analysis.
From-SVN: r96362
GCC Administrator [Sun, 13 Mar 2005 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r96360
Tobias Schlüter [Sat, 12 Mar 2005 21:48:48 +0000 (22:48 +0100)]
Correct wrong date on ChangeLog entry
From-SVN: r96353
Tobias Schlüter [Sat, 12 Mar 2005 21:44:44 +0000 (22:44 +0100)]
re PR fortran/20361 (-fmax-stack-var-size=N not working for equivalence)
fortran/
PR fortran/20361
* trans-array.c (gfc_stack_space_left): Remove unused variable.
(gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
code.
* trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
Remove declaration / prototype.
* trans-common.c (build_equiv_decl): Give union a name. Check if
it can be put on the stack.
* trans-decl.c (gfc_stack_space_left): Move function here.
(gfc_build_qualified_array): Fix comment typo.
* trans.h (gfc_put_var_on_stack): Add prototype.
testsuite/
PR fortran/20361
* gfortran.dg/largeequiv_1.f90: New test.
From-SVN: r96352
Steven Bosscher [Sat, 12 Mar 2005 20:53:19 +0000 (20:53 +0000)]
tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
* tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
* tree-ssa-dce.c (mark_stmt_necessary): Don't check for it.
* tree-ssa-operands.c (get_expr_operands): Likewise.
(get_expr_operands): Likewise for ERROR_MARK.
From-SVN: r96351
Kazu Hirata [Sat, 12 Mar 2005 18:38:17 +0000 (18:38 +0000)]
tree-ssa-live.c (create_ssa_var_map, [...]): Remove local variable snn.
* tree-ssa-live.c (create_ssa_var_map,
calculate_live_on_entry): Remove local variable snn.
From-SVN: r96348
Kazu Hirata [Sat, 12 Mar 2005 18:37:18 +0000 (18:37 +0000)]
tree-inline.c (expand_call_inline): Remove local variable decl.
* tree-inline.c (expand_call_inline): Remove local variable
decl.
From-SVN: r96347
Kazu Hirata [Sat, 12 Mar 2005 18:35:48 +0000 (18:35 +0000)]
tree-if-conv.c (tree_if_convert_cond_expr): Remove local variable new_cond.
* tree-if-conv.c (tree_if_convert_cond_expr): Remove local
variable new_cond.
(combine_blocks): Remove local variables exits and new_e.
From-SVN: r96346
Kazu Hirata [Sat, 12 Mar 2005 18:34:42 +0000 (18:34 +0000)]
reg-stack.c (move_for_stack_reg): Remove local variable push_insn.
* reg-stack.c (move_for_stack_reg): Remove local variable
push_insn.
(compare_for_stack_reg): Remove local variable flags_user.
(convert_regs_1): Remove local variable deleted.
From-SVN: r96345
Kazu Hirata [Sat, 12 Mar 2005 18:33:25 +0000 (18:33 +0000)]
gimplify.c (gimplify_expr): Remove local variables r0 and r1.
* gimplify.c (gimplify_expr): Remove local variables r0 and
r1.
From-SVN: r96344
Kazu Hirata [Sat, 12 Mar 2005 18:32:26 +0000 (18:32 +0000)]
c-decl.c (c_init_decl_processing): Remove local variables ptr_ftype_void and ptr_ftype_ptr.
* c-decl.c (c_init_decl_processing): Remove local variables
ptr_ftype_void and ptr_ftype_ptr.
From-SVN: r96343
Kazu Hirata [Sat, 12 Mar 2005 16:14:42 +0000 (16:14 +0000)]
builtins.c (fold_builtin_logarithm): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_logarithm): Take decomposed
arguments of CALL_EXPR.
(fold_builtin_1): Update a call to fold_builtin_logarithm.
From-SVN: r96342
Kazu Hirata [Sat, 12 Mar 2005 16:13:41 +0000 (16:13 +0000)]
builtins.c (fold_builtin_exponent): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_exponent): Take decomposed
arguments of CALL_EXPR.
(fold_builtin_1): Update a call to fold_builtin_exponent.
From-SVN: r96341
Andreas Tobler [Sat, 12 Mar 2005 16:00:38 +0000 (17:00 +0100)]
stacktrace.cc (GetCallerInfo): Return nothing in case of SJLJ_EXCEPTIONS is defined.
2005-03-12 Andreas Tobler <a.tobler@schweiz.ch>
* stacktrace.cc (GetCallerInfo): Return nothing in case of
SJLJ_EXCEPTIONS is defined.
From-SVN: r96340
Per Bothner [Sat, 12 Mar 2005 15:40:35 +0000 (07:40 -0800)]
decl-2.c: Add extra line breaks.
* gcc.dg/decl-2.c: Add extra line breaks. That way we can verify
that diagnotics refer to correct token.
* gcc.dg/unused-3.c: Likewise.
From-SVN: r96339
Kazu Hirata [Sat, 12 Mar 2005 14:11:16 +0000 (14:11 +0000)]
value-prof.c (mod_subtract_transform): Remove local variable value.
* value-prof.c (mod_subtract_transform): Remove local variable
value.
From-SVN: r96338
Kazu Hirata [Sat, 12 Mar 2005 14:09:23 +0000 (14:09 +0000)]
tree-vect-transform.c (vect_get_new_vect_var): Remove local variable prefix_len.
* tree-vect-transform.c (vect_get_new_vect_var): Remove local
variable prefix_len.
From-SVN: r96337
Kazu Hirata [Sat, 12 Mar 2005 14:07:53 +0000 (14:07 +0000)]
tree-ssa-pre.c (compute_avail): Remove local variable val.
* tree-ssa-pre.c (compute_avail): Remove local variable val.
(mark_operand_necessary): Remove local variable ver.
From-SVN: r96336
Kazu Hirata [Sat, 12 Mar 2005 14:06:31 +0000 (14:06 +0000)]
tree-ssa-phiopt.c (tree_ssa_phiopt): Remove local variable removed_phis.
* tree-ssa-phiopt.c (tree_ssa_phiopt): Remove local variable
removed_phis.
From-SVN: r96335
Kazu Hirata [Sat, 12 Mar 2005 14:04:33 +0000 (14:04 +0000)]
tree-ssa.c (kill_redundant_phi_nodes): Remove local variable var.
* tree-ssa.c (kill_redundant_phi_nodes): Remove local variable
var.
From-SVN: r96334
Geoffrey Keating [Sat, 12 Mar 2005 10:44:06 +0000 (10:44 +0000)]
Index: libcpp/ChangeLog
2005-03-12 Geoffrey Keating <geoffk@apple.com>
* directives.c (glue_header_name): Update call to cpp_spell_token.
* internal.h (_cpp_interpret_identifier): New.
* charset.c (_cpp_interpret_identifier): New.
(_cpp_valid_ucn): Allow UCN version of '$'.
* lex.c (lex_identifier): Add extra parameter to indicate if initial
character was '$' or '\'. Support identifiers with UCNs.
(forms_identifier_p): Allow UCNs.
(_cpp_lex_direct): Pass extra parameter to lex_identifier.
(utf8_to_ucn): New.
(cpp_spell_token): Add FORSTRING parameter. Use it.
(cpp_token_as_text): Update call to cpp_spell_token.
(cpp_output_token): Write UCNs back out.
(stringify_arg): Update call to cpp_spell_token.
(paste_tokens): Likewise.
(cpp_macro_definition): Likewise.
* macro.c (stringify_arg): Likewise.
(paste_tokens): Likewise.
(cpp_macro_definition): Likewise.
* include/cpplib.h: Add parameter to cpp_spell_token.
Index: gcc/ChangeLog
2005-03-12 Geoffrey Keating <geoffk@apple.com>
* c-lex.c (c_lex_with_flags): Add parameter to call to
cpp_spell_token.
Index: gcc/testsuite/ChangeLog
2005-03-12 Geoffrey Keating <geoffk@apple.com>
* gcc.dg/ucnid-1.c: New.
* gcc.dg/ucnid-2.c: New.
* gcc.dg/ucnid-3.c: New.
* gcc.dg/ucnid-4.c: New.
* gcc.dg/ucnid-5.c: New.
* gcc.dg/ucnid-6.c: New.
* gcc.dg/cpp/ucnid-1.c: New.
* gcc.dg/cpp/ucnid-2.c: New.
* gcc.dg/cpp/ucnid-3.c: New.
* g++.dg/other/ucnid-1.C: New.
From-SVN: r96333
Geoffrey Keating [Sat, 12 Mar 2005 10:26:56 +0000 (10:26 +0000)]
* gcc.dg/vmx/darwin-abi-3.c: Delete.
From-SVN: r96332
Per Bothner [Sat, 12 Mar 2005 06:57:15 +0000 (22:57 -0800)]
direct2.c: With new lexer changes...
* gcc.dg/cpp/direct2.c: With new lexer changes, error "before string
constant" is now actually on same line as string constant.
* gcc.dg/cpp/direct2s.c: Likewise.
From-SVN: r96331
Per Bothner [Sat, 12 Mar 2005 06:39:31 +0000 (22:39 -0800)]
cp-tree.h (struct cp_declarator): New id_loc field.
* cp-tree.h (struct cp_declarator): New id_loc field.
* cp/parser.c (cp_lexer_get_preprocessor_token): Set cp_token's
location using c_lex_with_flags, instead of input_location.
(cp_parser_direct_declarator): Set declarator's id_loc from
cp_token's id_loc.
From-SVN: r96330
Per Bothner [Sat, 12 Mar 2005 06:37:46 +0000 (22:37 -0800)]
c-tree.h (struct c_declarator): New id_loc field.
* c-tree.h (struct c_declarator): New id_loc field.
* c-pragma.h (c_lex_with_flags): Take position reference.
* c-lex.c (c_lex_with_flags): Set passed-in location from cpp token,
iff USE_MAPPED_LOCATION. (Type doesn't match otherwise.)
(c_lex): Pass dummy location to c_lex_with_flags.
* c-parser.c (c_lex_one_token): Set c_token's location using
c_lex_with_flags, instead of input_location, which might be "ahead".
(c_parser_direct_declarator): Set declarator's id_loc from
c_token's id_loc.
* c-decl.c (grokdeclarator): Set DECL_SOURCE_LOCATION from
declarator's id_loc, rather than probably-imprecise input_location.
(build_id_declarator): Initialize c_declarator's id_loc field.
From-SVN: r96329
Roger Sayle [Sat, 12 Mar 2005 04:56:29 +0000 (04:56 +0000)]
re PR middle-end/20419 (ICE in gen_lowpart_general, at rtlhooks.c:58)
PR middle-end/20419
* builtins.c (expand_builtin_signbit): Force the signbit's word
into an integer register to avoid SUBREGs of floating point modes.
From-SVN: r96328
Ranjit Mathew [Sat, 12 Mar 2005 03:07:56 +0000 (03:07 +0000)]
jacks.xfail: Add XFAILs for new JSR-201 tests.
* testsuite/libjava.jacks/jacks.xfail: Add XFAILs for new JSR-201
tests.
From-SVN: r96327
Kaveh R. Ghazi [Sat, 12 Mar 2005 02:06:20 +0000 (02:06 +0000)]
Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error.
* Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error.
* decl.c, trans.c: Don't use C++ style comments.
* gfortran.h (sym_flavor, procedure_type, sym_intent, gfc_access,
ifsrc): Give names to enums and use ENUM_BITFIELD.
(gfc_access): Remove trailing comma.
From-SVN: r96323
Kazu Hirata [Sat, 12 Mar 2005 00:34:07 +0000 (00:34 +0000)]
cfglayout.c, [...]: Update copyright.
* cfglayout.c, loop-doloop.c, profile.c, target-def.h,
target.h, targhooks.c, tracer.c, tree-ssa-loop-ch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, vec.c, vmsdbgout.c,
config/m32r/m32r.md, config/xtensa/xtensa.h: Update copyright.
From-SVN: r96320
GCC Administrator [Sat, 12 Mar 2005 00:16:43 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r96318
David Edelsohn [Fri, 11 Mar 2005 22:58:49 +0000 (22:58 +0000)]
re PR rtl-optimization/20306 (FP complex modes moved via GPRs)
PR rtl-optimization/20306
* expr.c (emit_move_complex): Set try_int false if mode is
MODE_COMPLEX_FLOAT and mov_optab exists for inner mode. Only try
emit_block_move if try_int is true.
From-SVN: r96312
Andreas Tobler [Fri, 11 Mar 2005 21:33:56 +0000 (22:33 +0100)]
libjava.exp (libjava_init): Use the same target check for Darwin.
2005-03-11 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/lib/libjava.exp (libjava_init): Use the same target
check for Darwin.
(libjava_arguments): Likewise.
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Likewise.
(gcj_jni_test_one): Likewise.
(gcj_jni_invocation_compile_c_to_binary): Likewise.
Add flags to keep the Darwin linker quiet.
(gcj_jni_invocation_test_one): Use the same target check for Darwin.
Add -liconv for Darwin.
From-SVN: r96311
Richard Henderson [Fri, 11 Mar 2005 17:50:30 +0000 (09:50 -0800)]
re PR target/20415 (Vector init builtin produces invalid instruction pshufw)
PR target/20415
* config/i386/mmx.md (vec_dupv4hi): Fix predicate.
* config/i386/i386.c (ix86_expand_vector_init_duplicate): Update
to match.
From-SVN: r96304
Tom Tromey [Fri, 11 Mar 2005 17:35:37 +0000 (17:35 +0000)]
Main.java (main): Handle '-p'.
libjava:
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Handle '-p'.
(usage): Document '-p'.
* Makefile.in: Rebuilt.
* Makefile.am (dbexecdir): New variable.
(db_name): Likewise.
(dbexec_DATA): Likewise.
($(db_name)): New target.
(AM_CXXFLAGS): Define LIBGCJ_DEFAULT_DATABASE.
* java/lang/natRuntime.cc (insertSystemProperties): Set default
system database.
gcc/java:
* gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
(libgcj Runtime Properties): Document the default .db.
From-SVN: r96303
Richard Sandiford [Fri, 11 Mar 2005 16:38:27 +0000 (16:38 +0000)]
mips.h (mips_fix_vr4130_string): Declare.
* config/mips/mips.h (mips_fix_vr4130_string): Declare.
(TARGET_FIX_VR4130): New macro.
(TARGET_OPTIONS): Add -mfix-vr4130.
(ISA_HAS_MACCHI): New macro.
(ASM_SPEC): Add -mfix-vr4130.
* config/mips/mips.c (mips_fix_vr4130_string): New variable.
(override_options): Handle mips_fix_vr4130_string.
(mips_avoid_hazards): Clear all_noreorder_p
if we're working around VR4130 errata and the macc alternatives
are not available.
* config/mips/mips.md (mfhilo_<mode>): Turn into a define_expand.
(*mfhilo_<mode>, *mfhilo_<mode>_macc): New insns.
* config/mips/vr.h (DEFAULT_VR_ARCH): Set to mfix-vr4130.
(MULTILIB_DEFAULTS): Remove leading "march=".
(DRIVER_SELF_SPECS): Likewise. Make -mfix-vr4130 imply -march=vr4130
if no architecture option is given.
* config/mips/t-vr (MULTILIB_OPTIONS): Use -mfix-vr4130 for the
VR4130 multilibs.
(MULTILIB_MATCHES): Map -march=vr4130 to the -mfix-vr4130 multilibs.
* doc/invoke.texi: Document -mfix-vr4130.
From-SVN: r96301
Richard Sandiford [Fri, 11 Mar 2005 15:28:34 +0000 (15:28 +0000)]
mips.c (override_options): Only warn about -mint64 deprecation if TARGET_INT64.
* config/mips/mips.c (override_options): Only warn about -mint64
deprecation if TARGET_INT64.
From-SVN: r96299
Kaveh R. Ghazi [Fri, 11 Mar 2005 13:33:21 +0000 (13:33 +0000)]
builtin-attrs.def (ATTR_NONNULL_LIST, [...]): New "nonnull" attribute lists which are non-specific regarding the nonnull...
* builtin-attrs.def (ATTR_NONNULL_LIST, ATTR_NOTHROW_NONNULL,
ATTR_CONST_NOTHROW_NONNULL, ATTR_PURE_NOTHROW_NONNULL,
ATTR_MALLOC_NOTHROW_NONNULL): New "nonnull" attribute lists which
are non-specific regarding the nonnull parameter positions.
(ATTR_NONNULL_1_2, ATTR_NONNULL_1_4, ATTR_NOTHROW_NONNULL_1_2,
ATTR_NOTHROW_NONNULL_1_4, ATTR_CONST_NOTHROW_NONNULL_1,
ATTR_PURE_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1_2,
ATTR_MALLOC_NOTHROW_NONNULL_1): Delete.
* builtins.def: Use the non-specific "nonnull" attibute lists.
From-SVN: r96298
Zdenek Dvorak [Fri, 11 Mar 2005 09:30:50 +0000 (10:30 +0100)]
basic-block.h (single_succ_p, [...]): Improve comments.
* basic-block.h (single_succ_p, single_pred_p, single_succ_edge,
single_pred_edge, single_succ, single_pred): Improve comments.
From-SVN: r96293
Zdenek Dvorak [Fri, 11 Mar 2005 09:05:12 +0000 (10:05 +0100)]
basic-block.h (single_succ_p, [...]): New inline functions.
* basic-block.h (single_succ_p, single_pred_p, single_succ_edge,
single_pred_edge, single_succ, single_pred): New inline functions.
* bb-reorder.c (rotate_loop, find_traces_1_round,
add_labels_and_missing_jumps, fix_up_fall_thru_edges,
duplicate_computed_gotos): Use the single_succ/pred functions.
* cfganal.c (forwarder_block_p): Ditto.
* cfgbuild.c (compute_outgoing_frequencies): Ditto.
* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
outgoing_edges_match, try_crossjump_to_edge, try_optimize_cfg,
merge_seq_blocks): Ditto.
* cfghooks.c (split_edge, tidy_fallthru_edges): Ditto.
* cfglayout.c (fixup_reorder_chain): Ditto.
* cfgloop.c (mark_single_exit_loops, update_latch_info,
canonicalize_loop_headers, verify_loop_structure): Ditto.
* cfgloopmanip.c (remove_path, unloop, loop_delete_branch_edge,
mfb_update_loops, create_preheader, force_single_succ_latches,
create_loop_notes): Ditto.
* cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
force_nonfallthru_and_redirect, rtl_tidy_fallthru_edge,
commit_one_edge_insertion, purge_dead_edges,
cfg_layout_can_merge_blocks_p): Ditto.
* except.c (sjlj_emit_function_enter): Ditto.
* flow.c (init_propagate_block_info): Ditto.
* function.c (thread_prologue_and_epilogue_insns): Ditto.
* gcse.c (find_implicit_sets, bypass_conditional_jumps,
insert_insn_end_bb): Ditto.
* ifcvt.c (merge_if_block, find_if_block, find_if_case_1,
find_if_case_2): Ditto.
* lambda-code.c (perfect_nestify): Ditto.
* lcm.c (optimize_mode_switching): Ditto.
* loop-doloop.c (doloop_modify): Ditto.
* loop-init.c (loop_optimizer_init): Ditto.
* loop-iv.c (simplify_using_initial_values): Ditto.
* loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
* loop-unswitch.c (unswitch_loop): Ditto.
* modulo-sched.c (generate_prolog_epilog): Ditto.
* predict.c (combine_predictions_for_insn, estimate_probability,
tree_estimate_probability, last_basic_block_p,
estimate_bb_frequencies): Ditto.
* profile.c (branch_prob): Ditto.
* regrename.c (copyprop_hardreg_forward): Ditto.
* sched-rgn.c (is_cfg_nonregular, find_rgns, update_live): Ditto.
* tracer.c (layout_superblocks): Ditto.
* tree-cfg.c (tree_can_merge_blocks_p, tree_merge_blocks,
cfg_remove_useless_stmts_bb, cleanup_control_flow,
cleanup_control_expr_graph, disband_implicit_edges,
tree_find_edge_insert_loc, bsi_commit_edge_inserts,
tree_verify_flow_info, tree_make_forwarder_block,
tree_forwarder_block_p, remove_forwarder_block,
remove_forwarder_block_with_phi, merge_phi_nodes): Ditto.
* tree-if-conv.c (tree_if_conversion): Ditto.
* tree-mudflap.c (mf_build_check_statement_for): Ditto.
* tree-ssa-dce.c (remove_dead_stmt): Ditto.
* tree-ssa-dom.c (dom_opt_finalize_block): Ditto.
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
copy_loop_headers): Ditto.
* tree-ssa-loop-im.c (loop_commit_inserts): Ditto.
* tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Ditto.
* tree-ssa-loop-manip.c (split_loop_exit_edge, ip_normal_pos,
lv_adjust_loop_entry_edge, tree_ssa_loop_version): Ditto.
* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Ditto.
* tree-ssa-loop-unswitch.c (simplify_using_entry_checks): Ditto.
* tree-ssa-phiopt.c (tree_ssa_phiopt, value_replacement): Ditto.
* tree-ssa-pre.c (compute_antic_aux, insert_aux, init_pre): Ditto.
* tree-ssa-threadupdate.c (redirect_edges): Ditto.
* tree-tailcall.c (independent_of_stmt_p, find_tail_calls,
eliminate_tail_call, tree_optimize_tail_calls_1): Ditto.
* tree-vect-analyze.c (vect_analyze_loop_form): Ditto.
* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Ditto.
* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard,
slpeel_add_loop_guard): Ditto.
From-SVN: r96292
Francois-Xavier Coudert [Fri, 11 Mar 2005 08:03:02 +0000 (09:03 +0100)]
[multiple changes]
2005-03-12 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR libfortran/20124
* gfortran.dg/pr20124.f90: New Test
2005-03-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR libfortran/20124
* write.c (output_float): Adds a nzero_real variable to store
the number of leading zeros whatever the format width is. Corrects
the rounding of numbers less than 10^(-width). Fixes typo in an
error message. Updates copyright years
From-SVN: r96291
Jeff Law [Fri, 11 Mar 2005 04:52:42 +0000 (21:52 -0700)]
re PR tree-optimization/15784 (fold misses binary optimization)
PR tree-optimization/15784
* fold-const.c (fold): Fold ~A + 1 to -A. Fold -A - 1
and -1 - A to ~A.
* stmt.c (expand_case): Don't change index_type. Convert minval
to the proper type.
From-SVN: r96289
Bryce McKinlay [Fri, 11 Mar 2005 04:30:20 +0000 (04:30 +0000)]
exception.cc: Remove stray MethodRef.h include.
2005-03-10 Bryce McKinlay <mckinlay@redhat.com>
* exception.cc: Remove stray MethodRef.h include.
* java/lang/natClass.cc: Likewise.
* gnu/gcj/runtime/MethodRef.java: Removed.
* gnu/gcj/runtime/StackTrace.java, gnu/gcj/runtime/natNameFinder.cc,
gnu/gcj/runtime/natStackTrace.cc: Really removed.
* java/lang/natRuntime.cc (_load): Remove unsed variable.
* Makefile.am (ordinary_java_source_files): Remove MethodRef.java.
* Makefile.in: Rebuilt.
From-SVN: r96288
James A. Morrison [Fri, 11 Mar 2005 03:18:56 +0000 (03:18 +0000)]
re PR tree-optimization/20130 (Fold a * -1 - 1 into ~a;)
2005-03-11 James A. Morrison <phython@gcc.gnu.org>
PR tree-optimization/20130
* fold-const.c (fold): Fold x * -1 into -x.
From-SVN: r96283
Kaz Kojima [Fri, 11 Mar 2005 03:14:44 +0000 (03:14 +0000)]
re PR rtl-optimization/20331 (Wrong code generation for the argument of the pure function in PIC)
PR rtl-optimization/20331
* rtlanal.c (modified_between_p): Check its address first for MEM.
(modified_in_p): Likewise.
From-SVN: r96282