1. 30 Oct, 2015 10 commits
    • Robustify REAL_MODE_FORMAT · d5e09aa0
      Make sure that REAL_MODE_FORMAT aborts if it is passed an invalid mode,
      rather than stepping beyond the bounds of an array.  It turned out that
      some code was passing non-float modes to the real.h routines.
      
      Tested on x86_64-linux-gnu, arm-linux-gnueabi and aarch64-linux-gnu.
      
      gcc/
      	* real.h (REAL_MODE_FORMAT): Abort if the mode isn't a
      	SCALAR_FLOAT_MODE_P.
      
      From-SVN: r229579
      Richard Sandiford committed
    • [Trivial] tree-sra.c: A few comment fixes/additions. · 56517dda
          
      	* tree-sra.c (scalarizable_type_p): Comment variable-length arrays.
      	(completely_scalarize): Comment zero-length arrays.
      	(get_access_replacement): Correct comment re. precondition.
      
      From-SVN: r229577
      Alan Lawrence committed
    • libgcc changes for AMD znver1. · 2ef543e4
      2015-10-30  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
      
      	* config/i386/i386.c (get_builtin_code_for_version): Set priority
      	for PROCESSOR_ZNVER1.
      	(enum processor_model): Add M_AMDFAM17H_znver1.
      	(struct arch_names_table): Likewise.
      	* doc/extend.texi: ADD znver1.
      
      2015-10-30  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
      
      	* config/i386/cpuinfo.c (enum processor_types): Add AMDFAM17H.
      	(processor_subtypes): Add znver1.
      	(get_amd_cpu): Detect znver1.
      
      From-SVN: r229575
      Venkataramanan Kumar committed
    • gimple-fold.c (fold_gimple_assign): Do not dispatch to fold () on single RHSs. · 7524f419
      2015-10-30  Richard Biener  <rguenther@suse.de>
      
      	* gimple-fold.c (fold_gimple_assign): Do not dispatch to
      	fold () on single RHSs.  Allow CONSTRUCTORS with trailing
      	zeros to be folded to VECTOR_CSTs.
      	* tree.c (build_vector_from_ctor): Handle VECTOR_CST elements.
      	* fold-const.c (fold): Use build_vector_from_ctor.
      
      From-SVN: r229574
      Richard Biener committed
    • [AArch64] Fix insn types. · 04e34811
      2015-10-30  Evandro Menezes  <e.menezes@samsung.com>
      
      	* config/aarch64/aarch64.md (*movhf_aarch64): Change the type of
      	"mov %0.h[0], %1.h[0] to "neon_move".
      	(*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr".
      	(*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to
      	"mov_imm".
      	(*cmovsi_insn_uxtw): Likewise.
      
      From-SVN: r229572
      Evandro Menezes committed
    • Cleanup fipa-pta constraint dumping · bf749042
      2015-10-30  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-ssa-structalias.c (ipa_pta_execute): Declare variable from as
      	unsigned, and initialize, and use initial value instead of hardcoded
      	constant.  Add generic constraints dumping section.  Don't dump global
      	initializers constraints dumping section if empty.  Don't update
      	variable from if unused.
      
      From-SVN: r229569
      Tom de Vries committed
    • [PATCH 8/9] ENABLE_CHECKING refactoring: target-specific parts · e28c2052
      	* config/alpha/alpha.c (alpha_function_arg): Use gcc_checking_assert,
      	flag_checking and/or CHECKING_P to eliminate conditional compilation
      	on ENABLE_CHECKING.
      	* config/arm/arm.c (arm_unwind_emit_sequence): Likewise.
      	* config/bfin/bfin.c (hwloop_optimize): Likewise.
      	* config/i386/i386.c (ix86_print_operand_address): Likewise.
      	(output_387_binary_op): Likewise.
      	* config/ia64/ia64.c (ia64_sched_init, bundling): Likewise.
      	* config/m68k/m68k.c (m68k_sched_md_init_global): Likewise.
      	* config/rs6000/rs6000.c (htm_expand_builtin, rs6000_emit_prologue):
      	Likewise.
      	* config/rs6000/rs6000.h: Likewise.
      	* config/visium/visium.c (visium_setup_incoming_varargs): Likewise.
      
      From-SVN: r229567
      Mikhail Maltsev committed
    • sh.opt: Fix format of the help text for -mfdpic · 88833adc
      * config/sh/sh.opt: Fix format of the help text for -mfdpic
      
      From-SVN: r229566
      Kaz Kojima committed
    • Daily bump. · a52ea440
      From-SVN: r229565
      GCC Administrator committed
    • openacc.h (enum acc_device_t): Reformat. · a0e701d8
      	gcc/
      	* openacc.h (enum acc_device_t): Reformat. Ensure layout
      	compatibility.
      	(enum acc_async_t): Reformat.
      	(acc_on_device): Declare compatible with builtin and provide C++
      	wrapper.
      	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
      
      	gcc/testsuite/
      	* c-c++-common/goacc/acc_on_device-2-off.c: Delete.
      	* c-c++-common/goacc/acc_on_device-2.c: Delete.
      
      From-SVN: r229562
      Nathan Sidwell committed
  2. 29 Oct, 2015 30 commits
    • [MCORE] Hookize GO_IF_LEGITIMATE_ADDRESS · e7c6980e
      From-SVN: r229561
      Anatoly Sokolov committed
    • [PATCH] Remove unnecessary invalidation support in threading · 334b4842
      2015-10-29  Jeff Law  <law@redhat.com>
      
      	* tree-ssa-scopedtables.h (const_and_copies): Remove invalidate
      	method.
      	* tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove.
      	* tree-ssa-threadedge.c
      	(record_temporary_equivalences_from_stmts_at_dest): Remove
      	backedge_seen argument and associated code which invalidated
      	equivalences based on the value of that argument.
      	(thread_through_normal_block): Corresponding changes.
      
      From-SVN: r229559
      Jeff Law committed
    • rs6000: Save the PIC reg when needed · 5a978b9f
      The PIC reg (r30) needs to be saved whenever the prologue sets it up,
      not just if it is used elsewhere in the function.  Without this patch
      the prologue for such a function will modify r30 without saving it
      first, leading to disaster back in its callers.  This happened in the
      testsuite for -m32 libgfortran and libstdc++, bootstrapped with -mlra,
      many hundred times.
      
      
      2015-10-29  Segher Boessenkool  <segher@kernel.crashing.org>
      
      	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Move this
      	function earlier in the file.
      	(first_reg_to_save): Use rs6000_reg_live_or_pic_offset_p instead of
      	df_regs_ever_live_p.
      
      From-SVN: r229552
      Segher Boessenkool committed
    • lra: Don't remove the scratch in (mem:BLK (scratch)) · 823bb054
      LRA wants to replace SCRATCH registers with real registers.  It should
      not do that with (mem:BLK (scratch)), which is special, not really a
      scratch register.
      
      
      2015-10-29  Segher Boessenkool  <segher@kernel.crashing.org>
      
      	* lra-constraints.c (process_address_1): Handle (mem:BLK (scratch))
      	by ignoring it.
      
      From-SVN: r229551
      Segher Boessenkool committed
    • Fix target/68124 · 0bb7645d
              PR target/68124
              PR rtl-opt/67609
              * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
              sse check to the exact conditions of PR 67609.
      
      From-SVN: r229550
      Richard Henderson committed
    • Require c99_runtime for builtin-convert-1.c · d8cf6ce7
      ...which was failing on *-elf.  This test is making sure that we narrow
      maths calls, e.g. sinh -> sinhf, but we can only do that if we know that
      the target has a full c99 libm or if we have other proof that the function
      we want to generate is available.
      
      Tested on aarch64-none-elf (where it's skipped) and aarch64-linux-gnu
      (where it isn't).
      
      gcc/testsuite/
      	* gcc.dg/torture/builtin-convert-1.c: Require c99_runtime.
      
      From-SVN: r229548
      Richard Sandiford committed
    • rs6000.c (rs6000_init_libfuncs): Split libfunc setup into 3 functions... · 40a49b3c
      [gcc]
      2015-10-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Split libfunc
      	setup into 3 functions: init_float128_ibm, init_float128_ieee, and
      	rs6000_init_libfuncs. If -mfloat128, add IFmode functions for all
      	of the traditional names that TFmode uses for handling IEEE
      	extended double. If -mfloat128, add KFmode functions for all of
      	the emulation functions. If -mabi=ieeelongdouble and -mfloat128,
      	make TFmode use the same emulation functions as KFmode.
      	(init_float128_ibm): Likewise.
      	(init_float128_ieee): Likewise.
      	(rs6000_generate_compare): For IEEE 128-bit floating point
      	comparisons, call the unordered comparison function instead of the
      	ordered comparison function.
      	(rs6000_expand_float128_convert): Deal with operands that are
      	memory operands. Restructure the code to use a switch statement on
      	the mode. Add support for TFmode defaulting to either IBM extended
      	double or IEEE 128-bit floating point. If the underlying types are
      	the same, use a move instead of a conversion function.
      	(TARGET_C_MODE_FOR_SUFFIX): Define 'q' and 'Q' as the suffix to
      	use for IEEE 128-bit floating point constants with -mfloat128.
      	(rs6000_c_mode_for_suffix): Likewise.
      	(TARGET_INVALID_BINARY_OP): Do not allow inter-mixing of IEEE
      	128-bit floating point with IBM extended double floating point.
      	(rs6000_invalid_binary_op): Likewise.
      	(rs6000_gen_le_vsx_permute): On little endian systems generate a
      	ROTATE insn instead of VEC_SELECT for IEEE 128-bit floating point
      	types that can go in vector registers.
      	(chain_contains_only_swaps): Properly swap IEEE 128-bit floating
      	point types that can go in vector registers on little endian
      	PowerPC systems.
      	(mark_swaps_for_removal): Likewise.
      	(rs6000_analyze_swaps): Likewise.
      	(rs6000_mangle_type): Use U10__float128 for IEEE 128-bit floating point.
      
      	* config/rs6000/rs6000.md (FLOAT128_SFDFTF): Delete iterator,
      	rework IEEE 128-bit floating point insns to deal with TFmode being
      	either IBM extended double or IEEE 128-bit floating point.
      	(IFKF): Likewise.
      	(IBM128): Update iterator to add condition that the mode is IBM
      	extended double.
      	(IEEE128): New iterator for IEEE 128-bit floating point.
      	(TFIFKF): Rename TFIFKF iterator to FLOAT128.
      	(FLOAT128): Likewise.
      	(signbit<mode>2): FLOAT128_IBM_P condition test moved into IBM128
      	iterator.
      	(neg<mode>2): Replace TFIFKF iterator with FLOAT128. Add support
      	for TFmode being IEEE 128-bit floating point. Use IEEE128 iterator
      	instead of hard coding TFmode or KFmode.
      	(negtf2_internal): Likewise.
      	(neg<mode>2_internal): Likewise.
      	(abs<mode>2): Likewise.
      	(abstf2_internal): Likewise.
      	(abs<mode>2_internal): Likewise.
      	(ieee_128bit_neg<mode>2): Likewise.
      	(ieee_128bit_neg<mode>2_internal): Likewise.
      	(ieee_128bit_abs<mode>2): Likewise.
      	(ieee_128bit_abs<mode>2_internal): Likewise.
      	(ieee_128bit_nabs<mode>2): Likewise.
      	(ieee_128bit_nabs<mode>2_internal): Likewise.
      	(extendiftf2): Add explicit conversions between 128-bit floating
      	point types. Drop the old conversions that had become unwieldy.
      	(extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
      	(extendifkf2): Likewise.
      	(trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
      	(extendtfkf2): Likewise.
      	(fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
      	(trunciftf2): Likewise.
      	(fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
      	(truncifkf2): Likewise.
      	(float<SDI:mode><IFKF:mode>2): Likewise.
      	(trunckftf2): Likewise.
      	(floatuns<SDI:mode><IFKF:mode>2): Likewise.
      	(trunctfif2): Likewise.
      	(FP iterator): Allow TFmode to be IEEE 128-bit floating point.
      	(extenddftf2): Rework 128-bit floating point conversions to
      	properly handle -mabi=ieeelongdouble. Merge IFmode, TFmode, and
      	KFmode expanders into one function.
      	(extenddf<mode>2): Likewise.
      	(extenddftf2_fprs): Likewise.
      	(extenddf<mode>2_fprs): Likewise.
      	(extenddftf2_vsx): Likewise.
      	(extenddf<mode>2_vsx): Likewise.
      	(extendsftf2): Likewise.
      	(extendsf<mode>2): Likewise.
      	(trunctfdf2): Likewise.
      	(trunc<mode>df2): Likewise.
      	(trunctfdf2_internal1): Likewise.
      	(trunc<mode>df2_internal1): Likewise.
      	(trunctfdf2_internal2): Likewise.
      	(trunc<mode>df2_internal2): Likewise.
      	(trunctfsf2): Likewise.
      	(trunc<mode>sf2): Likewise.
      	(trunctfsf2_fprs): Likewise.
      	(trunc<mode>sf2_fprs): Likewise.
      	(floatsit2f): Likewise.
      	(floatsi<mode>2): Likewise.
      	(fix_trunc_helper): Likewise.
      	(fix_trunc_helper<mode>): Likewise.
      	(fix_trunctfsi2): Likewise.
      	(fix_trunc<mode>si2): Likewise.
      	(fix_trunctfsi2_fprs): Likewise.
      	(fix_trunc<mode>si2_fprs): Likewise.
      	(fix_trunctfsi2_internal): Likewise.
      	(fix_trunc<mode>si2_internal): Likewise.
      	(fix_trunctfdi2): Likewise.
      	(fix_trunc<mode>di2): Likewise.
      	(fixuns_trunctf<mode>2): Likewise.
      	(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
      	(floatditf2): Likewise.
      	(floatdi<mode>2): Likewise.
      	(floatuns<mode>tf2): Likewise.
      	(floatuns<SDI:mode><IEEE128:mode>): Likewise.
      	(cmptf_internal1): Use a mode iterator to add support for both
      	types (IFmode, TFmode) that support IBM extended double.
      	(cmp<mode>_internal1): Likewise.
      	(cmptf_internal2): Likewise.
      	(cmp<mode>_internal2): Likewise.
      
      	* doc/extend.texi (Floating Types): Document __ibm128 and
      	__float128 on PowerPC.
      
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
      	-mfloat128 and -mno-float128.
      
      [gcc/testsuite]
      2015-10-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/float128-call.c: New test for -mfloat128 on
      	PowerPC.
      	* gcc.target/powerpc/float128-mix.c: Likewise.
      
      From-SVN: r229547
      Michael Meissner committed
    • compiler, reflect, runtime: remove zero field from type descriptor · f4a513a9
          
          Type descriptors picked up a zero field because the gc map
          implementation used it.  However, it's since been dropped by the gc
          library.  It was never used by gccgo.  Drop it now in preparation for
          upgrading to the Go 1.5 library.
          
          Reviewed-on: https://go-review.googlesource.com/16486
      
      From-SVN: r229546
      Ian Lance Taylor committed
    • rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit floating point modes that can… · bdb60a10
      rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit floating point modes that can go in vector registers.
      
      2015-10-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit
      	floating point modes that can go in vector registers.
      	(MODES_TIEABLE_P): Move tests for vector modes before tests for
      	scalar floating point, so that IEEE 128-bit floating point that
      	can go in vector registers bind with vectors and not FP.
      	(struct rs6000_args): Add libcall field.
      
      	* config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none
      	and -mfloat128-software switches.  Replace them with a binary
      	-mfloat128 switch.
      	(-mfloat128): Likewise.
      
      	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow
      	128-bit floating point types in GPRs, even if the appropriate
      	option enabling the type was not used.
      	(rs6000_debug_reg_global): Remove -mfloat128-{software,none}
      	debugging.
      	(rs6000_setup_reg_addr_masks): Do not allow pre-increment and
      	pre-decrement on IEEE 128-bit floating point values.
      	(rs6000_init_hard_regno_mode_ok): Change test for whether TFmode
      	is IEEE 128-bit floating point.
      	(rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE
      	128-bit floating point types that can go in vector registers.
      	(rs6000_option_override_internal): Change -mfloat128-none and
      	-mfloat128-software to -mfloat128, and move code to be near other
      	VSX option handling.
      	(rs6000_option_override_internal): Disable -mfloat128 if we don't
      	have the Altivec ABI.
      	(rs6000_init_builtins): Don't make TFmode use either IFmode or
      	KFmode floating point nodes. Instead, have three separate nodes.
      	(rs6000_scalar_mode_supported_p): Add support for IFmode to allow
      	eventually moving the long double default to IEEE 128-bit floating
      	point.
      	(rs6000_opt_masks): Add -mfloat128.
      	(struct rs6000_opt_var): Fix typo in comment.
      	(init_cumulative_args): Initialize libcall field in
      	CUMULATIVE_ARGS.
      	(rs6000_function_arg): Treat library functions as if they had
      	prototypes to prevent IEEE 128-bit support functions from passing
      	arguments in both GPRs and vector registers.
      	(rs6000_arg_partial_bytes): Likewise.
      
      	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as
      	an option that can be turned on via -mcpu=<xxx>.
      
      	* config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no
      	longer used.
      
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
      	__FLOAT128__ if -mfloat128. Define __LONG_DOUBLE_IEEE128__ if long
      	double is IEEE 128-bit. Define __LONG_DOUBLE_IBM128__ if long
      	double is IBM extended double.
      
      	* config/rs6000/predicates.md (reg_or_indexed_operand): Allow
      	SUBREGs.
      
      From-SVN: r229545
      Michael Meissner committed
    • re PR fortran/68054 (ICE on using protected attribute in program without program statement) · 721be0f4
      2015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/68054
      	* decl.c (match_attr_spec): PROTECTED can only be a module.
      
      2015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/68054
      	* gfortran.dg/pr68054.f90: New test.
      
      From-SVN: r229542
      Steven G. Kargl committed
    • compiler, runtime: change type hash/equal to Go funcs · 730f6d14
          
          Change the type descriptor hash and equal functions from C code pointers
          to Go func values.  This permits them to be set to a Go function
          closure.  This is in preparation for the Go 1.5, so that we can use a
          closure for the hash/equal functions returned by the new reflect.ArrayOf
          function.
          
          Reviewed-on: https://go-review.googlesource.com/16485
      
      From-SVN: r229541
      Ian Lance Taylor committed
    • [multiple changes] · 285b1f01
      2015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/67885
      	* trans-decl.c (generate_local_decl): Mark PARAMETER entities in
      	BLOCK construct.
      
      2015-10-26  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/67885
      	* gfortran.dg/pr67885.f90: New test.
      
      From-SVN: r229540
      Steven G. Kargl committed
    • [PATCH 6/9] ENABLE_CHECKING refactoring: generators · 7f71272e
              * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING.
              * genconditions.c: Define CHECKING_P in the generated code.
              * genextract.c: Use flag_checking in insn_extract.
              * gengtype.c (main): Remove conditional compilation.
              * gengtype.h: Likewise.
      
      From-SVN: r229539
      Mikhail Maltsev committed
    • [PATCH][PR tree-optimization/67892] Use FSM threader to handle backedges · 21f0717a
      	PR tree-optimization/67892
      	* tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo
      	in comment.
      	(thread_through_normal_block): If we have seen a backedge, then
      	do nothing.  No longer call find_jump_threads_backwards here.
      	(thread_across_edge): Use find_jump_threads_backwards to find
      	jump threads if the old style threader was not successful.
      	* tree-ssa-threadbackward.c (get_gimple_control_stmt): Use
      	gsi_last_nondebug_bb.  Return NULL if the block does not end
      	with a control statement.
      	(find_jump_threads_backwards): Setup code moved here from
      	tree-ssa-threadedge.c::thread_through_normal_block.  Accept
      	single edge argument instead of name & block.
      	* tree-ssa-threadbackward.h (find_jump_threads_backwards): Update
      	prototype.
      
              PR tree-optimization/67892
      	* gcc.dg/tree-ssa/pr21417: Update expected output.
      	* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.
      
      From-SVN: r229538
      Jeff Law committed
    • Allow CAST_RESTRICT folding · 3ddb720e
      2015-10-29  Tom de Vries  <tom@codesourcery.com>
      
      	* fold-const.c (fold_unary_loc): Remove folding inhibition for restrict
      	types.
      
      From-SVN: r229537
      Tom de Vries committed
    • omp-low.c (lower_omp_target): Remove unreachable code & merge ifs. · 68249442
      	* omp-low.c (lower_omp_target): Remove unreachable code & merge
      	ifs.
      
      From-SVN: r229535
      Nathan Sidwell committed
    • Fix X - (X / Y) * Y in match.pd. · fba46f03
      2015-10-29  Marc Glisse  <marc.glisse@inria.fr>
      
      	* match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity.
      
      From-SVN: r229534
      Marc Glisse committed
    • decl.c: Reorder #include's and remove duplicates. · 2adfab87
      ada
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gcc-interface/decl.c: Reorder #include's and remove duplicates.
      	* gcc-interface/misc.c: Likewise.
      	* gcc-interface/targtyps.c: Likewise.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      	
      c
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-array-notation.c: Reorder #include's and remove duplicates.
      	* c-aux-info.c: Likewise.
      	* c-convert.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-errors.c: Likewise.
      	* c-lang.c: Likewise.
      	* c-objc-common.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-typeck.c: Likewise.
      
      c-family
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array-notation-common.c: Reorder #include's and remove duplicates.
      	* c-ada-spec.c: Likewise.
      	* c-cilkplus.c: Likewise.
      	* c-common.c: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-dump.c: Likewise.
      	* c-format.c: Likewise.
      	* c-gimplify.c: Likewise.
      	* c-indentation.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-pch.c: Likewise.
      	* c-ppoutput.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-semantics.c: Likewise.
      	* c-ubsan.c: Likewise.
      	* cilk.c: Likewise.
      	* stub-objc.c: Likewise.
      
      cp
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* call.c: Reorder #include's and remove duplicates.
      	* class.c: Likewise.
      	* constexpr.c: Likewise.
      	* cp-array-notation.c: Likewise.
      	* cp-cilkplus.c: Likewise.
      	* cp-gimplify.c: Likewise.
      	* cp-lang.c: Likewise.
      	* cp-objcp-common.c: Likewise.
      	* cp-ubsan.c: Likewise.
      	* cvt.c: Likewise.
      	* cxx-pretty-print.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* dump.c: Likewise.
      	* error.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* friend.c: Likewise.
      	* init.c: Likewise.
      	* lambda.c: Likewise.
      	* lex.c: Likewise.
      	* mangle.c: Likewise.
      	* method.c: Likewise.
      	* name-lookup.c: Likewise.
      	* optimize.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* ptree.c: Likewise.
      	* repo.c: Likewise.
      	* rtti.c: Likewise.
      	* search.c: Likewise.
      	* semantics.c: Likewise.
      	* tree.c: Likewise.
      	* typeck.c: Likewise.
      	* typeck2.c: Likewise.
      	* vtable-class-hierarchy.c: Likewise.
      
      fortran
      
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array.c: Reorder #include's and remove duplicates.
      	* convert.c: Likewise.
      	* cpp.c: Likewise.
      	* decl.c: Likewise.
      	* f95-lang.c: Likewise.
      	* frontend-passes.c: Likewise.
      	* iresolve.c: Likewise.
      	* match.c: Likewise.
      	* module.c: Likewise.
      	* options.c: Likewise.
      	* parse.c: Likewise.
      	* resolve.c: Likewise.
      	* simplify.c: Likewise.
      	* target-memory.c: Likewise.
      	* trans-array.c: Likewise.
      	* trans-common.c: Likewise.
      	* trans-const.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-expr.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      	* trans-io.c: Likewise.
      	* trans-openmp.c: Likewise.
      	* trans-stmt.c: Likewise.
      	* trans-types.c: Likewise.
      	* trans.c: Likewise.
      
      go
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go-backend.c: Reorder #include's and remove duplicates.
      	* go-lang.c: Likewise.
      
      java
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* boehm.c: Reorder #include's and remove duplicates.
      	* builtins.c: Likewise.
      	* class.c: Likewise.
      	* constants.c: Likewise.
      	* decl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* java-gimplify.c: Likewise.
      	* jcf-dump.c: Likewise.
      	* jcf-io.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* jvgenmain.c: Likewise.
      	* lang.c: Likewise.
      	* mangle.c: Likewise.
      	* mangle_name.c: Likewise.
      	* resource.c: Likewise.
      	* typeck.c: Likewise.
      	* verify-glue.c: Likewise.
      	* verify-impl.c: Likewise.
      
      jit
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* dummy-frontend.c: Reorder #include's and remove duplicates.
      	* jit-builtins.c: Likewise.
      	* jit-playback.c: Likewise.
      	* jit-recording.c: Likewise.
      	* libgccjit.c: Likewise.
      
      lto
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-lang.c: Reorder #include's and remove duplicates.
      	* lto-object.c: Likewise.
      	* lto-partition.c: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto.c: Likewise.
      
      objc
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc-lang.c: Reorder #include's and remove duplicates.
      	* objc-map.c: Likewise.
      
      objcp
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objcp-decl.c: Reorder #include's and remove duplicates.
      	* objcp-lang.c: Likewise.
      
      From-SVN: r229533
      Andrew MacLeod committed
    • Remove redundant variable from tree-call-cdce.c · b05eab9d
      shrink_wrap_one_built_in_call had both guard_bb and guard_bb0.
      It looks like an earlier version of the pass may have updated
      one of the variables in the while loop, but now they're just
      two names for the same thing.
      
      Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
      
      gcc/
      	* tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
      	guard_bb0 and use guard_bb throughout.
      
      From-SVN: r229532
      Richard Sandiford committed
    • Remove unnecessary label from tree-call-cdce.c · 076906de
      Tested on x86_64-linux-gnu, arm-linux-gnueabi and aarch64-linux-gnu.
      
      gcc/
      	* tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
      	unnecessary label.
      
      From-SVN: r229531
      Richard Sandiford committed
    • config.host (arm*-*-eabi*, [...]): Include crtfastmath.o. · 1300f017
      2015-10-29  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* config.host (arm*-*-eabi*, arm*-*-symbianelf*, arm*-*-rtems*):
      	Include crtfastmath.o.
      
      From-SVN: r229529
      Christophe Lyon committed
    • re PR middle-end/68142 (unsafe association of multiplication) · 55db3753
      2015-10-29  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/68142
      	* fold-const.c (extract_muldiv_1): Avoid introducing undefined
      	overflow.
      
      	* c-c++-common/ubsan/pr68142.c: New testcase.
      
      From-SVN: r229528
      Richard Biener committed
    • alias.c: Reorder #include statements and remove duplicates. · 957060b5
      
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* alias.c: Reorder #include statements and remove duplicates.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* auto-profile.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* ccmp.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* cppbuiltin.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* data-streamer.c: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* debug.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dfp.c: Likewise.
      	* dojump.c: Likewise.
      	* dominance.c: Likewise.
      	* double-int.c: Likewise.
      	* dse.c: Likewise.
      	* dumpfile.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* fixed-value.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcse.c: Likewise.
      	* generic-match-head.c: Likewise.
      	* ggc-common.c: Likewise.
      	* gimple-builder.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-match-head.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple-walk.c: Likewise.
      	* gimple.c: Likewise.
      	* gimplify-me.c: Likewise.
      	* gimplify.c: Likewise.
      	* godump.c: Likewise.
      	* graph.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* ifcvt.c: Likewise.
      	* incpath.c: Likewise.
      	* init-regs.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa-chkp.c: Likewise.
      	* ipa-comdats.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-icf-gimple.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* lists.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-remat.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* opts-global.c: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* real.c: Likewise.
      	* realmpfr.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtl-chkp.c: Likewise.
      	* rtl-error.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtlhooks.c: Likewise.
      	* sanopt.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sese.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* statistics.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* symtab.c: Likewise.
      	* target-globals.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chkp-opt.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-scopedtables.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* value-prof.c: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vtable-verify.c: Likewise.
      	* web.c: Likewise.
      	* wide-int-print.cc: Likewise.
      	* wide-int.cc: Likewise.
      	* xcoffout.c: Likewise.
      
      From-SVN: r229526
      Andrew MacLeod committed
    • re PR c++/67845 (ICE on invalid use of const qualifier on x86_64-linux-gnu in… · f58b8cd7
      re PR c++/67845 (ICE on invalid use of const qualifier on x86_64-linux-gnu in merge_types, at cp/typeck.c:854)
      
      /cp
      2015-10-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/67845
      	* decl.c (grokfndecl): In case of erroneous cv-qualified non-member
      	functions consistently reset TREE_TYPE (decl) too.
      
      /testsuite
      2015-10-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/67845
      	* g++.dg/other/cv_func4.C: New.
      
      From-SVN: r229523
      Paolo Carlini committed
    • Add BUILD_NO_PIE_CFLAGS and BUILD_NO_PIE_FLAG · 5148d2e3
      We shouldn't use NO_PIE_CFLAGS and NO_PIE_FLAG with CXX_FOR_BUILD
      when CXX_FOR_BUILD != CXX.  This patch adds BUILD_NO_PIE_CFLAGS
      and BUILD_NO_PIE_FLAG to use with CXX_FOR_BUILD.  They are set to
      NO_PIE_CFLAGS and NO_PIE_FLAG when build machine == host machine.
      Otherwise, they are set to NO_PIE_CFLAGS_FOR_BUILD and
      NO_PIE_FLAG_FOR_BUILD.
      
      	* Makefile.in (NO_PIE_CFLAGS): New.
      	(NO_PIE_FLAG): Likewise.
      	(NO_PIE_CFLAGS_FOR_BUILD): Likewise.
      	(NO_PIE_FLAG_FOR_BUILD): Likewise.
      	(BUILD_NO_PIE_CFLAGS): Likewise.
      	(BUILD_NO_PIE_FLAG): Likewise.
      	(COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS).
      	(LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG).
      	(BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with
      	$(BUILD_NO_PIE_CFLAGS).
      	(BUILD_CXXFLAGS): Likewise.
      	(BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with
      	$(BUILD_NO_PIE_FLAG).
      	* configure.ac (BUILD_NO_PIE_CFLAGS): New.  AC_SUBST.
      	(BUILD_NO_PIE_FLAG): Likewise.
      	(NO_PIE_CFLAGS_FOR_BUILD): Likewise.
      	(NO_PIE_FLAG_FOR_BUILD): Likewise.
      	* configure: Regenerated.
      
      From-SVN: r229522
      H.J. Lu committed
    • Improve filenames for test cases of OpenACC combined directives · 41e977ac
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
      	* testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
      	... this.  Add a description of the test at the top of the file.
      	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
      	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
      	... this.  Add a description of the test at the top of the file.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      
      From-SVN: r229518
      Thomas Schwinge committed
    • re PR middle-end/56956 (ftrapv traps on valid abs-like code) · fcbb6b48
      2015-10-29  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/56956
      	* fold-const.c (fold_cond_expr_with_comparison): Do not fold
      	unsigned conditonal negation to ABS_EXPR.
      
      	* c-c++-common/ubsan/pr56956.c: New testcase.
      
      From-SVN: r229517
      Richard Biener committed
    • gimple-match-head.c (gimple_simplify): Remove premature checking of… · 384aedfc
      gimple-match-head.c (gimple_simplify): Remove premature checking of builtin_decl_implicit of function calls we simplify.
      
      2015-10-29  Richard Biener  <rguenther@suse.de>
      
      	* gimple-match-head.c (gimple_simplify): Remove premature checking
      	of builtin_decl_implicit of function calls we simplify.
      
      	fortran/
      	* f95-lang.c: Properly build variadic types for classification
      	and comparison builtins.
      
      From-SVN: r229515
      Richard Biener committed
    • tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on. · 73eb5e9e
      
      	* tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on.
      	(get_computation_cost_at): Ditto.
      	(determine_use_iv_cost_address): Pass NULL for arguments depends_on
      	and inv_expr_id.
      
      From-SVN: r229514
      Bin Cheng committed
    • Daily bump. · 3caa57ff
      From-SVN: r229511
      GCC Administrator committed