Commit Graph

138745 Commits

Author SHA1 Message Date
Lawrence Velázquez
98fc3d49da re PR target/63810 (gcc sets incorrect macro for OS X deployment targets)
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
2015-05-28 12:27:05 +00:00
Jonathan Wakely
6a344b953a 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
2015-05-28 12:53:35 +01:00
H.J. Lu
f093f5a63b Mark parameters with ATTRIBUTE_UNUSED
* builtins.c (expand_builtin_acc_on_device): Mark parameters
	with ATTRIBUTE_UNUSED.

From-SVN: r223805
2015-05-28 04:41:34 -07:00
Ed Schonberg
4d6a38a56e sem_util.adb (Wrong_Type): In any instance...
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
2015-05-28 12:48:29 +02:00
Julian Brown
9fb5fd444b oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument.
* 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
2015-05-28 10:35:39 +00:00
Julian Brown
32eaed9380 re PR libgomp/65742 (Several libgomp.oacc-* failures after r221922.)
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
2015-05-28 09:29:19 +00:00
Arnaud Charlet
7d9880c94c [multiple changes]
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
2015-05-28 10:19:18 +02:00
Nick Clifton
55ffa75632 rx.c (push_regs): New function.
* 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
2015-05-28 07:16:51 +00:00
Richard Biener
1a4b99c172 tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec member.
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
2015-05-28 07:15:57 +00:00
H.J. Lu
428b381275 Add --enable-default-pie option to GCC configure
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
2015-05-27 19:36:55 -07:00
Thomas Preud'homme
ddd93587ef Fix PR66168
From-SVN: r223795
2015-05-28 02:15:03 +00:00
John David Anglin
225f474784 re PR target/66148 (build/genpreds: Internal error: abort in choose_enum_order, at genpreds.c:1006)
PR target/66148
	* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
	REG_EQUAL note when doing insert.

From-SVN: r223791
2015-05-28 01:09:59 +00:00
John David Anglin
34319f9aa5 pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of "%d" for 'o' operand.
* config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
	instead of "%d" for 'o' operand.

From-SVN: r223790
2015-05-28 00:36:08 +00:00
GCC Administrator
854440ccdb Daily bump.
From-SVN: r223788
2015-05-28 00:16:14 +00:00
Jeff Law
b60685a379 re PR target/39726 ([cond-optab] ColdFire pessimizations on QImode/HImode tests)
PR target/39726
        * gcc.dg/target/m68k/pr39726-1.c: New test.

From-SVN: r223781
2015-05-27 15:13:25 -06:00
Uros Bizjak
8ed501f167 wait.h (gomp_futex_wait, [...]): Declare as int.
2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
	Declare as int.
	(FUTEX_PRIVATE_FLAG): Remove L suffix.
	* config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
	Declare as int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	Revert:
	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]:
	Change operand "op" to long.

From-SVN: r223780
2015-05-27 23:07:09 +02:00
Jason Merrill
cba16cca62 decl.c (check_redeclaration_exception_specification): Depend on -Wsystem-headers rather than -pedantic.
* decl.c (check_redeclaration_exception_specification): Depend on
	-Wsystem-headers rather than -pedantic.

From-SVN: r223778
2015-05-27 16:53:06 -04:00
Jason Merrill
f425298902 decl.c (warn_extern_redeclared_static): Use the location of newdecl in diagnostics, not input_location.
* decl.c (warn_extern_redeclared_static): Use the location of
	newdecl in diagnostics, not input_location.
	(validate_constexpr_redeclaration): Likewise.
	(check_redeclaration_no_default_args): Likewise.
	(duplicate_decls): Likewise.
	(check_redeclaration_exception_specification): Likewise.
	Change second diagnostic to inform.

From-SVN: r223777
2015-05-27 16:52:55 -04:00
Nathan Sidwell
929614bf0e apply to correct changelog
From-SVN: r223775
2015-05-27 20:42:29 +00:00
Jason Merrill
0e963becfe * warnings.m4: Fix comment.
From-SVN: r223774
2015-05-27 16:40:38 -04:00
Nathan Sidwell
b6cb06b486 re PR c++/66270 (ICE: canonical types differ for identical types)
PR c++/66270
	* tree.c (build_pointer_type_for_mode): Canonical type does not
	inherit can_alias_all.
	(build_reference_type_for_mode): Likewise.

	PR c++/66270
	* g++.dg/ext/alias-canon3.C: New.

From-SVN: r223773
2015-05-27 20:36:14 +00:00
Eric Botcazou
73b4a60f5c trans.c (elaborate_all_entities): Do not elaborate an incomplete type coming from a limited_with and whose...
* gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
	incomplete type coming from a limited_with and whose non-limited view
	comes from the main unit.

From-SVN: r223772
2015-05-27 19:57:43 +00:00
Uros Bizjak
ea023bcfd8 futex.h (sys_futex0): Change operand "op" to long.
libgomp/ChangeLog:

	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]:
	Change operand "op" to long.
	[__PIC__]: Remove sys_futex0 function.

libitm/ChangeLog:

	* config/linux/x86/futex_bits.h (sys_futex0) [!__x86_64__]:
	Change operand "op" to long.
	[__PIC__]: Remove sys_futex0 function.

From-SVN: r223771
2015-05-27 21:35:58 +02:00
Eric Botcazou
8974754f6f expr.h (array_at_struct_end_p): Move to...
* expr.h (array_at_struct_end_p): Move to...
	(array_ref_element_size): Likewise.
	(component_ref_field_offset): Likewise.
	* tree.h (array_ref_element_size): ...here.
	(array_at_struct_end_p): Likewise.
	(component_ref_field_offset): Likewise.
	* expr.c (array_ref_element_size): Move to...
	(array_ref_low_bound): Likewise.
	(array_at_struct_end_p): Likewise.
	(array_ref_up_bound): Likewise.
	(component_ref_field_offset): Likewise.
	* tree.c (array_ref_element_size): ...here.
	(array_ref_low_bound): Likewise.
	(array_ref_up_bound): Likewise.
	(array_at_struct_end_p): Likewise.
	(component_ref_field_offset): Likewise.

From-SVN: r223768
2015-05-27 18:00:15 +00:00
Eric Botcazou
e590690ef2 decl.c (gnat_to_gnu_entity): Move down code applying atomic checks to the object.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
	code applying atomic checks to the object.

From-SVN: r223767
2015-05-27 17:57:01 +00:00
Gregor Richards
b6840fb7da [PATCH 3/13] aarch64 musl support
gcc/Changelog:

2015-05-27  Gregor Richards  <gregor.richards@uwaterloo.ca>
	    Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.


Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>

From-SVN: r223766
2015-05-27 16:46:39 +00:00
John Marino
89c54dd357 config.host (i[34567]86-*-freebsd*, [...]): Set md_unwind_header
* config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Set
        md_unwind_header
        * config/i386/freebsd-unwind.h: New.

From-SVN: r223765
2015-05-27 10:14:10 -06:00
Jason Merrill
ff771de3b4 re PR bootstrap/66304 (Can't bootstrap on x86_64-linux-gnu with gcc 4.3.4)
PR bootstrap/66304
config/
	* warnings.m4 (ACX_PROG_CXX_WARNING_OPTS)
	(ACX_PROG_CXX_WARNINGS_ARE_ERRORS)
	(ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC): New.
	(ACX_PROG_CC_WARNING_OPTS, ACX_PROG_CC_WARNING_ALMOST_PEDANTIC)
	(ACX_PROG_CC_WARNINGS_ARE_ERRORS): Push into C language context.
gcc/
	* configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
	ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
	ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
	* configure: Regenerate.

From-SVN: r223763
2015-05-27 12:09:18 -04:00
Aditya Kumar
650a202b47 auto-profile.c (afdo_calculate_branch_prob): Break once has_sample is true.
* auto-profile.c (afdo_calculate_branch_prob): Break once has_sample is
	true.

From-SVN: r223762
2015-05-27 09:06:25 -06:00
Aditya Kumar
ec09a694b3 * statistics.c (statistics_fini_pass): Print pass name.
From-SVN: r223761
2015-05-27 09:06:10 -06:00
Richard Biener
f3ae4add6c re PR tree-optimization/66272 (wrong code at -O3 on x86_64-linux-gnu)
2015-05-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66272
	Revert parts of
	2014-08-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62031
	* tree-data-ref.c (dr_analyze_indices): Do not set
	DR_UNCONSTRAINED_BASE.
	(dr_may_alias_p): All indirect accesses have to go the
	formerly DR_UNCONSTRAINED_BASE path.
	* tree-data-ref.h (struct indices): Remove
	unconstrained_base member.
	(DR_UNCONSTRAINED_BASE): Remove.

	* gcc.dg/torture/pr66272.c: New testcase.

From-SVN: r223759
2015-05-27 14:20:48 +00:00
Aldy Hernandez
70660539ce dwarf2out.c: Remove block_map.
* dwarf2out.c: Remove block_map.
	(gen_call_site_die): Replace block_map use with BLOCK_DIE.
	(gen_lexical_block_die): Same.
	(dwarf2out_function_decl): Remove block_map use.
	(dwarf2out_c_finalize): Same.
	* tree-core.h (struct tree_block): Add die field.
	* tree.h (BLOCK_DIE): New.

From-SVN: r223758
2015-05-27 14:09:58 +00:00
Richard Biener
d586cedd4c slp-reduc-7.c: New testcase.
2015-05-27  Richard Biener  <rguenther@suse.de>

	* gcc.dg/vect/slp-reduc-7.c: New testcase.

From-SVN: r223756
2015-05-27 13:50:50 +00:00
Arnaud Charlet
50ef946c45 [multiple changes]
2015-05-27  Robert Dewar  <dewar@adacore.com>

	* sem_aux.adb: Minor rewording.

2015-05-27  Bob Duff  <duff@adacore.com>

	* exp_prag.adb (Expand_Pragma_Abort_Defer): Make
	pragma Abort_Defer do nothing if Abort_Allowed is False.

2015-05-27  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch9.adb, sem_util.adb, sem_util.ads, s-stposu.adb, s-spsufi.ads,
	sem_elab.ads, g-comlin.ads, errout.ads, exp_ch6.adb, sem_ch4.adb,
	opt.ads, s-bignum.adb, output.ads, sem_ch13.adb, erroutc.ads,
	sem_disp.ads, exp_ch3.adb: Minor fixes of duplicate words in comments.

2015-05-27  Doug Rupp  <rupp@adacore.com>

	* adaint.c (__gnat_tmp_name) [vxworks]: Robustify and use for rtp as
	well as kernel.

2015-05-27  Pierre-Marie de Rodat  <derodat@adacore.com>

	* par_sco.adb (Process_Decision): Store sloc to
	condition/pragmas SCOs associations into a temporary table before
	moving them to the SCO_Raw_Hash_Table so that we can back them
	out just like we do for SCO entries that are simple decisions
	in an expression context.

From-SVN: r223754
2015-05-27 15:26:16 +02:00
Kyrylo Tkachov
99206968a8 [expr.c] PR target/65358 Avoid clobbering partial argument during sibcall
PR target/65358
	* expr.c (memory_load_overlap): New function.
	(emit_push_insn): When pushing partial args to the stack would
	clobber the register part load the overlapping part into a pseudo
	and put it into the hard reg after pushing.  Change return type
	to bool.  Add bool argument.
	* expr.h (emit_push_insn): Change return type to bool.
	Add bool argument.
	* calls.c (expand_call): Cancel sibcall optimization when encountering
	partial argument on targets with ARGS_GROW_DOWNWARD and
	!STACK_GROWS_DOWNWARD.
	(emit_library_call_value_1): Update callsite of emit_push_insn.
	(store_one_arg): Likewise. 

	PR target/65358
	* gcc.dg/pr65358.c: New test.

From-SVN: r223753
2015-05-27 13:25:01 +00:00
Arnaud Charlet
66371f94f5 [multiple changes]
2015-05-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Process_Formals): A non-private formal type that
	is a limited view does not have a list of private dependents.

2015-05-27  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_N_Case_Statement): If the expression in
	the case statement is a compile-time known value, we look for a
	corresponding alternative to optimize the case statement into a
	single case. If the type has a static predicate and the expression
	does not satisfy the predicate, there is no legal alternative and
	this optimization is not applicable.  Excecution is erroneous,
	or else if assertions are enabled, an exception will be raised
	earlier, at the point the expression is elaborated.

2015-05-27  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb (Check_Internal_Call_Continue): Suppress
	warning on Finalize, Adjust, or Initialize if type involved has
	Warnings_Off set.

2015-05-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_aux.adb, sem_aux.ads (First_Discriminant): Return empty when
	applied to a type with no known discriminants.

From-SVN: r223752
2015-05-27 15:21:36 +02:00
Arnaud Charlet
0c6826a523 [multiple changes]
2015-05-26  Robert Dewar  <dewar@adacore.com>

	* errout.ads, sem_ch4.adb, sem_ch6.adb: Minor reformatting.

2015-05-26  Bob Duff  <duff@adacore.com>

	* sem_elab.adb (Check_A_Call): In the case where we're
	calling something in an instance of a generic package that is
	within this same unit (as the call), make sure we treat it
	as a call to an entity within the same unit. That is, call
	Check_Internal_Call, rather than putting "Elaborate_All(X)"
	on X, which would necessarily result in an elaboration cycle in
	static-elaboration mode.

2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>

	* freeze.ads (Is_Atomic_VFA_Aggregate): Adjust profile.
	* freeze.adb (Is_Atomic_VFA_Aggregate): Change Entity
	parameter into Node parameter and remove Type parameter.
	Look at Is_Atomic_Or_VFA both on the type and on the object.
	(Freeze_Entity): Adjust call to Is_Atomic_VFA_Aggregate.
	* exp_aggr.adb (Expand_Record_Aggregate): Likewise.
	(Process_Atomic_Independent_Shared_Volatile): Remove code
	propagating Atomic or VFA from object to locally-defined type.

2015-05-26  Bob Duff  <duff@adacore.com>

	* exp_ch7.adb: Minor comment fix.

From-SVN: r223751
2015-05-27 15:19:35 +02:00
Martin Liska
faae53f8ca LTO balanced map: add stats about insns and symbols.
* lto-partition.c (new_partition): Reset number of symbols.
	(add_symbol_to_partition_1): Increment number of symbols.
	(undo_partition): Decrement number of symbols.
	(lto_balanced_map): Dump number of symbols and insns that
	belong to a partition.
	* lto-partition.h (struct ltrans_partition_def): Add symbol counter.

From-SVN: r223750
2015-05-27 13:17:13 +00:00
Gregor Richards
4d45be537b [PATCH 4/13] arm musl support
On behalf of szabolcs.nagy@arm.com

2015-05-27  Gregor Richards  <gregor.richards@uwaterloo.ca>

	* config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.

From-SVN: r223749
2015-05-27 13:17:11 +00:00
Martin Liska
2d44c7dea7 New memory allocation statistics infrastructure.
* Makefile.in: Add additional dependencies related to memory report
	enhancement.
	* alloc-pool.c (allocate_pool_descriptor): Use new ctor.
	* bitmap.c (struct bitmap_descriptor_d): Remove.
	(struct loc): Likewise.
	(struct bitmap_desc_hasher): Likewise.
	(bitmap_desc_hasher::hash): Likewise.
	(bitmap_desc_hasher::equal): Likewise.
	(get_bitmap_descriptor): Likewise.
	(bitmap_register): User new memory descriptor API.
	(register_overhead): Likewise.
	(bitmap_find_bit): Register nsearches and search_iter statistics.
	(struct bitmap_output_info): Remove.
	(print_statistics): Likewise.
	(dump_bitmap_statistics): Use new memory descriptor.
	* bitmap.h (struct bitmap_usage): New class.
	* genmatch.c: Extend header file inclusion.
	* genpreds.c: Likewise.
	* ggc-common.c (struct ggc_usage): New class.
	(struct ggc_loc_desc_hasher): Remove.
	(ggc_loc_desc_hasher::hash): Likewise.
	(ggc_loc_desc_hasher::equal): Likewise.
	(struct ggc_ptr_hash_entry): Likewise.
	(struct ptr_hash_hasher): Likewise.
	(ptr_hash_hasher::hash): Likewise.
	(ptr_hash_hasher::equal): Likewise.
	(make_loc_descriptor): Likewise.
	(ggc_prune_ptr): Likewise.
	(dump_ggc_loc_statistics): Use new memory descriptor.
	(ggc_record_overhead): Likewise.
	(ggc_free_overhead): Likewise.
	(final_cmp_statistic): Remove.
	(cmp_statistic): Likewise.
	(ggc_add_statistics): Liekwise.
	(ggc_prune_overhead_list): Likewise.
	* hash-map-traits.h: New file.
	* hash-map.h (struct default_hashmap_traits): Move the traits to a
	separate header file.
	* hash-set.h: Pass memory statistics info to ctor.
	* hash-table.c (void dump_hash_table_loc_statistics): New function.
	* hash-table.h (hash_table::hash_table): Add new ctor arguments.
	(hash_table::~hash_table): Register memory release operation.
	(hash_table::alloc_entries): Handle memory allocation operation.
	(hash_table::expand): Likewise.
	* inchash.c (iterative_hash_hashval_t): Move implementation to header
	file.
	(iterative_hash_host_wide_int): Likewise.
	* inchash.h (class hash): Likewise.
	* mem-stats-traits.h: New file.
	* mem-stats.h: New file.
	(mem_location): Add new class.
	(mem_usage): Likewise.
	(mem_alloc_description): Likewise.
	* sese.c: Add new header file inclusision.
	* toplev.c (dump_memory_report): Add report for hash_table, hash_map
	and hash_set.
	* tree-sra.c: Add new header file inclusision.
	* vec.c (struct vec_descriptor): Remove.
	(hash_descriptor): Likewise.
	(struct vec_usage): Likewise.
	(struct ptr_hash_entry): Likewise.
	(hash_ptr): Likewise.
	(eq_ptr): Likewise.
	(vec_prefix::register_overhead): Use new memory descriptor API.
	(vec_prefix::release_overhead): Likewise.
	(add_statistics): Remove.
	(dump_vec_loc_statistics): Use new memory descriptor API.
	* vec.h (struct vec_prefix): Likewise.
	(va_heap::reserve): Likewise.
	(va_heap::release): Likewise.
	* emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.

From-SVN: r223748
2015-05-27 12:47:22 +00:00
Jonathan Wakely
151fbaac5c stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr instead of downcasting.
* include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
	instead of downcasting.
	(_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
	(_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
	(_Rb_tree::_S_iter): Remove.
	(_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
	(_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
	instead of _S_lower_bound_tr
	(_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
	(_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
	instead of calling _S_lower_bound_tr.
	(_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
	(_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
	instead of calling _S_upper_bound_tr.
	(_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
	(_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
	(_Rb_tree::equal_range): Use _Base_ptr for end pointer.
	(_Rb_tree::_M_get_insert_unique_pos): Likewise.
	(_Rb_tree::_M_get_insert_equal_pos): Likewise.
	(_Rb_tree::_M_insert_equal_lower_node): Likewise.
	(_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
	_Rb_tree::_M_emplace_hint_unique): Remove static_cast.

From-SVN: r223746
2015-05-27 12:18:44 +01:00
Jonathan Wakely
2097b5b029 re PR libstdc++/66017 (Undefined behaviour in std::set<long long>)
PR libstdc++/66017
	* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
	(_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
	from _Base_ptr.
	(_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
	(_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
	* include/ext/aligned_buffer.h (__aligned_membuf): New type using
	alignment of _Tp as a member subobject, not as a complete object.
	* python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
	_Link_type manually as it might not be in the debug info.

From-SVN: r223745
2015-05-27 12:18:37 +01:00
Richard Biener
b1af7da612 tree-vect-stmts.c (vectorizable_load): Initialize slp_perm earlier and remove ??? comment.
2015-05-27  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
	earlier and remove ??? comment.
	(vect_analyze_stmt): If we are analyzing a pure SLP stmt
	and got called from loop analysis bail out.  Always pass the SLP
	node to the vectorizable_* functions.
	* tree-vect-loop.c (vect_analyze_loop_operations): Remove
	the premature SLP check here.
	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
	detected SLP stmts.
	(vect_detect_hybrid_slp_1): Likewise.

From-SVN: r223743
2015-05-27 10:31:11 +00:00
Andre Vehreschild
d4cecb1341 trans-stmt.c (gfc_trans_allocate): Add missing location information for e3rhs.
gcc/fortran/ChangeLog:

2015-05-27  Andre Vehreschild  <vehre@gmx.de>

	* trans-stmt.c (gfc_trans_allocate): Add missing location
	information for e3rhs.

gcc/testsuite/ChangeLog:

2015-05-27  Andre Vehreschild  <vehre@gmx.de>

	* gfortran.dg/allocate_with_source_5.f90: Correct errorneous
	semantic.
	* gfortran.dg/allocate_with_source_6.f90: New test.

From-SVN: r223738
2015-05-27 10:48:51 +02:00
Chung-Lin Tang
1716efeb6d target.c (gomp_map_pointer): New function abstracting out GOMP_MAP_POINTER handling.
2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>

	libgomp/
	* target.c (gomp_map_pointer): New function abstracting out
	GOMP_MAP_POINTER handling.
	(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
	gomp_map_pointer().

From-SVN: r223737
2015-05-27 06:16:37 +00:00
Jeff Law
7553271edd combine.c (find_split_point): Verify that the shift count is a constant when...
* combine.c (find_split_point): Verify that the shift count is a
       constant when choosing (plus (ashift ...)) as a split point.

From-SVN: r223736
2015-05-26 22:59:42 -06:00
Jeff Law
7499cd25dc tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
* tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
        No functional changes.

From-SVN: r223734
2015-05-26 22:42:23 -06:00
Jan Hubicka
6acd8c92ef * ipa-polymorphic-call.c
(ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
	case when call target is already known.

From-SVN: r223733
2015-05-27 04:37:48 +00:00
GCC Administrator
c6b8c3adf9 Daily bump.
From-SVN: r223729
2015-05-27 00:16:16 +00:00
Doug Evans
419587a0bb xmethods.py (UniquePtrMethodsMatcher): Add operator-> support.
* python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
	operator-> support.
	* testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
	operator->.

From-SVN: r223723
2015-05-26 23:06:55 +00:00