1. 11 Dec, 2013 21 commits
    • compiler: Minor fixes for recover thunks. · de04d95e
      Avoid name collisions when a method calls recover.
      
      Don't crash if a method with an unnamed receiver calls
      recover.
      
      From-SVN: r205906
      Ian Lance Taylor committed
    • re PR rtl-optimization/59446 (loop2_doloop creates constant comparison and dead jump) · 6d4fbcc9
      	PR rtl-optimization/59446
      	* tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
      	test for crossing a loop header.
      
      From-SVN: r205905
      Jeff Law committed
    • re PR target/59390 (presence of __attribute__((target("fma"))) declaration breaks __builtin_fma) · 26084432
      2013-12-11  Sriraman Tallam  <tmsriram@google.com>
      
      	PR target/59390
      	* config/i386/i386.c (get_builtin): New function.
      	(ix86_builtin_vectorized_function): Replace all instances of
      	ix86_builtins[...] with get_builtin(...).
      	(ix86_builtin_reciprocal): Ditto.
      
      	PR target/59390
      	* gcc.target/i386/pr59390.c: New test.
      	* gcc.target/i386/pr59390_1.c: New test.
      	* gcc.target/i386/pr59390_2.c: New test.
      
      Tested boot-strap on all languages and test parity on x86_64 and with -m32.
      
      From-SVN: r205904
      Sriraman Tallam committed
    • fpu-387.h (sigill_hdlr, [...]): Emit · 711df88d
      2013-12-11  Tobias Burnus  <burnus@net-b.de>
      
              * config/fpu-387.h (sigill_hdlr, get_fpu_rounding_mode): Emit
              * SSE
              instructions when __SSE_MATH__ is defined.
      
      From-SVN: r205903
      Tobias Burnus committed
    • Added Compiler Support for _Cilk_spawn and _Cilk_sync for C++. · 12893402
      gcc/c-family/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
              * cilk.c (cilk_outline): Made this function non-static.
      	(gimplify_cilk_spawn): Removed pre_p and post_p arguments.
      	(create_cilk_wrapper): Added a new parameter: a function pointer.
      	(c_install_body_w_frame_cleanup): Remove
      	(extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
              * c-common.h (cilk_outline): New prototype.
      	(gimplify_cilk_spawn): Removed two parameters.
              (cilk_install_body_with_frame_cleanup): New prototype.
      	* c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
      	CILK_SPAWN_STMT case.
      
      gcc/c/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      	
      	* c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
      	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
      	(LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
      	* c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
      
      gcc/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
              * langhooks.h (lang_hooks_for_decls): Remove lang_hooks_for_cilkplus.
      	(lang_hooks_for_cilkplus): Remove.
      	* langhooks.c (lhd_cilk_detect_spawn): Likewise.
      	(lhd_install_body_with_frame_cleanup): Likewise.
      	* langhooks-def.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
      	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
      	(LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
      	(LANG_HOOKS_CILKPLUS): Likewise.
      	(LANG_HOOKS_DECLS): Remove LANG_HOOKS_CILKPLUS.
      	* gimplify.c (gimplify_expr): Removed CILK_SPAWN_STMT case.
      	(gimplify_modify_expr): Removed handling of _Cilk_spawn in expr.
      	(gimplify_call_expr): Likewise.
       
      gcc/cp/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
              * cp-tree.h (cilk_valid_spawn): New prototype.
              (gimplify_cilk_spawn): Likewise.
              (create_try_catch_expr): Likewise.
              * decl.c (finish_function): Insert Cilk function-calls when a
              _Cilk_spawn is used in a function.
              * parser.c (cp_parser_postfix_expression): Added RID_CILK_SPAWN and
              RID_CILK_SYNC cases.
              * cp-cilkplus.c (set_cilk_except_flag): New function.
              (set_cilk_except_data): Likewise.
              (cilk_install_body_with_frame_cleanup): Likewise.
              * except.c (create_try_catch_expr): Likewise.
              * parser.h (IN_CILK_SPAWN): New #define.
              * pt.c (tsubst_expr): Added CILK_SPAWN_STMT and CILK_SYNC_STMT cases.
              * semantics.c (potential_constant_expression_1): Likewise.
              * typeck.c (cp_build_compound_expr): Reject a spawned function in a
              compound expression.
              (check_return_expr): Reject a spawned function in a return expression.
      	* cp-gimplify.c (cp_gimplify_expr): Added a CILK_SPAWN_STMT and
      	CALL_EXPR case.  Added handling of spawned function in MODIFY_EXPR
      	and INIT_EXPR.
      
      gcc/testsuite/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
              * g++.dg/cilk-plus/CK/catch_exc.cc: New test case.
              * g++.dg/cilk-plus/CK/const_spawn.cc: Likewise.
              * g++.dg/cilk-plus/CK/fib-opr-overload.cc: Likewise.
              * g++.dg/cilk-plus/CK/fib-tplt.cc: Likewise.
              * g++.dg/cilk-plus/CK/lambda_spawns.cc: Likewise.
              * g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc: Likewise.
              * g++.dg/cilk-plus/cilk-plus.exp: Added support to run Cilk Keywords
              test stored in c-c++-common.  Also, added the Cilk runtime's library
              to the ld_library_path.
      
      From-SVN: r205902
      Balaji V. Iyer committed
    • expr.c (expand_assignment): Remove dependency on flag_strict_volatile_bitfields. · 996947e6
      2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * expr.c (expand_assignment): Remove dependency on
              flag_strict_volatile_bitfields. Always set the memory
              access mode.
              (expand_expr_real_1): Likewise.
      
      From-SVN: r205899
      Bernd Edlinger committed
    • re PR middle-end/59134 (infinite loop between store_fixed_bit_field and… · ebb99f96
      re PR middle-end/59134 (infinite loop between store_fixed_bit_field and store_split_bit_field with STRICT_ALIGNMENT)
      
      2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR middle-end/59134
              * expmed.c (store_bit_field): Use narrow_bit_field_mem and
              store_fixed_bit_field_1 for -fstrict-volatile-bitfields.
              (store_fixed_bit_field): Split up.  Call store_fixed_bit_field_1
              to do the real work.
              (store_fixed_bit_field_1): New function.
              (store_split_bit_field): Limit the unit size to the memory mode size,
              to prevent recursion.
              
      testsuite:
              * gcc.c-torture/compile/pr59134.c: New test.
              * gnat.dg/misaligned_volatile.adb: New test.
      
      From-SVN: r205898
      Bernd Edlinger committed
    • re PR middle-end/23623 (volatile keyword changes bitfield access size from 32bit to 8bit) · 6f4e9cf8
      2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
                  Sandra Loosemore  <sandra@codesourcery.com>
      
              PR middle-end/23623
              PR middle-end/48784
              PR middle-end/56341
              PR middle-end/56997
              * expmed.c (strict_volatile_bitfield_p): Add bitregion_start
              and bitregion_end parameters.  Test for compliance with C++
              memory model.
              (store_bit_field): Adjust call to strict_volatile_bitfield_p.
              Add fallback logic for cases where -fstrict-volatile-bitfields
              is supposed to apply, but cannot.
              (extract_bit_field): Likewise. Use narrow_bit_field_mem and
              extract_fixed_bit_field_1 to do the extraction.
              (extract_fixed_bit_field): Revert to previous mode selection algorithm.
              Call extract_fixed_bit_field_1 to do the real work.
              (extract_fixed_bit_field_1): New function.
      
      testsuite:        
              * gcc.dg/pr23623.c: Update to test interaction with C++
              memory model.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r205897
      Bernd Edlinger committed
    • re PR middle-end/23623 (volatile keyword changes bitfield access size from 32bit to 8bit) · f5d4f18c
      2013-12-11  Sandra Loosemore  <sandra@codesourcery.com>
      
              PR middle-end/23623
              PR middle-end/48784
              PR middle-end/56341
              PR middle-end/56997
      
              gcc/
              * expmed.c (strict_volatile_bitfield_p): New function.
              (store_bit_field_1): Don't special-case strict volatile
              bitfields here.
              (store_bit_field): Handle strict volatile bitfields here instead.
              (store_fixed_bit_field): Don't special-case strict volatile
              bitfields here.
              (extract_bit_field_1): Don't special-case strict volatile
              bitfields here.
              (extract_bit_field): Handle strict volatile bitfields here instead.
              (extract_fixed_bit_field): Don't special-case strict volatile
              bitfields here.  Simplify surrounding code to resemble that in
              store_fixed_bit_field.
              * doc/invoke.texi (Code Gen Options): Update
              -fstrict-volatile-bitfields description.
      
              gcc/testsuite/
              * gcc.dg/pr23623.c: New test.
              * gcc.dg/pr48784-1.c: New test.
              * gcc.dg/pr48784-2.c: New test.
              * gcc.dg/pr56341-1.c: New test.
              * gcc.dg/pr56341-2.c: New test.
              * gcc.dg/pr56997-1.c: New test.
              * gcc.dg/pr56997-2.c: New test.
              * gcc.dg/pr56997-3.c: New test.
      
      From-SVN: r205896
      Sandra Loosemore committed
    • re PR fortran/58916 ([F03] Allocation of scalar with array source not rejected) · 2ccd6f72
      2013-12-11  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/58916
      	* resolve.c (conformable_arrays): Treat scalar 'e2'.
      	(resolve_allocate_expr): Check rank also for unlimited-polymorphic
      	variables.
      
      
      2013-12-11  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/58916
      	* gfortran.dg/allocate_with_source_4.f90: New.
      
      From-SVN: r205894
      Janus Weil committed
    • Regenerate gcc/configure and gcc/config.in · eaf4967a
      From-SVN: r205892
      Christophe Lyon committed
    • configure.ac: Add check for aarch64 assembler -mabi support. · 63892fa2
      2013-12-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* configure.ac: Add check for aarch64 assembler -mabi support.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* config/aarch64/aarch64-elf.h (ASM_MABI_SPEC): New define.
      	(ASM_SPEC): Update to substitute -mabi with ASM_MABI_SPEC.
      	* config/aarch64/aarch64.h (aarch64_override_options): Issue error
      	if assembler does not support -mabi and option ilp32 is selected.
      	* doc/install.texi: Added note that building gcc 4.9 and after
      	with pre 2.24 binutils will not support -mabi=ilp32.
      
      From-SVN: r205891
      Kugan Vivekanandarajah committed
    • Add a missing tree code to a switch. · 2ce064c3
      	* c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
      
      From-SVN: r205890
      Bernd Schmidt committed
    • Remove an unused global tree, last used by objc some years ago. · 085b42ed
              * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
              (int_array_type_node): Remove.
              * c-common.c (c_common_nodes_and_builtins): Don't build it.
      
      From-SVN: r205889
      Bernd Schmidt committed
    • re PR middle-end/59399 (ICE in expand_expr_real_1 with -m64 -fsanitize=signed-integer-overflow) · 67f95586
      	PR sanitizer/59399
      	* expr.c (expand_expr_real_1): Remove assert dealing with
      	internal calls and turn that into a condition instead.
      
      From-SVN: r205888
      Marek Polacek committed
    • arm.opt (mlra): Enable LRA by default. · e15aa623
      2013-12-11  Yvan Roux  <yvan.roux@linaro.org>
      
              * config/arm/arm.opt (mlra): Enable LRA by default.
      
      From-SVN: r205887
      Yvan Roux committed
    • re PR tree-optimization/59417 (ICE in determine_value_range, at tree-ssa-loop-niter.c:176) · 20adc5b1
      	PR tree-optimization/59417
      	* tree-ssa-copy.c (fini_copy_prop): If copy_of[i].value is defined
      	in a different bb rhan var, only duplicate points-to info and
      	not alignment info and don't duplicate range info.
      	* tree-ssa-loop-niter.c (determine_value_range): Instead of
      	assertion failure handle inconsistencies in range info by only
      	using var's range info and not PHI result range infos.
      
      	* gcc.c-torture/compile/pr59417.c: New test.
      
      From-SVN: r205884
      Jakub Jelinek committed
    • re PR tree-optimization/59386 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu in 64-bit mode) · f8cb36a9
      	PR tree-optimization/59386
      	* tree-inline.c (remap_gimple_stmt): If not id->do_not_unshare,
      	unshare_expr (id->retval) before passing it to gimple_build_assign.
      
      	* gcc.c-torture/compile/pr59386.c: New test.
      
      From-SVN: r205883
      Jakub Jelinek committed
    • revert: re PR tree-optimization/41488 (IVOpts cannot coalesce multiple induction variables) · ba826792
      
      	Reverted:
      	2013-12-10  Bin Cheng  <bin.cheng@arm.com>
      	PR tree-optimization/41488
      	* tree-ssa-loop-ivopts.c (add_old_iv_candidates): Don't add cand
      	for PEELED_CHREC kind IV.
      	* tree-scalar-evolution.c: Include necessary header files.
      	(peeled_chrec_map, simplify_peeled_chrec): New.
      	(analyze_evolution_in_loop): New static variable.
      	Call simplify_peeled_chrec.
      	(scev_initialize): Initialize peeled_chrec_map.
      	(scev_reset, scev_finalize): Reset and release peeled_chrec_map.
      
      	Reverted:
      	2013-12-10  Bin Cheng  <bin.cheng@arm.com>
      	PR tree-optimization/41488
      	* gcc.dg/tree-ssa/scev-7.c: New test.
      	* gcc.dg/pr41488.c: New test.
      
      From-SVN: r205880
      Bin Cheng committed
    • Daily bump. · 748a1853
      From-SVN: r205879
      GCC Administrator committed
  2. 10 Dec, 2013 19 commits
    • Properly handle alternative 13 in *movsf_internal · 5f2e0891
      	PR target/59458
      	* config/i386/i386.md (*movsf_internal): Set mode to SI for
      	alternative 13.
      
      From-SVN: r205876
      H.J. Lu committed
    • re PR rtl-optimization/58295 (Missed zero-extension elimination in the combiner) · 808c4303
      	PR rtl-optimization/58295
      	* simplify-rtx.c (simplify_truncation): Restrict the distribution for
      	WORD_REGISTER_OPERATIONS targets.
      
      From-SVN: r205874
      Eric Botcazou committed
    • re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument) · 688974a3
      2013-12-10  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/35831
      	* interface.c (check_dummy_characteristics): Add checks for several
      	attributes.
      
      
      2013-12-10  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/35831
      	* gfortran.dg/c_by_val_5.f90: Modified.
      	* gfortran.dg/dummy_procedure_10.f90: New.
      
      From-SVN: r205873
      Janus Weil committed
    • Make-lang.in (check_go_parallelize): Test go-test.exp r* tests separately. · 61063a2a
      	* Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
      	separately.
      
      From-SVN: r205872
      Ian Lance Taylor committed
    • gfortran.texi: Add possible kind values (and default) for DOUBLE PRECISION. · 8f606521
      2013-12-10  Janus Weil  <janus@gcc.gnu.org>
      
      	* gfortran.texi: Add possible kind values (and default) for
      	DOUBLE PRECISION.
      	* invoke.texi: Correct documentation of -fdefault-integer-8,
      	-fdefault-real-8 and -fdefault-double-8.
      
      From-SVN: r205871
      Janus Weil committed
    • genrecog.c (validate_pattern): Treat all messages except missing modes as errors. · 525f6ed7
      gcc/
      	* genrecog.c (validate_pattern): Treat all messages except missing
      	modes as errors.
      	* config/epiphany/epiphany.md: Remove constraints from
      	define_peephole2s.
      	* config/h8300/h8300.md: Remove constraints from define_splits.
      	* config/msp430/msp430.md: Likewise.
      	* config/mcore/mcore.md (movdi_i, movsf_i, movdf_k): Use
      	nonimmediate_operand rather than general_operand for operand 0.
      	* config/moxie/moxie.md (*movsi, *movqi, *movhi): Likewise.
      	* config/pdp11/predicates.md (float_operand, float_nonimm_operand):
      	Use match_operator rather than match_test to invoke general_operand.
      	* config/v850/v850.md (*movqi_internal, *movhi_internal)
      	(*movsi_internal_v850e, *movsi_internal, *movsf_internal): Likewise.
      
      From-SVN: r205870
      Richard Sandiford committed
    • tilegx.md (insn_ld_add<bitsuffix>): Use register_operand rather than pointer_operand. · 1a79721f
      gcc/
      	* config/tilegx/tilegx.md (insn_ld_add<bitsuffix>): Use
      	register_operand rather than pointer_operand.  Add modes to the
      	operands.
      	(insn_ldna_add<bitsuffix>): Likewise.
      	(insn_ld<I124MODE:n><s>_add<I48MODE:bitsuffix>): Likewise.
      	(insn_ldnt_add<bitsuffix>): Likewise.
      	(insn_ldnt<I124MODE:n><s>_add<I48MODE:bitsuffix>): Likewise.
      	(insn_ld_add_L2<bitsuffix>): Likewise.
      	(insn_ldna_add_L2<bitsuffix>): Likewise.
      	(insn_ld<I124MODE:n><s>_add_L2<I48MODE:bitsuffix>): Likewise.
      	(insn_ldnt_add_L2<bitsuffix>): Likewise.
      	(insn_ldnt<I124MODE:n><s>_add_L2<I48MODE:bitsuffix>): Likewise.
      	(insn_ld_add_miss<bitsuffix>): Likewise.
      	(insn_ldna_add_miss<bitsuffix>): Likewise.
      	(insn_ld<I124MODE:n><s>_add_miss<I48MODE:bitsuffix>): Likewise.
      	(insn_ldnt_add_miss<bitsuffix>): Likewise.
      	(insn_ldnt<I124MODE:n><s>_add_miss<I48MODE:bitsuffix>): Likewise.
      	(insn_st_add<bitsuffix>): Likewise.
      	(insn_st<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
      	(*insn_st<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
      	(insn_stnt_add<bitsuffix>): Likewise.
      	(insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
      	(*insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
      	(vec_pack_<pack_optab>_v4hi): Use register_operand rather than
      	reg_or_0_operand for operand 0.
      	(insn_v2<pack_insn>): Likewise.
      	(vec_pack_hipart_v4hi): Likewise.
      	(insn_v2packh): Likewise.
      	(vec_pack_ssat_v2si): Likewise.
      	(insn_v4packsc): Likewise.
      
      From-SVN: r205868
      Richard Sandiford committed
    • Put back typedef for gcov_working_set_t/gcov_bucket_type · 892f2924
      	* basic-block.h (gcov_working_set_t): Put back typedef. 
      	* gcov-io.h (gcov_bucket_type): Likewise.
      	(gcov_working_set_info, gcov_working_set_t): Likewise.
      
      From-SVN: r205866
      H.J. Lu committed
    • Remove gcc/ from filenames · 892ae770
      From-SVN: r205865
      H.J. Lu committed
    • cgraph.h (cgraph_node_set_iterator, [...]): Remove typedef. · 84562394
      	* gcc/cgraph.h (cgraph_node_set_iterator, varpool_node_set_iterator):
      	Remove typedef.
      	(cgraph_inline_failed_enum, cgraph_inline_failed_t): Remove typedef and
      	rename to cgraph_inline_failed_t.
      	* gcc/tree-ssa-alias.h (ao_ref_s, ao_ref): Remove typedef and rename
      	to ao_ref.
      	* gcc/reload.h (reg_equivs_s, reg_equivs_t): Remove typedef and rename
      	to reg_equivs_t.
      	* gcc/conditions.h (CC_STATUS): Remove typedef.
      	* gcc/bitmap.h (bitmap_obstack): Remove typedef.
      	(bitmap_element_def, bitmap_element): Remove typedef and rename to
      	bitmap_element.
      	(bitmap_head_def, bitmap_head): Remove typedef and rename to
      	bitmap_head.
      	(bitmap_iterator): Remove typedef.
      	* gcc/target.h (cumulative_args_t, print_switch_type,
      	secondary_reload_info): Remove typedef.
      	* gcc/dwarf2out.h (dw_cfi_oprnd_struct, dw_cfi_oprnd): Remove
      	dw_cfi_oprnd_struct alias.
      	(dw_cfi_struct, dw_cfi_node): Remove typedef and rename to dw_cfi_node.
      	(dw_fde_struct, dw_fde_node): Remove typedef and rename to dw_fde_node.
      	(cfa_loc, dw_cfa_location): Remove typedef and rename to
      	dw_cfa_location.
      	(dw_vec_struct, dw_vec_const): Remove typedef and rename to
      	dw_vec_const.
      	(dw_val_struct, dw_val_node): Remove typedef and rename to dw_val_node.
      	(dw_loc_descr_struct, dw_loc_descr_node): Remove typedef and rename to
      	dw_loc_descr_node.
      	* gcc/params.h (param_info, compiler_param): Remove typedef.
      	* gcc/opts.h (cl_deferred_param): Remove typedef.
      	* gcc/sreal.h (sreal): Remove typedef.
      	* gcc/ddg.h (dep_type, dep_data_type): Remove typedef.
      	* gcc/graphite-clast-to-gimple.h (cloog_prog_clast, bb_pbb_def): Remove
      	typedef.
      	* gcc/lto-streamer.h (lto_decl_stream_e_t, lto_encoder_entry,
      	lto_symtab_encoder_iterator, res_pair): Remove typedef.
      	* gcc/tree-affine.h (affine_tree_combination, aff_tree): Remove typedef
      	and rename to aff_tree.
      	* gcc/sched-int.h (region): Remove typedef.
      	* gcc/diagnostic.h (diagnostic_info,
      	diagnostic_classification_change_t): Remove typedef.
      	* gcc/tree-ssa-loop.h (affine_iv_d): Remove typedef and rename to
      	affine_iv.
      	* gcc/sbitmap.h (sbitmap_iterator): Remove typedef.
      	* gcc/ssa-iterators.h (immediate_use_iterator_d, imm_use_iterator):
      	Remove typedef and rename to imm_use_iterator.
      	(ssa_operand_iterator_d, ssa_op_iter): Remove typedef and rename to
      	ssa_op_iter.
      	* gcc/ggc-internal.h (ggc_statistics): Remove typedef.
      	* gcc/cselib.h (cselib_val_struct, cselib_val): Remove typedef and
      	rename to cselib_val.
      	* gcc/tree-core.h (alias_pair): Remove typedef.
      	(constructor_elt_d, constructor_elt): Remove typedef and rename to
      	constructor_elt.
      	(ssa_use_operand_d, ssa_use_operand_t): Remove typedef and rename to
      	ssa_use_operand_t.
      	* gcc/graphite-sese-to-poly.h (base_alias_pair): Remove typedef.
      	* gcc/tree-data-ref.h (conflict_function): Remove typedef.
      	* gcc/tree-inline.h (copy_body_data): Remove typedef.
      	* gcc/ipa-inline.h (condition, size_time_entry, inline_param_summary_t,
      	edge_growth_cache_entry): Remove typedef.
      	* gcc/regrename.h (operand_rr_info, insn_rr_info): Remove typedef.
      	* gcc/gimple-iterator.h (gimple_stmt_iterator_d, gimple_stmt_iterator):
      	Remove typedef and rename to gimple_stmt_iterator.
      	* gcc/basic-block.h (ce_if_block, ce_if_block_t): Remove typedef and
      	rename to ce_if_block.
      	(edge_iterator): Remove typedef.
      	* gcc/ipa-prop.h (ipa_agg_jf_item, ipa_agg_jf_item_t): Remove typedef
      	and rename to ipa_agg_jf_item.
      	(ipa_agg_jump_function_t, ipa_param_descriptor_t, ipa_node_params_t,
      	ipa_parm_adjustment_t): Remove typedef.
      	(ipa_jump_func, ipa_jump_func_t): Remove typedef and rename to
      	ipa_jump_func.
      	(ipa_edge_args, ipa_edge_args_t): Remove typedef and rename to
      	ipa_edge_args.
      	* gcc/gcov-io.h (gcov_bucket_type): Remove typedef.
      	(gcov_working_set_info, gcov_working_set_t): Remove typedef and rename
      	to gcov_working_set_t.
      	* gcc/ira-int.h (minmax_set_iterator, ira_allocno_iterator,
      	ira_object_iterator, ira_allocno_object_iterator, ira_pref_iterator,
      	ira_copy_iterator, ira_object_conflict_iterator): Remove typedef.
      	* gcc/tree-iterator.h (tree_stmt_iterator): Remove typedef.
      	* gcc/rtl.h (addr_diff_vec_flags, mem_attrs, reg_attrs,
      	replace_label_data): Remove typedef.
      	(rtunion_def, rtunion): Remove typedef and rename to rtunion.
      	* gcc/hard-reg-set.h (hard_reg_set_iterator): Remove typedef.
      	* gcc/sel-sched-ir.h (_list_iterator, sel_global_bb_info_def,
      	sel_region_bb_info_def, succ_iterator): Remove typedef.
      	(deps_where_def, deps_where_t): Remove typedef and rename to
      	deps_where_t.
      	* gcc/coretypes.h: Adapt forward declarations.
      	* gcc/tree-scalar-evolution.h: Likewise.
      	* gcc/tree-ssa-address.h: Likewise.
      	* gcc/tree-ssa-operands.h: Likewise.
      	* gcc/function.h: Likewise.
      	* gcc/config/frv/frv-protos.h: Likewise.
      	* gcc/targhooks.h: Likewise.
      	* gcc/basic_block.h: Likewise.
      	* gcc/rtl.def: Adapt documentation.
      	* gcc/doc/tm.texi: Likewise.
      	* gcc/ipa-cp.c: Adapt uses.
      	* gcc/bitmap.c: Likewise.
      	* gcc/dwarf2out.c: Likewise.
      	* gcc/target.def: Likewise.
      	* gcc/ipa-inline-analysis.c: Likewise.
      	* gcc/dwarf2cfi.c: Likewise.
      	* gcc/tree-ssa-loop-ivopts.c: Likewise.
      	* gcc/lto-cgraph.c: Likewise.
      	* gcc/config/frv/frv.c: Likewise.
      	* gcc/ifcvt.c: Likewise.
      	* gcc/ipa-prop.c: Likewise.
      
      From-SVN: r205863
      Oleg Endo committed
    • gfortran.texi: Modify documentation of kind type parameters. · a4cf752c
      2013-12-10  Janus Weil  <janus@gcc.gnu.org>
      
      	* gfortran.texi: Modify documentation of kind type parameters.
      	* invoke.texi: Extend documentation of -fdefault-integer-8 and
      	-fdefault-real-8.
      
      From-SVN: r205862
      Janus Weil committed
    • re PR target/56807 (mingw32: Conflict between stack realignment and stack probe… · e7b4ce64
      re PR target/56807 (mingw32: Conflict between stack realignment and stack probe destroys function argument in EAX)
      
          PR target/56807
          * config/i386/i386.c (ix86_expand_prologue): Address saved
          registers stack-relative, not via frame-pointer.
      
      From-SVN: r205860
      Kai Tietz committed
    • tsan.exp: Added missing call to torture-finish. · bf2d1a65
      2013-12-10  Yury Gribov  <y.gribov@samsung.com>
      
      	* gcc-dg/tsan/tsan.exp: Added missing call to torture-finish.
      	* g++-dg/tsan/tsan.exp: Likewise.
      
      From-SVN: r205858
      Yury Gribov committed
    • re PR middle-end/38474 (compile time explosion in dataflow_set_preserve_mem_locs at -O3) · 6489e318
      2013-12-10  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/38474
      	* tree-ssa-structalias.c (solution_set_expand): Expand into
      	a different possibly cached bitmap and return the result.
      	(set_union_with_increment): Pass in a shared expanded bitmap
      	and adjust.
      	(do_sd_constraint): Likewise.
      	(do_ds_constraint): Likewise.
      	(do_complex_constraint): Likewise.
      	(solve_graph): Manage the shared expanded bitmap.
      
      	* gcc.dg/ipa/ipa-pta-14.c: Un-XFAIL.
      
      From-SVN: r205857
      Richard Biener committed
    • tree-vectorizer.h (struct _loop_vec_info): Add scalar_loop field. · 5ce9450f
      	* tree-vectorizer.h (struct _loop_vec_info): Add scalar_loop field.
      	(LOOP_VINFO_SCALAR_LOOP): Define.
      	(slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument.
      	* config/i386/sse.md (maskload<mode>, maskstore<mode>): New expanders.
      	* tree-data-ref.c (get_references_in_stmt): Handle MASK_LOAD and
      	MASK_STORE.
      	* internal-fn.def (LOOP_VECTORIZED, MASK_LOAD, MASK_STORE): New
      	internal fns.
      	* tree-if-conv.c: Include expr.h, optabs.h, tree-ssa-loop-ivopts.h and
      	tree-ssa-address.h.
      	(release_bb_predicate): New function.
      	(free_bb_predicate): Use it.
      	(reset_bb_predicate): Likewise.  Don't unallocate bb->aux
      	just to immediately allocate it again.
      	(add_to_predicate_list): Add loop argument.  If basic blocks that
      	dominate loop->latch don't insert any predicate.
      	(add_to_dst_predicate_list): Adjust caller.
      	(if_convertible_phi_p): Add any_mask_load_store argument, if true,
      	handle it like flag_tree_loop_if_convert_stores.
      	(insert_gimplified_predicates): Likewise.
      	(ifcvt_can_use_mask_load_store): New function.
      	(if_convertible_gimple_assign_stmt_p): Add any_mask_load_store
      	argument, check if some conditional loads or stores can't be
      	converted into MASK_LOAD or MASK_STORE.
      	(if_convertible_stmt_p): Add any_mask_load_store argument,
      	pass it down to if_convertible_gimple_assign_stmt_p.
      	(predicate_bbs): Don't return bool, only check if the last stmt
      	of a basic block is GIMPLE_COND and handle that.  Adjust
      	add_to_predicate_list caller.
      	(if_convertible_loop_p_1): Only call predicate_bbs if
      	flag_tree_loop_if_convert_stores and free_bb_predicate in that case
      	afterwards, check gimple_code of stmts here.  Replace is_predicated
      	check with dominance check.  Add any_mask_load_store argument,
      	pass it down to if_convertible_stmt_p and if_convertible_phi_p,
      	call if_convertible_phi_p only after all if_convertible_stmt_p
      	calls.
      	(if_convertible_loop_p): Add any_mask_load_store argument,
      	pass it down to if_convertible_loop_p_1.
      	(predicate_mem_writes): Emit MASK_LOAD and/or MASK_STORE calls.
      	(combine_blocks): Add any_mask_load_store argument, pass
      	it down to insert_gimplified_predicates and call predicate_mem_writes
      	if it is set.  Call predicate_bbs.
      	(version_loop_for_if_conversion): New function.
      	(tree_if_conversion): Adjust if_convertible_loop_p and combine_blocks
      	calls.  Return todo flags instead of bool, call
      	version_loop_for_if_conversion if if-conversion should be just
      	for the vectorized loops and nothing else.
      	(main_tree_if_conversion): Adjust caller.  Don't call
      	tree_if_conversion for dont_vectorize loops if if-conversion
      	isn't explicitly enabled.
      	* tree-vect-data-refs.c (vect_check_gather): Handle
      	MASK_LOAD/MASK_STORE.
      	(vect_analyze_data_refs, vect_supportable_dr_alignment): Likewise.
      	* gimple.h (gimple_expr_type): Handle MASK_STORE.
      	* internal-fn.c (expand_LOOP_VECTORIZED, expand_MASK_LOAD,
      	expand_MASK_STORE): New functions.
      	* tree-vectorizer.c: Include tree-cfg.h and gimple-fold.h.
      	(vect_loop_vectorized_call, fold_loop_vectorized_call): New functions.
      	(vectorize_loops): Don't try to vectorize loops with
      	loop->dont_vectorize set.  Set LOOP_VINFO_SCALAR_LOOP for if-converted
      	loops, fold LOOP_VECTORIZED internal call depending on if loop
      	has been vectorized or not.
      	* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
      	New function.
      	(slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument.
      	If non-NULL, copy basic blocks from scalar_loop instead of loop, but
      	still to loop's entry or exit edge.
      	(slpeel_tree_peel_loop_to_edge): Add scalar_loop argument, pass it
      	down to slpeel_tree_duplicate_loop_to_edge_cfg.
      	(vect_do_peeling_for_loop_bound, vect_do_peeling_for_loop_alignment):
      	Adjust callers.
      	(vect_loop_versioning): If LOOP_VINFO_SCALAR_LOOP, perform loop
      	versioning from that loop instead of LOOP_VINFO_LOOP, move it to the
      	right place in the CFG afterwards.
      	* tree-vect-loop.c (vect_determine_vectorization_factor): Handle
      	MASK_STORE.
      	* cfgloop.h (struct loop): Add dont_vectorize field.
      	* tree-loop-distribution.c (copy_loop_before): Adjust
      	slpeel_tree_duplicate_loop_to_edge_cfg caller.
      	* optabs.def (maskload_optab, maskstore_optab): New optabs.
      	* passes.def: Add a note that pass_vectorize must immediately follow
      	pass_if_conversion.
      	* tree-predcom.c (split_data_refs_to_components): Give up if
      	DR_STMT is a call.
      	* tree-vect-stmts.c (vect_mark_relevant): Don't crash if lhs
      	is NULL.
      	(exist_non_indexing_operands_for_use_p): Handle MASK_LOAD
      	and MASK_STORE.
      	(vectorizable_mask_load_store): New function.
      	(vectorizable_call): Call it for MASK_LOAD or MASK_STORE.
      	(vect_transform_stmt): Handle MASK_STORE.
      	* tree-ssa-phiopt.c (cond_if_else_store_replacement): Ignore
      	DR_STMT where lhs is NULL.
      	* optabs.h (can_vec_perm_p): Fix up comment typo.
      	(can_vec_mask_load_store_p): New prototype.
      	* optabs.c (can_vec_mask_load_store_p): New function.
      
      	* gcc.dg/vect/vect-cond-11.c: New test.
      	* gcc.target/i386/vect-cond-1.c: New test.
      	* gcc.target/i386/avx2-gather-5.c: New test.
      	* gcc.target/i386/avx2-gather-6.c: New test.
      	* gcc.dg/vect/vect-mask-loadstore-1.c: New test.
      	* gcc.dg/vect/vect-mask-load-1.c: New test.
      
      From-SVN: r205856
      Jakub Jelinek committed
    • expr.c (expand_expr_real_1): Always return 0 for the extraction of a bit-field of null size. · ae3df2dc
      	* expr.c (expand_expr_real_1) <normal_inner_ref>: Always return 0 for
      	the extraction of a bit-field of null size.
      
      From-SVN: r205855
      Eric Botcazou committed
    • re PR sanitizer/59437 (ICE in for g++ -S -fvtable-verify=std -fsanitize=null) · ed9e19a4
      	PR sanitizer/59437
      	* vtable-verify.c (var_is_used_for_virtual_call_p): Check the
      	return value of gimple_call_fn.  Use is_gimple_call/is_gimple_assign
      	instead of gimple_code.
      testsuite/
      	* g++.dg/ubsan/pr59437.C: New test.
      
      From-SVN: r205854
      Marek Polacek committed
    • thread_leak2.c: `dg-skip-if' removed. · 475948fa
      2013-12-10  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* c-c++-common/tsan/thread_leak2.c: `dg-skip-if' removed.
      	* gcc-dg/tsan/tsan.exp: Run only with '-O0' and '-O2' options.
      	* g++-dg/tsan/tsan.exp: Likewise.
      
      From-SVN: r205853
      Max Ostapenko committed
    • pr58508.c: XFAIL for vect_no_align. · a1067b09
      	* gcc.dg/vect/pr58508.c: XFAIL for vect_no_align.
      	* gcc.dg/vect/vect-reduc-pattern-3.c: Require vect_int_mult.
      
      From-SVN: r205852
      Eric Botcazou committed