OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years ago2010-08-31 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 31 Aug 2010 17:24:39 +0000 (17:24 +0000)]
2010-08-31  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/forward_list/operations/remove_freed.cc:
Fix test01 return type to void.
* testsuite/util/exception/safety.h: Avoid -Wall -m32 warnings.
* testsuite/util/replacement_memory_operators.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163684 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/arm-protos.h (arm_function_arg_advance): Delete.
froydnj [Tue, 31 Aug 2010 17:19:20 +0000 (17:19 +0000)]
* config/arm/arm-protos.h (arm_function_arg_advance): Delete.
(arm_function_arg): Delete.
(arm_needs_doubleword_align): Take a const_tree.
* config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree.
(aapcs_layout_arg, arm_needs_doubleword_align): Likewise.
(arm_function_arg): Make static.  Take a const_tree and a bool.
(arm_function_arg_advance): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163683 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * common.opt (fwhopr=): Update for -fwhopr=jobserver
ak [Tue, 31 Aug 2010 16:58:46 +0000 (16:58 +0000)]
   * common.opt (fwhopr=): Update for -fwhopr=jobserver
       * doc/invoke.texi (fwhopr): Document -fwhopr=jobserver.
       * lto-wrapper.c (run_gcc): Add jobserver mode.
       * opts.c (common_handle_option): Fix OPT_fwhopr for non numeric
         argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163680 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (popdi1): Rewrite using POST_INC memory operand.
uros [Tue, 31 Aug 2010 16:53:56 +0000 (16:53 +0000)]
* config/i386/i386.md (popdi1): Rewrite using POST_INC memory operand.
(popsi1): Ditto.
(*popdi1_epilogue): Ditto.
(*popsi1_epilogue): Ditto.
(popsi, popdi peephole2 patterns): Update peepholes for changed
pop{si,di}1 and *pop{si,di}1_epilogue patterns.

(pop<mode>1): Macroize insn from pop{si,di}1 using P code iterator.
(*pop<mode>1_epilogue): Ditto from *pop{si,di}1_epilogue.

* config/i386/i386.c (*ix86_gen_pop1): Remove indirect function.
(override_options): Do not initialize removed ix86_gen_pop1.
(gen_pop): New static function.
(ix86_expand_prologue): Use gen_pop instead of ix86_gen_pop1.
(release_scratch_register_on_entry): Ditto.
(ix86_restore_reg_using_pop): Ditto.
(ix86_expand_epilogue): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163679 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/45461
jakub [Tue, 31 Aug 2010 16:13:14 +0000 (16:13 +0000)]
PR middle-end/45461
* builtins.c (dummy_object): Return a MEM_REF instead of INDIRECT_REF.

* gcc.dg/pr45461.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163678 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/fr30/fr30.c (fr30_move_double): Delete `dregno' and extra
froydnj [Tue, 31 Aug 2010 15:00:43 +0000 (15:00 +0000)]
* config/fr30/fr30.c (fr30_move_double): Delete `dregno' and extra
semicolons.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163677 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * doc/extend.texi: Fix documentation of the return value of
fxcoudert [Tue, 31 Aug 2010 14:26:47 +0000 (14:26 +0000)]
* doc/extend.texi: Fix documentation of the return value of
__builtin_choose_expr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163675 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/v850/v850-protos.h (function_arg): Delete.
froydnj [Tue, 31 Aug 2010 14:22:47 +0000 (14:22 +0000)]
* config/v850/v850-protos.h (function_arg): Delete.
* config/v850/v850.h (FUNCTION_ARG): Delete.
(FUNCTION_ARG_ADVANCE): Move code to...
* config/v850/v850.c (v850_function_arg_advance): ...here.
(v850_function_arg): Make static.  Take a const_tree and a bool.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163674 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move
froydnj [Tue, 31 Aug 2010 13:12:14 +0000 (13:12 +0000)]
* config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move
these...
(ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
...and these...
* config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance):
..to here..
(ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
...and here.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163672 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size):
froydnj [Tue, 31 Aug 2010 13:10:39 +0000 (13:10 +0000)]
* config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size):
Delete.
* config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/rx/rx.c (rx_function_arg_size): Make static.
(rx_function_arg): Likewise.
(rx_function_arg_advance): New function.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163671 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-31 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 31 Aug 2010 10:01:04 +0000 (10:01 +0000)]
2010-08-31  Richard Guenther  <rguenther@suse.de>

PR testsuite/45455
* gcc.dg/vect/vect-cond-4.c: Fix use of uninitialized variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163669 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-31 Bingfeng Mei <bmei@broadcom.com>
meibf [Tue, 31 Aug 2010 09:02:39 +0000 (09:02 +0000)]
2010-08-31  Bingfeng Mei  <bmei@broadcom.com>

* gcc.dg/vect/pr43430-1.c: Requires vect_condition target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163668 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/arm.c (arm_override_options): Remove superfluous test.
nickc [Tue, 31 Aug 2010 08:42:21 +0000 (08:42 +0000)]
    * config/arm/arm.c (arm_override_options): Remove superfluous test.
        Fix indentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163667 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
ebotcazou [Tue, 31 Aug 2010 07:02:17 +0000 (07:02 +0000)]
* dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
(dwarf2out_decl) <CONST_DECL>: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163666 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Tue, 31 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163665 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-30 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 30 Aug 2010 21:56:28 +0000 (21:56 +0000)]
2010-08-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45456
* resolve.c (resolve_structure_cons): Handle pointer-valued PPCs.

2010-08-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45456
* gfortran.dg/typebound_proc_18.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163661 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago Stack usage support
ebotcazou [Mon, 30 Aug 2010 20:04:49 +0000 (20:04 +0000)]
Stack usage support
* common.opt (-fstack-usage): New option.
* doc/invoke.texi (Debugging options): Document it.
* builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to
allocate_dynamic_stack_space.
(expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE
and propagate it to allocate_dynamic_stack_space.
(expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change.
* calls.c (initialize_argument_information): Pass TRUE as 4th
argument to allocate_dynamic_stack_space.
(expand_call): Set current_function_has_unbounded_dynamic_stack_size
to 1 when pushing a variable-sized argument onto the stack.  Pass
TRUE as 4th argument to allocate_dynamic_stack_space.
Update current_function_pushed_stack_size.
(emit_library_call_value_1): Likewise.
* explow.c (allocate_dynamic_stack_space): Add 4th bool parameter
CANNOT_ACCUMULATE.  If flag_stack_usage, look into the size and
attempt to find an upper bound.  Remove redundant code for the
SETJMP_VIA_SAVE_AREA case.
* expr.h (allocate_dynamic_stack_space): Add 4th bool parameter.
* function.h (struct stack_usage): New structure.
(current_function_static_stack_size): New macro.
(current_function_dynamic_stack_size): Likewise.
(current_function_pushed_stack_size): Likewise.
(current_function_dynamic_alloc_count): Likewise.
(current_function_has_unbounded_dynamic_stack_size): Likewise.
(current_function_allocates_dynamic_stack_space): Likewise.
(struct function): Add new field 'su'.
* function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA,
add the value of the dynamic offset to the dynamic stack usage.
(gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA
for variable-sized objects.
(prepare_function_start): Allocate cfun->su if flag_stack_usage.
(rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage.
* gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to
BUILT_IN_ALLOCA for variable-sized objects.
* output.h (output_stack_usage): Declare.
* toplev.c (stack_usage_file): New file pointer.
(output_stack_usage): New function.
(open_auxiliary_file): Likewise.
(lang_dependent_init): Open file if flag_stack_usage is set.
(finalize): Close file if stack_usage_file is not null.
* tree.h (ALLOCA_FOR_VAR_P): New macro.
* config/alpha/alpha.c (compute_frame_size): New function.
(alpha_expand_prologue): Use it.
(alpha_start_function): Likewise.
(alpha_expand_epilogue): Likewise.  Set stack usage info.
* config/i386/i386.c (ix86_expand_prologue): Likewise.
* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
* config/mips/mips.c (mips_expand_prologue): Likewise.
* config/pa/pa.c (hppa_expand_prologue): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
testsuite/
* lib/gcc-dg.exp (cleanup-stack-usage): New procedure.
* lib/scanasm.exp (scan-stack-usage): Likewise.
(scan-stack-usage-not): Likewise.
* gcc.dg/stack-usage-1.c: New test.
* gcc.target/i386/stack-usage-realign.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163660 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/45427
rakdver [Mon, 30 Aug 2010 19:50:05 +0000 (19:50 +0000)]
PR tree-optimization/45427
* tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten.
Handle the case that the exit is never taken correctly.
(number_of_iterations_ne): Pass exit_must_be_taken to
number_of_iterations_ne_max.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163659 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-31 Catherine Moore <clm@codesourcery.com>
clm [Mon, 30 Aug 2010 18:57:30 +0000 (18:57 +0000)]
2010-08-31  Catherine Moore  <clm@codesourcery.com>

* config/mips/mips.h (BASE_DRIVER_SELF_SPECS):
Infer -mdspr2 for the the 74K.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163656 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago/cp
paolo [Mon, 30 Aug 2010 18:13:32 +0000 (18:13 +0000)]
/cp
2010-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45043
* decl.c (grokdeclarator): Use MAIN_NAME_P only on IDENTIFIER_NODEs.

/testsuite
2010-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45043
* g++.dg/template/crash102.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163655 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR debug/45419
jakub [Mon, 30 Aug 2010 17:17:15 +0000 (17:17 +0000)]
PR debug/45419
* tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163654 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/45423
jakub [Mon, 30 Aug 2010 17:16:29 +0000 (17:16 +0000)]
PR middle-end/45423
* gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR
and TRUTH_{AND,OR,XOR}_EXPR.
* c-parser.c (c_parser_omp_atomic): Handle boolean
{PRE,POST}_{INC,DEC}REMENT.
cp/
* parser.c (cp_parser_omp_atomic): Handle boolean
{PRE,POST}_INCREMENT.
testsuite/
* gcc.dg/gomp/atomic-12.c: New test.
* gcc.dg/gomp/atomic-13.c: New test.
* gcc.dg/gomp/atomic-14.c: New test.
* g++.dg/gomp/atomic-11.C: New test.
* g++.dg/gomp/atomic-12.C: New test.
* g++.dg/gomp/atomic-13.C: New test.
* g++.dg/gomp/atomic-14.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163653 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
ebotcazou [Mon, 30 Aug 2010 16:30:41 +0000 (16:30 +0000)]
* gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
Attach fake PARM_DECLs to the topmost block of the function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163651 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * g++.dg/debug/dwarf2/nested-2.C: Allow for single / as comment
ro [Mon, 30 Aug 2010 16:03:55 +0000 (16:03 +0000)]
* g++.dg/debug/dwarf2/nested-2.C: Allow for single / as comment
delimiter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163650 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/xtensa/xtensa-protos.h (function_arg_advance): Delete.
froydnj [Mon, 30 Aug 2010 16:03:44 +0000 (16:03 +0000)]
* config/xtensa/xtensa-protos.h (function_arg_advance): Delete.
(function_arg): Delete.
* config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
(FUNCTION_INCOMING_ARG): Delete.
* config/xtensa/xtensa.c (function_arg_advance): Rename to...
(xtensa_function_arg_advance): ...this.  Make static.  Take a const_tree
and a bool.
(function_arg): Rename to...
(xtensa_function_arg_1): ...this.  Make static.  Take a const_tree and
a bool.
(xtensa_function_arg, xtensa_function_incoming_arg): Nex functions.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
(TARGET_FUNCTION_INCOMING_ARG): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163649 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
ebotcazou [Mon, 30 Aug 2010 15:59:45 +0000 (15:59 +0000)]
* gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
for the call to a function whose return type was unconstrained.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163648 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-30 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 30 Aug 2010 13:46:31 +0000 (13:46 +0000)]
2010-08-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/21602
* builtins.c (fold_builtin_memory_op): Fold memmove to memcpy
using points-to information.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163646 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * Move compare peephole2 to a better place.
uros [Mon, 30 Aug 2010 13:40:36 +0000 (13:40 +0000)]
* Move compare peephole2 to a better place.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163645 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
hainque [Mon, 30 Aug 2010 13:26:10 +0000 (13:26 +0000)]
    * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
        replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
        (gnat_to_gnu_entity) <case ..., E_Procedure>: Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163641 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoReplace | with || in TARGET_HAS_SINCOS.
hjl [Mon, 30 Aug 2010 13:10:59 +0000 (13:10 +0000)]
Replace | with || in TARGET_HAS_SINCOS.

2010-08-30  H.J. Lu  <hongjiu.lu@intel.com>

* config/linux.h (TARGET_HAS_SINCOS): Replace | with ||.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163640 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * Make-lang.in: Add frontend-passes.o dependencies.
fxcoudert [Mon, 30 Aug 2010 11:44:23 +0000 (11:44 +0000)]
* Make-lang.in: Add frontend-passes.o dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163639 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-30 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 30 Aug 2010 11:13:05 +0000 (11:13 +0000)]
2010-08-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45449
* tree-ssa-live.c (remove_unused_locals): Also remove address-taken
variables.

* gcc.dg/pr45449.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163638 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * opts.h (CL_ERR_NEGATIVE): Define.
jsm28 [Mon, 30 Aug 2010 10:30:57 +0000 (10:30 +0000)]
* opts.h (CL_ERR_NEGATIVE): Define.
* opts.c (unknown_option_callback): Don't postpone warnings for
options marked with CL_ERR_NEGATIVE.
* opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error
for negative versions of CL_REJECT_NEGATIVE options.

testsuite:
* gcc.dg/opts-1.c: Expect errors, not warnings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163637 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (zero_extendsidi2_1): Rename from
uros [Mon, 30 Aug 2010 07:28:27 +0000 (07:28 +0000)]
* config/i386/i386.md (zero_extendsidi2_1): Rename from
zero_extendsidi2_32.
(zero_extend<mode>di2): Macroize insn from zero_extend{qi,hi}di2
using SWI12 mode iterator.
(zero_extendhisi2_and): Merge insn pattern and corresponding spliter
to define_insn_and_split pattern.
(zero_extendqi<mode>2): Macroize expander from zero_extendqi{hi,si}2
using SWI24 mode iterator.
(*zero_extendqi<mode>2_and): Macroize insn from
*zero_extendqi{hi,si}2_and using SWI24 mode iterator.
(*zero_extendqi<mode>2_movzbl_and): Macroize insn from
*zero_extendqihi2_movzbw_and and *zero_extendqisi2_movzbl_and using
SWI24 mode iterator.
(*zero_extendqi<mode>2_movzbl): Ditto from
*zero_extendqi{hi,si}2_movzbl.
(extendsidi2_1): Rename from extendsidi2_32.
(extend<mode>di2): Macroize insn from extend{qi,hi}di2 using
SWI12 mode iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163636 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Mon, 30 Aug 2010 00:16:57 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163635 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-29 Janus Weil <janus@gcc.gnu.org>
janus [Sun, 29 Aug 2010 21:29:38 +0000 (21:29 +0000)]
2010-08-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42769
* resolve.c (resolve_structure_cons): For derived types, make sure the
type has been resolved.
(resolve_typebound_procedures): Make sure the vtab has been generated.

2010-08-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42769
* gfortran.dg/dynamic_dispatch_11.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163631 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in
ebotcazou [Sun, 29 Aug 2010 19:57:07 +0000 (19:57 +0000)]
* config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in
general purpose registers.
(HARD_REGNO_MODE_OK): Accept CCImode in general purpose registers.
* config/ia64/ia64.md (*movcci): Change to named pattern.  Deal
with general purpose registers and memory operands.  Add associated
CCImode post-reload splitter.
* config/ia64/div.md: Change BImode to CCImode throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163630 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/44991
jason [Sun, 29 Aug 2010 19:24:37 +0000 (19:24 +0000)]
PR c++/44991
* parser.c (cp_parser_parameter_declaration): Pop parameter decls
after tentative parsing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163629 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 29 Aug 2010 17:39:00 +0000 (17:39 +0000)]
2010-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/bitset/invalidation: Move...
* testsuite/23_containers/bitset/debug/invalidation: ... here.
* testsuite/23_containers/deque/invalidation: Move...
* testsuite/23_containers/deque/debug/invalidation: ... here.
* testsuite/23_containers/list/invalidation: Move...
* testsuite/23_containers/list/debug/invalidation: ... here.
* testsuite/23_containers/map/invalidation: Move...
* testsuite/23_containers/map/debug/invalidation: ... here.
* testsuite/23_containers/multimap/invalidation: Move...
* testsuite/23_containers/multimap/debug/invalidation: ... here.
* testsuite/23_containers/set/invalidation: Move...
* testsuite/23_containers/set/debug/invalidation: ... here.
* testsuite/23_containers/multiset/invalidation: Move...
* testsuite/23_containers/multiset/debug/invalidation: ... here.
* testsuite/23_containers/vector/invalidation: Move...
* testsuite/23_containers/vector/debug/invalidation: ... here.

2010-08-29  François Dumont  <francois.cppdevs@free.fr>

        * include/bits/stl_algobase.h (_Iter_base):  Move...
        * include/bits/stl_iterator_base_types.h: ...here.
        * include/debug/functions.h (__check_valid_range, __check_string,
__check_sorted): Fix to not depend on _GLIBCXX_DEBUG; include
formatter.h and use formatting macros for a consistent debug result.
        * include/debug/formatter.h (__check_singular): Declare; do not
include debug.h.
        * include/debug/debug.h: Do not include formatter.h.
        * include/debug/safe_iterator.h (_Safe_iterator::_Base_Iterator)
        rename to iterator_type.
(__gnu_debug::__base): Add.
        * include/debug/set.h: Use everywhere __gnu_debug::__base once
iterator range valided.
        * include/debug/unordered_map: Likewise.
        * include/debug/multiset.h: Likewise.
        * include/debug/vector: Likewise.
        * include/debug/unordered_set: Likewise.
        * include/debug/deque: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/string: Likewise.
        * include/debug/list: Likewise.
        * include/debug/multimap.h: Likewise.
        * testsuite/23_containers/util/debug/assign_neg.h: New test cases on
        debug checks performed on container assign operation.
        * testsuite/23_containers/util/debug/construct_neg.h: New test cases
        on debug checks on constructors.
        * testsuite/23_containers/util/debug/insert_neg.h: New test cases on
        debug checks performed on container insert operations.
        * testsuite/23_containers/unordered_map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: New.
        * testsuite/23_containers/multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/vector/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/deque/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
* testsuite/23_containers/list/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
list_construct1.cc: New, validate performance impact of the patch
on the debug mode.
        * testsuite/performance/23_containers/range_construct/
list_construct2.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
vector_construct.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
deque_construct.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163628 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-29 Janus Weil <janus@gcc.gnu.org>
janus [Sun, 29 Aug 2010 09:56:45 +0000 (09:56 +0000)]
2010-08-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45439
* match.c (gfc_match_select_type): Give the associate-name the
FL_VARIABLE attribute.

2010-08-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45439
* gfortran.dg/select_type_16.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163626 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sun, 29 Aug 2010 00:17:32 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163624 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * m4/mtype.m4 (upcase, hasmathfunc, mathfunc_macro): New macros.
fxcoudert [Sat, 28 Aug 2010 22:10:52 +0000 (22:10 +0000)]
* m4/mtype.m4 (upcase, hasmathfunc, mathfunc_macro): New macros.
* m4/fraction.m4: Use new macros to support quad-float types.
* m4/set_exponent.m4: Likewise.
* m4/spacing.m4: Likewise.
* m4/exponent.m4: Likewise.
* m4/nearest.m4: Likewise.
* m4/norm2.m4: Likewise.
* m4/bessel.m4: Likewise.
* m4/rrspacing.m4: Likewise.
* generated/bessel_r4.c:Regenerated.
* generated/bessel_r8.c: Regenerated.
* generated/bessel_r10.c: Regenerated.
* generated/bessel_r16.c: Regenerated.
* generated/exponent_r4.c: Regenerated.
* generated/exponent_r8.c: Regenerated.
* generated/exponent_r10.c: Regenerated.
* generated/exponent_r16.c: Regenerated.
* generated/fraction_r4.c: Regenerated.
* generated/fraction_r8.c: Regenerated.
* generated/fraction_r10.c: Regenerated.
* generated/fraction_r16.c: Regenerated.
* generated/nearest_r4.c: Regenerated.
* generated/nearest_r8.c: Regenerated.
* generated/nearest_r10.c: Regenerated.
* generated/nearest_r16.c: Regenerated.
* generated/norm2_r4.c: Regenerated.
* generated/norm2_r8.c: Regenerated.
* generated/norm2_r10.c: Regenerated.
* generated/norm2_r16.c: Regenerated.
* generated/rrspacing_r4.c: Regenerated.
* generated/rrspacing_r8.c: Regenerated.
* generated/rrspacing_r10.c: Regenerated.
* generated/rrspacing_r16.c: Regenerated.
* generated/set_exponent_r4.c: Regenerated.
* generated/set_exponent_r8.c: Regenerated.
* generated/set_exponent_r10.c: Regenerated.
* generated/set_exponent_r16.c: Regenerated.
* generated/spacing_r4.c: Regenerated.
* generated/spacing_r8.c: Regenerated.
* generated/spacing_r10.c: Regenerated.
* generated/spacing_r16.c: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163620 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/ia64/ia64.md (cstorebi4): Fix thinko.
ebotcazou [Sat, 28 Aug 2010 20:07:43 +0000 (20:07 +0000)]
* config/ia64/ia64.md (cstorebi4): Fix thinko.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163618 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/picochip/picochip.c (reorder_var_tracking_notes): This
hariharans [Sat, 28 Aug 2010 16:40:27 +0000 (16:40 +0000)]
    * config/picochip/picochip.c (reorder_var_tracking_notes): This
          function was dropping debug insns which caused PR45299.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163617 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/sse.md (extsuffix): New code attribute.
uros [Sat, 28 Aug 2010 14:30:34 +0000 (14:30 +0000)]
* config/i386/sse.md (extsuffix): New code attribute.
(sse4_1_<code>v8qiv8hi2): Macroize insn from sse4_1_extendv8qiv8hi2
and sse4_1_zero_extendv8qiv8hi2 using any_extend code iterator.
(sse4_1_<code>v4qiv4si2): Ditto from sse4_1_extendv4qiv4si2
and sse4_1_zero_extendv4qiv4si2.
(sse4_1_<code>v2qiv2di2): Ditto from sse4_1_extendv2qiv2di2
and sse4_1_zero_extendv2qiv2di2.
(sse4_1_<code>v4hiv4si2): Ditto from sse4_1_extendv4hiv4si2
and sse4_1_zero_extendv4hiv4si2.
(sse4_1_<code>v2hiv2di2): Ditto from sse4_1_extendv2hiv2di2
and sse4_1_zero_extendv2hiv2di2.
(sse4_1_extendv2siv2di2): Ditto from sse4_1_extendv2siv2di2
and sse4_1_zero_extendv2siv2di2

(<s>mulv8hi3_highpart): Macroize expander from {u,s}mulv8hi3_highpart
using any_extend code iterator.
(*avx_<s>mulv8hi3_highpart): Macroize insn from
*avx_{u,s}mulv8hi3_highpart using any_extend code iterator.
(*<s>mulv8hi3_highpart): Ditto from *{u,s}mulv8hi3_highpart.

* config/i386/i386.c (ix86_expand_sse4_unpack): Update for renamed
gen_sse4_1_sign_extend* functions.
(struct builtin_description bdesc_args): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163616 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agofortran/
burnus [Sat, 28 Aug 2010 14:27:34 +0000 (14:27 +0000)]
fortran/
2010-07-21  Steven G. Kargl  <kargl@gcc.gnu.org>

        * simplify.c (gfc_simplify_bessel_n2): Fix indention
        and argument type.

testsuite/
2010-07-21  Steven G. Kargl  <kargl@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/bessel_7.f90: Decrease required precision.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163615 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-28 Tobias Burnus <burnus@net-b.de>
burnus [Sat, 28 Aug 2010 07:35:47 +0000 (07:35 +0000)]
2010-08-28  Tobias Burnus  <burnus@net-b.de>

        * mk-kinds-h.sh: Disable REAL(16) if REAL(10) is available.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163612 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR fortran/45436
fxcoudert [Sat, 28 Aug 2010 07:35:10 +0000 (07:35 +0000)]
PR fortran/45436
* trans-types.c (gfc_init_kinds): Disable TFmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163611 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix PR45422
davidxl [Sat, 28 Aug 2010 05:54:54 +0000 (05:54 +0000)]
Fix PR45422

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163610 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/sh/sh-protos.h (sh_function_arg): Delete.
froydnj [Sat, 28 Aug 2010 01:23:19 +0000 (01:23 +0000)]
* config/sh/sh-protos.h (sh_function_arg): Delete.
(sh_function_arg_advance): Delete.
* config/sh/sh.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
(PASS_IN_REG_P): Eliminate cast.
* config/sh/sh.c (sh_function_arg_advance): Make static.  Take a
const_tree and a bool.
(sh_function_arg): Likewise.
(sh_output_mi_thunk): Call sh_function_arg_advance) and
sh_function_arg.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163607 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sat, 28 Aug 2010 00:19:12 +0000 (00:19 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163606 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/sh/sh.c (push_regs): Emit movml for interrupt handler
kkojima [Fri, 27 Aug 2010 23:29:41 +0000 (23:29 +0000)]
* config/sh/sh.c (push_regs): Emit movml for interrupt handler
when possible.
(sh_expand_epilogue): Likewise.
* config/sh/sh.md (movml_push_banked): New insn.
(movml_pop_banked): Likewise.
* gcc.dg/attr-isr.c: Skip test for -m2a.  Don't run on sh2a*-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163602 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp,
bernds [Fri, 27 Aug 2010 22:11:50 +0000 (22:11 +0000)]
* config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp,
thumb2_movsf_vfp): Set attribute "insn".
* config/arm/arm.md (arm_ashrdi3_1bit, arm_lshrdi3_1bit, not_shiftsi,
not_shiftsi_compare0, not_shiftsi_compare0_scratch, arm_one_cmplsi2,
thumb1_one_cmplsi2, notsi_compare0, notsi_compare0_scratch,
arm_zero_extendsidi2, arm_extendsidi2, thumb1_movdi_insn,
arm_movsi_insn, movhi_insn_arch4, movhi_bytes, arm_movqi_insn,
thumb1_movqi_insn arm32_movhf, thumb1_movhf, arm_movsf_soft_insn,
thumb1_movsf_insn, thumb_movdf_insn, mov_scc, mov_negscc, mov_notscc,
movsicc_insn, movsfcc_soft_insn, and_scc, cond_move, if_move_not,
if_not_move, if_shift_move, if_move_shift, if_shift_shift,
if_not_arith, if_arith_not, cond_move_not): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163601 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * genautomata.c (gen_regexp_repeat, gen_regexp_allof,
bernds [Fri, 27 Aug 2010 22:08:37 +0000 (22:08 +0000)]
* genautomata.c (gen_regexp_repeat, gen_regexp_allof,
gen_regexp_oneof, gen_regexp_sequence): Use the string found
in vector element 0 rather than the original string when there's
only one element.
(gen_regexp): Remove extra semicolon.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163600 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-27 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 27 Aug 2010 21:50:47 +0000 (21:50 +0000)]
2010-08-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45432
* match.c (gfc_match_allocate): Avoid double free on error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163599 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoImprove floating point conversions on powerpc
meissner [Fri, 27 Aug 2010 21:32:44 +0000 (21:32 +0000)]
Improve floating point conversions on powerpc

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163598 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR fortran/32049
fxcoudert [Fri, 27 Aug 2010 21:24:13 +0000 (21:24 +0000)]
PR fortran/32049

* gfortran.h (gfc_real_info): Add c_float128 field.
* mathbuiltins.def: Indicate which builtins are const.
* trans-types.h (float128_type_node, complex_float128_type_node,
gfc_real16_is_float128): New variables.
* trans-types.c (float128_type_node, complex_float128_type_node,
gfc_real16_is_float128): New variables.
(gfc_init_kinds): Allow TFmode.
(gfc_build_real_type): Mark __float128 types as such.
(gfc_init_types): Initialize float128_type_node and
complex_float128_type_node
* f95-lang.c (gfc_init_builtin_functions): Adjust for new
argument of OTHER_BUILTIN macro.
* trans-intrinsic.c (gfc_intrinsic_map_t): Likewise.
(builtin_decl_for_precision): Special case for __float128.
(builtin_decl_for_float_kind): Likewise.
(define_quad_builtin): New function.
(gfc_build_intrinsic_lib_fndecls): Create all __float128
library decls if necessary. Store them in the real16_decl and
complex16_decl builtin map fields.
(gfc_get_intrinsic_lib_fndecl): Handle q-suffixed __float128
library function names.

* gfortran.dg/random_seed_1.f90: Adjust test.
* gfortran.dg/float128_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163597 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-27 Basile Starynkevitch <basile@starynkevitch.net>
bstarynk [Fri, 27 Aug 2010 20:32:27 +0000 (20:32 +0000)]
2010-08-27  Basile Starynkevitch  <basile@starynkevitch.net>
            Jeremie Salvucci  <jeremie.salvucci@free.fr>

        * gengtype.c (output_type_enum): Test the right union member.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163596 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/fortran/
burnus [Fri, 27 Aug 2010 19:17:45 +0000 (19:17 +0000)]
gcc/fortran/
2010-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33197
        * gcc/fortran/intrinsic.c (add_functions): Add norm2 and parity.
        * gcc/fortran/intrinsic.h (gfc_check_norm2, gfc_check_parity):
        gfc_simplify_norm2, gfc_simplify_parity, gfc_resolve_norm2,
        gfc_resolve_parity): New prototypes.
        * gcc/fortran/gfortran.h (gfc_isym_id): New enum items
        GFC_ISYM_NORM2 and GFC_ISYM_PARITY.
        * gcc/fortran/iresolve.c (gfc_resolve_norm2,
        gfc_resolve_parity): New functions.
        * gcc/fortran/check.c (gfc_check_norm2, gfc_check_parity):
        New functions.
        * gcc/fortran/trans-intrinsic.c (gfc_conv_intrinsic_arith,
        gfc_conv_intrinsic_function): Handle NORM2 and PARITY.
        * gcc/fortran/intrinsic.texi (NORM2, PARITY): Add.
        * gcc/fortran/simplify.c (simplify_transformation_to_array):
        Add post-processing opterator.
        (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
        gfc_simplify_product, gfc_simplify_sum): Update call.
        (add_squared, do_sqrt, gfc_simplify_norm2, do_xor,
        gfc_simplify_parity): New functions.

gcc/testsuite/
2010-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33197
        * gcc/testsuite/gfortran.dg/norm2_1.f90: New.
        * gcc/testsuite/gfortran.dg/norm2_2.f90: New.
        * gcc/testsuite/gfortran.dg/norm2_3.f90: New.
        * gcc/testsuite/gfortran.dg/norm2_4.f90: New.
        * gcc/testsuite/gfortran.dg/parity_1.f90: New.
        * gcc/testsuite/gfortran.dg/parity_2.f90: New.
        * gcc/testsuite/gfortran.dg/parity_3.f90: New.

libgfortran/
2010-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33197
        * libgfortran/m4/ifunction.m4 (FINISH_ARRAY_FUNCTION,
        ARRAY_FUNCTION): Allow expression after loop.
        * libgfortran/m4/norm2.m4: New for _gfortran_norm2_r{4,8,10,16}.
        * libgfortran/m4/parity.m4: New for
        * _gfortran_parity_l{1,2,4,8,16}.
        * libgfortran/gfortran.map: Add new functions.
        * libgfortran/Makefile.am: Ditto.
        * libgfortran/m4/minloc1.m4: Add empty argument for
        * ARRAY_FUNCTION.
        * libgfortran/m4/maxloc1.m4: Ditto.
        * libgfortran/m4/all.m4: Ditto.
        * libgfortran/m4/minval.m4: Ditto.
        * libgfortran/m4/maxval.m4: Ditto.
        * libgfortran/m4/count.m4: Ditto.
        * libgfortran/m4/product.m4: Ditto.
        * libgfortran/m4/any.m4: Ditto.
        * Makefile.in: Regenerated.
        * generated/minval_r8.c: Regenerated.
        * generated/maxloc1_4_r8.c: Regenerated.
        * generated/minloc1_16_r16.c: Regenerated.
        * generated/norm2_r4.c: Regenerated.
        * generated/sum_i8.c: Regenerated.
        * generated/parity_l2.c: Regenerated.
        * generated/any_l16.c: Regenerated.
        * generated/maxval_i2.c: Regenerated.
        * generated/any_l2.c: Regenerated.
        * generated/product_r4.c: Regenerated.
        * generated/maxloc1_8_i4.c: Regenerated.
        * generated/parity_l16.c: Regenerated.
        * generated/all_l1.c: Regenerated.
        * generated/product_i2.c: Regenerated.
        * generated/minloc1_8_r16.c: Regenerated.
        * generated/maxloc1_8_r16.c: Regenerated.
        * generated/sum_r16.c: Regenerated.
        * generated/sum_i1.c: Regenerated.
        * generated/minloc1_4_r8.c: Regenerated.
        * generated/maxloc1_16_r16.c: Regenerated.
        * generated/minloc1_16_i4.c: Regenerated.
        * generated/maxloc1_16_i4.c: Regenerated.
        * generated/maxval_r16.c: Regenerated.
        * generated/product_c10.c: Regenerated.
        * generated/minloc1_8_i4.c: Regenerated.
        * generated/all_l2.c: Regenerated.
        * generated/product_c4.c: Regenerated.
        * generated/sum_r4.c: Regenerated.
        * generated/all_l16.c: Regenerated.
        * generated/minloc1_16_r10.c: Regenerated.
        * generated/sum_i2.c: Regenerated.
        * generated/maxloc1_8_r8.c: Regenerated.
        * generated/minval_i16.c: Regenerated.
        * generated/parity_l4.c: Regenerated.
        * generated/maxval_i4.c: Regenerated.
        * generated/any_l4.c: Regenerated.
        * generated/minval_i8.c: Regenerated.
        * generated/maxloc1_4_i8.c: Regenerated.
        * generated/minloc1_4_i16.c: Regenerated.
        * generated/maxloc1_4_i16.c: Regenerated.
        * generated/minloc1_8_r10.c: Regenerated.
        * generated/product_i4.c: Regenerated.
        * generated/maxloc1_8_r10.c: Regenerated.
        * generated/sum_c16.c: Regenerated.
        * generated/minloc1_16_r8.c: Regenerated.
        * generated/maxloc1_16_r8.c: Regenerated.
        * generated/count_4_l.c: Regenerated.
        * generated/sum_r10.c: Regenerated.
        * generated/count_8_l.c: Regenerated.
        * generated/sum_c4.c: Regenerated.
        * generated/maxloc1_16_r10.c: Regenerated.
        * generated/minloc1_8_r8.c: Regenerated.
        * generated/maxval_r10.c: Regenerated.
        * generated/minval_i1.c: Regenerated.
        * generated/maxloc1_4_i1.c: Regenerated.
        * generated/minloc1_4_i8.c: Regenerated.
        * generated/product_i16.c: Regenerated.
        * generated/all_l4.c: Regenerated.
        * generated/norm2_r16.c: Regenerated.
        * generated/minval_r4.c: Regenerated.
        * generated/maxloc1_4_r4.c: Regenerated.
        * generated/sum_i4.c: Regenerated.
        * generated/maxval_r8.c: Regenerated.
        * generated/norm2_r8.c: Regenerated.
        * generated/minloc1_4_i1.c: Regenerated.
        * generated/minval_r16.c: Regenerated.
        * generated/minval_i2.c: Regenerated.
        * generated/maxloc1_4_i2.c: Regenerated.
        * generated/product_r8.c: Regenerated.
        * generated/maxloc1_8_i8.c: Regenerated.
        * generated/sum_c10.c: Regenerated.
        * generated/minloc1_4_r16.c: Regenerated.
        * generated/maxloc1_4_r16.c: Regenerated.
        * generated/count_1_l.c: Regenerated.
        * generated/minloc1_4_r4.c: Regenerated.
        * generated/minloc1_16_i8.c: Regenerated.
        * generated/maxloc1_16_i8.c: Regenerated.
        * generated/minloc1_4_i2.c: Regenerated.
        * generated/maxloc1_8_i1.c: Regenerated.
        * generated/minloc1_8_i8.c: Regenerated.
        * generated/product_r16.c: Regenerated.
        * generated/product_c8.c: Regenerated.
        * generated/sum_r8.c: Regenerated.
        * generated/norm2_r10.c: Regenerated.
        * generated/minloc1_16_i16.c: Regenerated.
        * generated/maxloc1_8_r4.c: Regenerated.
        * generated/minloc1_16_i1.c: Regenerated.
        * generated/maxloc1_16_i1.c: Regenerated.
        * generated/minval_r10.c: Regenerated.
        * generated/count_16_l.c: Regenerated.
        * generated/parity_l8.c: Regenerated.
        * generated/minloc1_8_i1.c: Regenerated.
        * generated/minval_i4.c: Regenerated.
        * generated/maxloc1_4_i4.c: Regenerated.
        * generated/maxloc1_8_i2.c: Regenerated.
        * generated/maxval_i8.c: Regenerated.
        * generated/any_l8.c: Regenerated.
        * generated/minloc1_4_r10.c: Regenerated.
        * generated/minloc1_8_i16.c: Regenerated.
        * generated/maxloc1_4_r10.c: Regenerated.
        * generated/maxloc1_8_i16.c: Regenerated.
        * generated/minloc1_16_r4.c: Regenerated.
        * generated/maxloc1_16_r4.c: Regenerated.
        * generated/product_i8.c: Regenerated.
        * generated/sum_i16.c: Regenerated.
        * generated/count_2_l.c: Regenerated.
        * generated/maxloc1_16_i16.c: Regenerated.
        * generated/minloc1_8_r4.c: Regenerated.
        * generated/sum_c8.c: Regenerated.
        * generated/minloc1_16_i2.c: Regenerated.
        * generated/maxloc1_16_i2.c: Regenerated.
        * generated/parity_l1.c: Regenerated.
        * generated/maxval_i16.c: Regenerated.
        * generated/maxval_i1.c: Regenerated.
        * generated/minloc1_4_i4.c: Regenerated.
        * generated/any_l1.c: Regenerated.
        * generated/minloc1_8_i2.c: Regenerated.
        * generated/product_c16.c: Regenerated.
        * generated/product_r10.c: Regenerated.
        * generated/product_i1.c: Regenerated.
        * generated/all_l8.c: Regenerated.
        * generated/maxval_r4.c: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163595 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-27 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 27 Aug 2010 19:02:15 +0000 (19:02 +0000)]
2010-08-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45420
* match.c (select_type_set_tmp): Add the possibility to reset the
temporary to NULL.
(gfc_match_class_is): Reset the temporary in CLASS DEFAULT clauses.

2010-08-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45420
* gfortran.dg/select_type_15.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163594 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-26 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Fri, 27 Aug 2010 18:16:05 +0000 (18:16 +0000)]
2010-08-26  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/stl_iterator_base_types.h: Fix doxygen warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163592 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/41484
uros [Fri, 27 Aug 2010 16:53:51 +0000 (16:53 +0000)]
PR target/41484
* config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
operands for operand 1.
(sse4_1_extendv4qiv4si2): Ditto.
(sse4_1_extendv2qiv2di2): Ditto.
(sse4_1_extendv4hiv4si2): Ditto.
(sse4_1_extendv2hiv2di2): Ditto.
(sse4_1_extendv2siv2di2): Ditto.
(sse4_1_zero_extendv8qiv8hi2): Ditto.
(sse4_1_zero_extendv4qiv4si2): Ditto.
(sse4_1_zero_extendv2qiv2di2): Ditto.
(sse4_1_zero_extendv4hiv4si2): Ditto.
(sse4_1_zero_extendv2hiv2di2): Ditto.
(sse4_1_zero_extendv2siv2di2): Ditto.
(*sse4_1_extendv8qiv8hi2): Remove insn pattern.
(*sse4_1_extendv4qiv4si2): Ditto.
(*sse4_1_extendv2qiv2di2): Ditto.
(*sse4_1_extendv4hiv4si2): Ditto.
(*sse4_1_extendv2hiv2di2): Ditto.
(*sse4_1_extendv2siv2di2): Ditto.
(*sse4_1_zero_extendv8qiv8hi2): Ditto.
(*sse4_1_zero_extendv4qiv4si2): Ditto.
(*sse4_1_zero_extendv2qiv2di2): Ditto.
(*sse4_1_zero_extendv4hiv4si2): Ditto.
(*sse4_1_zero_extendv2hiv2di2): Ditto.
(*sse4_1_zero_extendv2siv2di2): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163591 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix long lines
ebotcazou [Fri, 27 Aug 2010 16:23:07 +0000 (16:23 +0000)]
Fix long lines

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163590 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 27 Aug 2010 15:00:11 +0000 (15:00 +0000)]
2010-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/43217
* gfortran.dg/hollerith8.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163588 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/mips/mips-protos.h (mips_function_arg_advance): Delete
froydnj [Fri, 27 Aug 2010 14:48:16 +0000 (14:48 +0000)]
* config/mips/mips-protos.h (mips_function_arg_advance): Delete
(mips_function_arg): Delete.
(mips_function_arg_boundary): Take a const_tree.
* config/mips/mips.c (mips_function_arg_boundary): Likewise.
(mips_arg_info): Likewise.
(mips_setup_incoming_varargs): Call mips_function_arg_advance
instead of FUNCTION_ARG_ADVANCE.
(mips_function_arg_advance): Adjust prototype.  Make static.
(mips_function_arg): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
* config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163587 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
froydnj [Fri, 27 Aug 2010 14:46:22 +0000 (14:46 +0000)]
* config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/rs6000/rs6000-protos.h (function_arg_advance): Delete.
(function_arg): Delete.
(function_arg_boundary): Take a const_tree.
* config/rs6000/rs6000.c (function_arg_boundary): Likewise.
(rs6000_spe_function_arg): Likewise.
(rs6000_parm_start): Likewise.
(rs6000_arg_size): Likewise.
(rs6000_darwin64_record_arg_advance_recurse): Likewise.
(rs6000_darwin64_record_arg): Likewise.  Take a bool instead of
an int.
(rs6000_mixed_function_arg): Likewise.
(function_arg): Rename to...
(rs6000_function_arg): ...this.
(function_arg_advance): Rename to...
(rs6000_function_arg_advance_1): ...this
(rs6000_function_arg_advance): New function.  Call it.
(setup_incoming_varargs): Call rs6000_function_arg_advance_1.
(rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
(rs6000_function_value): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163586 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
ramana [Fri, 27 Aug 2010 14:22:41 +0000 (14:22 +0000)]
2010-08-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.md (enabled): Test the value of arch_enabled
        rather than just using it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163585 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-27 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Fri, 27 Aug 2010 12:08:47 +0000 (12:08 +0000)]
2010-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* dependency.c (check_section_vs_section):  Single test for
identical strides which takes into account that only one
of the strides may be NULL.

2010-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* gfortran.dg/dependency_33.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163584 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-27 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 27 Aug 2010 11:39:45 +0000 (11:39 +0000)]
2010-08-27  Richard Guenther  <rguenther@suse.de>

* gcc.dg/graphite/scop-1.c: Fix out-of-bound array accesses.
* gcc.dg/graphite/scop-2.c: Likewise.
* gcc.dg/graphite/scop-20.c: Likewise.
* gcc.dg/vect/slp-25.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163583 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * dse.c (group_info.base_mem, get_group_info): Use BLKmode to
hainque [Fri, 27 Aug 2010 10:48:32 +0000 (10:48 +0000)]
    * dse.c (group_info.base_mem, get_group_info): Use BLKmode to
        cover all the possible offsets from this base.
        (scan_reads_nospill): Pass base_mem's mode to canon_true_dependence.

        testsuite/
        * gnat.dg/dse_step.ads, dse_step.adb, test_dse_step.adb: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163582 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 27 Aug 2010 06:50:03 +0000 (06:50 +0000)]
2010-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/43217
* primary.c (match_hollerith_constant): Calculate padding needed to
fill default integer and allocate string for that size.  Set pad bytes
to ' '.
* gfortran.h: Add hollerith pad value to type spec union.
* data.c (create_character_initializer): Fix spelling of function name.
Use hollerith pad value to calculate length.
* arith.c (hollerith2representation); Use hollerith pad value to
calculate length.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163581 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix building ecjx in cross compile mode.
rwild [Fri, 27 Aug 2010 04:27:40 +0000 (04:27 +0000)]
Fix building ecjx in cross compile mode.

libjava/:
PR libgcj/40868
* configure.ac: Add GCC_FOR_ECJX variable.  Ensure
GCJ_FOR_ECJX is always set.
* Makefile.am [!NATIVE] (ecjx.$(OBJEXT)): New rule.
* Makefile.in: Regenerate.
* configure: Regenerate.
* gcj/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163580 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Fri, 27 Aug 2010 00:17:31 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163579 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-26 Daniel Kraft <d@domob.eu>
domob [Thu, 26 Aug 2010 19:48:43 +0000 (19:48 +0000)]
2010-08-26  Daniel Kraft  <d@domob.eu>

PR fortran/38936
PR fortran/44047
PR fortran/45384
* gfortran.h (struct gfc_association_list): New flag `dangling'.
(gfc_build_block_ns): Declared here...
* parse.h (gfc_build_block_ns): ...instead of here.
* trans.h (gfc_process_block_locals): Expect additionally the
gfc_association_list of BLOCK (if present).
* match.c (select_type_set_tmp): Create sym->assoc for temporary.
* resolve.c (resolve_variable): Only check for invalid *array*
references on associate-names.
(resolve_assoc_var): New method with code previously in resolve_symbol.
(resolve_select_type): Use association to give the selector and
temporaries their values instead of ordinary assignment.
(resolve_fl_var_and_proc): Allow CLASS associate-names.
(resolve_symbol): Use new `resolve_assoc_var' instead of inlining here.
* trans-stmt.c (gfc_trans_block_construct): Pass association-list
to `gfc_process_block_locals' to match new interface.
* trans-decl.c (gfc_get_symbol_decl): Don't defer associate-names
here automatically.
(gfc_process_block_locals): Defer them rather here when linked to
from the BLOCK's association list.

2010-08-26  Daniel Kraft  <d@domob.eu>

PR fortran/38936
PR fortran/44047
PR fortran/45384
* gfortran.dg/associate_8.f03: New test.
* gfortran.dg/select_type_13.f03: New test.
* gfortran.dg/select_type_14.f03: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163572 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * system.h [HAVE_INTTYPES_H]: Include inttypes.h.
ro [Thu, 26 Aug 2010 17:58:31 +0000 (17:58 +0000)]
* system.h [HAVE_INTTYPES_H]: Include inttypes.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163569 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/44485
jakub [Thu, 26 Aug 2010 16:39:26 +0000 (16:39 +0000)]
PR tree-optimization/44485
* calls.c (flags_from_decl_or_type): For const or pure
noreturn functions return ECF_LOOPING_CONST_OR_PURE|ECF_NORETURN
together with ECF_CONST resp. ECF_PURE.
* builtins.c (expand_builtin): Use flags_from_decl_or_type
instead of querying flags directly.
* tree-ssa-loop-niter.c (finite_loop_p): Likewise.
* tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.

* gcc.dg/pr44485.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163568 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.dg/tls/thr-init-2.c: Use dg-add-options tls.
ro [Thu, 26 Aug 2010 15:52:41 +0000 (15:52 +0000)]
* gcc.dg/tls/thr-init-2.c: Use dg-add-options tls.
* gcc.dg/torture/tls/thr-init-1.c: Likewise.
* gcc.dg/torture/tls/thr-init-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163567 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/fpu-387.h (has_sse): Remove cw_sse, unused.
ro [Thu, 26 Aug 2010 15:29:31 +0000 (15:29 +0000)]
* config/fpu-387.h (has_sse): Remove cw_sse, unused.
Use fixed-length asm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163566 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-26 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 26 Aug 2010 14:20:45 +0000 (14:20 +0000)]
2010-08-26  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45255
* tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P
statics and externals are also invariant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163565 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-26 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 26 Aug 2010 13:10:15 +0000 (13:10 +0000)]
2010-08-26  Richard Guenther  <rguenther@suse.de>

* gcc.dg/graphite/scop-0.c: Fix out-of-bound array accesses.
* gcc.dg/graphite/scop-21.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163564 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-26 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 26 Aug 2010 11:13:58 +0000 (11:13 +0000)]
2010-08-26  Richard Guenther  <rguenther@suse.de>

* gcc.dg/vect/vect-64.c: Fix out-of-bound array accesses.
* gcc.dg/vect/fast-math-slp-27.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-64.c: Likewise.
* gcc.dg/vect/vect-91.c: Likewise.
* gcc.dg/vect/vect-peel-1.c: Likewise.
* gcc.dg/vect/vect-peel-2.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163563 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 26 Aug 2010 02:12:49 +0000 (02:12 +0000)]
2010-08-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/41859
* gfortran.dg/der_io_4.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163561 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Thu, 26 Aug 2010 00:16:50 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163560 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR rtl-optimization/44858
jakub [Wed, 25 Aug 2010 17:50:59 +0000 (17:50 +0000)]
PR rtl-optimization/44858
* combine.c (try_combine): If recog_for_combine added CLOBBERs to
newi2pat, make sure they don't affect newpat.

* gcc.c-torture/execute/pr44858.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163552 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR rtl-optimization/45400
jakub [Wed, 25 Aug 2010 17:49:26 +0000 (17:49 +0000)]
PR rtl-optimization/45400
* combine.c (simplify_shift_const_1) <case SUBREG>: Only use
SUBREG_REG if both modes are of MODE_INT class.

* g++.dg/other/i386-8.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163551 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
mmitchel [Wed, 25 Aug 2010 15:35:24 +0000 (15:35 +0000)]
* config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
* config/arm/arm.md (generic_sched): No for Cortex-A5.
(generic_vfp): Likewise.
(cortex-a5.md): Include.
* config/arm/cortex-a5.md: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163550 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-25 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 25 Aug 2010 14:46:40 +0000 (14:46 +0000)]
2010-08-25  Richard Guenther  <rguenther@suse.de>

* alias.c (get_alias_set): Assign a single alias-set to
all pointers.
* gimple.c (gimple_get_alias_set): Remove special handling
for pointers.

c-family/
* c-common.c (c_common_get_alias_set): Remove special
handling for pointers.

* gcc.dg/alias-8.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163549 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * trans-decl.c (gfc_build_intrinsic_function_decls): Set
jakub [Wed, 25 Aug 2010 14:44:46 +0000 (14:44 +0000)]
* trans-decl.c (gfc_build_intrinsic_function_decls): Set
TREE_NOTHROW on fndecls that can't throw.  Set
TREE_READONLY on gfor_fndecl_math_ishftc{4,8,16}.
(gfc_build_builtin_function_decls): Set TREE_NOTHROW on
gfor_fndecl_associated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163548 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * combine.c (find_split_point): Undo canonicalization of multiply-add
bernds [Wed, 25 Aug 2010 14:14:59 +0000 (14:14 +0000)]
* combine.c (find_split_point): Undo canonicalization of multiply-add
to (minus x (mult)) when it seems likely that this will increase the
chances of a split.

* gcc.target/i386/combine-mul.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163547 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/45355
bernds [Wed, 25 Aug 2010 14:08:23 +0000 (14:08 +0000)]
PR middle-end/45355
* combine.c (try_combine): Use reg_overlap_mentioned_p rather than
dead_or_set_p when computing i0_feeds_i2_n.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163546 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-25 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 25 Aug 2010 14:05:28 +0000 (14:05 +0000)]
2010-08-25  Richard Guenther  <rguenther@suse.de>

PR lto/44562
* lto-streamer.c (lto_record_common_node): Do not mess with
TYPE_CANONICAL when not in lto.
* gimple.c (gimple_register_type): Likewise.

* gcc.dg/graphite/id-27.c: New testcase.
* gcc.dg/lto/20100825-1_0.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163545 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-25 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 25 Aug 2010 12:53:30 +0000 (12:53 +0000)]
2010-08-25  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45316
* tree-ssa-pre.c (eliminate): Properly clean EH info.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163543 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-25 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 25 Aug 2010 10:47:50 +0000 (10:47 +0000)]
2010-08-25  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45393
* tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer
and clean EH info.  Avoid SSA update.
(execute_cse_sincos): Cleanup the CFG if it has changed.

* g++.dg/torture/pr45393.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163541 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-08-25 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 25 Aug 2010 10:03:19 +0000 (10:03 +0000)]
2010-08-25  Richard Guenther  <rguenther@suse.de>

PR middle-end/45379
* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle
TARGET_MEM_REF in alignment computation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163540 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/45059
jakub [Wed, 25 Aug 2010 09:36:35 +0000 (09:36 +0000)]
PR tree-optimization/45059
* tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless
type conversions from newop{1,2}.  Assert t is a comparison and
newop{1,2} after the stripping are gimple vals.

* gcc.c-torture/compile/pr45059.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163539 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agovmull / vmovl support for Neon.
ramana [Wed, 25 Aug 2010 07:23:26 +0000 (07:23 +0000)]
vmull / vmovl support for Neon.

For Tejas Belagod

2010-08-25  Tejas Belagod  <tejas.belagod@arm.com>

* lib/target-supports.exp (check_effective_target_vect_unpack):
Set vect_unpack supported flag to true for neon.

* config/arm/iterators.md (VU, SE, V_widen_l): New.
(V_unpack, US): New.
* config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for
vmovl.
(vec_unpack<US>_lo_<mode>): Likewise.
(neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
(neon_vec_unpack<US>_lo_<mode>): Likewise.
(vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
(vec_widen_<US>mult_hi_<mode>): Likewise.
(neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
(neon_vec_<US>mult_hi_<mode>"): Likewise.
(neon_unpack<US>_<mode>): Widening move intermediate step for
vectorizing without -mvectorize-with-neon-quad.
(neon_vec_<US>mult_<mode>): Widening multiply intermediate step
for vectorizing without -mvectorize-with-neon-quad.
* config/arm/predicates.md (vect_par_constant_high): Check for
high-half lanes of a vector.
(vect_par_constant_low): Check for low-half lanes of a vector.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163538 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Wed, 25 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163536 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoSpeed-up ifcvt_memrefs_wont_trap caching previous results.
spop [Tue, 24 Aug 2010 23:36:04 +0000 (23:36 +0000)]
Speed-up ifcvt_memrefs_wont_trap caching previous results.

This patch speeds up the ifcvt_memrefs_wont_trap computation by
caching the results of the computations in the data references ->aux
fields.

* tree-if-conv.c (struct ifc_dr): New.
(IFC_DR): New.
(DR_WRITTEN_AT_LEAST_ONCE): New.
(DR_RW_UNCONDITIONALLY): New.
(memref_read_or_written_unconditionally): Use the cached values
when possible.
(write_memref_written_at_least_once): Same.
(if_convertible_loop_p): Initialize and free DR->aux fields.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163532 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDo not check whether memory references accessed in every iteration trap.
spop [Tue, 24 Aug 2010 23:35:56 +0000 (23:35 +0000)]
Do not check whether memory references accessed in every iteration trap.

This patch relaxes the checks from gimple_could_trap_p in order to
allow the flag_loop_if_convert_stores to if-convert more loops
in which it is possible to prove that:

- the accesses to an array in a loop do not trap (more than the
  original non-if-converted loop).  This is true when the memory
  accesses are executed at every iteration of the if-converted loop.

- the writes to memory occur on arrays that are not const qualified.
  This is true when there exists at least one unconditional write to
  the array in the analyzed program.  In this patch this analysis is
  limited to the loop to be if-converted.

* gimple.c (gimple_could_trap_p_1): Not static anymore.
Pass an extra bool parameter include_mem.
(gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
(gimple_assign_rhs_could_trap_p): Same.
* gimple.h (gimple_could_trap_p_1): Declared.
* tree-data-ref.h (same_data_refs_base_objects): New.
(same_data_refs): New.
* tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
(write_memrefs_written_at_least_once): New.
(ifcvt_memrefs_wont_trap): New.
(operations_could_trap): New.
(ifcvt_could_trap_p): New.
(if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
Gets a vector of data refs.
(if_convertible_stmt_p): Same.
(if_convertible_loop_p_1): New.
(if_convertible_loop_p): Call if_convertible_loop_p_1.

* gcc.dg/tree-ssa/ifc-5.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163531 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd flag -ftree-loop-if-convert-stores.
spop [Tue, 24 Aug 2010 23:35:48 +0000 (23:35 +0000)]
Add flag -ftree-loop-if-convert-stores.

This patch adds a flag that controls the replacement of the memory
writes that are in predicated basic blocks with a full write:

for (...)
  if (cond)
    A[i] = foo

is replaced with:

for (...)
  A[i] = cond ? foo : A[i]

In order to do this, we have to call gimple_could_trap_p instead of
gimple_assign_rhs_could_trap_p, as we have to also check that the LHS
of assign stmts does not trap.

* common.opt (ftree-loop-if-convert-stores): New flag.
* doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
* tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI.  Insert
the created statement before GSI.
(if_convertible_phi_p): Allow virtual phi nodes when
flag_loop_if_convert_stores is set.
(if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
Do not handle types that do not match is_gimple_reg_type.
Remove loop and bb parameters.  Call gimple_could_trap_p instead of
when flag_loop_if_convert_stores is set, as LHS can contain
memory refs.
(if_convertible_stmt_p): Remove loop and bb parameters.  Update calls
to if_convertible_gimple_assign_stmt_p.
(if_convertible_loop_p): Update call to if_convertible_stmt_p.
(replace_phi_with_cond_gimple_assign_stmt): Renamed
predicate_scalar_phi.  Do not handle virtual phi nodes.
(ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
Call predicate_scalar_phi.
(insert_gimplified_predicates): Insert the gimplified predicate of a BB
just after the labels for flag_loop_if_convert_stores, otherwise
insert the predicate in the end of the BB.
(predicate_mem_writes): New.
(combine_blocks): Call predicate_all_scalar_phis.  When
flag_loop_if_convert_stores is set, call predicate_mem_writes.
(tree_if_conversion): Call mark_sym_for_renaming when
flag_loop_if_convert_stores is set.
(main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
flag_loop_if_convert_stores is set.

* gcc.dg/tree-ssa/ifc-4.c: New.
* gcc.dg/tree-ssa/ifc-7.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163530 138bc75d-0d04-0410-961f-82ee72b054a4