Bob Wilson [Wed, 25 Oct 2006 17:03:02 +0000 (17:03 +0000)]
* config/xtensa/lib2funcs.S: Use C-style comments.
From-SVN: r118039
Steve Ellcey [Wed, 25 Oct 2006 16:32:30 +0000 (16:32 +0000)]
* gcc.dg/pthread-init-2.c: Define _POSIX_C_SOURCE on ia64 HP-UX.
From-SVN: r118035
Nathan Froyd [Wed, 25 Oct 2006 13:31:21 +0000 (13:31 +0000)]
dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
* dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
(file_table_relative_p): Likewise.
(dwarf2out_finish): Likewise.
(file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
From-SVN: r118033
Daniel Berlin [Wed, 25 Oct 2006 13:26:55 +0000 (13:26 +0000)]
tree-ssa-structalias.c (intra_create_variable_infos): Don't recreate nonlocal_all if it already exists.
2006-10-25 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (intra_create_variable_infos):
Don't recreate nonlocal_all if it already exists.
From-SVN: r118031
Richard Guenther [Wed, 25 Oct 2006 13:01:14 +0000 (13:01 +0000)]
optabs.h (enum optab_index): Remove OTI_lrint.
2006-10-25 Richard Guenther <rguenther@suse.de>
* optabs.h (enum optab_index): Remove OTI_lrint.
(enum convert_optab_index): Add COI_lrint.
(lrint_optab): Adjust.
(expand_sfix_optab): Declare.
* optabs.c (expand_sfix_optab): New function.
(init_optabs): Init lrint_optab as conversion optab.
* genopinit.c (lrint_optab): Change to a conversion optab.
* builtins.c (expand_builtin_int_roundingfn_2): Adjust to
expansion via conversion optab.
* config/i386/i386.md (*fistdi2_1): Remove
flag_unsafe_math_optimizations guard.
(fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
fist<mode>2_with_temp): Likewise.
(lrint<mode>2): Split into...
(lrintxf<mode>2): ... x87 part
(lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
* config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
UNSPEC_FIX_NOTRUNC matching non-vector float modes.
* doc/md.texi (lrintMN2): Document.
From-SVN: r118029
Uros Bizjak [Wed, 25 Oct 2006 10:14:41 +0000 (12:14 +0200)]
re PR target/28909 (Missed optimization with x86 sync builtins)
PR target/28909
* config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"):
Use inc and dec instructions for TARGET_USE_INCDEC.
("*sync_compare_and_swap<mode>"): Fix -masm=intel template.
("sync_double_compare_and_swap<mode>"): Likewise.
("*sync_double_compare_and_swapdi_pic"): Likewise.
("*sync_compare_and_swap_cc<mode>"): Likewise.
("sync_double_compare_and_swap_cc<mode>"): Likewise.
("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
("sync_old_add<mode>"): Likewise.
("sync_lock_test_and_set<mode>"): Likewise.
("sync_lock_test_and_set<mode>"): Likewise.
("sync_add<mode>"): Likewise.
("sync_sub<mode>"): Likewise.
("sync_ior<mode>"): Likewise.
("sync_and<mode>"): Likewise.
("sync_xor<mode>"): Likewise.
From-SVN: r118028
Chen Liqin [Wed, 25 Oct 2006 08:53:49 +0000 (08:53 +0000)]
MAINTAINERS: Move myself to Write After Approval section.
* MAINTAINERS: Move myself to Write After Approval section.
From-SVN: r118027
Uros Bizjak [Wed, 25 Oct 2006 06:36:49 +0000 (08:36 +0200)]
optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
* optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
(remainder_optab): Define corresponding macro.
(drem_optab): Remove.
* optabs.c (init_optabs): Initialize remainder_optab. Remove
drem_optab initialization.
* genopinit.c (optabs): Implement remainder_optab using
remainder?f3 patterns. Remove drem_optab.
* builtins.c (expand_builtin_mathfn_2): Handle
BUILT_IN_REMAINDER{,F,L} using remainder_optab.
(expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
expand_builtin_mathfn_2.
(expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
depend on flag_unsafe_math_optimizations.
* config/i386/i386.md ("remaindersf3", "remainderdf3")
("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
Do not depend on flag_unsafe_math_optimizations. Use
truncxf?f expander instead of truncxf?f_i387_noop.
("fpremxf4", "fprem1xf4"): Do not depend on
flag_unsafe_math_optimizations.
("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
flag_unsafe_math_optimizations. Use truncxf?f expander
instead of truncxf?f_i387_noop.
* doc/md.texi (fmod, remainder): Document standard named pattern.
testsuite/ChangeLog:
* gcc.dg/builtins-40.c: Also check remainder(), remainderf()
and remainderl() built-in functions. Remove -ffast-math from
dg-options.
From-SVN: r118024
Richard Sandiford [Wed, 25 Oct 2006 05:49:43 +0000 (05:49 +0000)]
re PR middle-end/29519 (Bad code on MIPS with -fnon-call-exceptions)
PR middle-end/29519
* rtlanal.c (nonzero_address_p): Remove check for values wrapping.
Co-Authored-By: David Daney <ddaney@avtrex.com>
From-SVN: r118023
Ben Elliston [Wed, 25 Oct 2006 00:40:15 +0000 (00:40 +0000)]
* pexecute.txh: Wrap pexecute's "flag" argument with @var {..}.
From-SVN: r118022
GCC Administrator [Wed, 25 Oct 2006 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r118020
Ben Elliston [Tue, 24 Oct 2006 23:20:33 +0000 (23:20 +0000)]
* doc/extend.texi (Variable Attributes): Typo fix.
From-SVN: r118015
Uros Bizjak [Tue, 24 Oct 2006 22:55:36 +0000 (00:55 +0200)]
i386.h (FIRST_PSEUDO_REGISTER): Define to 54.
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 54.
(FIXED_REGISTERS, CALL_USED_REGISTERS): Add fpcr register.
(REG_ALLOC_ORDER): Add one element to allocate fpcr register.
(FRAME_POINTER_REGNUM): Update register number to 21.
(REG_CLASS_CONTENTS): Update contents for added fpcr register.
(HI_REGISTER_NAMES): Add "fpcr" for fpcr register.
* config/i386/i386.c (regclass_map): Add fpcr entry.
(dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
Add fpcr entry.
(print_reg): Assert REGNO (x) != FPCR_REG.
* config/i386/i386.md (FPCR_REG, R11_REG): New constants.
(DIRFLAG_REG): Renumber.
(x86_fnstcw_1, x86_fldcw_1): Use FPCR_REG instead of FPSR_REG.
(*sibcall_1_rex64_v, *sibcall_value_1_rex64_v): Use R11_REG.
(sse_prologue_save, *sse_prologue_save_insn): Renumber
hardcoded SSE register numbers.
* config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
hardcoded MMX register numbers.
From-SVN: r118014
Kaveh R. Ghazi [Tue, 24 Oct 2006 21:52:51 +0000 (21:52 +0000)]
builtin-math-2.c: Add checks for asin, acos, acosh and atanh.
* gcc.dg/torture/builtin-math-2.c: Add checks for asin, acos,
acosh and atanh.
* gcc.dg/torture/builtin-math-3.c (TESTIT): Append 'F' and 'L'
floating point modifiers to arguments passed to float and long
double functions respectively. Update all callers to use floating
point numbers, not integers. Add tests for exp, exp2 and
exp10/pow10.
From-SVN: r118012
Kaveh R. Ghazi [Tue, 24 Oct 2006 17:44:36 +0000 (17:44 +0000)]
re PR middle-end/29335 (transcendental functions with constant arguments should be resolved at compile-time)
PR middle-end/29335
* builtins.c (fold_builtin_sin, fold_builtin_atan): Remove.
(do_mpfr_arg1): Add `min', `max' and `inclusive' arguments.
Update all callers.
(BUILT_IN_SIN, BUILT_IN_ATAN): Handle in main switch.
(BUILT_IN_ASIN, BUILT_IN_ACOS, BUILT_IN_ATAN, BUILT_IN_ASINH,
BUILT_IN_ACOSH, BUILT_IN_ATANH, BUILT_IN_SINH, BUILT_IN_COSH,
BUILT_IN_TANH): Calculate compile-time arguments using MPFR.
testsuite:
* gcc.dg/torture/builtin-math-3.c: New test.
From-SVN: r118009
Erik Edelmann [Tue, 24 Oct 2006 17:01:30 +0000 (17:01 +0000)]
re PR fortran/29393 (Vector subscript rejected)
fortran/
2006-10-24 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/29393
* expr.c (simplify_parameter_variable): Keep rank of original
expression.
Testsuite/
2006-10-24 Erik Edelmann <eedelman@gcc.gnu.org>
PR fortran/29393
* gfortran.dg/initialize_2.f90: New.
From-SVN: r118008
Eric Botcazou [Tue, 24 Oct 2006 13:59:06 +0000 (15:59 +0200)]
re PR libgomp/29494 (libgomp build fails with missing pthread_mutexattr_settype)
PR libgomp/29494
* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
* config/posix95: New directory.
* config/posix95/omp-lock.h: New file.
* config/posix95/lock.c: Likewise.
From-SVN: r118004
Kaveh R. Ghazi [Tue, 24 Oct 2006 12:25:06 +0000 (12:25 +0000)]
builtin-math-2.c: New test.
* gcc.dg/torture/builtin-math-2.c: New test.
From-SVN: r118003
Richard Guenther [Tue, 24 Oct 2006 09:15:07 +0000 (09:15 +0000)]
re PR middle-end/28796 (__builtin_nan() and __builtin_unordered() inconsistent)
2006-10-24 Richard Guenther <rguenther@suse.de>
PR middle-end/28796
* builtins.c (fold_builtin_classify): Use HONOR_INFINITIES
and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS
for deciding optimizations in consistency with fold-const.c
(fold_builtin_unordered_cmp): Likewise.
* gcc.dg/pr28796-1.c: New testcase.
* gcc.dg/pr28796-1.c: Likewise.
From-SVN: r118001
Richard Guenther [Tue, 24 Oct 2006 08:35:12 +0000 (08:35 +0000)]
builtins.c (fold_builtin_floor): Fold floor (x) where x is nonnegative to trunc (x).
2006-10-24 Richard Guenther <rguenther@suse.de>
* builtins.c (fold_builtin_floor): Fold floor (x) where
x is nonnegative to trunc (x).
(fold_builtin_int_roundingfn): Fold lfloor (x) where x is
nonnegative to FIX_TRUNC_EXPR.
* gcc.dg/builtins-57.c: New testcase.
From-SVN: r117998
Richard Guenther [Tue, 24 Oct 2006 08:12:04 +0000 (08:12 +0000)]
re PR tree-optimization/29567 (ICE in build2_stat, at tree.c:2963)
2006-10-24 Richard Guenther <rguenther@suse.de>
PR tree-optimization/29567
* tree-vrp.c (register_edge_assert_for_1): Fix wrong logic
for TRUTH_NOT_EXPR. Clarify comments.
* gfortran.fortran-torture/compile/vrp_1.f90: New testcase.
From-SVN: r117997
Kaveh R. Ghazi [Tue, 24 Oct 2006 04:13:16 +0000 (04:13 +0000)]
builtins.c (fold_builtin_exponent): Evaluate constant arguments at compile-time using MPFR.
* builtins.c (fold_builtin_exponent): Evaluate constant arguments
at compile-time using MPFR. Change parameter VALUE to FUNC,
update all callers.
(do_mpfr_arg1): Rename `exact' to `inexact'. Carefully check
for overflow and underflow at all times and avoid folding in
those cases.
From-SVN: r117995
Ben Elliston [Tue, 24 Oct 2006 03:24:58 +0000 (03:24 +0000)]
* reload1.c: Formatting fixes.
From-SVN: r117993
GCC Administrator [Tue, 24 Oct 2006 00:17:35 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r117991
Zdenek Dvorak [Tue, 24 Oct 2006 00:12:16 +0000 (02:12 +0200)]
re PR tree-optimization/14784 ([Tree-ssa] alias analysis deficiency)
PR tree-optimization/14784
* tree-flow.h (struct var_ann_d): Add is_heapvar bit.
* tree-ssa-structalias.c (get_constraint_for,
intra_create_variable_infos): Set is_heapvar.
* tree-ssa-operands.c (access_can_touch_variable): Do not handle
non-heapvar pointer variables specially.
* gcc.dg/alias-10.c: New test.
From-SVN: r117986
Kaveh R. Ghazi [Mon, 23 Oct 2006 20:31:50 +0000 (20:31 +0000)]
builtin-sin-mpfr-1.c: New test.
* gcc.dg/torture/builtin-sin-mpfr-1.c: New test.
From-SVN: r117985
Kaveh R. Ghazi [Mon, 23 Oct 2006 20:24:55 +0000 (20:24 +0000)]
re PR middle-end/29335 (transcendental functions with constant arguments should be resolved at compile-time)
PR middle-end/29335
* builtins.c (fold_builtin_sin, fold_builtin_cos,
fold_builtin_tan): Fold all constant arguments. Take a "type"
argument as necessary.
(do_mpfr_arg1): New.
* real.c, real.h (real_from_mpfr, mpfr_from_real): New.
From-SVN: r117983
Bob Wilson [Mon, 23 Oct 2006 20:17:45 +0000 (20:17 +0000)]
* config/xtensa/lib1funcs.asm: Use C-style comments.
From-SVN: r117982
Rafael Ávila de Espíndola [Mon, 23 Oct 2006 19:47:58 +0000 (19:47 +0000)]
decl.c: Include langhooks.h.
* gcc/java/decl.c: Include langhooks.h.
(builtin_function): Remove.
(java_init_decl_processing): Replace calls to builtin_function
with add_builtin_function.
* gcc/java/Make-lang.in (jc1$(exeext)): Depend on and link with
attribs.o.
(java/decl.o): Depend on langhooks.h.
* gcc/java/java-tree.h (builtin_function): Remove.
* gcc/tree.c (local_define_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/objc/objc-act.c (synth_module_prologue): Replace calls to
builtin_function with add_builtin_function.
(build_next_objc_exception_stuff): Replace calls to
builtin_function with add_builtin_function.
(build_objc_exception_stuff): Replace calls to
builtin_function with add_builtin_function.
* gcc/objcp/objcp-decl.h (objcp_builtin_function): Remove.
* gcc/cp/decl.c (builtin_function_1): Move common code to
add_builtin_function.
(builtin_function): Rename to cxx_builtin_function.
Change the signature.
* gcc/cp/call.c: Include langhooks.h.
(build_java_interface_fn_ref): Replace calls to
builtin_function with add_builtin_function.
* gcc/cp/Make-lang.in (cp/call.o): Depend on langhooks.h.
* gcc/cp/cp-objcp-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
cxx_builtin_function.
* gcc/cp/cp-tree.h (builtin_function): Rename to cxx_builtin_function.
Change the signature.
* gcc/c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
c_builtin_function.
* gcc/c-tree.h (builtin_function): Rename to c_builtin_function. Change
the signature.
* gcc/ada/utils.c (builtin_function): Rename to gnat_builtin_function.
Move common code to add_builtin_function.
* gcc/ada/misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
gnat_builtin_function.
* gcc/ada/gigi.h (builtin_function): Rename to gnat_builtin_function.
Change the signature.
* gcc/c-decl.c (builtin_function): Rename to c_builtin_function. Move
common code to add_builtin_function.
* gcc/fortran/Make-lang.in (f951$(exeext)): Depend on and link with
attribs.o.
* gcc/fortran/trans.h (builtin_function): Rename to
gfc_builtin_function. Change the signature.
* gcc/fortran/f95-lang.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
gfc_builtin_function.
(builtin_function): Rename to gfc_builtin_function. Move common
code to builtin_function.
(gfc_define_builtin): Replace calls to builtin_function with
gfc_define_builtin.
* gcc/langhooks.c (add_builtin_function): New function.
(lhd_builtin_function): New function.
* gcc/langhooks.h (struct lang_hooks): Change the signature of
builtin_function.
(add_builtin_function): New function.
* gcc/treelang/treetree.c (builtin_function): Remove.
* gcc/tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
calls to lang_hooks.builtin_function with add_builtin_function.
* gcc/c-common.c (decl_builtin_1): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/alpha/alpha.c (alpha_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/frv/frv.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/s390/s390.c (s390_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/sparc/sparc.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/i386/i386.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
(def_builtin): Replace calls to lang_hooks.builtin_function with
add_builtin_function.
* gcc/config/sh/sh.c (sh_media_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/c4x/c4x.c (c4x_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/stormy16/stormy16.c (xstormy16_init_builtins):
Replace calls to lang_hooks.builtin_function with
add_builtin_function.
* gcc/config/iq2000/iq2000.c (def_builtin):
Replace calls to lang_hooks.builtin_function with
add_builtin_function.
* gcc/config/ia64/ia64.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/rs6000/rs6000.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
(altivec_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/arm/arm.c (def_mbuiltin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
(arm_init_tls_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/mips/mips.c (mips_init_builtins): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/config/bfin/bfin.c (def_builtin): Replace calls to
lang_hooks.builtin_function with add_builtin_function.
* gcc/langhooks-def.h (lhd_builtin_function): New function.
(LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.
From-SVN: r117981
Jakub Jelinek [Mon, 23 Oct 2006 19:18:42 +0000 (21:18 +0200)]
builtins.c (expand_builtin, [...]): Handle BUILT_IN_STRNCAT_CHK.
* builtins.c (expand_builtin, maybe_emit_chk_warning): Handle
BUILT_IN_STRNCAT_CHK.
* gcc.dg/builtin-strncat-chk-1.c: New test.
From-SVN: r117980
Jan Hubicka [Mon, 23 Oct 2006 18:50:40 +0000 (20:50 +0200)]
builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument; don't do conversion from memmove to memcpy here.
* builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument;
don't do conversion from memmove to memcpy here.
(expand_builtin_bcopy, expand_builtin): Update call of
expand_builtin_memmove.
(fold_builtin_memory_op): Do folding of memmove to memcpy here.
* gcc.dg/memmove-1.c: New test.
From-SVN: r117979
Paul Brook [Mon, 23 Oct 2006 16:36:51 +0000 (16:36 +0000)]
stor-layout.c (start_record_layout): maximum_field_alignment overrides STRUCTURE_SIZE_BOUNDARY.
2006-10-23 Paul Brook <paul@codesourcery.com>
gcc/
* stor-layout.c (start_record_layout): maximum_field_alignment
overrides STRUCTURE_SIZE_BOUNDARY.
gcc/testsuite/
* gcc.dg/pragma-pack-5.c: New test.
From-SVN: r117977
Ulrich Weigand [Mon, 23 Oct 2006 13:38:50 +0000 (13:38 +0000)]
predicates.md ("bras_sym_operand"): Do not accept nonlocal function symbols if flag_pic.
ChangeLog:
* config/s390/predicates.md ("bras_sym_operand"): Do not accept
nonlocal function symbols if flag_pic.
testsuite/ChangeLog:
* g++.dg/other/s390-1.C: New testcase.
From-SVN: r117973
Richard Guenther [Mon, 23 Oct 2006 07:19:34 +0000 (07:19 +0000)]
[multiple changes]
2006-10-24 Richard Guenther <rguenther@suse.de>
PR middle-end/27132
PR middle-end/23295
* builtins.c (fold_binary): Remove checks for flag_wrapv
and flag_trapv where negate_expr_p covers these cases.
* gcc.dg/pr27132.c: New testcase.
* gcc.dg/pr23295.c: Likewise.
* gcc.dg/tree-ssa/pr23294.c: Adjust patterns.
* g++.dg/tree-ssa/pr19807.C: Likewise.
2006-10-23 Richard Guenther <rguenther@suse.de>
PR middle-end/29548
* fold-const.c (fold_plusminus_mult_expr): Check exact power
of two on the absolute value.
(fold_binary): Fold x * -C to -x * C if x is easily negatable
and negating -C does not overflow.
From-SVN: r117969
Richard Guenther [Mon, 23 Oct 2006 07:15:45 +0000 (07:15 +0000)]
re PR middle-end/21032 (With -frounding-math, incorrectly reorders unary minus)
2006-10-23 Richard Guenther <rguenther@suse.de>
PR middle-end/21032
* convert.c (convert_to_real): Fold (float)-x to -(float)x
only if not flag_rounding_math.
* gcc.dg/pr21032.c: New testcase.
From-SVN: r117968
GCC Administrator [Mon, 23 Oct 2006 00:17:39 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r117966
Richard Sandiford [Mon, 23 Oct 2006 00:14:39 +0000 (00:14 +0000)]
re PR target/28232 (Wrong aligned load is generated with -m4a on sh-*)
PR target/28232
* config/sh/sh.c (expand_block_move): Use a BLKmode rather than
SImode memory reference for the source of a movua.
* config/sh/sh.md (UNSPEC_MOVUA): New macro.
(movua): Use an unspec instead of sign_extract. Expect the source
to have mode BLKmode.
(extv, insv): Use a BLKmode rather than SImode memory reference
for the source of a movua.
Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r117961
Jeff Law [Sun, 22 Oct 2006 20:11:09 +0000 (14:11 -0600)]
re PR tree-optimization/15911 (VRP/DOM does not like TRUTH_AND_EXPR)
2006-10-22 Jeff Law <law@redhat.com>
Richard Guenther <rguenther@suse.de>
PR tree-optimization/15911
* tree-vrp.c (extract_code_and_val_from_cond): New function.
(register_edge_assert_for_1): Likewise.
(register_edge_assert_for): Handle &&/&/||/| in conditionals.
(find_conditional_asserts): Adjust for new function signature.
(find_assert_locations): Likewise.
* gcc.dg/tree-ssa/vrp30.c: New testcase.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r117960
H.J. Lu [Sun, 22 Oct 2006 17:53:02 +0000 (17:53 +0000)]
tmmintrin.h: Remove the duplicated content.
2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/tmmintrin.h: Remove the duplicated content.
From-SVN: r117959
H.J. Lu [Sun, 22 Oct 2006 17:40:21 +0000 (17:40 +0000)]
config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
* config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
(x86_64-*-*): Likewise.
* config/i386/i386.c (pta_flags): Add PTA_SSSE3.
(override_options): Check SSSE3.
(ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD,
IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD,
IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW,
IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB,
IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND,
IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW,
IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128,
IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128,
IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128,
IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128,
IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128,
IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128,
IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128,
IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and
IX86_BUILTIN_PABSD128.
(bdesc_2arg): Add SSSE3.
(bdesc_1arg): Likewise.
(ix86_init_mmx_sse_builtins): Support SSSE3.
(ix86_expand_builtin): Likewise.
* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise.
* config/i386/i386.md (UNSPEC_PSHUFB): New.
(UNSPEC_PSIGN): Likewise.
(UNSPEC_PALIGNR): Likewise.
Include mmx.md before sse.md.
* config/i386/i386.opt: Add -mssse3.
* config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3.
(ssse3_phaddwv4hi3): Likewise.
(ssse3_phadddv4si3): Likewise.
(ssse3_phadddv2si3): Likewise.
(ssse3_phaddswv8hi3): Likewise.
(ssse3_phaddswv4hi3): Likewise.
(ssse3_phsubwv8hi3): Likewise.
(ssse3_phsubwv4hi3): Likewise.
(ssse3_phsubdv4si3): Likewise.
(ssse3_phsubdv2si3): Likewise.
(ssse3_phsubswv8hi3): Likewise.
(ssse3_phsubswv4hi3): Likewise.
(ssse3_pmaddubswv8hi3): Likewise.
(ssse3_pmaddubswv4hi3): Likewise.
(ssse3_pmulhrswv8hi3): Likewise.
(ssse3_pmulhrswv4hi3): Likewise.
(ssse3_pshufbv16qi3): Likewise.
(ssse3_pshufbv8qi3): Likewise.
(ssse3_psign<mode>3): Likewise.
(ssse3_psign<mode>3): Likewise.
(ssse3_palignrti): Likewise.
(ssse3_palignrdi): Likewise.
(abs<mode>2): Likewise.
(abs<mode>2): Likewise.
* config/i386/tmmintrin.h: New file.
* doc/extend.texi: Document SSSE3 built-in functions.
* doc/invoke.texi: Document -mssse3/-mno-ssse3 switches.
From-SVN: r117958
Nathan Sidwell [Sun, 22 Oct 2006 16:07:41 +0000 (16:07 +0000)]
re PR libstdc++/20647 (Wrong typeid for incomplete types)
cp/
PR c++/20647
* rtti.c (tinfo_base_init): The type info string is always global.
testsuite/
PR c++/20647
* g++.dg/abi/rtti3.C: New.
From-SVN: r117957
Joseph Myers [Sun, 22 Oct 2006 12:40:31 +0000 (13:40 +0100)]
* cpplib.pot: Regenerate.
From-SVN: r117954
Joseph Myers [Sun, 22 Oct 2006 12:39:40 +0000 (13:39 +0100)]
* gcc.pot: Regenerate.
From-SVN: r117953
Ira Rosen [Sun, 22 Oct 2006 10:45:36 +0000 (10:45 +0000)]
tree-vect-transform.c (vectorizable_load): Use the type of the return value of the mask_for_load builtin to create...
* tree-vect-transform.c (vectorizable_load): Use the type of the
return value of the mask_for_load builtin to create realign_load
stmt.
From-SVN: r117952
Richard Sandiford [Sun, 22 Oct 2006 09:28:01 +0000 (09:28 +0000)]
mips.c (mips_split_const): Don't accept bare PLUS expressions.
gcc/
* config/mips/mips.c (mips_split_const): Don't accept bare PLUS
expressions.
From-SVN: r117950
Francois-Xavier Coudert [Sun, 22 Oct 2006 07:41:48 +0000 (09:41 +0200)]
re PR fortran/26025 (Optionally use BLAS for matmul)
PR fortran/26025
* lang.opt: Add -fexternal-blas and -fblas-matmul-limit options.
* options.c (gfc_init_options): Initialize new flags.
(gfc_handle_option): Handle new flags.
* gfortran.h (gfc_option): Add flag_external_blas and
blas_matmul_limit flags.
* trans-expr.c (gfc_conv_function_call): Use new argument
append_args, appending it at the end of the argument list
built for a function call.
* trans-stmt.c (gfc_trans_call): Use NULL_TREE for the new
append_args argument to gfc_trans_call.
* trans.h (gfc_conv_function_call): Update prototype.
* trans-decl.c (gfc_build_intrinsic_function_decls): Add
prototypes for BLAS ?gemm routines.
* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Generate the
extra arguments given to the library matmul function, and give
them to gfc_conv_function_call.
* invoke.texi: Add documentation for -fexternal-blas and
-fblas-matmul-limit.
* m4/matmul.m4: Add possible call to gemm routine.
* generated/matmul_r8.c: Regenerate.
* generated/matmul_r16.c: Regenerate.
* generated/matmul_c8.c: Regenerate.
* generated/matmul_i8.c: Regenerate.
* generated/matmul_c16.c: Regenerate.
* generated/matmul_r10.c: Regenerate.
* generated/matmul_r4.c: Regenerate.
* generated/matmul_c10.c: Regenerate.
* generated/matmul_c4.c: Regenerate.
* generated/matmul_i4.c: Regenerate.
* generated/matmul_i16.c: Regenerate.
From-SVN: r117948
Daniel Berlin [Sun, 22 Oct 2006 01:25:17 +0000 (01:25 +0000)]
Commit forgotten file
From-SVN: r117947
GCC Administrator [Sun, 22 Oct 2006 00:17:36 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r117945
Steven G. Kargl [Sat, 21 Oct 2006 22:38:56 +0000 (22:38 +0000)]
error.c: Add errno.h
2006-10-21 Steven G. Kargl <kargl@gcc.gnu.org>
* runtime/error.c: Add errno.h
(generate_error): Set iostat to errno on OS error.
* libgfortran.h: Set ERROR_OS to 5000
From-SVN: r117939
H.J. Lu [Sat, 21 Oct 2006 20:43:32 +0000 (20:43 +0000)]
i386.md (UNSPEC_LDQQU): Renamed to ...
2006-10-21 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
(UNSPEC_LDDQU): This.
* config/i386/sse.md (sse3_lddqu): Updated.
From-SVN: r117938
Uros Bizjak [Sat, 21 Oct 2006 20:05:35 +0000 (22:05 +0200)]
re PR middle-end/28252 (pow(x,1/3.0) should be converted to cbrt(x))
2006-10-21 Uros Bizjak <uros@kss-loka.si>
PR middle-end/28252
* builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
flag_unsafe_math_optimizations is set.
testsuite/ChangeLog:
PR middle-end/28252
* gcc.dg/builtins-8.c: Also check pow(x,1.0/3.0) to cbrt(x)
transformation.
From-SVN: r117937
Richard Guenther [Sat, 21 Oct 2006 19:55:07 +0000 (19:55 +0000)]
builtins.c (expand_builtin_int_roundingfn_2): New function.
2006-10-21 Richard Guenther <rguenther@suse.de>
* builtins.c (expand_builtin_int_roundingfn_2): New function.
(expand_builtin): Use it to expand lrint instead of
expand_builtin_mathfn.
From-SVN: r117936
Uros Bizjak [Sat, 21 Oct 2006 19:27:02 +0000 (21:27 +0200)]
re PR rtl-optimization/19398 (secondary reloads don't consider "m" alternatives)
PR target/19398
* config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
patterns to use memory input operand in x87->mem->XMM
reload sequences. Skip transformation for TARGET_K8.
From-SVN: r117935
Uros Bizjak [Sat, 21 Oct 2006 15:49:41 +0000 (17:49 +0200)]
i386.md (extendsfdf2, [...]): Do not force operand1 to register if both operands are memory operands.
* config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
force operand1 to register if both operands are memory operands.
(*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
(*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
if both operands are memory operands.
(truncdfsf2): Do not force operand1 to register if both operands
are memory operands.
From-SVN: r117934
Kaveh R. Ghazi [Sat, 21 Oct 2006 13:58:13 +0000 (13:58 +0000)]
configure.in: Require GMP-4.1+ and MPFR-2.2+.
* configure.in: Require GMP-4.1+ and MPFR-2.2+. Don't check
need_gmp anymore.
* configure: Regenerate.
gcc:
* Makefile.in (LIBS): Add $(GMPLIBS).
* doc/install.texi: Update GMP and MPFR requirements.
* doc/sourcebuild.texi (need_gmp): Delete.
gcc/fortran:
* Make-lang.in (F95_LIBS): Delete.
* f951$(exeext): Use $(LIBS) instead of $(F95_LIBS).
* config-lang.in (need_gmp): Delete.
From-SVN: r117933
Richard Guenther [Sat, 21 Oct 2006 13:23:41 +0000 (13:23 +0000)]
re PR tree-optimization/3511 (Inlined strlen() could be smarter)
2006-10-21 Richard Guenther <rguenther@suse.de>
PR tree-optimization/3511
* tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
got new invariant arguments during PHI translation.
* gcc.dg/tree-ssa/ssa-pre-15.c: New testcase.
From-SVN: r117932
Richard Guenther [Sat, 21 Oct 2006 13:21:06 +0000 (13:21 +0000)]
re PR middle-end/26898 (Fold does not fold signed + CST1 CMP signed + CST2)
2006-10-21 Richard Guenther <rguenther@suse.de>
PR middle-end/26898
* fold-const.c (fold_comparison): Fold signed comparisons
of the form X +- C1 CMP Y +- C2.
* gcc.dg/torture/pr26898-1.c: New testcase.
* gcc.dg/torture/pr26898-2.c: Likewise.
From-SVN: r117931
Richard Guenther [Sat, 21 Oct 2006 10:40:57 +0000 (10:40 +0000)]
re PR target/19116 (-funsafe-math-optimizations make nan compares equal to one another (-finite-math-only should be doing that))
2006-10-21 Richard Guenther <rguenther@suse.de>
PR target/19116
* config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
if flag_unsafe_math_optimizations is specified. We have
flag_finite_math_only for that.
* config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
or flag_unsafe_math_optimizations.
From-SVN: r117930
Richard Guenther [Sat, 21 Oct 2006 10:17:49 +0000 (10:17 +0000)]
builtins.c (fold_builtin_classify): Fix typo.
2006-10-21 Richard Guenther <rguenther@suse.de>
* builtins.c (fold_builtin_classify): Fix typo.
From-SVN: r117929
Richard Guenther [Sat, 21 Oct 2006 10:13:13 +0000 (10:13 +0000)]
re PR middle-end/28796 (__builtin_nan() and __builtin_unordered() inconsistent)
2006-10-21 Richard Guenther <rguenther@suse.de>
PR middle-end/28796
* simplify-rtx.c (simplify_const_relational_operation):
Do not constant-fold ORDERED and UNORDERED for
flag_unsafe_math_optimizations but only we do not need to
honor NaNs for the given mode.
From-SVN: r117928
Richard Guenther [Sat, 21 Oct 2006 10:05:21 +0000 (10:05 +0000)]
re PR target/29512 (compile time hog / deadloop.)
2006-10-21 Richard Guenther <rguenther@suse.de>
PR target/29512
* config/i386/i386.c (classify_argument): Remove redundant
walking of the BINFOs.
(contains_128bit_aligned_vector_p): Likewise.
From-SVN: r117927
Mark Mitchell [Sat, 21 Oct 2006 03:15:08 +0000 (03:15 +0000)]
* crontab: Add 4.2 branch. Set trunk to 4.3.
From-SVN: r117926
Mark Mitchell [Sat, 21 Oct 2006 02:43:05 +0000 (02:43 +0000)]
* BASE-VER: Set to 4.3.0.
From-SVN: r117924
Daniel Berlin [Sat, 21 Oct 2006 02:38:30 +0000 (02:38 +0000)]
tree.h (DECL_PTA_ARTIFICIAL): Remove.
2006-10-20 Daniel Berlin <dberlin@dberlin.org>
* tree.h (DECL_PTA_ARTIFICIAL): Remove.
(tree_decl_with_vis): Remove artificial_pta_var flag.
* tree-flow.h (referenced_var_check_and_insert): Expose.
(nonlocal_all): New prototype.
* tree-ssa-structalias.c (nonlocal_for_type): Remove.
(nonlocal_all): Make global.
(nonlocal_lookup): Remove.
(nonlocal_insert): Ditto.
(create_nonlocal_var): Do not call nonlocal_insert.
(get_nonlocal_id_for_type): Remove.
(find_global_initializers): Mark new vars we find for renaming.
(intra_create_variable_infos): Only create one nonlocal.
(expand_nonlocal_solutions): Remove.
(compute_points_to_sets): Don't call it.
(ipa_pta_execute): Ditto.
(init_alias_heapvars): Don't create nonlocal_for_type.
(delete_alias_heapvars): Don't remove it.
* tree-ssa-operands.c (access_can_touch_variable): Don't prune
nonlocal_all.
From-SVN: r117922
GCC Administrator [Sat, 21 Oct 2006 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r117918
Tom Tromey [Fri, 20 Oct 2006 21:43:36 +0000 (21:43 +0000)]
natevents.cc (do_callback_arg_tests): Correctly pass jvalues.
* testsuite/libjava.jvmti/natevents.cc (do_callback_arg_tests):
Correctly pass jvalues.
From-SVN: r117913
Lee Millward [Fri, 20 Oct 2006 20:13:42 +0000 (20:13 +0000)]
re PR c++/28053 (ICE deriving from class with invalid bitfield)
PR c++/28053
* decl2.c (grokbitfield): Detect invalid non-integral
types earlier when possible.
* g++.dg/parse/bitfield1.C: Adjust error markers.
* g++.dg/parse/bitfield2.C: New test.
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r117910
Francois-Xavier Coudert [Fri, 20 Oct 2006 11:52:56 +0000 (13:52 +0200)]
minval_r8.c: Regenerate.
* generated/minval_r8.c: Regenerate.
* generated/maxloc1_4_r8.c: Regenerate.
* generated/minloc1_16_r16.c: Regenerate.
* generated/sum_i8.c: Regenerate.
* generated/eoshift3_4.c: Regenerate.
* generated/any_l16.c: Regenerate.
* generated/eoshift1_8.c: Regenerate.
* generated/reshape_r16.c: Regenerate.
* generated/product_r4.c: Regenerate.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/maxloc0_4_r4.c: Regenerate.
* generated/in_unpack_i8.c: Regenerate.
* generated/minloc0_4_r16.c: Regenerate.
* generated/reshape_c4.c: Regenerate.
* generated/maxloc0_4_r16.c: Regenerate.
* generated/minloc1_8_r16.c: Regenerate.
* generated/maxloc1_8_r16.c: Regenerate.
* generated/in_unpack_i16.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/sum_r16.c: Regenerate.
* generated/minloc1_4_r8.c: Regenerate.
* generated/maxloc1_16_r16.c: Regenerate.
* generated/minloc1_16_i4.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/minloc0_16_i8.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/maxval_r16.c: Regenerate.
* generated/count_16_l16.c: Regenerate.
* generated/count_8_l8.c: Regenerate.
* generated/product_c10.c: Regenerate.
* generated/minloc1_8_i4.c: Regenerate.
* generated/minloc0_16_i16.c: Regenerate.
* generated/eoshift1_16.c: Regenerate.
* generated/minloc0_4_r4.c: Regenerate.
* generated/product_c4.c: Regenerate.
* generated/sum_r4.c: Regenerate.
* generated/in_pack_c16.c: Regenerate.
* generated/reshape_i4.c: Regenerate.
* generated/minloc0_8_i8.c: Regenerate.
* generated/minloc1_16_r10.c: Regenerate.
* generated/in_pack_c4.c: Regenerate.
* generated/all_l16.c: Regenerate.
* generated/reshape_c16.c: Regenerate.
* generated/maxloc1_8_r8.c: Regenerate.
* generated/minval_i16.c: Regenerate.
* generated/reshape_r10.c: Regenerate.
* generated/maxval_i4.c: Regenerate.
* generated/any_l4.c: Regenerate.
* generated/minval_i8.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc0_8_r4.c: Regenerate.
* generated/minloc1_4_i16.c: Regenerate.
* generated/minloc0_4_r10.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/minloc0_8_i16.c: Regenerate.
* generated/maxloc0_4_r10.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/minloc1_8_r10.c: Regenerate.
* generated/product_i4.c: Regenerate.
* generated/minloc0_16_r4.c: Regenerate.
* generated/sum_c16.c: Regenerate.
* generated/maxloc1_8_r10.c: Regenerate.
* generated/maxloc0_16_r4.c: Regenerate.
* generated/minloc1_16_r8.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc1_16_r8.c: Regenerate.
* generated/cshift1_4.c: Regenerate.
* generated/sum_r10.c: Regenerate.
* generated/sum_c4.c: Regenerate.
* generated/maxloc1_16_r10.c: Regenerate.
* generated/count_4_l16.c: Regenerate.
* generated/in_pack_i4.c: Regenerate.
* generated/minloc1_8_r8.c: Regenerate.
* generated/count_4_l4.c: Regenerate.
* generated/maxval_r10.c: Regenerate.
* generated/minloc1_4_i8.c: Regenerate.
* generated/in_unpack_c4.c: Regenerate.
* generated/minloc0_8_r4.c: Regenerate.
* generated/product_i16.c: Regenerate.
* generated/minloc0_16_r16.c: Regenerate.
* generated/reshape_r8.c: Regenerate.
* generated/all_l4.c: Regenerate.
* generated/in_pack_c10.c: Regenerate.
* generated/minloc0_4_i4.c: Regenerate.
* generated/reshape_c10.c: Regenerate.
* generated/minval_r4.c: Regenerate.
* generated/maxloc1_4_r4.c: Regenerate.
* generated/sum_i4.c: Regenerate.
* generated/count_16_l8.c: Regenerate.
* generated/maxval_r8.c: Regenerate.
* generated/eoshift1_4.c: Regenerate.
* generated/eoshift3_8.c: Regenerate.
* generated/minval_r16.c: Regenerate.
* generated/product_r8.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc0_4_r8.c: Regenerate.
* generated/maxloc0_16_r16.c: Regenerate.
* generated/in_unpack_i4.c: Regenerate.
* generated/sum_c10.c: Regenerate.
* generated/minloc1_4_r16.c: Regenerate.
* generated/maxloc1_4_r16.c: Regenerate.
* generated/in_unpack_c16.c: Regenerate.
* generated/minloc0_8_r16.c: Regenerate.
* generated/reshape_c8.c: Regenerate.
* generated/maxloc0_8_r16.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/minloc1_4_r4.c: Regenerate.
* generated/minloc0_16_i4.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/minloc1_16_i8.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/count_8_l4.c: Regenerate.
* generated/minloc0_16_r10.c: Regenerate.
* generated/minloc1_8_i8.c: Regenerate.
* generated/minloc0_4_r8.c: Regenerate.
* generated/product_r16.c: Regenerate.
* generated/product_c8.c: Regenerate.
* generated/sum_r8.c: Regenerate.
* generated/in_pack_i16.c: Regenerate.
* generated/minloc0_8_i4.c: Regenerate.
* generated/minloc1_16_i16.c: Regenerate.
* generated/reshape_i8.c: Regenerate.
* generated/in_pack_c8.c: Regenerate.
* generated/maxloc1_8_r4.c: Regenerate.
* generated/reshape_i16.c: Regenerate.
* generated/minval_r10.c: Regenerate.
* generated/minval_i4.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxval_i8.c: Regenerate.
* generated/eoshift3_16.c: Regenerate.
* generated/any_l8.c: Regenerate.
* generated/maxloc0_16_r10.c: Regenerate.
* generated/minloc0_4_i16.c: Regenerate.
* generated/maxloc0_8_r8.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/minloc1_4_r10.c: Regenerate.
* generated/minloc1_8_i16.c: Regenerate.
* generated/maxloc1_4_r10.c: Regenerate.
* generated/minloc0_8_r10.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/in_unpack_c10.c: Regenerate.
* generated/maxloc0_8_r10.c: Regenerate.
* generated/minloc1_16_r4.c: Regenerate.
* generated/maxloc1_16_r4.c: Regenerate.
* generated/minloc0_16_r8.c: Regenerate.
* generated/product_i8.c: Regenerate.
* generated/maxloc0_16_r8.c: Regenerate.
* generated/sum_i16.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/cshift1_8.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/minloc1_8_r4.c: Regenerate.
* generated/sum_c8.c: Regenerate.
* generated/count_8_l16.c: Regenerate.
* generated/in_pack_i8.c: Regenerate.
* generated/maxval_i16.c: Regenerate.
* generated/count_4_l8.c: Regenerate.
* generated/minloc1_4_i4.c: Regenerate.
* generated/product_c16.c: Regenerate.
* generated/reshape_r4.c: Regenerate.
* generated/minloc0_8_r8.c: Regenerate.
* generated/in_unpack_c8.c: Regenerate.
* generated/product_r10.c: Regenerate.
* generated/cshift1_16.c: Regenerate.
* generated/all_l8.c: Regenerate.
* generated/minloc0_4_i8.c: Regenerate.
* generated/maxval_r4.c: Regenerate.
* generated/count_16_l4.c: Regenerate.
From-SVN: r117904
Adam Nemet [Fri, 20 Oct 2006 07:46:21 +0000 (07:46 +0000)]
* gcc.dg/tree-ssa/ivopts-2.c: Match final candidates line only.
From-SVN: r117900
Brooks Moses [Fri, 20 Oct 2006 03:29:05 +0000 (03:29 +0000)]
invoke.texi: Fixed "denormal" typo.
* invoke.texi: Fixed "denormal" typo.
From-SVN: r117899
GCC Administrator [Fri, 20 Oct 2006 00:17:37 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r117896
Brooks Moses [Thu, 19 Oct 2006 23:39:45 +0000 (23:39 +0000)]
install.texi (Downloading GCC): Clarify mention of Fortran in the "full distribution" description.
* doc/install.texi (Downloading GCC): Clarify mention of
Fortran in the "full distribution" description.
From-SVN: r117892
Daniel Berlin [Thu, 19 Oct 2006 23:05:53 +0000 (23:05 +0000)]
Fix PR tree-optimization/28778 Fix PR tree-optimization/29156 Fix PR tree-optimization/29415
2006-10-19 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/28778
Fix PR tree-optimization/29156
Fix PR tree-optimization/29415
* tree.h (DECL_PTA_ARTIFICIAL): New macro.
(tree_decl_with_vis): Add artificial_pta_var flag.
* tree-ssa-alias.c (is_escape_site): Remove alias info argument,
pushed into callers.
* tree-ssa-structalias.c (nonlocal_for_type): New variable.
(nonlocal_all): Ditto.
(struct variable_info): Add directly_dereferenced member.
(var_escaped_vars): New variable.
(escaped_vars_tree): Ditto.
(escaped_vars_id): Ditto.
(nonlocal_vars_id): Ditto.
(new_var_info): Set directly_dereferenced.
(graph_size): New variable
(build_constraint_graph): Use graph_size.
(solve_graph): Don't process constraints that cannot change the
solution, don't try to propagate an empty solution to our
successors.
(process_constraint): Set directly_dereferenced.
(could_have_pointers): New function.
(get_constraint_for_component_ref): Don't process STRING_CST.
(nonlocal_lookup): New function.
(nonlocal_insert): Ditto.
(create_nonlocal_var): Ditto.
(get_nonlocal_id_for_type): Ditto.
(get_constraint_for): Allow results vector to be empty in the case
of string constants.
Handle results of calls properly.
(update_alias_info): Update alias info stats on number and type of
calls.
(find_func_aliases): Use could_have_pointers.
(make_constraint_from_escaped): Renamed from
make_constraint_to_anything, and changed to make constraints from
escape variable.
(make_constraint_to_escaped): New function.
(find_global_initializers): Ditto.
(create_variable_info_for): Make constraint from escaped to any
global variable, and from any global variable to the set of
escaped vars.
(intra_create_variable_infos): Deal with escaped instead of
pointing to anything.
(set_uids_in_ptset): Do type pruning on directly dereferenced
variables.
(find_what_p_points_to): Adjust call to set_uids_with_ptset.
(init_base_vars): Fix comment, and initialize escaped_vars.
(need_to_solve): Removed.
(find_escape_constraints): New function.
(expand_nonlocal_solutions): Ditto.
(compute_points_to_sets): Call find_escape_constraints and
expand_nonlocal_solutions.
(delete_points_to_sets): Don't fall off the end of the graph.
(init_alias_heapvars): Initialize nonlocal_for_type and
nonlocal_all.
(delete_alias_heapvars): Free nonlocal_for_type and null out
nonlocal_all.
From-SVN: r117891
François-Xavier Coudert [Thu, 19 Oct 2006 21:48:50 +0000 (21:48 +0000)]
re PR libfortran/27895 (problem with RESHAPE and zero-sized arrays)
PR libfortran/27895
* intrinsics/cshift0.c: Special cases for zero-sized arrays.
* intrinsics/pack_generic.c: Likewise.
* intrinsics/spread_generic.c: Likewise.
* gfortran.dg/zero_sized_1.f90: New test.
From-SVN: r117890
Eric Botcazou [Thu, 19 Oct 2006 20:22:04 +0000 (20:22 +0000)]
fold-const.c (add_double): Rename to add_double_with_sign.
* fold-const.c (add_double): Rename to add_double_with_sign.
Add 'unsigned_p' parameter and take it into account for the overflow.
(mul_double): Rename to mul_double_with_sign.
Add 'unsigned_p' parameter and take it into account for the overflow.
(fold_div_compare): Call add_double_with_sign instead of add_double
and mul_double_with_sign instead of mul_double, passing them the
unsignedness of the type.
* tree.h (add_double): Macroize.
(add_double_with_sign): New prototype.
(mul_double): Macroize.
(mul_double_with_sign): New prototype.
From-SVN: r117887
Chen Liqin [Thu, 19 Oct 2006 09:19:21 +0000 (09:19 +0000)]
invoke.texi (Score Options): New section.
* doc/invoke.texi (Score Options): New section.
* doc/md.texi (Score family): New section to document constraints.
* config/score/t-score-elf: Fix spelling typo.
* config/score/score.c: Add TARGET_DEFAULT_TARGET_FLAGS macro.
* config/score/score.h: Fix spelling typo.
* config/score/score-mdaux.c: Remove TARGET_NOPINDEX condition.
* config/score/score.opt: Remove -mnpi -mnuls -mSCORE5/5U -mSCORE7
options.
From-SVN: r117882
Nick Clifton [Thu, 19 Oct 2006 08:10:08 +0000 (08:10 +0000)]
Fix spelling typo in comment
From-SVN: r117880
Paul Thomas [Thu, 19 Oct 2006 04:51:14 +0000 (04:51 +0000)]
[multiple changes]
2006-10-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29216
PR fortran/29314
* gfortran.h : Add EXEC_INIT_ASSIGN.
* dump-parse-tree.c (gfc_show_code_node): The same.
* trans-openmp.c (gfc_trans_omp_array_reduction): Set new
argument for gfc_trans_assignment to false.
* trans-stmt.c (gfc_trans_forall_1): The same.
* trans-expr.c (gfc_conv_function_call, gfc_trans_assign,
gfc_trans_arrayfunc_assign, gfc_trans_assignment): The
same. In the latter function, use the new flag to stop
the checking of the lhs for deallocation.
(gfc_trans_init_assign): New function.
* trans-stmt.h : Add prototype for gfc_trans_init_assign.
* trans.c (gfc_trans_code): Implement EXEC_INIT_ASSIGN.
* trans.h : Add new boolean argument to the prototype of
gfc_trans_assignment.
* resolve.c (resolve_allocate_exp): Replace EXEC_ASSIGN by
EXEC_INIT_ASSIGN.
(resolve_code): EXEC_INIT_ASSIGN does not need resolution.
(apply_default_init): New function.
(resolve_symbol): Call it for derived types that become
defined but which do not already have an initialization
expression..
* st.c (gfc_free_statement): Include EXEC_INIT_ASSIGN.
2006-10-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29216
* gfortran.dg/result_default_init_1.f90: New test.
PR fortran/29314
* gfortran.dg/automatic_default_init_1.f90: New test.
* gfortran.dg/alloc_comp_basics_1.f90: Reduce deallocate count
from 38 to 33.
From-SVN: r117879
Tom Tromey [Thu, 19 Oct 2006 04:34:01 +0000 (04:34 +0000)]
* doc/install.texi (Prerequisites): Mention automake 1.9.6.
From-SVN: r117878
Joseph Myers [Thu, 19 Oct 2006 01:47:40 +0000 (02:47 +0100)]
* sv.po: Update.
From-SVN: r117875
GCC Administrator [Thu, 19 Oct 2006 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r117873
Tom Tromey [Wed, 18 Oct 2006 23:17:04 +0000 (23:17 +0000)]
register2.java: New file.
* testsuite/libjava.jni/register2.java: New file.
* testsuite/libjava.jni/register2.out: New file.
* testsuite/libjava.jni/register2.c: New file.
* java/lang/natClass.cc (_Jv_GetClassNameUtf8): New function.
* java/lang/Class.h (_Jv_GetClassNameUtf8): Declare.
* jni.cc (struct NativeMethodCacheEntry): New struct.
(nathash): Changed type.
(hash): Updated.
(nathash_find_slot): Likewise.
(nathash_find): Likewise.
(natrehash): Likewise.
(nathash_add): Likewise.
(_Jv_JNI_RegisterNatives): Likewise.
(_Jv_LookupJNIMethod): Likewise.
Idea from Juerg Lehni <juerg@scratchdisk.com>
Co-Authored-By: Bryce McKinlay <mckinlay@redhat.com>
From-SVN: r117867
Jerry DeLisle [Wed, 18 Oct 2006 23:13:33 +0000 (23:13 +0000)]
re PR fortran/29277 (Formated stream output: Translate "\n" / achar(10) into "\r\n" on some platforms)
2006-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29277
* io/write.c (write_a): Add conversion of LF to CR-LF for systems with
#define HAVE_CRLF.
From-SVN: r117866
Jan Hubicka [Wed, 18 Oct 2006 21:39:52 +0000 (23:39 +0200)]
re PR middle-end/29299 (gcc "used" attribute has no effect on local-scope static variables)
PR middle-end/29299
* cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
are used.
From-SVN: r117863
Geoffrey Keating [Wed, 18 Oct 2006 20:09:39 +0000 (20:09 +0000)]
eb133b.C: Add XFAILed error for 'using namespace std' without previous declaration.
* g++.old-deja/g++.robertl/eb133b.C: Add XFAILed error for
'using namespace std' without previous declaration.
* g++.old-deja/g++.robertl/eb133.C: Remove, exact dup of eb133b.C.
* g++.old-deja/g++.robertl/eb133c.C: New.
From-SVN: r117862
Marcin Dalecki [Wed, 18 Oct 2006 17:23:50 +0000 (19:23 +0200)]
omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of TSI_SAME_STMT, since that's the desired entity.
* omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
TSI_SAME_STMT, since that's the desired entity.
From-SVN: r117859
Tobias Burnus [Wed, 18 Oct 2006 17:19:23 +0000 (19:19 +0200)]
primary.c: Revert 'significand'-to-'significant' comment change.
2006-10-16 Tobias Burnus <burnus@net-b.de>
* primary.c: Revert 'significand'-to-'significant' comment change.
* invoke.texi (Warning Options): Minor cleanup for
-Wimplicit-interface.
From-SVN: r117858
Tobias Burnus [Wed, 18 Oct 2006 17:17:49 +0000 (19:17 +0200)]
in_pack.m4: Fixed a typo.
2006-10-16 Tobias Burnus <burnus@net-b.de>
* m4/in_pack.m4: Fixed a typo.
* m4/iforeach.m4: Fixed a typo.
* m4/eoshift1.m4: Fixed a typo.
* m4/eoshift3.m4: Fixed a typo.
* m4/cshift1.m4: Fixed a typo.
* m4/in_unpack.m4: Fixed a typo.
* m4/reshape.m4: Fixed a typo.
* m4/ifunction.m4: Fixed a typo.
* runtime/environ.c: Fixed a typo.
* runtime/in_pack_generic.c: Fixed a typo.
* runtime/in_unpack_generic.c: Fixed a typo.
* runtime/memory.c: Fixed a typo.
* intrinsics/cshift0.c: Fixed a typo.
* intrinsics/cpu_time.c: Fixed a typo.
* intrinsics/pack_generic.c: Fixed a typo.
* intrinsics/unpack_generic.c: Fixed a typo.
* intrinsics/eoshift0.c: Fixed a typo.
* intrinsics/eoshift2.c: Fixed a typo.
* intrinsics/reshape_generic.c: Fixed a typo.
* io/open.c: Fixed a typo.
* io/list_read.c: Fixed a typo.
* io/io.h: Fixed a typo.
* io/transfer.c: Fixed a typo.
* io/write.c: Fixed a typo.
From-SVN: r117857
Mark Shinwell [Wed, 18 Oct 2006 10:57:18 +0000 (10:57 +0000)]
re PR c++/26884 (Misleading diagnostic for invalid array initializer)
PR c++/26884
* typeck2.c (digest_init): Raise error upon attempts to
initialize arrays with variables.
From-SVN: r117854
Jerry DeLisle [Wed, 18 Oct 2006 04:08:30 +0000 (04:08 +0000)]
re PR fortran/29277 (Formated stream output: Translate "\n" / achar(10) into "\r\n" on some platforms)
2006-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29277
* gfortran.dg/streamio_4.f90: Update test.
* gfortran.dg/streamio_11.f90: New test.
From-SVN: r117847
Jerry DeLisle [Wed, 18 Oct 2006 04:04:07 +0000 (04:04 +0000)]
re PR fortran/29277 (Formated stream output: Translate "\n" / achar(10) into "\r\n" on some platforms)
2006-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29277
* io/list_read.c (next_char): Update strm_pos.
(eat_separator): Delete extra call to unget_char.
* io/transfer.c (read_block): Use read_sf for formatted stream I/O.
(next_record_r): Update strm_pos for formatted stream I/O and handle
end-of-record correctly.
(next_record_w): Ditto.
(next_record): Enable next record (r/w) functions and update strm_pos.
(finalize_transfer): Call next_record to finish the record.
From-SVN: r117846
GCC Administrator [Wed, 18 Oct 2006 00:17:20 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r117843
Lee Millward [Tue, 17 Oct 2006 23:22:14 +0000 (23:22 +0000)]
re PR c++/27952 (ICE with invalid virtual inheritance)
PR c++/27952
* cp-tree.h (xref_basetypes): Return bool instead of void.
* decl.c (xref_basetypes): Adjust definition. Return false
if the class bases are invalid.
* parser.c (cp_parser_class_head): Check the return value
from xref_basetypes.
* g++.dg/inherit/virtual1.C: New test.
From-SVN: r117839
Mark Mitchell [Tue, 17 Oct 2006 22:50:01 +0000 (22:50 +0000)]
parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Add comment.
* parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Add
comment.
From-SVN: r117836
Mark Mitchell [Tue, 17 Oct 2006 22:43:37 +0000 (22:43 +0000)]
re PR c++/28261 (ICE with enum in constructor definition)
PR c++/28261
* parser.c (cp_lexer_next_token_is_decl_specifier_keyword): New
function.
(cp_parser_constructor_declarator_p): Use it.
(cp_parser_check_type_definition): Return a value indicating
whether or not the definition is valid.
(cp_parser_enum_specifier): Skip invalid enum definitions.
PR c++/28261
* g++.dg/parse/enum3.C: New test.
From-SVN: r117835
Mark Mitchell [Tue, 17 Oct 2006 22:35:29 +0000 (22:35 +0000)]
re PR c++/29039 (implicitly defined constructor for class with reference member)
PR c++/29039
* typeck2.c (build_functional_cast): Don't zero-initialize
non-PODs; instead, call their constructors.
* method.c (synthesize_method): Always build mem-initializers, if
we're synthesizing the default constructor.
PR c++/29039
* g++.dg/init/ctor8.C: New test.
From-SVN: r117834
Mark Mitchell [Tue, 17 Oct 2006 22:25:35 +0000 (22:25 +0000)]
re PR c++/27270 (ICE in process_init_constructor_array, at cp/typeck2.c:788)
PR c++/27270
* decl.c (reshape_init_class): Move check for designated
to ...
* parser.c (cp_parser_initializer_list): ... here.
* pt.c (tsubst_copy_and_build): Use finish_compound_literal.
PR c++/27270
* g++.dg/ext/complit8.C: Tweak error markers.
* g++.dg/template/complit1.C: Add error marker.
From-SVN: r117832
Paolo Carlini [Tue, 17 Oct 2006 16:43:47 +0000 (16:43 +0000)]
locale_facets.tcc (money_get<>::__do_get(iter_type, iter_type, bool, ios_base&, ios_base::iostate&, double&), [...]): Tidy.
2006-10-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::__do_get(iter_type,
iter_type, bool, ios_base&, ios_base::iostate&, double&),
money_get<>::do_get(iter_type, iter_type, bool, ios_base&,
ios_base::iostate&, long double&), money_get<>::do_get(iter_type,
iter_type, bool, ios_base&, ios_base::iostate&, string_type&)): Tidy.
From-SVN: r117828
Paolo Carlini [Tue, 17 Oct 2006 15:17:32 +0000 (15:17 +0000)]
re PR libstdc++/26020 (std::advance() isn't stable for floating point numbers)
2006-10-17 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26020
* include/bits/stl_iterator_base_funcs.h (advance): Convert
distance parameter to iterator_traits<>::difference_type.
* testsuite/24_iterators/26020.cc: New.
From-SVN: r117827
Wolfgang Gellerich [Tue, 17 Oct 2006 14:12:13 +0000 (14:12 +0000)]
contraints.md: New file.
2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/contraints.md: New file.
* config/s390/s390-protos.h (s390_mem_constraint,
s390_O_constraint_str, s390_N_constraint_str,
s390_float_const_zero_p): Function prototypes added.
* config/s390/s390.c (s390_extra_constraint_str,
s390_const_double_ok_for_constraint_p,
s390_const_ok_for_constraint_p): Functions removed.
(s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
s390_float_const_zero_p): New functions.
* config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
Macro definitions removed.
(s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
s390_extra_constraint_str): Functions removed.
From-SVN: r117826