Georg-Johann Lay [Mon, 22 Aug 2011 13:57:12 +0000 (13:57 +0000)]
pr49994-2.c: Add dg-require-effective-target scheduling.
* gcc.dg/pr49994-2.c: Add dg-require-effective-target scheduling.
* gcc.dg/pr49994-3.c: Ditto.
From-SVN: r177954
Matthias Klose [Mon, 22 Aug 2011 11:21:55 +0000 (11:21 +0000)]
revert: t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if tm_defines contains MIPS_ABI_DEFAULT ABI_32...
2011-08-22 Matthias Klose <doko@debian.org>
Revert:
2011-07-11 Arthur Loiret <aloiret@debian.org>
Matthias Klose <doko@debian.org>
* config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if
tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc
convention.
* config.gcc (tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
From-SVN: r177953
Richard Guenther [Mon, 22 Aug 2011 10:27:42 +0000 (10:27 +0000)]
re PR middle-end/50145 (FAIL: gcc.dg/torture/pr50067-*.c -O* execution test on powerpc*-*-*)
2011-08-22 Richard Guenther <rguenther@suse.de>
PR testsuite/50145
* gcc.dg/torture/pr50067-1.c: Run on little-endian systems only.
* gcc.dg/torture/pr50067-2.c: Likewise.
From-SVN: r177952
Mikael Pettersson [Mon, 22 Aug 2011 09:38:14 +0000 (11:38 +0200)]
re PR bootstrap/50146 (unused variable saved_nregs in ira-color.c broke arm-linux-gnueabi bootstrap)
PR bootstrap/50146
* ira-color.c (assign_hard_reg): Move saved_nregs declaration
to #ifndef HONOR_REG_ALLOC_ORDER block.
From-SVN: r177951
GCC Administrator [Mon, 22 Aug 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177949
Gerald Pfeifer [Sun, 21 Aug 2011 19:24:31 +0000 (19:24 +0000)]
Fix ChangeLog format for revision 177257.
From-SVN: r177945
Richard Henderson [Sun, 21 Aug 2011 18:49:49 +0000 (11:49 -0700)]
rtl.h (INSN_ANNULLED_BRANCH_P): Only allow JUMP_INSN.
* rtl.h (INSN_ANNULLED_BRANCH_P): Only allow JUMP_INSN.
* dwarf2cfi.c (scan_trace): Test JUMP_P before INSN_ANNULLED_BRANCH_P.
* resource.c (next_insn_no_annul): Likewise.
(mark_set_resources): Likewise.
* reorg.c (delete_from_delay_slot): Likewise.
(dbr_schedule, redundant_insn, try_merge_delay_insns): Likewise.
(get_branch_condition): Test pc_rtx and LABEL_REF before dereferencing.
From-SVN: r177944
Gerald Pfeifer [Sun, 21 Aug 2011 18:38:13 +0000 (18:38 +0000)]
Fix ChangeLog format for revision 177258.
From-SVN: r177943
Thomas Koenig [Sun, 21 Aug 2011 16:35:28 +0000 (16:35 +0000)]
re PR fortran/47659 (-Wconversion[-extra] should emit warning for constant expressions)
2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/47659
* expr.c (gfc_check_assign): Check for type conversions when the
right-hand side is a constant REAL/COMPLEX contstant the left-hand
side is also REAL/COMPLEX. Don't warn when a narrowing conversion
for REAL does not change the value of the constant.
2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/47659
* gfortran.dg/warn_conversion_2.f90: Also warn about conversion
of a constant resulting from simplification.
* gfortran.dg/warn_conversion_3.f90: New test.
From-SVN: r177942
Uros Bizjak [Sun, 21 Aug 2011 16:19:14 +0000 (18:19 +0200)]
i386.md (any_div): Remove.
* config/i386/i386.md (any_div): Remove.
(sgnprefix): Update for removal.
(u): Ditto.
From-SVN: r177941
Thomas Koenig [Sun, 21 Aug 2011 12:02:12 +0000 (12:02 +0000)]
re PR fortran/50130 (ICE with invalid array slice)
2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/50130
* resolve.c (resolve_array_ref): Don't calculate upper bound
if the stride is zero.
2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/50130
* gfortran.dg/zero_stride_1.f90: New test.
From-SVN: r177940
Vladimir Makarov [Sun, 21 Aug 2011 02:14:37 +0000 (02:14 +0000)]
ira-lives.c (mark_pseudo_regno_subword_live): Use allocno class for ira_reg_class_max_nregs.
2011-08-20 Vladimir Makarov <vmakarov@redhat.com>
* ira-lives.c (mark_pseudo_regno_subword_live): Use allocno class
for ira_reg_class_max_nregs. Increase pressure by 1.
(mark_pseudo_regno_subword_dead): Use allocno class
for ira_reg_class_max_nregs.
From-SVN: r177939
GCC Administrator [Sun, 21 Aug 2011 00:18:09 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177938
Richard Henderson [Sat, 20 Aug 2011 22:28:19 +0000 (15:28 -0700)]
eqd.c, [...]: Adjust include path for soft-fp.
* config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
config/c6x/ltf.c: Adjust include path for soft-fp.
From-SVN: r177934
H.J. Lu [Sat, 20 Aug 2011 20:02:17 +0000 (20:02 +0000)]
Use .init_arrary/.fini_array sections if possible.
2011-08-20 H.J. Lu <hongjiu.lu@intel.com>
PR other/46770
* config.gcc (tm_file): Add initfini-array.h if
.init_arrary/.fini_array are supported.
* crtstuff.c: Don't generate .ctors nor .dtors sections if
USE_INITFINI_ARRAY is defined.
* output.h (default_elf_init_array_asm_out_constructor): New.
(default_elf_fini_array_asm_out_destructor): Likewise.
* varasm.c (elf_init_array_section): Likewise.
(elf_fini_array_section): Likewise.
(get_elf_initfini_array_priority_section): Likewise.
(default_elf_init_array_asm_out_constructor): Likewise.
(default_elf_fini_array_asm_out_destructor): Likewise.
* config/initfini-array.h: New.
From-SVN: r177933
Janus Weil [Sat, 20 Aug 2011 19:11:56 +0000 (21:11 +0200)]
re PR fortran/49638 ([OOP] length parameter is ignored when overriding type bound character functions with constant length.)
2011-08-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/49638
* dependency.c (gfc_dep_compare_expr): Add new result value "-3".
(gfc_check_element_vs_section,gfc_check_element_vs_element): Handle
result value "-3".
* frontend-passes.c (optimize_comparison): Ditto.
* interface.c (gfc_check_typebound_override): Ditto.
2011-08-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/49638
* gfortran.dg/typebound_override_1.f90: Modified.
From-SVN: r177932
Richard Sandiford [Sat, 20 Aug 2011 19:00:40 +0000 (19:00 +0000)]
mips.c (mips_class_max_nregs): Check that the mode is OK for ST_REGS and FP_REGS before taking those classes...
gcc/
* config/mips/mips.c (mips_class_max_nregs): Check that the mode is
OK for ST_REGS and FP_REGS before taking those classes into account.
From-SVN: r177931
Richard Sandiford [Sat, 20 Aug 2011 18:55:49 +0000 (18:55 +0000)]
mips.c (mips_reorg_process_insns): Check for jumps before checking for annulled branches.
gcc/
* config/mips/mips.c (mips_reorg_process_insns): Check for jumps
before checking for annulled branches.
From-SVN: r177930
Uros Bizjak [Sat, 20 Aug 2011 11:05:43 +0000 (13:05 +0200)]
i386.c (ix86_binary_operator_ok): Use satisfies_constraint_L.
* config/i386/i386.c (ix86_binary_operator_ok): Use
satisfies_constraint_L.
From-SVN: r177928
Uros Bizjak [Sat, 20 Aug 2011 10:15:59 +0000 (12:15 +0200)]
i386.c (ix86_expand_round_sse4): Expand as trunc (a + copysign (nextafter (0.5, 0.0), a)).
* config/i386/i386.c (ix86_expand_round_sse4): Expand as
trunc (a + copysign (nextafter (0.5, 0.0), a)).
From-SVN: r177927
Anatoly Sokolov [Sat, 20 Aug 2011 09:18:35 +0000 (13:18 +0400)]
tm.texi.in (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
* doc/tm.texi.in (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
* doc/tm.texi: Regenerate.
* targhooks.c (default_preferred_output_reload_class): Don't use
PREFERRED_OUTPUT_RELOAD_CLASS macro.
* system.h (PREFERRED_OUTPUT_RELOAD_CLASS): Poison.
From-SVN: r177926
Jakub Jelinek [Sat, 20 Aug 2011 07:48:35 +0000 (09:48 +0200)]
re PR tree-optimization/48739 (ICE in check_loop_closed_ssa_use() with "-ftree-parallelize-loops=2 -fno-tree-dominator-opts")
PR tree-optimization/48739
* tree-ssa.c: Include cfgloop.h.
(execute_update_addresses_taken): When updating ssa, if in
loop closed SSA form, call rewrite_into_loop_closed_ssa instead of
update_ssa.
* Makefile.in (tree-ssa.o): Depend on $(CFGLOOP_H).
* gcc.dg/pr48739-1.c: New test.
* gcc.dg/pr48739-2.c: New test.
From-SVN: r177924
Tobias Burnus [Sat, 20 Aug 2011 07:00:42 +0000 (09:00 +0200)]
interchange-1.f: Remove xfail.
2011-08-20 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/graphite/interchange-1.f: Remove xfail.
From-SVN: r177923
GCC Administrator [Sat, 20 Aug 2011 00:18:07 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177922
Mikael Morin [Fri, 19 Aug 2011 23:20:30 +0000 (01:20 +0200)]
re PR fortran/50129 (ICE on where statement)
2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/50129
* parse.c (parse_where): Undo changes after emitting an error.
2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/50129
* gfortran.dg/where_3.f90: New test.
From-SVN: r177918
Vladimir Makarov [Fri, 19 Aug 2011 22:17:26 +0000 (22:17 +0000)]
re PR rtl-optimization/49936 (IRA handles CANNOT_CHANGE_MODE_CLASS poorly, + spills to memory on 4.7)
2011-08-19 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/49936
* ira.c (ira_init_register_move_cost): Ignore too small subclasses
for calculation of max register move costs.
From-SVN: r177916
Joseph Myers [Fri, 19 Aug 2011 21:55:44 +0000 (22:55 +0100)]
c-parser.c (c_parser_postfix_expression): Convert operands of __builtin_complex to their semantic types.
* c-parser.c (c_parser_postfix_expression): Convert operands of
__builtin_complex to their semantic types.
From-SVN: r177915
H.J. Lu [Fri, 19 Aug 2011 21:18:03 +0000 (21:18 +0000)]
Permute conversion and addition of constant for zero-extend.
gcc/
2011-08-19 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/49721
* explow.c (convert_memory_address_addr_space): Also permute the
conversion and addition of constant for zero-extend.
gcc/testsuite/
2011-08-19 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/49721
* gfortran.dg/pr49721-1.f: New.
* gfortran.fortran-torture/compile/pr49721-1.f: Likewise.
From-SVN: r177914
Joseph Myers [Fri, 19 Aug 2011 15:53:51 +0000 (16:53 +0100)]
c-parser.c (c_parser_postfix_expression): Handle RID_BUILTIN_COMPLEX.
* c-parser.c (c_parser_postfix_expression): Handle
RID_BUILTIN_COMPLEX.
* doc/extend.texi (__builtin_complex): Document.
c-family:
* c-common.c (c_common_reswords): Add __builtin_complex.
* c-common.h (RID_BUILTIN_COMPLEX): New.
testsuite:
* gcc.dg/builtin-complex-err-1.c, gcc.dg/builtin-complex-err-2.c,
gcc.dg/dfp/builtin-complex.c, gcc.dg/torture/builtin-complex-1.c:
New tests.
From-SVN: r177911
Andrew Stubbs [Fri, 19 Aug 2011 15:05:22 +0000 (15:05 +0000)]
tree-ssa-math-opts.c (is_widening_mult_rhs_p): Handle constants beyond conversions.
2011-08-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
* tree-ssa-math-opts.c (is_widening_mult_rhs_p): Handle constants
beyond conversions.
(convert_mult_to_widen): Convert constant inputs to the right type.
(convert_plusminus_to_widen): Don't automatically reject inputs that
are not an SSA_NAME.
Convert constant inputs to the right type.
gcc/testsuite/
* gcc.target/arm/wmul-11.c: New file.
* gcc.target/arm/wmul-12.c: New file.
* gcc.target/arm/wmul-13.c: New file.
From-SVN: r177910
Andrew Stubbs [Fri, 19 Aug 2011 15:01:41 +0000 (15:01 +0000)]
tree-ssa-math-opts.c (convert_plusminus_to_widen): Convert add_rhs to the correct type.
2011-08-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
* tree-ssa-math-opts.c (convert_plusminus_to_widen): Convert add_rhs
to the correct type.
gcc/testsuite/
* gcc.target/arm/wmul-10.c: New file.
From-SVN: r177909
Andrew Stubbs [Fri, 19 Aug 2011 14:56:24 +0000 (14:56 +0000)]
tree-ssa-math-opts.c (convert_mult_to_widen): Better handle unsigned inputs of different modes.
2011-08-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
* tree-ssa-math-opts.c (convert_mult_to_widen): Better handle
unsigned inputs of different modes.
(convert_plusminus_to_widen): Likewise.
gcc/testsuite/
* gcc.target/arm/wmul-9.c: New file.
* gcc.target/arm/wmul-bitfield-2.c: New file.
From-SVN: r177908
Andrew Stubbs [Fri, 19 Aug 2011 14:45:56 +0000 (14:45 +0000)]
tree-ssa-math-opts.c (is_widening_mult_rhs_p): Add new argument 'type'.
2011-08-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
* tree-ssa-math-opts.c (is_widening_mult_rhs_p): Add new argument
'type'.
Use 'type' from caller, not inferred from 'rhs'.
Don't reject non-conversion statements. Do return lhs in this case.
(is_widening_mult_p): Add new argument 'type'.
Use 'type' from caller, not inferred from 'stmt'.
Pass type to is_widening_mult_rhs_p.
(convert_mult_to_widen): Pass type to is_widening_mult_p.
(convert_plusminus_to_widen): Likewise.
gcc/testsuite/
* gcc.target/arm/wmul-8.c: New file.
From-SVN: r177907
Andrew Stubbs [Fri, 19 Aug 2011 14:41:34 +0000 (14:41 +0000)]
tree-ssa-math-opts.c (is_widening_mult_p): Remove FIXME.
2011-08-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
* tree-ssa-math-opts.c (is_widening_mult_p): Remove FIXME.
Ensure the the larger type is the first operand.
gcc/testsuite/
* gcc.target/arm/wmul-7.c: New file.
From-SVN: r177906
Andrew Stubbs [Fri, 19 Aug 2011 14:36:34 +0000 (14:36 +0000)]
tree-ssa-math-opts.c (convert_mult_to_widen): Convert unsupported unsigned multiplies to signed.
2011-08-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
* tree-ssa-math-opts.c (convert_mult_to_widen): Convert
unsupported unsigned multiplies to signed.
(convert_plusminus_to_widen): Likewise.
gcc/testsuite/
* gcc.target/arm/wmul-6.c: New file.
From-SVN: r177905
Andrew Stubbs [Fri, 19 Aug 2011 14:31:30 +0000 (14:31 +0000)]
tree-ssa-math-opts.c (convert_plusminus_to_widen): Permit a single conversion statement separating multiply-and-accumulate.
2011-08-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
* tree-ssa-math-opts.c (convert_plusminus_to_widen): Permit a single
conversion statement separating multiply-and-accumulate.
gcc/testsuite/
* gcc.target/arm/wmul-5.c: New file.
* gcc.target/arm/no-wmla-1.c: New file.
From-SVN: r177904
Richard Guenther [Fri, 19 Aug 2011 14:26:13 +0000 (14:26 +0000)]
re PR tree-optimization/50067 (Wrong code with -fpredictive-commoning)
2011-08-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50067
* tree-data-ref.c (dr_analyze_indices): Simplify, strip MEM_REF
offset only if we accounted for it.
From-SVN: r177903
Andrew Stubbs [Fri, 19 Aug 2011 14:21:48 +0000 (14:21 +0000)]
arm.md (maddhidi4): Remove '*' from name.
2011-08-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm.md (maddhidi4): Remove '*' from name.
* expr.c (expand_expr_real_2): Use find_widening_optab_handler.
* optabs.c (find_widening_optab_handler_and_mode): New function.
(expand_widen_pattern_expr): Use find_widening_optab_handler.
(expand_binop_directly): Likewise.
(expand_binop): Likewise.
* optabs.h (find_widening_optab_handler): New macro define.
(find_widening_optab_handler_and_mode): New prototype.
* tree-cfg.c (verify_gimple_assign_binary): Adjust WIDEN_MULT_EXPR
type precision rules.
(verify_gimple_assign_ternary): Likewise for WIDEN_MULT_PLUS_EXPR.
* tree-ssa-math-opts.c (build_and_insert_cast): New function.
(is_widening_mult_rhs_p): Allow widening by more than one mode.
Explicitly disallow mis-matched input types.
(convert_mult_to_widen): Use find_widening_optab_handler, and cast
input types to fit the new handler.
(convert_plusminus_to_widen): Likewise.
gcc/testsuite/
* gcc.target/arm/wmul-bitfield-1.c: New file.
From-SVN: r177902
Andrew Stubbs [Fri, 19 Aug 2011 14:12:32 +0000 (14:12 +0000)]
expr.c (expand_expr_real_2): Use widening_optab_handler.
2011-08-19 Andrew Stubbs <ams@codesourcery.com>
gcc/
* expr.c (expand_expr_real_2): Use widening_optab_handler.
* genopinit.c (optabs): Use set_widening_optab_handler for $N.
(gen_insn): $N now means $a must be wider than $b, not consecutive.
* optabs.c (widened_mode): New function.
(expand_widen_pattern_expr): Use widening_optab_handler.
(expand_binop_directly): Likewise.
(expand_binop): Likewise.
* optabs.h (widening_optab_handlers): New struct.
(optab_d): New member, 'widening'.
(widening_optab_handler): New function.
(set_widening_optab_handler): New function.
* tree-ssa-math-opts.c (convert_mult_to_widen): Use
widening_optab_handler.
(convert_plusminus_to_widen): Likewise.
From-SVN: r177901
Joseph Myers [Fri, 19 Aug 2011 13:25:51 +0000 (14:25 +0100)]
c-decl.c (grokdeclarator): Diagnose _Noreturn for non-C1X if pedantic.
* c-decl.c (grokdeclarator): Diagnose _Noreturn for non-C1X if
pedantic.
* c-parser.c (c_parser_declspecs): Include _Noreturn in syntax
comment.
* ginclude/stdnoreturn.h (noreturn): Don't define for C++.
testsuite:
* gcc.dg/c90-noreturn-1.c, gcc.dg/c99-noreturn-1.c: New tests.
From-SVN: r177899
Jakub Jelinek [Fri, 19 Aug 2011 13:25:22 +0000 (15:25 +0200)]
re PR fortran/49792 (OpenMP workshare: Wrong result with array assignment)
PR fortran/49792
* trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WS
bit in ompws_flags only if loop.temp_ss is NULL, and clear it if
lhs needs reallocation.
* trans-openmp.c (gfc_trans_omp_workshare): Don't return early if
code is NULL, emit a barrier if workshare emitted no code at all
and NOWAIT clause isn't present.
* testsuite/libgomp.fortran/pr49792-1.f90: New test.
* testsuite/libgomp.fortran/pr49792-2.f90: New test.
From-SVN: r177898
Rainer Orth [Fri, 19 Aug 2011 13:08:51 +0000 (13:08 +0000)]
Require C99 runtime in gcc.dg/builtins-67.c, gcc.target/i386/conversion.c
* gcc.dg/builtins-67.c: Use dg-add-options c99_runtime.
* gcc.target/i386/conversion.c: Likewise.
From-SVN: r177897
Richard Guenther [Fri, 19 Aug 2011 12:30:36 +0000 (12:30 +0000)]
pr50067-1.c: New testcase.
2011-08-19 Richard Guenther <rguenther@suse.de>
* gcc.dg/torture/pr50067-1.c: New testcase.
* gcc.dg/torture/pr50067-2.c: Likewise.
From-SVN: r177896
Joseph Myers [Fri, 19 Aug 2011 10:16:02 +0000 (11:16 +0100)]
opth-gen.awk: Do not declare target save/restore structures and functions if IN_RTS defined.
* opth-gen.awk: Do not declare target save/restore structures and
functions if IN_RTS defined.
From-SVN: r177894
Joey Ye [Fri, 19 Aug 2011 08:28:08 +0000 (08:28 +0000)]
re PR target/49437 (interrupt return pop sometimes corrupts sp)
PR target/49437
* config/arm/arm.c (arm_output_epilogue): Properly handle epilogue
when stack was realigned in interrupt handler prologue.
testsuite:
PR target/49437
* gcc.target/arm/handler-align.c: New test.
* lib/target-supports.exp (check_effective_target_arm_cortex_m):
New Function.
From-SVN: r177891
Joey Ye [Fri, 19 Aug 2011 07:43:45 +0000 (07:43 +0000)]
* gcc.c-torture/execute/
20101011-1.c (DO_TEST): Skip on ARM.
From-SVN: r177890
GCC Administrator [Fri, 19 Aug 2011 00:18:37 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177889
Mikael Morin [Thu, 18 Aug 2011 22:42:38 +0000 (00:42 +0200)]
re PR fortran/50071 (gfortran does not distinguish labels in different type scoping units)
2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/50071
* gfortran.h (gfc_exec_op): New constant EXEC_END_NESTED_BLOCK.
* parse.c (check_statement_label): Accept ST_END_BLOCK and
ST_END_ASSOCIATE as valid branch target.
(accept_statement): Change EXEC_END_BLOCK to EXEC_END_NESTED_BLOCK.
Add EXEC_END_BLOCK code in the ST_END_BLOCK and ST_END_ASSOCIATE cases.
* resolve.c (find_reachable_labels): Change EXEC_END_BLOCK to
EXEC_END_NESTED_BLOCK.
(resolve_branch): Ditto.
(resolve_code): Add EXEC_END_NESTED_BLOCK case.
* st.c (gfc_free_statement): Ditto.
* trans.c (trans_code): Ditto.
2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/50071
* gfortran.dg/end_block_label_1.f90: New test.
* gfortran.dg/end_associate_label_1.f90: New test.
From-SVN: r177885
Joseph Myers [Thu, 18 Aug 2011 21:59:20 +0000 (22:59 +0100)]
* gcc.dg/c1x-pointer-float-1.c: New test.
From-SVN: r177884
Mikael Morin [Thu, 18 Aug 2011 21:39:42 +0000 (23:39 +0200)]
re PR fortran/50071 (gfortran does not distinguish labels in different type scoping units)
2011-08-18 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/50071
* symbol.c (gfc_get_st_label): Use the derived type namespace when
we are parsing a derived type definition.
2011-08-18 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/50071
* gfortran.dg/duplicate_labels_2.f: New test.
From-SVN: r177882
Joseph Myers [Thu, 18 Aug 2011 21:35:42 +0000 (22:35 +0100)]
c-decl.c (shadow_tag_warned): Check for _Noreturn.
* c-decl.c (shadow_tag_warned): Check for _Noreturn.
(quals_from_declspecs): Assert _Noreturn not present.
(grokdeclarator): Handle _Noreturn.
(build_null_declspecs): Initialize noreturn_p.
(declspecs_add_scspec): Handle RID_NORETURN.
* c-parser.c (c_token_starts_declspecs, c_parser_declspecs)
(c_parser_attributes): Handle RID_NORETURN.
* c-tree.h (struct c_declspecs): Add noreturn_p.
* ginclude/stdnoreturn.h: New.
* Makefile.in (USER_H): Add stdnoreturn.h.
c-family:
* c-common.c (c_common_reswords): Add _Noreturn.
(keyword_is_function_specifier): Handle RID_NORETURN.
* c-common.h (RID_NORETURN): New.
testsuite:
* gcc.dg/c1x-noreturn-1.c, gcc.dg/c1x-noreturn-2.c,
gcc.dg/c1x-noreturn-3.c, gcc.dg/c1x-noreturn-4.c,
gcc.dg/c1x-noreturn-5.c: New tests.
From-SVN: r177881
Rainer Orth [Thu, 18 Aug 2011 17:29:10 +0000 (17:29 +0000)]
Properly define __cplusplus (PR libstdc++-v3/1773)
PR libstdc++/1773
* init.c (cpp_init_builtins): Define __cplusplus 19971L.
From-SVN: r177877
Kirill Yukhin [Thu, 18 Aug 2011 17:24:39 +0000 (17:24 +0000)]
Add -mavx2.
2011-08-18 Kirill Yukhin <kirill.yukhin@intel.com>
* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX2_SET): New.
(OPTION_MASK_ISA_AVX_UNSET): Update.
(OPTION_MASK_ISA_AVX2_UNSET): New.
(ix86_handle_option): Handle OPT_mavx2 case.
* config/i386/cpuid.h (bit_AVX2): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
AVX2 feature.
* config/i386/i386-c.c (ix86_target_macros_internal):
Conditionally define __AVX2__.
* config/i386/i386.c (ix86_option_override_internal): Define
PTA_AVX2. Define "core-avx2" processor alias. Handle avx2
option.
(ix86_valid_target_attribute_inner_p): Handle avx2 option.
* config/i386/i386.h (TARGET_AVX2): New.
* config/i386/i386.opt (mavx2): New.
* doc/invoke.texi: Document -mavx2.
From-SVN: r177876
Vladimir Makarov [Thu, 18 Aug 2011 17:06:18 +0000 (17:06 +0000)]
re PR rtl-optimization/49890 (IRA spill with plenty of available registers)
2011-08-18 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/49890
* ira-costs.c (setup_regno_cost_classes_by_aclass): Don't exclude
subclasses of class which is superset of a pressure class.
From-SVN: r177874
Marc Glisse [Thu, 18 Aug 2011 16:56:55 +0000 (16:56 +0000)]
cmath: Extend/update comment.
2011-08-18 Marc Glisse <marc.glisse@normalesup.org>
* include/tr1/cmath: Extend/update comment.
From-SVN: r177873
Paolo Carlini [Thu, 18 Aug 2011 16:32:23 +0000 (16:32 +0000)]
re PR libstdc++/50119 ([C++0x] copy_n advances InputIterator one more time than necessary)
2011-08-18 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/50119
* include/bits/stl_algo.h (__copy_n(_InputIterator, _Size,
_OutputIterator, input_iterator_tag)): Fix.
* testsuite/25_algorithms/copy_n/50119.cc: New.
From-SVN: r177871
H.J. Lu [Thu, 18 Aug 2011 15:56:01 +0000 (15:56 +0000)]
Change ix86_isa_flags to HOST_WIDE_INT.
2011-08-18 H.J. Lu <hongjiu.lu@intel.com>
Igor Zamyatin <igor.zamyatin@intel.com>
* config/i386/i386-c.c (ix86_target_macros_internal): Replace int
with HOST_WIDE_INT for isa_flag.
(ix86_pragma_target_parse): Replace int with HOST_WIDE_INT for
isa variables.
* config/i386/i386.c (ix86_target_string): Replace int with
HOST_WIDE_INT for isa. Use HOST_WIDE_INT_PRINT to print isa.
(ix86_target_opts): Replace int with HOST_WIDE_INT on mask.
(pta_flags): Removed.
(PTA_XXX): Redefined as (HOST_WIDE_INT_1 << X).
(pta): Use HOST_WIDE_INT on flags.
(builtin_isa): Use HOST_WIDE_INT on isa.
(ix86_add_new_builtins): Likewise.
(def_builtin): Use HOST_WIDE_INT on mask.
(def_builtin_const): Likewise.
(builtin_description): Likewise.
* config/i386/i386.opt (ix86_isa_flags): Replace int with
HOST_WIDE_INT.
(ix86_isa_flags_explicit): Likewise.
(x_ix86_isa_flags_explicit): Likewise.
Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>
From-SVN: r177870
Joseph Myers [Thu, 18 Aug 2011 15:24:45 +0000 (16:24 +0100)]
* include/cpplib.h (struct cpp_options): Fix typo.
From-SVN: r177869
Joseph Myers [Thu, 18 Aug 2011 15:13:49 +0000 (16:13 +0100)]
c1x-uni-string-1.c, [...]: New tests.
gcc/testsuite:
* gcc.dg/c1x-uni-string-1.c, gcc.dg/c1x-uni-string-2.c: New tests.
libcpp:
* include/cpplib.h (struct cpp_options): Add rliterals.
* init.c (struct lang_flags, lang_defaults): Add rliterals.
(cpp_set_lang): Set rliterals option.
(cpp_init_builtins): Define __STDC_UTF_16__ and __STDC_UTF_32__.
* lex.c (_cpp_lex_direct): Only accept raw strings if rliterals.
From-SVN: r177868
Tobias Burnus [Thu, 18 Aug 2011 15:10:25 +0000 (17:10 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-08-18 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* parse.c (parse_derived): Add lock_type
checks, improve coarray_comp handling.
* resolve.c (resolve_allocate_expr,
resolve_lock_unlock, resolve_symbol): Fix lock_type
constraint checks.
2011-08-18 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray_lock_1.f90: Update dg-error.
* gfortran.dg/coarray_lock_3.f90: Fix test.
* gfortran.dg/coarray_lock_4.f90: New.
* gfortran.dg/coarray_lock_5.f90: New.
From-SVN: r177867
Marc Glisse [Thu, 18 Aug 2011 14:59:47 +0000 (14:59 +0000)]
Use Solaris prototypes if possible (PR libstdc++-v3/1773)
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r177866
Vladimir Makarov [Thu, 18 Aug 2011 14:56:36 +0000 (14:56 +0000)]
re PR rtl-optimization/50107 ([IRA, i386] allocates registers in very non-optimal way)
2011-08-17 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/50107
* ira-int.h (ira_hard_reg_not_in_set_p): Remove.
(ira_hard_reg_in_set_p): New.
* ira-color.c (calculate_saved_nregs): New.
(assign_hard_reg): Use it. Set up allocated_hard_reg_p for all
hard regs.
(allocno_reload_assign, fast_allocation): Use
ira_hard_reg_set_intersection_p instead of
ira_hard_reg_not_in_set_p.
* ira.c (setup_reg_renumber): Use
ira_hard_reg_set_intersection_p instead of
ira_hard_reg_not_in_set_p.
(setup_allocno_assignment_flags, calculate_allocation_cost): Use
ira_hard_reg_in_set_p instead of ira_hard_reg_not_in_set_p.
* ira-costs.c (ira_tune_allocno_costs): Use
ira_hard_reg_set_intersection_p instead of
ira_hard_reg_not_in_set_p.
From-SVN: r177865
H.J. Lu [Thu, 18 Aug 2011 14:52:06 +0000 (14:52 +0000)]
Allow HOST_WIDE_INT for option variable.
2011-08-18 H.J. Lu <hongjiu.lu@intel.com>
Igor Zamyatin <igor.zamyatin@intel.com>
* hwint.h (HOST_WIDE_INT_1): New.
* opt-functions.awk (switch_bit_fields): Initialize the
host_wide_int field.
(host_wide_int_var_name): New.
(var_type_struct): Check and return HOST_WIDE_INT.
* opt-read.awk: Handle HOST_WIDE_INT for "Variable".
* optc-save-gen.awk: Support HOST_WIDE_INT on var_target_other.
* opth-gen.awk: Use HOST_WIDE_INT_1 on HOST_WIDE_INT. Properly
check masks for HOST_WIDE_INT.
* opts-common.c (set_option): Support HOST_WIDE_INT flag_var.
(option_enabled): Likewise.
(get_option_state): Likewise.
* opts.h (cl_option): Add cl_host_wide_int. Change var_value
to HOST_WIDE_INT.
Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>
From-SVN: r177864
Rainer Orth [Thu, 18 Aug 2011 14:47:46 +0000 (14:47 +0000)]
Keep tm, div_t, ldiv_t, lconv mangling on Solaris (PR libstdc++-v3/1773)
Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>
From-SVN: r177863
Peter Collingbourne [Thu, 18 Aug 2011 14:47:32 +0000 (14:47 +0000)]
2011-08-18 Peter Collingbourne <peter@pcc.me.uk>
* expr.c (expand_invoke) Use the type of the method rewrite
target.
From-SVN: r177862
Jakub Jelinek [Thu, 18 Aug 2011 14:29:10 +0000 (16:29 +0200)]
re PR target/50009 (Segmentation fault in tree_nop_conversion)
PR target/50009
* stor-layout.c (update_alignment_for_field): Don't ICE on
packed flexible array members if ms_bitfield_layout_p.
* gcc.c-torture/compile/pr50009.c: New test.
From-SVN: r177860
Jakub Jelinek [Thu, 18 Aug 2011 14:27:38 +0000 (16:27 +0200)]
re PR target/50092 (internal compiler error: in elimination_costs_in_insn, at reload1.c:3633)
PR target/50092
* config/i386/i386.c (assign_386_stack_local): Call validize_mem
on the result before returning it.
* gcc.dg/torture/pr50092.c: New test.
From-SVN: r177859
Tobias Burnus [Thu, 18 Aug 2011 14:23:41 +0000 (16:23 +0200)]
re PR fortran/50109 (Formatted namelist read with multiple "!" fails with: Cannot match namelist object name !)
2011-08-18 Tobias Burnus <burnus@net-b.de>
PR fortran/50109
* io/list_read.c (eat_separator): Fix skipping over "!" lines.
2011-08-18 Tobias Burnus <burnus@net-b.de>
PR fortran/50109
* gfortran.dg/namelist_73.f90: New.
From-SVN: r177858
Jakub Jelinek [Thu, 18 Aug 2011 14:13:48 +0000 (16:13 +0200)]
re PR debug/50017 (-fcompare-debug failure)
PR debug/50017
* tree-vect-stmts.c (vect_finish_stmt_generation): If gsi_stmt (*gsi)
is a debug stmt, use location of the first non-debug stmt after it.
* gcc.dg/pr50017.c: New test.
From-SVN: r177857
Jakub Jelinek [Thu, 18 Aug 2011 14:09:44 +0000 (16:09 +0200)]
* g++.dg/plugin/decl_plugin.c: Include diagnostic.h.
From-SVN: r177856
Richard Sandiford [Thu, 18 Aug 2011 13:47:21 +0000 (13:47 +0000)]
arm.c (arm_rtx_costs_1): Don't modify the costs of SET.
gcc/
* config/arm/arm.c (arm_rtx_costs_1): Don't modify the costs of SET.
(arm_size_rtx_costs): Likewise.
From-SVN: r177855
Richard Sandiford [Thu, 18 Aug 2011 13:45:07 +0000 (13:45 +0000)]
bpabi-lib.h (RENAME_LIBRARY_SET): Delete.
libgcc/
* config/arm/bpabi-lib.h (RENAME_LIBRARY_SET): Delete.
From-SVN: r177854
Richard Guenther [Thu, 18 Aug 2011 12:42:22 +0000 (12:42 +0000)]
tree.h (tree_int_cst_msb): Remove.
2011-08-18 Richard Guenther <rguenther@suse.de>
* tree.h (tree_int_cst_msb): Remove.
* tree.c (tree_int_cst_msb): Likewise.
(tree_int_cst_sign_bit): Move from ...
* tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): ... here.
From-SVN: r177853
Richard Sandiford [Thu, 18 Aug 2011 12:37:53 +0000 (12:37 +0000)]
tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.
gcc/
* doc/tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.
* doc/tm.texi: Regenerate.
* target.def (rtx_costs): Add an opno parameter.
* hooks.h (hook_bool_rtx_int_int_intp_bool_false): Replace with...
(hook_bool_rtx_int_int_int_intp_bool_false): ...this.
* hooks.c (hook_bool_rtx_int_int_intp_bool_false): Replace with...
(hook_bool_rtx_int_int_int_intp_bool_false): ...this.
* cse.c (COST_IN): Add an opno parameter.
(notreg_cost): Likewise. Update call to rtx_cost.
(COST, fold_rtx): Update accordingly.
* dojump.c (prefer_and_bit_test): Update call to rtx_cost.
* expmed.c (emit_store_flag): Likewise.
* optabs.c (avoid_expensive_constant): Add an opno parameter.
Update call to rtx_cost.
(expand_binop_directly, expand_binop): Likewise.
(expand_twoval_binop, prepare_cmp_insn): Likewise.
* rtl.h (rtx_cost, get_full_rtx_cost): Add opno parameters.
(set_src_cost, get_full_set_src_cost): Update accordingly.
* rtlanal.c (rtx_cost): Add an opno parameter. Update call
to target hook.
(get_full_rtx_cost): Add an opno paramter. Update calls to rtx_cost.
(default_adress_cost): Update calls to rtx_cost.
* config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs)
(arm_slowmul_rtx_costs): Adjust calls to rtx_cost.
(arm_rtx_costs): Add an opno parameter.
* config/alpha/alpha.c (alpha_rtx_costs): Add an opno parameter and
adjust any recursive rtx-cost calls.
* config/avr/avr.c (avr_operand_rtx_cost, avr_rtx_costs): Likewise.
* config/bfin/bfin.c (bfin_rtx_costs): Likewise.
* config/c6x/c6x.c (c6x_rtx_costs): Likewise.
* config/cris/cris.c (cris_rtx_costs): Likewise.
* config/frv/frv.c (frv_rtx_costs): Likewise.
* config/h8300/h8300.c (h8300_rtx_costs): Likewise.
* config/i386/i386.c (ix86_rtx_costs): Likewise.
* config/ia64/ia64.c (ia64_rtx_costs): Likewise.
* config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
* config/lm32/lm32.c (lm32_rtx_costs): Likewise.
* config/m32c/m32c.c (m32c_rtx_costs): Likewise.
* config/m32r/m32r.c (m32r_rtx_costs): Likewise.
* config/m68k/m68k.c (m68k_rtx_costs): Likewise.
* config/mcore/mcore.c (mcore_rtx_costs): Likewise.
* config/mep/mep.c (mep_rtx_cost): Likewise.
* config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
* config/mips/mips.c (mips_binary_cost): Update call to rtx_cost.
(mips_zero_extend_cost): Add an opno parameter.
* config/mmix/mmix.c (mmix_rtx_costs): Likewise.
* config/mn10300/mn10300.c (mn10300_address_cost): Update call
to rtx_cost.
(mn10300_rtx_costs): Add an opno parameter and adjust any recursive
rtx-cost calls.
* config/pa/pa.c (hppa_rtx_costs): Likewise.
* config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
* config/picochip/picochip.c (picochip_rtx_costs): Likewise.
* config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
(rs6000_debug_rtx_costs): Likewise.
* config/s390/s390.c (s390_rtx_costs): Likewise.
* config/score/score-protos.h (score_rtx_costs): Likewise.
* config/score/score.c (score_rtx_costs): Likewise.
* config/sh/sh.c (andcosts): Update call to rtx_cost.
(sh_rtx_costs): Add an opno parameter.
* config/sparc/sparc.c (sparc_rtx_costs): Likewise.
* config/spu/spu.c (spu_rtx_costs): Likewise.
* config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
* config/v850/v850.c (v850_rtx_costs): Likewise.
* config/vax/vax.c (vax_rtx_costs): Likewise.
* config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
From-SVN: r177852
Richard Sandiford [Thu, 18 Aug 2011 12:37:27 +0000 (12:37 +0000)]
rtl.h (set_src_cost, [...]): New functions.
gcc/
* rtl.h (set_src_cost, get_full_set_src_cost): New functions.
* auto-inc-dec.c (attempt_change): Use set_src_cost instead of
rtx_cost.
* calls.c (precompute_register_parameters): Likewise.
* combine.c (expand_compound_operation, make_extraction): Likewise.
(force_to_mode, distribute_and_simplify_rtx): Likewise.
* dse.c (find_shift_sequence): Likewise.
* expmed.c (init_expmed, expand_mult, expand_smod_pow2): Likewise.
* expr.c (compress_float_constant): Likewise.
* fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
* gcse.c (want_to_gcse_p): Likewise.
* ifcvt.c (noce_try_sign_mask): Likewise.
* loop-doloop.c (doloop_optimize): Likewise.
* loop-invariant.c (create_new_invariant): Likewise.
* optabs.c (avoid_expensive_constant): Likewise.
* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands)
(try_replace_in_use, reload_cse_move2add): Likewise.
* reload1.c (calculate_elim_costs_all_insns): Likewise.
(note_reg_elim_costly): Likewise.
* rtlanal.c (insn_rtx_cost): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
* stmt.c (lshift_cheap_p): Likewise.
* tree-ssa-loop-ivopts.c (seq_cost, computation_cost): Likewise.
* config/avr/avr.c (final_prescan_insn): Likewise.
* config/bfin/bfin.c (bfin_rtx_costs): Likewise.
* config/mips/mips.c (mips_binary_cost, mips_rtx_costs): Likewise.
From-SVN: r177851
Richard Sandiford [Thu, 18 Aug 2011 12:36:51 +0000 (12:36 +0000)]
rtl.h (set_rtx_cost, [...]): New functions.
gcc/
* rtl.h (set_rtx_cost, get_full_set_rtx_cost): New functions.
* auto-inc-dec.c (attempt_change): Use set_rtx_cost.
* cfgloopanal.c (seq_cost): Likewise.
* loop-invariant.c (create_new_invariant): Likewise.
* postreload.c (move2add_use_add2_insn, move2add_use_add3_insn)
(reload_cse_move2add): Use get_full_set_rtx_cost.
From-SVN: r177850
Richard Guenther [Thu, 18 Aug 2011 11:40:45 +0000 (11:40 +0000)]
expr.c (get_inner_reference): Fix typo in last change.
2011-08-18 Richard Guenther <rguenther@suse.de>
* expr.c (get_inner_reference): Fix typo in last change.
From-SVN: r177849
Paolo Carlini [Thu, 18 Aug 2011 11:30:42 +0000 (11:30 +0000)]
re PR tree-optimization/49963 (ICE: in abs_hwi, at hwint.c:108)
2011-08-18 Paolo Carlini <paolo.carlini@oracle.com>
Joseph Myers <joseph@codesourcery.com>
PR tree-optimization/49963
* hwint.c (absu_hwi): Define.
* hwint.h (absu_hwi): Declare.
* fold-const.c (fold_plusminus_mult_expr): Use absu_hwi instead
of abs_hwi.
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise.
* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Likewise.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r177848
Richard Guenther [Thu, 18 Aug 2011 08:33:21 +0000 (08:33 +0000)]
expr.c (get_inner_reference): Sign-extend the constant twos-complement offset before doing arbitrary...
2011-08-18 Richard Guenther <rguenther@suse.de>
* expr.c (get_inner_reference): Sign-extend the constant
twos-complement offset before doing arbitrary precision
arithmetic on it.
* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
(get_constraint_for_1): Pass the offset of a MEM_REF unchanged
to get_constraint_for_ptr_offset.
From-SVN: r177847
Dodji Seketeli [Thu, 18 Aug 2011 06:44:22 +0000 (06:44 +0000)]
PR c++/45625 - Template parm name doesn't hide outer class scope's member name
gcc/cp/
* pt.c (parameter_of_template_p): Handle comparison with DECLs of
template parameters as created by process_template_parm.
gcc/testsuite/
* g++.dg/lookup/hidden-var1.C: New test case.
From-SVN: r177846
GCC Administrator [Thu, 18 Aug 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177843
Kaz Kojima [Wed, 17 Aug 2011 22:49:18 +0000 (22:49 +0000)]
re PR target/50068 (Invalid memory access in incr_ticks_for_insn)
PR target/50068
* config/sh/sh.c (sh_output_mi_thunk): Don't call dbr_schedule.
From-SVN: r177839
Tobias Burnus [Wed, 17 Aug 2011 16:31:10 +0000 (18:31 +0200)]
re PR fortran/31461 (warn about entities in USE, ONLY statement not later used)
2011-08-17 Tobias Burnus <burnus@net-b.de>
PR fortran/31461
* trans-decl.c (generate_local_decl): Warn about
unused explicitly imported module variables/parameters.
2011-08-17 Tobias Burnus <burnus@net-b.de>
PR fortran/31461
* gfortran.dg/warn_unused_var_2.f90: New.
* gfortran.dg/warn_unused_var_3.f90: New.
From-SVN: r177833
Richard Guenther [Wed, 17 Aug 2011 12:00:35 +0000 (12:00 +0000)]
tree.h (convert_to_ptrofftype_loc): New function.
2011-08-17 Richard Guenther <rguenther@suse.de>
* tree.h (convert_to_ptrofftype_loc): New function.
(convert_to_ptrofftype): Define.
* builtins.c (expand_builtin_bzero): Use size_type_node.
(fold_builtin_bzero): Likewise.
(std_gimplify_va_arg_expr): Build the BIT_AND_EXPR on the pointer.
* c-typeck.c (build_unary_op): Use convert_to_ptrofftype_loc.
* cgraphunit.c (thunk_adjust): Use fold_build_pointer_plus_loc.
(cgraph_redirect_edge_call_stmt_to_callee): Use size_int.
* expr.c (expand_expr_addr_expr_1): Use fold_build_pointer_plus.
* fold-const.c (build_range_check): Negate using the original
type.
(fold_unary_loc): Use fold_build_pointer_plus_loc.
* gimple-fold.c (gimple_adjust_this_by_delta): Use
convert_to_ptrofftype.
* gimplify.c (gimplify_self_mod_expr): Likewise.
* graphite-clast-to-gimple.c (clast_to_gcc_expression): Likewise.
(graphite_create_new_loop_guard): Likewise.
* graphite-sese-to-poly.c (my_long_long): Remove.
(scop_ivs_can_be_represented): Adjust.
* tree-cfg.c (verify_gimple_assign_unary): Use ptrofftype_p.
* tree-chrec.c (chrec_fold_plus_1): Use fold_build_pointer_plus.
* tree-loop-distribution.c (build_size_arg_loc): Use
size_type_node.
(generate_memset_zero): Simplify.
* tree-mudflap.c: Use fold_convert, not convert.
* tree-predcom.c (suitable_reference_p): Expand DR_OFFSET in
its own type.
(determine_offset): Likewise for DR_STEP.
(valid_initializer_p): Likewise.
* tree-profile.c (prepare_instrumented_value): Convert the pointer
to an integer type of same size.
* tree-scalar-evolution.c (interpret_rhs_expr): Do not refer
to sizetype without need.
* tree-ssa-address.c (tree_mem_ref_addr): Likewise.
* tree-ssa-loop-ivopts.c (find_bivs): Use convert_to_ptrofftype.
* tree-ssa-loop-manip.c (create_iv): Likewise.
(determine_exit_conditions): Adjust comment.
* tree-ssa-pre.c (create_expression_by_pieces): Use
convert_to_ptrofftype.
* tree-ssa-structalias.c (get_constraint_for_1): Likewise.
* varasm.c (array_size_for_constructor): Compute using double_ints.
From-SVN: r177828
Tom de Vries [Wed, 17 Aug 2011 11:39:06 +0000 (11:39 +0000)]
re PR target/43597 (Move and compare with 0 can be combined)
2011-08-17 Tom de Vries <tom@codesourcery.com>
PR target/43597
* gcc.target/arm/pr43597.c: New test.
From-SVN: r177827
Richard Sandiford [Wed, 17 Aug 2011 11:13:20 +0000 (11:13 +0000)]
re PR target/50090 (ARM EABI symbols in libgcc.a have default visibility)
libgcc/
PR target/50090
* config/arm/bpabi-lib.h (RENAME_LIBRARY): Use a C-level alias
instead of an assembly one.
From-SVN: r177826
Janus Weil [Wed, 17 Aug 2011 09:14:18 +0000 (11:14 +0200)]
re PR fortran/50070 (Segmentation fault at size_binop_loc in fold-const.c)
2011-08-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/50070
* resolve.c (resolve_fl_variable): Reject non-constant character lengths
in COMMON variables.
2011-08-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/50070
* gfortran.dg/common_13.f90: New.
From-SVN: r177825
GCC Administrator [Wed, 17 Aug 2011 00:18:42 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177820
Jason Merrill [Tue, 16 Aug 2011 23:26:08 +0000 (19:26 -0400)]
re PR c++/50086 ([C++0x] Error on lookup of template function address with variadic template arguments)
PR c++/50086
* pt.c (unify_pack_expansion): Correct overloaded unification
logic.
From-SVN: r177813
Jason Merrill [Tue, 16 Aug 2011 23:26:00 +0000 (19:26 -0400)]
* g++.old-deja/g++.brendan/README: Add R.I.P.
From-SVN: r177812
Jason Merrill [Tue, 16 Aug 2011 23:25:52 +0000 (19:25 -0400)]
pt.c (instantiate_class_template_1): If DECL_PRESERVE_P is set on a member function or static data member...
* pt.c (instantiate_class_template_1): If DECL_PRESERVE_P is set
on a member function or static data member, call mark_used.
From-SVN: r177811
Jason Merrill [Tue, 16 Aug 2011 23:25:43 +0000 (19:25 -0400)]
re PR c++/50054 (Fails to recover from type error in function signature)
PR c++/50054
* typeck2.c (cxx_incomplete_type_diagnostic): Handle
init_list_type_node.
From-SVN: r177810
Tobias Burnus [Tue, 16 Aug 2011 21:26:23 +0000 (23:26 +0200)]
re PR fortran/50094 (FAIL: gfortran.dg/coarray_6.f90)
2011-08-16 Tobias Burnus <burnus@net-b.de>
Dominique Dhumieres <dominiq@lps.ens.fr>
PR fortran/50094
* resolve.c (resolve_symbol): Fix stupid typo.
Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r177801
Ulrich Weigand [Tue, 16 Aug 2011 18:39:55 +0000 (18:39 +0000)]
spu.c (spu_emit_branch_or_set): Avoid reverse tests when generating an integer result where possible.
* config/spu/spu.c (spu_emit_branch_or_set): Avoid reverse tests
when generating an integer result where possible. Short-cut
comparison against 0 also for QImode.
From-SVN: r177795
Ulrich Weigand [Tue, 16 Aug 2011 18:33:15 +0000 (18:33 +0000)]
spu.h (LEGITIMIZE_RELOAD_ADDRESS): New macro.
* config/spu/spu.h (LEGITIMIZE_RELOAD_ADDRESS): New macro.
* config/spu/spu-protos.h (spu_legitimize_reload_address): Add
prototype.
* config/spu/spu.c (spu_legitimize_reload_address): New function.
(spu_legitimate_address_p): Do not check displacement if the base
is an eliminable stack register.
From-SVN: r177794
Anatoly Sokolov [Tue, 16 Aug 2011 17:04:13 +0000 (21:04 +0400)]
m32c.h (PREFERRED_RELOAD_CLASS, [...]): Remove macro.
* config/m32c/m32c.h (PREFERRED_RELOAD_CLASS,
PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
* config/m32c/m32c-protos.h (m32c_preferred_reload_class,
m32c_preferred_output_reload_class): Remove.
* config/m32c/m32c.c (m32c_preferred_reload_class): Make static.
Change rclass argument and return types to reg_class_t. Use
reg_class_subset_p instead of class_sizes.
(m32c_preferred_output_reload_class): Make static. Change rclass
argument and return types to reg_class_t.
(TARGET_PREFERRED_RELOAD_CLASS,
TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
From-SVN: r177790
Kai Tietz [Tue, 16 Aug 2011 16:29:20 +0000 (18:29 +0200)]
* config/i386/mingw32.h (GOMP_SELF_SPEC): Add -pthread option.
From-SVN: r177789
Richard Guenther [Tue, 16 Aug 2011 15:32:17 +0000 (15:32 +0000)]
re PR tree-optimization/50082 (-Wstrict-overflow mishandles typedef)
2011-08-16 Richard GUenther <rguenther@suse.de>
PR tree-optimization/50082
* tree-ssa-forwprop.c (combine_cond_expr_cond): Handle overflow
warnings here, instead of ...
(ssa_forward_propagate_and_combine): ... here.
(forward_propagate_into_comparison_1): Adjust.
(forward_propagate_into_comparison): Likewise.
(forward_propagate_into_gimple_cond): Likewise.
(forward_propagate_into_cond): Likewise.
From-SVN: r177788
Andreas Schwab [Tue, 16 Aug 2011 14:14:26 +0000 (14:14 +0000)]
ggc.h (ggc_alloc_rtvec_sized): Use ggc_alloc_zone_rtvec_def instead of ggc_alloc_zone_vec_rtvec_def.
* ggc.h (ggc_alloc_rtvec_sized): Use ggc_alloc_zone_rtvec_def
instead of ggc_alloc_zone_vec_rtvec_def.
From-SVN: r177785
Richard Guenther [Tue, 16 Aug 2011 13:55:30 +0000 (13:55 +0000)]
tree.h (ptrofftype_p): New helper function.
2011-08-16 Richard Guenther <rguenther@suse.de>
* tree.h (ptrofftype_p): New helper function.
* tree-cfg.c (verify_expr): Use ptrofftype_p for POINTER_PLUS_EXPR
offset verification.
(verify_gimple_assign_binary): Likewise.
* tree.c (build2_stat): Likewise.
* tree-chrec.c (chrec_fold_plus_poly_poly): Likewise.
(reset_evolution_in_loop): Likewise.
* tree-chrec.h (build_polynomial_chrec): Likewise.
From-SVN: r177784