Oleg Endo [Sun, 22 Jul 2012 23:36:01 +0000 (23:36 +0000)]
sh.md (negc): Delete expander.
* config/sh/sh.md (negc): Delete expander.
(*negc): Rename insn to negc.
From-SVN: r189759
Hans-Peter Nilsson [Sun, 22 Jul 2012 15:45:07 +0000 (15:45 +0000)]
Handle recent changes in default atomics for cris*-*-linux*.
* gcc.target/cris/torture/sync-mis-xchg-i-1ml.c,
gcc.target/cris/torture/sync-mis-xchg-i-2ml.c,
gcc.target/cris/torture/sync-mis-xchg-i-3ml.c,
gcc.target/cris/torture/sync-mis-xchg-s-1ml.c,
gcc.target/cris/torture/sync-mis-op-i-1ml.c,
gcc.target/cris/torture/sync-mis-op-i-2ml.c,
gcc.target/cris/torture/sync-mis-op-i-3ml.c,
gcc.target/cris/torture/sync-mis-op-s-1ml.c: New tests.
* gcc.target/cris/torture/sync-mis-op-i-2a.c: Make sure
-mno-unaligned-atomic-may-use-library is in effect for
cris*-*-linux*.
* gcc.target/cris/torture/sync-mis-xchg-i-1.c,
gcc.target/cris/torture/sync-mis-xchg-i-2.c,
gcc.target/cris/torture/sync-mis-xchg-i-3.c,
gcc.target/cris/torture/sync-mis-xchg-i-2a.c,
gcc.target/cris/torture/sync-mis-xchg-s-1.c,
gcc.target/cris/torture/sync-mis-op-i-1.c,
gcc.target/cris/torture/sync-mis-op-i-2.c,
gcc.target/cris/torture/sync-mis-op-i-1a.c,
gcc.target/cris/torture/sync-mis-op-i-3.c,
gcc.target/cris/torture/sync-mis-op-i-3a.c,
gcc.target/cris/torture/sync-mis-op-s-1a.c,
gcc.target/cris/torture/sync-mis-xchg-i-1a.c,
gcc.target/cris/torture/sync-mis-xchg-i-3a.c,
gcc.target/cris/torture/sync-mis-xchg-s-1a.c: Similar.
* gcc.target/cris/torture/sync-mis-op-s-1.c: Ditto.
(main): Remove local variable x.
[mis_ok]: Check that atomics don't fail.
From-SVN: r189757
Uros Bizjak [Sun, 22 Jul 2012 15:44:51 +0000 (17:44 +0200)]
re PR target/53961 (internal compiler error: in memory_address_length, at config/i386/i386.c:23341)
PR target/53961
* config/i386/i386.md (*lea): New insn pattern.
(*lea_1): Remove.
(*lea<mode>_2): Ditto.
(*lea_{3,4,5,6}_zext): Ditto.
* config/i386/constraints.md (j): Remove address constraint.
* config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
of an address.
(ix86_print_operand_address): Handle SImode subreg of an address.
(ix86_avoid_lea_for_add): Reject zero-extended addresses for now.
From-SVN: r189756
Hans-Peter Nilsson [Sun, 22 Jul 2012 14:55:38 +0000 (14:55 +0000)]
Emit executable-stack note correctly for CRIS targets.
* config/cris/cris.c (cris_file_end): New function.
(TARGET_ASM_FILE_END): Define.
From-SVN: r189755
Chung-Lin Tang [Sun, 22 Jul 2012 07:05:28 +0000 (07:05 +0000)]
NetLogic Microsystems Inc.
2012-07-22 Chung-Lin Tang <cltang@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
NetLogic Microsystems Inc.
* config/mips/mips.c (mips_issue_rate): Handle XLP.
* config/mips/mips.md: Include xlp.md.
* config/mips/xlp.md: New file.
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r189754
Andrew Pinski [Sun, 22 Jul 2012 05:55:47 +0000 (05:55 +0000)]
vrp72.c: New test.
2012-07-21 Andrew Pinski <apinski@cavium.com>
* gcc.dg/tree-ssa/vrp72.c: New test.
* gcc.dg/tree-ssa/vrp73.c: New test.
* gcc.dg/tree-ssa/vrp74.c: New test.
* gcc.dg/tree-ssa/vrp75.c: New test.
From-SVN: r189753
Andrew Pinski [Sun, 22 Jul 2012 05:32:16 +0000 (05:32 +0000)]
alias-21.c: New testcase.
2012-07-21 Andrew Pinski <apinski@cavium.com>
* gcc.dg/tree-ssa/alias-21.c: New testcase.
* gcc.dg/tree-ssa/alias-22.c: New testcase.
From-SVN: r189752
GCC Administrator [Sun, 22 Jul 2012 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r189751
Steven Bosscher [Sat, 21 Jul 2012 23:37:02 +0000 (23:37 +0000)]
re PR gcov-profile/32543 (Gcov: profile.c total_num_edges_instrumented never incremented (patch included))
PR gcov-profile/32543
* profile.c (branch_prob): Update total_num_edges_instrumented and
report the number of edges to instrument.
From-SVN: r189748
Oleg Endo [Sat, 21 Jul 2012 19:40:37 +0000 (19:40 +0000)]
sh.md: Correct comment regarding clrt and sett insns.
* config/sh/sh.md: Correct comment regarding clrt and sett insns.
From-SVN: r189747
Tobias Burnus [Sat, 21 Jul 2012 15:37:46 +0000 (17:37 +0200)]
iso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter.
2012-07-21 Tobias Burnus <burnus@net-b.de>
* iso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter.
* intrinsic.texi (ISO_C_BINDING): Document it.
From-SVN: r189746
Steven Bosscher [Sat, 21 Jul 2012 12:31:26 +0000 (12:31 +0000)]
Fix comment typo.
From-SVN: r189745
Andrew Pinski [Sat, 21 Jul 2012 11:05:04 +0000 (11:05 +0000)]
mips.md (*popcountdi2_trunc): New pattern to handle popcount of a truncation.
2012-07-21 Andrew Pinski <apinski@cavium.com>
* config/mips/mips.md (*popcountdi2_trunc): New pattern
to handle popcount of a truncation.
2012-07-21 Andrew Pinski <apinski@cavium.com>
* gcc.target/mips/octeon-pop-2.c: New testcase.
From-SVN: r189744
Tobias Burnus [Sat, 21 Jul 2012 11:02:47 +0000 (13:02 +0200)]
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
2012-07-21 Tobias Burnus <burnus@net-b.de>
PR fortran/48820
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Support
lbound/ubound with dim= for assumed-rank arrays.
* array.c (gfc_set_array_spec): Reject coarrays with
assumed shape.
* decl.c (merge_array_spec): Ditto. Return gfc_try.
(match_attr_spec, match_attr_spec): Update call.
2012-07-21 Tobias Burnus <burnus@net-b.de>
PR fortran/48820
* gfortran.dg/assumed_rank_3.f90: New.
* gfortran.dg/assumed_rank_11.f90: New.
* gfortran.dg/assumed_rank_1.f90: Update dg-error.
* gfortran.dg/assumed_rank_2.f90: Update dg-error.
* gfortran.dg/assumed_rank_7.f90: Update dg-error.
From-SVN: r189743
Andrew Pinski [Sat, 21 Jul 2012 10:38:20 +0000 (10:38 +0000)]
mips-protos.h (mips_expand_ext_as_unaligned_load): Add a bool argument.
2012-07-21 Andrew Pinski <apinski@cavium.com>
* config/mips/mips-protos.h (mips_expand_ext_as_unaligned_load):
Add a bool argument.
* config/mips/mips.c (mips_block_move_straight): Update call to
mips_expand_ext_as_unaligned_load.
(mips_expand_ext_as_unaligned_load): Add unsigned_p argument.
Accept DImode dest when the width is that of SImode.
* config/mips/mips.md (extv): Update call to
mips_expand_ext_as_unaligned_load.
(extzv): Likewise.
2012-07-21 Andrew Pinski <apinski@cavium.com>
* gcc.target/mips/unaligned-1.c: New testcase.
From-SVN: r189742
Tobias Burnus [Sat, 21 Jul 2012 09:37:18 +0000 (11:37 +0200)]
resolve.c (resolve_formal_arglist): Put variable declaration before the first assignment.
2012-07-21 Tobias Burnus <burnus@net-b.de>
* resolve.c (resolve_formal_arglist): Put variable
declaration before the first assignment.
From-SVN: r189740
Tobias Burnus [Sat, 21 Jul 2012 09:27:04 +0000 (11:27 +0200)]
trans-expr.c (gfc_conv_derived_to_class): Fix argument passed to class_array_data_assign.
2012-07-21 Tobias Burnus <burnus@net-b.de>
* trans-expr.c (gfc_conv_derived_to_class): Fix argument passed
to class_array_data_assign.
From-SVN: r189739
Andrew Pinski [Sat, 21 Jul 2012 08:39:13 +0000 (08:39 +0000)]
mips.c (mips_get_unaligned_mem): Copy *op after calling adjust_address.
2012-07-21 Andrew Pinski <apinski@cavium.com>
* config/mips/mips.c (mips_get_unaligned_mem): Copy *op after calling
adjust_address.
From-SVN: r189738
GCC Administrator [Sat, 21 Jul 2012 00:17:32 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189737
Maxim Kuvyrkov [Sat, 21 Jul 2012 00:01:40 +0000 (00:01 +0000)]
mips.md (define_attr sync_*): Move before "type".
* config/mips/mips.md (define_attr sync_*): Move before "type".
(define_attr "type"): New values "atomic" and "syncloop".
* config/mips/sync.md (atomic_exchange<mode>, atomic_fetch_add<mode>):
Set "type" attribute.
* config/mips/generic.md (generic_atomic, generic_syncloop):
New reservations.
* gcc/config/mips/10000.md, gcc/config/mips/20kc.md,
* gcc/config/mips/24k.md, gcc/config/mips/4130.md,
* gcc/config/mips/4k.md, gcc/config/mips/5400.md,
* gcc/config/mips/5500.md, gcc/config/mips/5k.md,
* gcc/config/mips/7000.md, gcc/config/mips/74k.md,
* gcc/config/mips/9000.md, gcc/config/mips/loongson2ef.md,
* gcc/config/mips/loongson3a.md, gcc/config/mips/octeon.md,
* gcc/config/mips/sb1.md, gcc/config/mips/sr71k.md,
* gcc/config/mips/xlr.md: Handle "atomic" and "syncloop" types.
From-SVN: r189734
Hans-Peter Nilsson [Fri, 20 Jul 2012 22:25:09 +0000 (22:25 +0000)]
* gcc.c-torture/execute/
20101011-1.c (DO_TEST): Define as 0 for CRIS.
From-SVN: r189733
Oleg Endo [Fri, 20 Jul 2012 21:38:41 +0000 (21:38 +0000)]
Fix ChangeLog formatting.
From-SVN: r189731
Oleg Endo [Fri, 20 Jul 2012 21:37:27 +0000 (21:37 +0000)]
sh.md: Group and sort shift related patterns.
* config/sh/sh.md: Group and sort shift related patterns.
(ashlsi3_n, *ashlhi3_n, lshrsi3_n): Remove length attributes.
From-SVN: r189730
Hans-Peter Nilsson [Fri, 20 Jul 2012 21:32:18 +0000 (21:32 +0000)]
cris.c (cris_asm_output_ident): Remove unused local variables section_asm_op, size, buf.
* config/cris/cris.c (cris_asm_output_ident): Remove unused
local variables section_asm_op, size, buf.
From-SVN: r189729
Pat Haugen [Fri, 20 Jul 2012 21:31:30 +0000 (21:31 +0000)]
power4.md (power4-store-update): Fix reservation.
2012-07-20 Pat Haugen <pthaugen@us.ibm.com>
Steven Bosscher <steven@gcc.gnu.org>
* config/rs6000/power4.md (power4-store-update): Fix reservation.
(power4-three): Likewise.
Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r189728
Tobias Burnus [Fri, 20 Jul 2012 20:15:59 +0000 (22:15 +0200)]
decl.c (gfc_verify_c_interop_param): Allow assumed-shape with -std=f2008ts.
2012-07-20 Tobias Burnus <burnus@net-b.de>
* decl.c (gfc_verify_c_interop_param): Allow assumed-shape
with -std=f2008ts.
2012-07-20 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/bind_c_array_params_2.f90: New.
* gfortran.dg/bind_c_array_params.f03: Add -std=f2003
and update dg-error.
From-SVN: r189726
Tobias Burnus [Fri, 20 Jul 2012 20:05:50 +0000 (22:05 +0200)]
assumed_rank_12.f90: Update dg-error.
2012-07-20 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/assumed_rank_12.f90: Update dg-error.
From-SVN: r189725
Sameera Deshpande [Fri, 20 Jul 2012 17:12:03 +0000 (22:42 +0530)]
arm.c (arm_cortex_a15_tune): New tune.
gcc/
2012-07-20 Sameera Deshpande <sameera.deshpande@arm.com>
Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/arm.c (arm_cortex_a15_tune): New tune.
* config/arm/arm-cores.def (cortex-a15): Use it.
Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r189723
Sameera Deshpande [Fri, 20 Jul 2012 17:07:33 +0000 (22:37 +0530)]
arm-protos.h (tune_params): Add prefer_ldrd_strd.
gcc/
2012-07-20 Sameera Deshpande <sameera.deshpande@arm.com>
Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/arm-protos.h (tune_params): Add prefer_ldrd_strd.
* config/arm/arm.c (arm_slowmul_tune): Initialize it.
(arm_fastmul_tune, arm_strongarm_tune): Likewise.
(arm_xscale_tune, arm_9e_tune, arm_v6t2_tune): Likewise.
(arm_cortex_tune, arm_cortex_a5_tune, arm_cortex_a9_tune): Likewise.
(arm_fa726te_tune): Likewise.
Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r189722
Jason Merrill [Fri, 20 Jul 2012 16:11:42 +0000 (12:11 -0400)]
re PR c++/54038 (finalize_type_size enters infinite loop becasue TYPE_NEXT_VARIANT (variant) == variant)
PR c++/54038
* tree.c (build_cplus_array_type): Use build_cplus_array_type to build
canonical array type rather than mess with its TYPE_*_VARIANT.
From-SVN: r189719
Richard Guenther [Fri, 20 Jul 2012 12:56:41 +0000 (12:56 +0000)]
tree-dfa.c (collect_dfa_stats): Simplify.
2012-07-20 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (collect_dfa_stats): Simplify.
* tree-ssa-structalias.c (compute_may_aliases): Do not dump
referenced vars.
* cfgexpand.c (estimated_stack_frame_size): Walk over local
decls instead of referenced vars.
* tree-ssa.c (delete_tree_ssa): Simplify.
* tree-tailcall.c (find_tail_calls): Walk over local decls
instead of referenced vars.
(add_virtual_phis): Remove.
(tree_optimize_tail_calls_1): Instead mark the virtual operand
for renaming.
From-SVN: r189718
Steven Bosscher [Fri, 20 Jul 2012 12:25:55 +0000 (12:25 +0000)]
basic-block.h (BB_FLAGS_TO_PRESERVE): New define.
gcc/
* basic-block.h (BB_FLAGS_TO_PRESERVE): New define.
(brief_dump_cfg): Update prototype to take flags argument.
(check_bb_profile): Remove prototype.
* tracer.c (tracer): Update brief_dump_cfg calls.
* cfghooks.c (dump_bb): Do not pass TDF_COMMENT to dump_bb_info.
Call dump_bb_info before and after the cfghook dump_bb. Terminate
the dump with a newline.
(dump_flow_info): Do not call check_bb_profile.
* cfg.c (clear_bb_flags): Update using BB_FLAGS_TO_PRESERVE.
(check_bb_profile): Make static. Take indent and flags arguments.
(dump_bb_info): Always dump loop depth. With TDF_DETAILS, call
check_bb_profile. Print one edge per line.
(brief_dump_cfg): Take a flags argument, and filter out
TDF_COMMENT and TDF_DETAILS.
* pretty-print.c (pp_base_newline): Set pp_needs_newline to false.
* gimple-pretty-print.c (dump_gimple_bb_header): Do not use dump_bb_info
here, it is already called from dump_bb. Idem for check_bb_profile.
(dump_gimple_bb_footer): Likewise.
(gimple_dump_bb_buff): Call pp_flush after dump_gimple_stmt to
avoid broken dumps for statement histograms.
(gimple_dump_bb): Handle ENTRY_BLOCK and EXIT_BLOCK. Do
not call pp_flush here, the buffer should be empty.
* sched-rgn.c (debug_region): Pass TDF_BLOCKS to dump_bb.
* sched-vis.c (debug_bb_slim): Likewise.
* tree-cfg.c (remove_bb): Pass dump_flags to dump_bb.
(gimple_debug_bb): Pass TDF_BLOCKS to dump_bb.
(gimple_dump_cfg): Do brief_dump_cfg with TDF_COMMENT.
(dump_function_to_file): Do not call check_bb_profile on
ENTRY_BLOCK and EXIT_BLOCK, check_bb_profile doesn't handle them.
Use dump_bb instead of gimple_dump_bb.
(print_loops_bb): Use dump_bb instead of gimple_dump_bb.
* passes.c (execute_function_dump): Always call print_rtl_with_bb
for RTL dumps.
* cfgrtl.c (print_rtl_with_bb): Handle printing without an up-to-date
CFG. With TDF_BLOCKS and TDF_DETAILS, do DF dumps at the top and bottom
of each basic block.
testsuite/
* gcc.dg/tree-prof/update-loopch.c: Look for counts on the dumps of
the basic block and check loop depth.
* gcc.dg/tree-ssa/pr18133-1.c: Dump details, not blocks. Update
matching patterns and comments.
* gcc.dg/tree-ssa/
20031021-1.c: Fix check patterns.
* gcc.dg/tree-ssa/vector-2.c: Likewise.
From-SVN: r189717
Richard Guenther [Fri, 20 Jul 2012 11:24:55 +0000 (11:24 +0000)]
re PR tree-optimization/54031 (Revision 189607 miscompiles Linux kernel)
2012-07-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54031
* tree-ssa-ccp.c (get_value_from_alignment): Use
get_pointer_alignment_1.
From-SVN: r189715
Richard Guenther [Fri, 20 Jul 2012 09:59:55 +0000 (09:59 +0000)]
tree-inline.c (add_local_variables): Remove check_var_ann parameter and dead code.
2012-07-20 Richard Guenther <rguenther@suse.de>
* tree-inline.c (add_local_variables): Remove check_var_ann
parameter and dead code.
(expand_call_inline): Adjust.
(tree_function_versioning): Likewise.
From-SVN: r189712
Chip Salzenberg [Fri, 20 Jul 2012 09:48:57 +0000 (09:48 +0000)]
re PR libstdc++/54025 (atomic<chrono::duration> won't compile: chrono::duration::duration() is not C++11 compliant)
2012-07-20 Chip Salzenberg <chip@pobox.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/54025
* include/std/chrono (duration<>::duration): Fix per C++11.
* testsuite/20_util/duration/cons/54025.cc: New.
* testsuite/20_util/duration/cons/constexpr.cc: Adjust.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r189711
Paolo Carlini [Fri, 20 Jul 2012 09:44:15 +0000 (09:44 +0000)]
adl.cc: Add missing dg-requires.
2012-07-20 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
From-SVN: r189709
Jakub Jelinek [Fri, 20 Jul 2012 09:37:25 +0000 (11:37 +0200)]
re PR c++/28656 (duplicated null argument warning on memcpy())
PR c++/28656
* tree-vrp.c (nonnull_arg_p): Handle all nonnull attributes instead
of just the first one.
* c-common.c (check_function_nonnull): Handle multiple nonnull
attributes properly.
* c-c++-common/pr28656.c: New test.
From-SVN: r189707
Richard Guenther [Fri, 20 Jul 2012 08:31:26 +0000 (08:31 +0000)]
builtins.c (get_object_alignment_2): Correct offset handling when using type alignment of a MEM_REF kind base.
2012-07-20 Richard Guenther <rguenther@suse.de>
* builtins.c (get_object_alignment_2): Correct offset handling
when using type alignment of a MEM_REF kind base.
From-SVN: r189704
Kirill Yukhin [Fri, 20 Jul 2012 08:24:24 +0000 (08:24 +0000)]
re PR target/53877 (__lzcnt_u16/__lzcnt_u32/__lzcnt_u64 aren't implemented)
2012-07-20 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/53877
* config/i386/lzcntintrin.h (_lzcnt_u32): New.
(_lzcnt_u64): Ditto.
From-SVN: r189703
Jason Merrill [Fri, 20 Jul 2012 06:29:13 +0000 (02:29 -0400)]
re PR c++/54026 (template const struct with mutable members erroneously emitted to .rodata)
PR c++/54026
* typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
From-SVN: r189701
Tobias Burnus [Fri, 20 Jul 2012 05:56:37 +0000 (07:56 +0200)]
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
2012-07-20 Tobias Burnus <burnus@net-b.de>
PR fortran/48820
* array.c (match_array_element_spec, gfc_match_array_spec,
spec_size, gfc_array_dimen_size): Add support for
assumed-rank arrays.
* check.c (dim_rank_check): Ditto.
* class.c (gfc_add_component_ref): Ditto.
(gfc_build_class_symbol): Regard assumed-rank arrays
as having GFC_MAX_DIMENSIONS. And build extra class
container for a scalar pointer class.
* decl.c (merge_array_spec): Add assert.
* dump-parse-tree.c (show_array_spec): Add support for
assumed-rank arrays.
* expr.c (gfc_is_simply_contiguous): Ditto.
* gfortran.h (array_type): Ditto.
(gfc_array_spec, gfc_expr): Add comment to "rank" field.
* interface.c (compare_type_rank, argument_rank_mismatch,
compare_parameter, gfc_procedure_use): Ditto.
(compare_actual_formal): Fix NULL() to optional-dummy
handling for polymorphic dummies.
* module.c (mio_typespec): Add support for
assumed-rank arrays.
* resolve.c (resolve_formal_arglist, resolve_actual_arglist,
resolve_elemental_actual, resolve_global_procedure,
expression_shape, resolve_variable, update_ppc_arglist,
check_typebound_baseobject, gfc_resolve_expr,
resolve_fl_var_and_proc, gfc_resolve_finalizers,
resolve_typebound_procedure, resolve_symbol): Ditto.
(assumed_type_expr_allowed): Remove static variable.
(actual_arg, first_actual_arg): New static variables.
* simplify.c (simplify_bound, gfc_simplify_range): Add
support for assumed-rank arrays.
* trans-array.c (gfc_conv_array_parameter): Ditto.
(gfc_get_descriptor_dimension): New function, which returns
the descriptor.
(gfc_conv_descriptor_dimension): Use it.
(gfc_conv_descriptor_stride_get, gfc_conv_array_parameter):
Handle GFC_ARRAY_ASSUMED_RANK_CONT and AS_ASSUMED_RANK.
* trans-array.h (gfc_get_descriptor_dimension): New prototype.
* trans-decl. (gfc_build_dummy_array_decl,
gfc_trans_deferred_vars, add_argument_checking): Add
support for assumed-rank arrays.
* trans-expr.c (gfc_conv_expr_present, gfc_conv_variable,
gfc_conv_procedure_call): Ditto.
(get_scalar_to_descriptor_type, class_array_data_assign,
conv_scalar_to_descriptor): New static functions.
(gfc_conv_derived_to_class, gfc_conv_class_to_class): Use
them.
* trans-intrinsic.c (get_rank_from_desc): New function.
(gfc_conv_intrinsic_rank, gfc_conv_associated): Use it.
* trans-types.c (gfc_array_descriptor_base_caf,
gfc_array_descriptor_base): Make space for scalar array.
(gfc_is_nodesc_array, gfc_is_nodesc_array,
gfc_build_array_type, gfc_get_array_descriptor_base): Add
support for assumed-rank arrays.
* trans.h (gfc_array_kind): Add GFC_ARRAY_ASSUMED_RANK and
GFC_ARRAY_ASSUMED_RANK_CONT.
2012-07-20 Tobias Burnus <burnus@net-b.de>
PR fortran/48820
* gfortran.dg/assumed_type_3.f90: Update dg-error.
* gfortran.dg/assumed_rank_1.f90: New.
* gfortran.dg/assumed_rank_1_c.c: New.
* gfortran.dg/assumed_rank_2.f90: New.
* gfortran.dg/assumed_rank_4.f90: New.
* gfortran.dg/assumed_rank_5.f90: New.
* gfortran.dg/assumed_rank_6.f90: New.
* gfortran.dg/assumed_rank_7.f90: New.
* gfortran.dg/assumed_rank_8.f90: New.
* gfortran.dg/assumed_rank_8_c.c: New.
* gfortran.dg/assumed_rank_9.f90: New.
* gfortran.dg/assumed_rank_10.f90: New.
* gfortran.dg/assumed_rank_12.f90: New.
From-SVN: r189700
GCC Administrator [Fri, 20 Jul 2012 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r189695
Eric Botcazou [Thu, 19 Jul 2012 21:55:03 +0000 (21:55 +0000)]
* config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
From-SVN: r189689
Eric Botcazou [Thu, 19 Jul 2012 21:35:12 +0000 (21:35 +0000)]
tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the defining statement is a SSA name that occurs in abnormal...
* tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
defining statement is a SSA name that occurs in abnormal PHIs.
From-SVN: r189687
Eric Botcazou [Thu, 19 Jul 2012 21:22:04 +0000 (21:22 +0000)]
gimple-fold.c (canonicalize_constructor_val): Strip only useless type conversions.
* gimple-fold.c (canonicalize_constructor_val): Strip only useless type
conversions.
From-SVN: r189685
Eric Botcazou [Thu, 19 Jul 2012 21:09:53 +0000 (21:09 +0000)]
decl.c (gnat_to_gnu_entity): Try to ensure that an object of CW type initialized to a value is sufficiently...
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
that an object of CW type initialized to a value is sufficiently
aligned for this value.
From-SVN: r189682
Jakub Jelinek [Thu, 19 Jul 2012 20:48:25 +0000 (22:48 +0200)]
re PR rtl-optimization/53942 (unable to find a register to spill in class 'CREG')
PR rtl-optimization/53942
* function.c (assign_parm_setup_reg): Avoid zero/sign extension
directly from likely spilled non-fixed hard registers, move them
to pseudo first.
* gcc.dg/pr53942.c: New test.
From-SVN: r189681
Steve Ellcey [Thu, 19 Jul 2012 20:43:19 +0000 (20:43 +0000)]
mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in MIPS16 mode.
2012-07-19 Steve Ellcey <sellcey@mips.com>
* config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
MIPS16 mode.
From-SVN: r189680
Tobias Burnus [Thu, 19 Jul 2012 20:20:17 +0000 (22:20 +0200)]
trans-expr.c (gfc_conv_procedure_call): Fix handling of polymorphic arguments.
2012-07-19 Tobias Burnus <burnus@net-b.de>
* trans-expr.c (gfc_conv_procedure_call): Fix handling
of polymorphic arguments.
* resolve.c (resolve_formal_arglist): Ditto, mark polymorphic
assumed-shape arrays as such.
From-SVN: r189678
Jason Merrill [Thu, 19 Jul 2012 20:02:08 +0000 (16:02 -0400)]
re PR c++/54021 ([c++0x] __builtin_constant_p should be constexpr)
PR c++/54021
* call.c (build_cxx_call): Set optimize when folding
__builtin_constant_p in a constexpr function.
From-SVN: r189677
Jason Merrill [Thu, 19 Jul 2012 20:01:56 +0000 (16:01 -0400)]
re PR debug/53235 (
20120504 broke -fdebug-types-section)
PR debug/53235
* dwarf2out.c (generate_type_signature): Handle the case of DIE
being nested, rather than its declaration..
From-SVN: r189676
Richard Henderson [Thu, 19 Jul 2012 18:53:35 +0000 (11:53 -0700)]
ia64: Update vector multiply pattern names; delete dot_prod
With the even/odd v4hi multiply pattern names, we'll automatically
generate the same code for dot_prodv4hi. The dot_prodv8qi pattern
was actively incorrect wrt output mode.
* config/ia64/vect.md (smulv4hi3_highpart): New.
(umulv4hi3_highpart): New.
(vec_widen_smult_even_v4hi): Rename from pmpy2_even.
(vec_widen_smult_odd_v4hi): Rename from pmpy2_odd.
(udot_prodv8qi, sdot_prodv8qi): Remove.
(sdot_prodv4hi, udot_prodv4hi): Remove.
* config/ia64/ia64.c (ia64_expand_dot_prod_v8qi): Remove.
* config/ia64/ia64-protos.h: Update.
From-SVN: r189674
Richard Henderson [Thu, 19 Jul 2012 18:53:26 +0000 (11:53 -0700)]
Allow divmod on UNITS_PER_WORD vectors
* tree-vect-patterns.c (vect_recog_divmod_pattern): Do not require
vectors larger than UNITS_PER_WORD.
From-SVN: r189673
Richard Henderson [Thu, 19 Jul 2012 18:53:20 +0000 (11:53 -0700)]
Fix 0 != CODE_FOR_nothing thinko
* expr.c (store_constructor): Initialize icode with CODE_FOR_nothing.
* tree-vect-stmts.c (vectorizable_operation): Use LAST_INSN_CODE for
dummy != CODE_FOR_nothing value.
From-SVN: r189672
Tobias Burnus [Thu, 19 Jul 2012 17:39:49 +0000 (19:39 +0200)]
interface.c (compare_parameter, [...]): Fix handling of polymorphic arguments.
2012-07-19 Tobias Burnus <burnus@net-b.de>
* interface.c (compare_parameter, compare_actual_formal): Fix
handling of polymorphic arguments.
From-SVN: r189669
Eric Botcazou [Thu, 19 Jul 2012 15:44:00 +0000 (15:44 +0000)]
decl.c (gnat_to_gnu_entity): Do not look up the REP part of the base type in advance.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
look up the REP part of the base type in advance. Deal with that of
the variant types.
(get_rep_part): Be prepared for record types with fields.
From-SVN: r189666
Uros Bizjak [Thu, 19 Jul 2012 14:49:01 +0000 (16:49 +0200)]
tm.texi.in (MODE_AFTER): Add entity as the first macro argument.
* doc/tm.texi.in (MODE_AFTER): Add entity as the first macro argument.
* doc/tm.texi: Regenerate.
* mode-switching.c (optimize_mode_switching): Update MODE_AFTER call.
* config/sh/sh.h (MODE_AFTER): Update.
* config/epiphany/epiphany.h (MODE_AFTER): Update.
From-SVN: r189665
Diego Novillo [Thu, 19 Jul 2012 14:35:18 +0000 (10:35 -0400)]
Fix --produce_manifest flag in validate_failures.py.
When I added the functionality to use other summary files for
reporting, I broke the generation of manifests. When sum files are
passed on, we need to use the list. Otherwise, we need to find summary
files in the build directory.
This patch factors out that logic into a new function and calls it
from both the reporting and generation routines.
Committed to trunk.
* testsuite-management/validate_failures.py (CollectSumFiles):
Rename from GetSumFiles.
(GetSumFiles): Factor out of CheckExpectedResults.
(CheckExpectedResults): Call it.
(ProduceManifest): Call it.
From-SVN: r189662
Jakub Jelinek [Thu, 19 Jul 2012 14:02:32 +0000 (16:02 +0200)]
re PR middle-end/54017 (Incorrect implementation of infinite loops in OpenMP sections leads to SIGILL)
PR middle-end/54017
* tree-cfgcleanup.c (cleanup_omp_return): Remove.
(cleanup_tree_cfg_bb): Don't call it.
* omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
handling.
* c-c++-common/gomp/pr54017.c: New test.
From-SVN: r189658
Christian Bruel [Thu, 19 Jul 2012 11:56:09 +0000 (13:56 +0200)]
re PR target/54029 (SH: ICE in find_dead_or_set_registers)
PR target/54029
* config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
From-SVN: r189652
Richard Guenther [Thu, 19 Jul 2012 11:48:46 +0000 (11:48 +0000)]
tree-ssa-ccp.c (valid_lattice_transition): Clarify comment about transition from invariant to known bits.
2012-07-19 Richard Guenther <rguenther@suse.de>
Eric Botcazou <ebotcazou@adacore.com>
* tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
about transition from invariant to known bits.
(likely_value): Addresses with UNDEFINED components are
UNDEFINED.
* gnat.dg/loop_optimization11.adb: New testcase.
* gnat.dg/loop_optimization11_pkg.ads: Likewise.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r189650
Richard Guenther [Thu, 19 Jul 2012 08:48:01 +0000 (08:48 +0000)]
re PR tree-optimization/53970 (-ftree-vectorization does not handle well unaligned data)
2012-07-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53970
* tree-vect-data-refs.c (not_size_aligned): Avoid sign-compare
warning.
From-SVN: r189647
Tristan Gingold [Thu, 19 Jul 2012 07:29:24 +0000 (07:29 +0000)]
eh_personality.cc (__gxx_personality_seh0): New function.
libstdc++-v3/
* libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
Adjust for SEH.
* config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
libobjc/
* exception.c (__gnu_objc_personality_seh0): New function.
libjava/
* libgcj.ver: Add __gcj_personality_seh0.
* exception.cc (__gcj_personality_seh0): New function.
Adjust for SEH.
libgcc/
* unwind-seh.c: New file.
* unwind-generic.h: Include windows.h for SEH.
(_Unwind_Exception): Use 6 private fields for SEH.
(_GCC_specific_handler): Declare.
* unwind-c.c (__gcc_personality_seh0): New function.
Adjust for SEH.
* config/i386/libgcc-cygming.ver: New file.
* config/i386/t-seh-eh: New file.
* config.host (x86_64-*-mingw*): Default to seh.
gcc/
* opts.c (finish_options): Handle UI_SEH.
* expr.c (build_personality_function): Handle UI_SEH.
* dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH.
* coretypes.h (unwind_info_type): Add UI_SEH.
* config/i386/winnt.c (i386_pe_seh_emit_except_personality):
New function.
(i386_pe_seh_init_sections): Likewise.
* config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
(TARGET_ASM_INIT_SECTIONS): Define.
* common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
(i386_except_unwind_info): New function.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r189644
Jason Merrill [Thu, 19 Jul 2012 01:36:58 +0000 (21:36 -0400)]
* pt.c (instantiate_decl): Don't recheck substitutions.
From-SVN: r189640
Paolo Carlini [Thu, 19 Jul 2012 01:36:50 +0000 (01:36 +0000)]
DR 1170 PR c++/51213
DR 1170
PR c++/51213
* semantics.c (perform_access_checks): Add complain parm, return bool.
(perform_deferred_access_checks): Likewise.
(perform_or_defer_access_check): Likewise.
(speculative_access_check): Remove.
* call.c (enforce_access): Add complain parm, return bool.
* decl.c, friend.c, class.c, init.c, parser.c: Adjust callers.
* search.c: Adjust callers.
* cp-tree.h (TINFO_RECHECK_ACCESS_P): New macro.
(FNDECL_RECHECK_ACCESS_P): New macro.
* method.c (synthesized_method_walk): Stop deferring access checks.
* pt.c (recheck_decl_substitution): New.
(instantiate_template_1): Set and check FNDECL_RECHECK_ACCESS_P.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r189639
Jason Merrill [Thu, 19 Jul 2012 01:36:41 +0000 (21:36 -0400)]
method.c (process_subob_fn): Make sure no_implicit_p is non-null before trying to store through it.
* method.c (process_subob_fn): Make sure no_implicit_p is non-null
before trying to store through it.
From-SVN: r189638
GCC Administrator [Thu, 19 Jul 2012 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189637
Diego Novillo [Wed, 18 Jul 2012 19:55:46 +0000 (15:55 -0400)]
validate_failures.py: Fix /usr/bin/python invocation.
* testsuite-management/validate_failures.py: Fix
/usr/bin/python invocation.
From-SVN: r189631
Jason Merrill [Wed, 18 Jul 2012 19:51:36 +0000 (15:51 -0400)]
cp-demangle.c (cplus_demangle_operators): Add *_cast.
* cp-demangle.c (cplus_demangle_operators): Add *_cast.
(op_is_new_cast): New.
(d_expression, d_print_comp): Check it.
From-SVN: r189630
Uros Bizjak [Wed, 18 Jul 2012 19:40:46 +0000 (21:40 +0200)]
ChangeLog.libgcj: Move last two entries ...
* ChangeLog.libgcj: Move last two entries ...
* ChangeLog: ... here.
From-SVN: r189627
H.J. Lu [Wed, 18 Jul 2012 19:19:34 +0000 (19:19 +0000)]
Define FFI_SIZEOF_JAVA_RAW to 4 for x32
PR libffi/53982
PR libffi/53973
* src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for
x32.
(FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
From-SVN: r189626
Uros Bizjak [Wed, 18 Jul 2012 19:00:33 +0000 (21:00 +0200)]
* include/x86_64-signal.h (HANDLE_DIVIDE_OVERFLOW): Fix whitespace.
From-SVN: r189625
Maciej W. Rozycki [Wed, 18 Jul 2012 18:13:09 +0000 (18:13 +0000)]
mips.opt (mmcu): New option.
2012-07-18 Maciej W. Rozycki <macro@codesourcery.com>
Chao-ying Fu <fu@mips.com>
* config/mips/mips.opt (mmcu): New option.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
_mips_mcu when TARGET_MCU.
(ASM_SPEC): Pass mcu options to the assembler.
* doc/invoke.texi (MIPS Options): Document -mmcu and -mno-mcu.
Co-Authored-By: Chao-ying Fu <fu@mips.com>
From-SVN: r189624
H.J. Lu [Wed, 18 Jul 2012 18:09:49 +0000 (18:09 +0000)]
Skip 67h address size prefix unconditionally
PR libjava/53973
* include/x86_64-signal.h (CHECK_67H_PREFIX): Removed.
(HANDLE_DIVIDE_OVERFLOW): Skip 67h address size prefix
unconditionally.
From-SVN: r189623
H.J. Lu [Wed, 18 Jul 2012 17:38:37 +0000 (17:38 +0000)]
Check and skip 67h address size prefix for x32
PR libjava/53973
* include/x86_64-signal.h (CHECK_67H_PREFIX): New.
(HANDLE_DIVIDE_OVERFLOW): Check and and skip 67h address size
prefix if CHECK_67H_PREFIX is 1. Use ULL suffix for 64-bit
integer.
From-SVN: r189621
Julian Brown [Wed, 18 Jul 2012 16:27:37 +0000 (16:27 +0000)]
20101011-1.c: Skip on bare-metal m68k.
2012-07-18 Julian Brown <julian@codesourcery.com>
Sandra Loosemore <sandra@codesroucery.com>
gcc/testsuite/
* gcc.c-torture/execute/
20101011-1.c: Skip on bare-metal m68k.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r189620
Ralf Corsepius [Wed, 18 Jul 2012 15:29:51 +0000 (17:29 +0200)]
config.gcc (v850-*-rtems*): New target.
2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
* config.gcc (v850-*-rtems*): New target.
* config/v850/rtems.h: New.
* config/v850/t-rtems: New.
From-SVN: r189618
Bill Schmidt [Wed, 18 Jul 2012 15:15:36 +0000 (15:15 +0000)]
invoke.texi: Add -fhoist-adjacent-loads and -ftree-slsr to list of flags controlling...
2012-07-18 Bill Schmidt <wschmidt@linux.ibm.com>
* doc/invoke.texi: Add -fhoist-adjacent-loads and -ftree-slsr to list
of flags controlling optimization; add -ftree-slsr to list of flags
enabled by default at -O; add -fhoist-adjacent-loads to list of flags
enabled by default at -O2; add -fvect-cost-model to list of flags
enabled by default at -O3; document -fhoist-adjacent-loads and
-ftree-slsr.
* opts.c (default_option): Make -ftree-slsr default at -O1 and above.
* gimple-ssa-strength-reduction.c (gate_strength_reduction): Use
flag_tree_slsr.
* common.opt: Add -ftree-slsr with flag_tree_slsr.
From-SVN: r189617
Eric Botcazou [Wed, 18 Jul 2012 12:20:06 +0000 (12:20 +0000)]
trans.c (stmt_group_may_fallthru): New function.
* gcc-interface/trans.c (stmt_group_may_fallthru): New function.
(gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the
block needs to be translated.
From-SVN: r189612
Jie Zhang [Wed, 18 Jul 2012 11:29:45 +0000 (11:29 +0000)]
arm.c (arm_rtx_costs_1): Adjust cost for CONST_VECTOR.
gcc/
* config/arm/arm.c (arm_rtx_costs_1): Adjust cost for
CONST_VECTOR.
(arm_size_rtx_costs): Likewise.
(neon_valid_immediate): Add a case for double 0.0.
gcc/testsuite/
* gcc.target/arm/neon-vdup-1.c: New test case.
* gcc.target/arm/neon-vdup-2.c: New test case.
* gcc.target/arm/neon-vdup-3.c: New test case.
* gcc.target/arm/neon-vdup-4.c: New test case.
* gcc.target/arm/neon-vdup-5.c: New test case.
* gcc.target/arm/neon-vdup-6.c: New test case.
* gcc.target/arm/neon-vdup-7.c: New test case.
* gcc.target/arm/neon-vdup-8.c: New test case.
* gcc.target/arm/neon-vdup-9.c: New test case.
* gcc.target/arm/neon-vdup-10.c: New test case.
* gcc.target/arm/neon-vdup-11.c: New test case.
* gcc.target/arm/neon-vdup-12.c: New test case.
* gcc.target/arm/neon-vdup-13.c: New test case.
* gcc.target/arm/neon-vdup-14.c: New test case.
* gcc.target/arm/neon-vdup-15.c: New test case.
* gcc.target/arm/neon-vdup-16.c: New test case.
* gcc.target/arm/neon-vdup-17.c: New test case.
* gcc.target/arm/neon-vdup-18.c: New test case.
* gcc.target/arm/neon-vdup-19.c: New test case.
* gcc.target/arm/neon-combine-sub-abs-into-vabd.c: Make intrinsic
arguments non-constant.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r189611
Andrew Stubbs [Wed, 18 Jul 2012 11:25:32 +0000 (11:25 +0000)]
gcc/
* config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp)
(*movdi_vfp_cortexa8, *movsf_vfp, *thumb2_movsf_vfp)
(*movdf_vfp, *thumb2_movdf_vfp, *movsfcc_vfp)
(*thumb2_movsfcc_vfp, *movdfcc_vfp, *thumb2_movdfcc_vfp): Add
neon_type.
* config/arm/arm.md (neon_type): Update comment.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
From-SVN: r189610
Richard Guenther [Wed, 18 Jul 2012 10:46:05 +0000 (10:46 +0000)]
re PR tree-optimization/53970 (-ftree-vectorization does not handle well unaligned data)
2012-07-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53970
* tree.h (contains_packed_reference): Remove.
* expr.c (contains_packed_reference): Likewise.
* tree-vect-data-refs.c (not_size_aligned): New function.
(vector_alignment_reachable_p): Use it.
(vect_supportable_dr_alignment): Likewise.
* g++.dg/torture/pr53970.C: New testcase.
From-SVN: r189609
Richard Guenther [Wed, 18 Jul 2012 08:49:55 +0000 (08:49 +0000)]
tree.h (get_object_or_type_alignment): Remove.
2012-07-18 Richard Guenther <rguenther@suse.de>
* tree.h (get_object_or_type_alignment): Remove.
* builtins.c (get_object_alignment_2): New function copied from
get_object_alignment_1. Take extra argument to indicate whether
we take the address of EXP. Rework to use type alignment information
if not, and return whether the result is an approximation or not.
(get_object_alignment_1): Wrap around get_object_alignment_2.
(get_pointer_alignment_1): Call get_object_alignment_2 indicating
we take the address.
(get_object_or_type_alignment): Remove.
* expr.c (expand_assignment): Call get_object_alignment.
(expand_expr_real_1): Likewise.
From-SVN: r189607
Oleg Endo [Wed, 18 Jul 2012 07:56:57 +0000 (07:56 +0000)]
re PR target/38621 (sh gcc unable to spill register when building ghostscript-gpl with -O2)
PR target/38621
* gcc.c-torture/compile/pr38621.c: New.
From-SVN: r189605
Nick Clifton [Wed, 18 Jul 2012 07:56:37 +0000 (07:56 +0000)]
* doc/invoke.texi (ARM Options): Document -munaligned-access.
From-SVN: r189604
Oleg Endo [Wed, 18 Jul 2012 07:51:36 +0000 (07:51 +0000)]
sh.md (mulsidi3, umulsidi3): Remove constraints in expander.
* config/sh/sh.md (mulsidi3, umulsidi3): Remove constraints in
expander. Use arith_reg_dest predicate.
(rotldi3, rotrdi3): Remove constraints in expander.
(adddi3_compact, subdi3_compact, mulsidi3_compact, umulsidi3_compact,
ashlsi3_n, *ashlhi3_n, ashrsi2_16, ashrsi2_31, lshrsi3_n): Convert to
insn_and_split.
From-SVN: r189603
Oleg Endo [Wed, 18 Jul 2012 07:49:50 +0000 (07:49 +0000)]
re PR target/33135 ([SH] -ffinite-math-only should not be on by default)
PR target/33135
* config/sh/sh.opt (mieee): Use Var instead of Mask. Correct
description.
* config/sh/sh.c (sh_option_override): Do not change
flag_finite_math_only. Set TARGET_IEEE to complement of
flag_finite_math_only.
* doc/invoke.texi (SH options): Add mno-ieee. Correct description
of mieee and mno-ieee behavior.
PR target/33135
* gcc.target/sh/pr33135-1.c: New.
* gcc.target/sh/pr33135-2.c: New.
* gcc.target/sh/pr33135-3.c: New.
* gcc.target/sh/pr33135-4.c: New.
From-SVN: r189602
Steven Bosscher [Wed, 18 Jul 2012 07:32:21 +0000 (07:32 +0000)]
* graphite-poly.c (print_pbb_body): Fixup dump_bb call.
From-SVN: r189601
Jason Merrill [Wed, 18 Jul 2012 02:47:59 +0000 (22:47 -0400)]
re PR c++/53995 (Overload resolution fails with enum argument, says <anonymous enum>)
PR c++/53995
* decl.c (finish_enum_value_list): Only call
insert_late_enum_def_into_classtype_sorted_fields in class scope.
From-SVN: r189598
Kazu Hirata [Wed, 18 Jul 2012 01:11:41 +0000 (01:11 +0000)]
pr36134.c: Use dg-skip-if to skip the testcase if there is a conflict with -mcpu=.
2012-07-17 Kazu Hirata <kazu@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite/
* gcc.target/m68k/pr36134.c: Use dg-skip-if to skip the testcase
if there is a conflict with -mcpu=. Use -mcpu=5208.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r189596
GCC Administrator [Wed, 18 Jul 2012 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189594
Steven Bosscher [Tue, 17 Jul 2012 23:59:01 +0000 (23:59 +0000)]
fix botched commit
From-SVN: r189591
Steven Bosscher [Tue, 17 Jul 2012 23:17:20 +0000 (23:17 +0000)]
dumpfile.h (TDF_COMMENT): New define.
* dumpfile.h (TDF_COMMENT): New define.
* basic-block.h (EDGE_FALLTHRU, EDGE_ABNORMAL, EDGE_ABNORMAL_CALL,
EDGE_EH, EDGE_FAKE, EDGE_DFS_BACK, EDGE_CAN_FALLTHRU,
EDGE_IRREDUCIBLE_LOOP, EDGE_SIBCALL, EDGE_LOOP_EXIT, EDGE_TRUE_VALUE,
EDGE_FALSE_VALUE, EDGE_EXECUTABLE, EDGE_CROSSING, EDGE_PRESERVE):
Move to new file cfg-flags.h.
(enum cfg_edge_flags): New enum, using cfg-flags.h.
(EDGE_ALL_FLAGS): Compute value automatically.
(BB_NEW, BB_REACHABLE, BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK,
BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION,
BB_DUPLICATED, BB_NON_LOCAL_GOTO_TARGET, BB_RTL,
BB_FORWARDER_BLOCK, BB_NONTHREADABLE_BLOCK, BB_MODIFIED, BB_VISITED,
BB_IN_TRANSACTION): Move to new file cfg-flags.h.
(enum bb_flags): Rename to cfg_bb_flags. Use cfg-flags.h.
(BB_ALL_FLAGS): New, compute value automatically.
(dump_bb_info): Update prototype.
(dump_edge_info): Update prototype.
* cfg-flags.h: New file.
* cfg.c (dump_edge_info): Take flags argument. Be verbose only if
TDF_DETAILS and not TDF_SLIM. Include cfg-flags.h for bitnames.
Check that the edge flags are within the range of EDGE_ALL_FLAGS.
(debug_bb): Update dump_bb call.
(dump_cfg_bb_info): Remove.
(dump_bb_info): New function. Use cfg-flags.h for bitnames.
Adjust verbosity using TDF_* flags. Check that the basic block flags
are within the range of BB_ALL_FLAGS.
(brief_dump_cfg): Use dump_bb_info instead of dump_cfg_bb_info.
* cfghooks.h (struct cfghooks): Update dump_bb hook, take a FILE
first for consistency with other dump functions.
(dump_bb): Update prototype accordingly.
* cfghooks.c: Include dumpfile.h.
(verify_flow_info): Update dump_edge_info calls.
(dump_bb): Take a flags argument and pass it around.
Use dump_bb_info to dump common information about a basic block.
(dump_flow_info): Moved here from cfgrtl.c. Make IL agnostic.
(debug_flow_info): Moved here from cfgrtl.c.
* profile.c (is_edge_inconsistent): Update dump_bb calls.
* loop-invariant.c (find_defs): Update print_rtl_with_bb call.
* rtl.h (debug_bb_n_slim, debug_bb_slim, print_rtl_slim,
print_rtl_slim_with_bb): Remove prototypes.
(dump_insn_slim): Adjust prototype to take a const_rtx.
(print_rtl_with_bb): Adjust prototype.
* sched-rgn.c (debug_region): Use dump_bb instead of debug_bb_n_slim.
* sched-vis.c (dump_insn_slim): Take a const_rtx.
(debug_insn_slim): Prototype here near DEBUG_FUNCTION marker.
(print_rtl_slim_with_bb): Remove.
(print_rtl_slim): Rename to debug_rtl_slim. Print only insn info,
not basic block info (print_rtl_with_bb with TDF_SLIM should be used
for that. Prototype here near DEBUG_FUNCTION marker.
(debug_bb_slim): Prototype here near DEBUG_FUNCTION marker.
Use dump_bb.
(debug_bb_n_slim): Prototype here near DEBUG_FUNCTION marker.
* tree-cfg.c (gimple_can_merge_blocks_p): Use EDGE_COMPLEX.
(remove_bb): Update dump_bb call.
(gimple_debug_bb): Use dump_bb.
(dump_function_to_file): Update gimple_dump_bb call.
(print_loops_bb): Likewise.
* tree-flow.h (gimple_dump_bb): Update prototype.
* gimple-pretty-print.c (dump_bb_header): Rename to
dump_gimple_bb_header. Write to a stream instead of a pretty
printer. Use dump_bb_info to dump basic block info.
(dump_bb_end): Rename to dump_gimple_bb_footer. Write to a
stream instead of a pretty printer. Use dump_bb_info.
(gimple_dump_bb_buff): Do not call dump_bb_header and dump_bb_end.
(gimple_dump_bb): Do it here with dump_gimple_bb_header and
dump_gimple_bb_footer.
* cfgrtl.c (rtl_dump_bb): Update prototype. Only dump DF if the
dump flags have TDF_DETAILS. Use dump_insn_slim if TDF_SLIM.
(print_rtl_with_bb): Take a flags argument and pass it around.
Use dump_insn_slim if TDF_SLIM.
(dump_bb_info): Removed and re-incarnated in cfg.c.
(dump_flow_info): Moved to cfghooks.c.
(debug_flow_info): Moved to cfghooks.c.
* passes.c (execute_function_dump): Unconditionally use
print_rtl_with_bb for RTL dumps, now that it understands TDF_SLIM.
* final.c (dump_basic_block_info): Update dump_edge_info calls.
* tree-vrp.c (dump_asserts_for): Likewise.
* ifcvt.c (if_convert): Unconditionally use print_rtl_with_bb.
* tree-if-conv.c (if_convertible_bb_p): Don't look at
EDGE_ABNORMAL_CALL, it has no meaning in the GIMPLE world.
* trans-mem.c (make_tm_edge): Don't set EDGE_ABNORMAL_CALL,
for the same reason.
* config/rl78/rl78.c (rl78_reorg): Update print_rtl_with_bb calls.
From-SVN: r189590
Janus Weil [Tue, 17 Jul 2012 21:51:20 +0000 (23:51 +0200)]
re PR fortran/51081 ([F03] Proc-pointer assignment: Rejects valid internal proc)
2012-07-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/51081
* error.c (gfc_notify_std): Automatically print the relevant Fortran
standard version.
* arith.c (arith_power): Remove explicit standard reference string.
* array.c (gfc_match_array_spec, gfc_match_array_constructor): Ditto.
* check.c (gfc_check_a_p, gfc_check_besn, gfc_check_count,
gfc_check_float, gfc_check_fn_rc2008, gfc_check_iand,
gfc_check_ichar_iachar, gfc_check_ieor, gfc_check_index, gfc_check_ior,
gfc_check_lbound, gfc_check_len_lentrim, check_rest, gfc_check_min_max,
gfc_check_null, gfc_check_scan, gfc_check_selected_real_kind,
gfc_check_shape, gfc_check_size, gfc_check_sngl, gfc_check_ubound,
gfc_check_verify): Ditto.
* data.c (gfc_assign_data_value): Ditto.
* decl.c (var_element, char_len_param_value, match_char_length,
gfc_verify_c_interop_param, match_pointer_init, variable_decl,
gfc_match_decl_type_spec, gfc_match_import, match_attr_spec,
gfc_match_prefix, gfc_match_suffix, match_ppc_decl,
match_procedure_in_interface, gfc_match_procedure,gfc_match_entry,
gfc_match_subroutine, gfc_match_end, gfc_match_codimension,
gfc_match_protected, gfc_match_value, gfc_match_volatile,
gfc_match_asynchronous, gfc_match_modproc, gfc_get_type_attr_spec,
gfc_match_enum, match_procedure_in_type): Ditto.
* expr.c (check_elemental, gfc_check_assign, gfc_check_pointer_assign):
Ditto.
* interface.c (gfc_match_abstract_interface, check_interface0): Ditto.
* intrinsic.c (gfc_intrinsic_func_interface): Ditto.
* io.c (format_lex, resolve_tag_format, resolve_tag,
compare_to_allowed_values, gfc_match_open, gfc_match_rewind,
gfc_resolve_dt, gfc_match_wait): Ditto.
* match.c (match_arithmetic_if, gfc_match_if, gfc_match_critical,
gfc_match_do, match_exit_cycle, gfc_match_pause, gfc_match_stop,
gfc_match_lock, sync_statement, gfc_match_assign, gfc_match_goto,
gfc_match_allocate, gfc_match_return, gfc_match_st_function): Ditto.
* module.c (gfc_match_use, gfc_use_module): Ditto.
* parse.c (parse_derived_contains, parse_block_construct,
parse_associate, parse_contained): Ditto.
* primary.c (match_hollerith_constant, match_boz_constant,
match_real_constant, match_sym_complex_part, match_arg_list_function,
build_actual_constructor, gfc_convert_to_structure_constructor): Ditto.
* resolve.c (resolve_formal_arglist, resolve_entries,
resolve_common_blocks, resolve_actual_arglist, gfc_resolve_index_1,
gfc_resolve_iterator_expr, resolve_ordinary_assign,
resolve_fl_var_and_proc, resolve_fl_variable_derived,
resolve_fl_procedure, resolve_fl_derived0, resolve_fl_derived,
resolve_fl_namelist, resolve_symbol, resolve_fntype): Ditto.
* symbol.c (check_conflict, conflict, gfc_add_is_bind_c,
gfc_add_extension, gfc_check_symbol_typed): Ditto.
From-SVN: r189589
Jason Merrill [Tue, 17 Jul 2012 21:34:06 +0000 (17:34 -0400)]
re PR c++/53989 (Internal compiler error in strip_typedefs, at cp/tree.c:1187)
PR c++/53989
* tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
to the list of variants.
From-SVN: r189587
Tobias Burnus [Tue, 17 Jul 2012 20:07:32 +0000 (22:07 +0200)]
re PR fortran/53985 (-Wno-c-binding-type still prints a warning)
2012-07-17 Tobias Burnus <burnus@net-b.de>
PR fortran/53985
* decl.c (gfc_verify_c_interop_param): Make warning conditional
on -Wc-binding-type works and improve the wording.
2012-07-17 Tobias Burnus <burnus@net-b.de>
PR fortran/53985
* gfortran.dg/bind_c_usage_26.f90: New.
* gfortran.dg/bind_c_procs.f03: Add dg-options
* "-Wc-binding-type".
* gfortran.dg/bind_c_usage_13.f03: Ditto.
* gfortran.dg/bind_c_usage_18.f90: Ditto.
* gfortran.dg/interop_params.f03: Ditto.
From-SVN: r189586
Jason Merrill [Tue, 17 Jul 2012 18:09:10 +0000 (14:09 -0400)]
decl.c (xref_basetypes): Complain about incomplete template base.
* decl.c (xref_basetypes): Complain about incomplete template base.
* class.c (finish_struct): Adjust variants in templates, too.
From-SVN: r189583
Jason Merrill [Tue, 17 Jul 2012 18:08:59 +0000 (14:08 -0400)]
re PR c++/53549 (g++ and armadillo 3.2.0, operator() is inaccessible)
PR c++/53549
* parser.c (cp_parser_class_head): Call xref_basetypes here.
(cp_parser_class_specifier_1): Not here.
* pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
as well as DECL_DEPENDENT_P.
From-SVN: r189582
Richard Guenther [Tue, 17 Jul 2012 15:12:05 +0000 (15:12 +0000)]
tree-vect-data-refs.c (vect_get_new_vect_var): Add referenced vars here, use create_tmp_reg where appropriate.
2012-07-17 Richard Guenther <rguenther@suse.de>
* tree-vect-data-refs.c (vect_get_new_vect_var): Add referenced
vars here, use create_tmp_reg where appropriate.
(vect_create_addr_base_for_vector_ref): Do not add referenced
vars here, use create_tmp_reg where appropriate.
(vect_create_data_ref_ptr): Likewise.
(vect_create_destination_var): Likewise.
(vect_permute_store_chain): Likewise.
(vect_permute_load_chain): Likewise.
* tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
Likewise.
* tree-vect-loop.c (get_initial_def_for_induction): Likewise.
* tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
(vect_handle_widen_op_by_const): Likewise.
* tree-vect-stmts.c (vect_init_vector): Likewise.
(vectorizable_load): Likewise.
From-SVN: r189581
Tom de Vries [Tue, 17 Jul 2012 13:49:51 +0000 (13:49 +0000)]
hwint.c: Fix loop range.
2012-07-17 Tom de Vries <tom@codesourcery.com>
* hwint.c: Fix loop range.
From-SVN: r189577