1. 28 May, 2015 19 commits
    • hppa-linux: add missing cpp specs · de0e921c
      Define CPP_SPEC for parisc linux targets so that -posix & -pthread work
      like on all other linux targets.
      
      Discovered via Gentoo bug https://bugs.gentoo.org/543114
      
      From-SVN: r223820
      Mike Frysinger committed
    • tree-vect-loop.c (vect_fixup_reduc_chain): New function. · 14a61437
      2015-05-28  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-loop.c (vect_fixup_reduc_chain): New function.
      	(vect_fixup_scalar_cycles_with_patterns): Likewise.
      	(vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
      	after pattern recog.
      	(vect_create_epilog_for_reduction): Properly handle reductions
      	with patterns.
      	(vectorizable_reduction): Likewise.
      	* tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
      	reduction chains.
      	(vect_get_constant_vectors): Create the correct number of
      	initial values for reductions.
      	(vect_schedule_slp_instance): Handle reduction chains that are
      	type changing properly.
      	* tree-vect-stmts.c (vect_analyze_stmt): Adjust.
      
      	* gcc.dg/vect/slp-reduc-sad.c: New testcase.
      
      From-SVN: r223818
      Richard Biener committed
    • [multiple changes] · 22872224
      2015-05-28  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Is_Visible_Component): Component is visible
      	in a derived type if inherited through an ancestor that has a
      	partial view of the original type holding the component, if the
      	full view of that original type is in scope.
      	* sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs.
      
      2015-05-28  Bob Duff  <duff@adacore.com>
      
      	* sem_util.adb (Requires_Transient_Scope): For definite untagged
      	subtypes, we should never have to use the secondary stack. This moves
      	toward that goal. But there are still cases that don't work.
      	Here, we move the check for Is_Definite first, but add a
      	special-purpose check for Has_Discrim_Dep_Array.
      
      From-SVN: r223817
      Arnaud Charlet committed
    • re PR tree-optimization/66142 (Loop is not vectorized because not sufficient… · e65757f3
      re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE)
      
      2015-05-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/66142
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
      	values better in memcpy destination handling.  Handle non-aliasing
      	we discover here.
      
      	* gcc.dg/tree-ssa/ssa-fre-44.c: Fixup.
      
      From-SVN: r223816
      Richard Biener committed
    • sem_util.adb (Requires_Transient_Scope): Avoid returning function results on the… · d3b1cbdd
      sem_util.adb (Requires_Transient_Scope): Avoid returning function results on the secondary stack in so many cases.
      
      2015-05-28  Bob Duff  <duff@adacore.com>
      
      	* sem_util.adb (Requires_Transient_Scope): Avoid returning
      	function results on the secondary stack in so many cases.
      
      From-SVN: r223814
      Bob Duff committed
    • re PR target/63810 (gcc sets incorrect macro for OS X deployment targets) · 98fc3d49
      2015-05-28  Lawrence Velázquez  <vq@larryv.me>
      
      	PR target/63810
      	* config/darwin-c.c (version_components): New global enum.
      	(parse_version, version_as_legacy_macro)
      	(version_as_modern_macro, macosx_version_as_macro): New functions.
      	(version_as_macro): Remove.
      	(darwin_cpp_builtins): Use new function.
      
      testsuite:
      	PR target/63810
      	* gcc.dg/darwin-minversion-3.c: Update testcase.
      	* gcc.dg/darwin-minversion-4.c: Ditto.
      	* gcc.dg/darwin-minversion-5.c: New testcase.
      	* gcc.dg/darwin-minversion-6.c: Ditto.
      	* gcc.dg/darwin-minversion-7.c: Ditto.
      	* gcc.dg/darwin-minversion-8.c: Ditto.
      	* gcc.dg/darwin-minversion-9.c: Ditto.
      	* gcc.dg/darwin-minversion-10.c: Ditto.
      	* gcc.dg/darwin-minversion-11.c: Ditto.
      	* gcc.dg/darwin-minversion-12.c: Ditto.
      
      From-SVN: r223808
      Lawrence Velázquez committed
    • re PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and… · 6a344b95
      re PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and breaks on clang+ubsan)
      
      	PR libstdc++/65352
      	* include/std/array (__array_traits::_S_ptr): New function.
      	(array::data): Use _S_ptr to avoid creating invalid reference.
      	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
      	dg-error line numbers.
      	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
      	likewise.
      
      From-SVN: r223806
      Jonathan Wakely committed
    • Mark parameters with ATTRIBUTE_UNUSED · f093f5a6
      	* builtins.c (expand_builtin_acc_on_device): Mark parameters
      	with ATTRIBUTE_UNUSED.
      
      From-SVN: r223805
      H.J. Lu committed
    • sem_util.adb (Wrong_Type): In any instance... · 4d6a38a5
      2015-05-28  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Wrong_Type): In any instance, do not emit error
      	if type of expression is the partial view of the expected type.
      
      2015-05-28  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Actuals): a)  The replacement of formal
      	names in named associations only needs to be done within an
      	instance, on a call to a primitive of a formal derived type,
      	where the actual subprogram may have different formal names than
      	those of the primitive operation of the formal type.
      	b) Defaulted parameters must be taken into account when obtaining
      	the names of the formals of the actual subprogram being called.
      
      From-SVN: r223804
      Ed Schonberg committed
    • oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. · 9fb5fd44
      	* oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
      	function comment. Only call gomp_fatal if new argument is true.
      	(acc_dev_num_out_of_range): New function.
      	(acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
      	acc_dev_num_out_of_range as appropriate.
      	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
      	(acc_get_device_num, acc_set_device_num): Update calls to resolve_device.
      	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
      	output.
      
      From-SVN: r223803
      Julian Brown committed
    • re PR libgomp/65742 (Several libgomp.oacc-* failures after r221922.) · 32eaed93
          PR libgomp/65742
      
          gcc/
          * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
          sequence for !ACCEL_COMPILER.
      
          libgomp/
          * oacc-init.c (plugin/plugin-host.h): Include.
          (acc_on_device): Check whether we're in an offloaded region for
          host_nonshm
          plugin. Don't use __builtin_acc_on_device.
          * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
          nonshm_exec flag in thread-local data.
          (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
          data for host_nonshm plugin.
          (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
          for host_nonshm plugin.
          * plugin/plugin-host.h: New.
      
      From-SVN: r223801
      Julian Brown committed
    • [multiple changes] · 7d9880c9
      2015-05-28  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb, sem_disp.ads: Minor reformatting.
      
      2015-05-28  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Set_Debug_Info_Needed): For a private type
      	whose full view is itself a derived private type, set flag on
      	underlying full view as well, for proper gdb display.
      
      2015-05-28  Bob Duff  <duff@adacore.com>
      
      	* exp_tss.ads: Minor comment fix.
      	* exp_ch3.adb (Build_Array_Init_Proc, Build_Record_Init_Proc):
      	Inline init_procs when the type has controlled parts. Remove
      	obsolete comments about those init_procs -- init_procs for
      	such types are no longer complex. A typical init_proc just
      	initializes the 'Tag field, and calls the parent init_proc
      	(e.g. for Limited_Controlled), which calls the grandparent
      	(for Root_Controlled), which does nothing. This all boils down
      	to one instruction when inlined.
      	* exp_ch7.adb (Create_Finalizer): Inline the finalizer.
      
      2015-05-28  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Analyze_Selected_Component): If the type to use
      	is a derived type and is a generic actual, the selected component
      	appears within an instance body, and the check over the type
      	has failed, examine ancestor types for the desired component.
      	(Find_Component_In_Instance): If record type is a derived type,
      	examine all ancestors in order to locate desired component.
      
      From-SVN: r223800
      Arnaud Charlet committed
    • rx.c (push_regs): New function. · 55ffa756
      	* config/rx/rx.c (push_regs): New function.  Extracts code from...
      	(rx_expand_prologue): ... here.  Use push_regs to push even small
      	spans of registers.
      	(pop_regs): New function.
      	(rx_expand_epilogue):  Use pop_regs to pop even small spans of
      	registers.
      
      From-SVN: r223799
      Nick Clifton committed
    • tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec member. · 1a4b99c1
      2015-05-28  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
      	member.
      	(SLP_INSTANCE_BODY_COST_VEC): Remove.
      	(vect_update_slp_costs_according_to_vf): Likewise.
      	(vect_slp_analyze_operations): Update prototype.
      	* tree-vect-loop.c (vect_analyze_loop_2): Remove call to
      	vect_update_slp_costs_according_to_vf, adjust.
      	* tree-vect-slp.c (vect_free_slp_instance): Adjust.
      	(vect_analyze_slp_cost_1): Likewise.
      	(vect_analyze_slp_cost): Likewise.  Properly deal with
      	widening reduction ops.  Commit body costs.
      	(vect_analyze_slp_instance): Adjust.  Do not analyze SLP
      	cost for loops from here.
      	(vect_slp_analyze_operations): But do it from here when
      	the vectorization factor is known and stmts are analyzed.
      	(vect_bb_vectorization_profitable_p): Simplify.
      	(vect_slp_analyze_bb_1): Do not compute SLP cost here.
      	(vect_update_slp_costs_according_to_vf): Remove.
      
      From-SVN: r223798
      Richard Biener committed
    • Add --enable-default-pie option to GCC configure · 428b3812
      Add --enable-default-pie option to configure GCC to generate PIE by
      default.
      
      gcc/
      
      	* Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
      	(BUILD_CFLAGS): Likewise.
      	(BUILD_CXXFLAGS): Likewise.
      	(LINKER): Add @NO_PIE_FLAG@.
      	(BUILD_LDFLAGS): Likewise.
      	(libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
      	--enable-default-pie.
      	* common.opt (fPIE): Initialize to -1.
      	(fpie): Likewise.
      	(no-pie): New option.
      	(pie): Replace "Negative(shared)" with "Negative(no-pie)".
      	* configure.ac: Add --enable-default-pie.
      	(NO_PIE_CFLAGS): New.  Check if -fno-PIE works.  AC_SUBST.
      	(NO_PIE_FLAG): New.  Check if -no-pie works.  AC_SUBST.
      	* defaults.h (DEFAULT_FLAG_PIE): New.  Default PIE to -fPIE.
      	* gcc.c (NO_PIE_SPEC): New.
      	(PIE_SPEC): Likewise.
      	(NO_FPIE1_SPEC): Likewise.
      	(FPIE1_SPEC): Likewise.
      	(NO_FPIE2_SPEC): Likewise.
      	(FPIE2_SPEC): Likewise.
      	(NO_FPIE2_SPEC): Likewise.
      	(FPIE_SPEC): Likewise.
      	(NO_FPIE_SPEC): Likewise.
      	(NO_FPIC1_SPEC): Likewise.
      	(FPIC1_SPEC): Likewise.
      	(NO_FPIC2_SPEC): Likewise.
      	(FPIC2_SPEC): Likewise.
      	(NO_FPIC2_SPEC): Likewise.
      	(FPIC_SPEC): Likewise.
      	(NO_FPIC_SPEC): Likewise.
      	(NO_FPIE1_AND_FPIC1_SPEC): Likewise.
      	(FPIE1_OR_FPIC1_SPEC): Likewise.
      	(NO_FPIE2_AND_FPIC2_SPEC): Likewise.
      	(FPIE2_OR_FPIC2_SPEC): Likewise.
      	(NO_FPIE_AND_FPIC_SPEC): Likewise.
      	(FPIE_OR_FPIC_SPEC): Likewise.
      	(LD_PIE_SPEC): Likewise.
      	(LINK_PIE_SPEC): Handle -no-pie.  Use PIE_SPEC and LD_PIE_SPEC.
      	* opts.c (finish_options): Update opts->x_flag_pie if it is -1.
      	* config/darwin.h (PIE_SPEC): Renamed to ...
      	(DARWIN_PIE_SPEC): This.
      	(LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
      	* config/darwin9.h (PIE_SPEC): Renamed to ...
      	(DARWIN_PIE_SPEC): This.
      	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
      	PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
      	* config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
      	FPIE2_OR_FPIC2_SPEC.
      	* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
      	* config/m68k/openbsd.h (ASM_SPEC): Likewise.
      	* gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
      	* config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
      	* config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
      	* config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
      	* config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
      	* config/m32r/m32r.h (ASM_SPEC): Likewise.
      	* config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
      	* config/rs6000/linux64.h (ASM_SPEC32): Likewise.
      	* config/rs6000/sysv4.h (ASM_SPEC): Likewise.
      	* config/sparc/freebsd.h (ASM_SPEC): Likewise.
      	* config/sparc/linux.h (ASM_SPEC): Likewise.
      	* config/sparc/linux64.h (ASM_SPEC): Likewise.
      	* config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
      	* config/sparc/openbsd64.h (ASM_SPEC): Likewise.
      	* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
      	* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
      	* config/sparc/sparc.h (ASM_SPEC): Likewise.
      	* config/sparc/sysv4.h (ASM_SPEC): Likewise.
      	* config/sparc/vxworks.h (ASM_SPEC): Likewise.
      	* config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
      	FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
      	* config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
      	* config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
      	NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
      	(ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
      	* config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and
      	NO_FPIC_SPEC.
      	* config/mips/gnu-user.h (NO_SHARED_SPECS): Use
      	NO_FPIE_AND_FPIC_SPEC.
      	* config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
      	* config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
      	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
      	* config/vax/linux.h (ASM_SPEC): Likewise.
      	* doc/install.texi: Document --enable-default-pie.
      	* doc/invoke.texi: Document -no-pie.
      	* config.in: Regenerated.
      	* configure: Likewise.
      
      gcc/ada/
      
      	* gcc-interface/Makefile.in (TOOLS_LIBS): Add @NO_PIE_FLAG@.
      
      libgcc/
      
      	* Makefile.in (CRTSTUFF_CFLAGS): Add $(NO_PIE_CFLAGS).
      
      From-SVN: r223796
      H.J. Lu committed
    • Fix PR66168 · ddd93587
      From-SVN: r223795
      Thomas Preud'homme committed
    • re PR target/66148 (build/genpreds: Internal error: abort in choose_enum_order, at genpreds.c:1006) · 225f4747
      	PR target/66148
      	* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
      	REG_EQUAL note when doing insert.
      
      From-SVN: r223791
      John David Anglin committed
    • pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of "%d" for 'o' operand. · 34319f9a
      	* config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
      	instead of "%d" for 'o' operand.
      
      From-SVN: r223790
      John David Anglin committed
    • Daily bump. · 854440cc
      From-SVN: r223788
      GCC Administrator committed
  2. 27 May, 2015 21 commits