2014-07-31  Robert Dewar  <dewar@adacore.com>

	* inline.adb, gnat1drv.adb, exp_ch6.adb, s-fileio.adb: Minor
	reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213359 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Javier Miranda  <miranda@adacore.com>

	* debug.adb: Complete documentation of -gnatd.z.

2014-07-31  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Minor doc fixes.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Fix posting of missing
	index value.

2014-07-31  Tristan Gingold  <gingold@adacore.com>

	* s-unstyp.ads (Packed_Byte): Make this type universal aliasing.
	(Packed_Bytes1): Make component aliased.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* s-unstyp.ads, s-fileio.adb: Minor reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213360 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Javier Miranda  <miranda@adacore.com>

	* gnat1drv.adb (Back_End_Inlining): Set to false if
	Suppress_All_Inlining is set.
	* debug.adb: Adding documentation for -gnatd.z.
	* inline.adb (Add_Inlined_Body): Extend the -gnatn2
	processing to -gnatn1 for calls to Inline_Always routines.
	(Add_Inlined_Subprogram): Remove previous patch.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_One_Function): Apply properly the static
	semantic rules for indexing aspects and the functions they denote.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213361 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case 'Old):  The reference is
	legal if within an aspect specification for a generic subprogram.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213362 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* exp_strm.adb: Minor reformatting.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Build_Wrapper): New procedure, subsidiary to
	Analyze_Associations, to create a wrapper around operators that
	are actuals to formal subprograms. This is done in GNATProve
	mode in order to propagate the contracts of the operators to
	the body of the instance.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213363 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Arnaud Charlet  <charlet@adacore.com>

	* lib-writ.adb (Write_Unit_Information): Fix case where U =
	No_Unit.

2014-07-31  Claire Dross  <dross@adacore.com>

	* exp_util.adb, exp_util.ads
	(Get_First_Parent_With_External_Axiomatization_For_Entity):
	New routine to find the first parent of an entity with
	a pragma Annotate (GNATprove, External_Axiomatization).
	(Has_Annotate_Pragma_For_External_Axiomatization): New function
	to check if a package has a pragma Annotate (GNATprove,
	External_Axiomatization).
	* einfo.ads, einfo.adb (Is_Generic_Actual_Subprogram): New
	flag on the entity for the declaration created for a formal
	subprogram in an instance. This is a renaming declaration,
	or in GNATprove_Mode the declaration of an expression function
	that captures the axiomatization of the actual.
	* sem_ch6.adb (Analyze_Expression_Function): For a
	Generic_Actual_Subprogram, place body immediately after the
	declaration because it may be used in a subsequent declaration
	in the instance.
	* sem_ch12.adb (Build_Wrapper): Add code to handle instances where
	the actual is a function, not an operator. Handle functions with
	one and two parameters and binary and unary operators.

2014-07-31  Pascal Obry  <obry@adacore.com>

	* cstreams.c (__gnat_is_regular_file_fd): Removed.
	* adaint.c (__gnat_is_regular_file_fd): Added.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213364 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Pascal Obry  <obry@adacore.com>

	* a-stream.ads (Stream_Element_Offset): Now a signed 64bit type.
	* i-cstrea.ads, s-crtl.ads (fseek64): Offset is always a 64bit value.
	(ftell64): Always returns a 64bit value.
	* cstreams.c (int64): New definition.
	(_FILE_OFFSET_BITS): Set to 64 to enable 64bit offset support.
	(__gnat_ftell64): Always returns a 64bit value. The implemenation now
	uses ftello() on UNIX.
	(__gnat_fseek64): Offset is always a 64bit value. The
	implementation now uses fseeko() on UNIX.
	* a-ststio.adb, s-direio.adb (Set_Position): Simplify code,
	always use fseek64 to set the offset.
	(Size): Simplify code, always use fseek64/ftell64.
	* s-direio.ads (Count): Now an int64.
	* g-socket.ads (Vector_Element): Adjust definition for Length
	to be a size_t. This matches the C definition and avoid using
	a 64bit integer on 32bit platforms now that Count is always 64bit.
	* g-socthi-mingw.adb (Ada.Streams): Removed as not used anymore.
	(C_Recvmsg): Change some conversion to account for change in
	Vector_Element.
	(C_Sendmsg): Likewise.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* cstand.adb (Create_Standard): Remove handling of -gnatdm flag.
	* debug.adb: Remove documentation of -gnatdm flag.
	* gnat1drv.adb (Adjust_Global_Switches): Remove handling of
	-gnatdm flag.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213365 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, lib-writ.adb, sem_ch12.adb, s-direio.adb: Minor
	reformatting.

2014-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the comment
	which demonstrates the expansion of while loops subject to
	attribute 'Loop_Entry. The condition of a while loop along with
	related condition actions is now wrapped in a function.  Instead
	of repeating the condition, the expansion now calls the function.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb (Check_Against_Predicate): Correct off-by-one
	error when reporting of missing values in a case statement for
	a type with a static predicate.
	(Check_Choices): Reject a choice given by a subtype to which a
	Dynamic_Predicate applies.
	* sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
	Has_Dynamic_Predicate_Aspect flag from parent.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): A predicate
	cannot apply to a subtype of an incomplete type.
	(Is_Static_Choice): Treat an Others_Clause as static. The
	staticness of the expression and of the range are checked
	elsewhere.

2014-07-31  Pascal Obry  <obry@adacore.com>

	* adaint.h (__gnat_ftell64): Added.
	(__gnat_fseek64): Added.
	(__int64): Added.
	* cstreams.c (__int64): Removed.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213366 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Yury Gribov  <y.gribov@samsung.com>

	* doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
	* doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
	* flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
	New enums.
	* gcc.c (sanitize_spec_function): Support new option.
	(SANITIZER_SPEC): Remove now redundant check.
	* opts.c (common_handle_option): Support new option.
	(finish_options): Check for incompatibilities.
	* toplev.c (process_options): Split userspace-specific checks.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213367 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch13.adb: Minor reformatting.

2014-07-31  Arnaud Charlet  <charlet@adacore.com>

	* a-intnam-linux.ads: Minor: update obsolete comments.
	* s-taasde.adb: Minor: fix comment header.

2014-07-31  Arnaud Charlet  <charlet@adacore.com>

	* s-auxdec-vms-ia64.adb, s-parame-vms-alpha.ads, s-asthan-vms-alpha.adb,
	s-tpopde-vms.adb, s-mastop-vms.adb, s-tpopde-vms.ads, s-taprop-vms.adb,
	mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads, s-inmaop-vms.adb,
	g-enblsp-vms-alpha.adb, s-ransee-vms.adb, s-osprim-vms.adb,
	s-osprim-vms.ads, g-socthi-vms.adb, g-socthi-vms.ads, system-vms_64.ads,
	s-osinte-vms.adb, s-osinte-vms.ads, g-eacodu-vms.adb,
	s-vaflop-vms-alpha.adb, s-parame-vms-ia64.ads, a-dirval-vms.adb,
	a-caldel-vms.adb, mlib-tgt-specific-vms-alpha.adb, s-tasdeb-vms.adb,
	symbols-vms.adb, a-intnam-vms.ads, g-expect-vms.adb,
	symbols-processing-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
	s-traent-vms.adb, s-traent-vms.ads, i-cstrea-vms.adb, a-numaux-vms.ads,
	symbols-processing-vms-ia64.adb, s-interr-vms.adb, s-memory-vms_64.adb,
	s-memory-vms_64.ads, g-enblsp-vms-ia64.adb, s-taspri-vms.ads,
	s-auxdec-vms_64.ads, s-intman-vms.adb, s-intman-vms.ads,
	s-tpopsp-vms.adb, s-asthan-vms-ia64.adb, a-calend-vms.adb,
	a-calend-vms.ads, system-vms-ia64.ads, s-auxdec-vms-alpha.adb: Removed.
	* namet.h (Is_Non_Ada_Error): Remove.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213368 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* cstand.adb, einfo.adb, einfo.ads, errout.adb, exp_attr.adb,
	exp_prag.adb, frontend.adb, interfac.ads,
	par-prag.adb, s-auxdec.ads, s-filofl.ads, s-fishfl.ads, s-fvadfl.ads,
	s-fvaffl.ads, s-fvagfl.ads, s-vaflop.ads, sem_attr.adb, sem_attr.ads,
	sem_ch13.adb, sem_ch3.adb, sem_ch8.adb, sem_prag.adb, snames.adb-tmpl,
	snames.ads-tmpl: Remove obsolete VMS-specific code.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213369 138bc75d-0d04-0410-961f-82ee72b054a4
        * gcc-interface/trans.c, gcc-interface/misc.c: Remove references
        to VMS. Misc clean ups.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213370 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Arnaud Charlet  <charlet@adacore.com>

	* einfo.adb: Remove VMS specific code.
	* exp_attr.adb: Remove VAX specific code.
	* set_targ.adb: Remove handling of VAX_Float.
	* sem_vfpt.adb: Remove references to Vax_Native.
	* sem_attr.adb (Is_VAX_Float): Remove ref to VAX_Native.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_ch4.adb: Minor reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213371 138bc75d-0d04-0410-961f-82ee72b054a4
(gnatlib-shared-vms): Remove.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213372 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Javier Miranda  <miranda@adacore.com>

	* debug.adb Remove documentation of -gnatd.k (no longer needed).
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Code cleanup.
	* inline.ads (Backend_Inlined_Subps): New
	Elist.	(Backend_Not_Inlined_Subps): New Elist.
	(Has_Excluded_Declaration): Declaration previously located in
	* inline.adb (Has_Excluded_Statement): Declaration previously
	located in inline.adb
	* inline.adb (Has_Single_Return): Moved out of
	Build_Body_To_Inline to avoid having duplicated code.
	(Number_Of_Statements): New subprogram.
	(Register_Backend_Inlined_Subprogram): New subprogram.
	(Register_Backend_Not_Inlined_Subprogram): New subprogram.
	(Add_Inlined_Subprogram): Register backend inlined subprograms and
	also register subprograms that cannot be inlined by the backend.
	(Has_Excluded_Declaration): Moved out of Build_Body_To_Inline
	to avoid having duplicated code.  Replace occurrences of
	Debug_Flag_Dot_K by Back_End_Inlining.
	* sem_res.adb (Resolve_Call): Code cleanup.
	* exp_ch6.adb (Expand_Call): Complete previous patch. Replace
	occurrence of Debug_Flag_Dot_K by Back_End_Inlining.
	(List_Inlining_Info): Add listing of subprograms passed to the
	backend and listing of subprograms that cannot be inlined by
	the backend.
	* sem_ch12.adb, sem_ch3.adb Replace occurrences of
	Debug_Flag_Dot_K by Back_End_Inlining.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* nlists.ads: Minor code fix (remove unwise Inline for
	List_Length).



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213373 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Eric Botcazou  <ebotcazou@adacore.com>
        
        * gcc-interface/utils.c (lookup_and_insert_pad_type): New function
        extracted from...
        (maybe_pad_type): ...here.  Call it to canonicalize the pad type.
        * gcc-interface/gigi.h: Update comment.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213374 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61964
	* tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
	by structural equality.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213375 138bc75d-0d04-0410-961f-82ee72b054a4
PR target/61948

gcc/ChangeLog:
2014-07-29  Charles Baylis  <charles.baylis@linaro.org>

	PR target/61948
	* config/arm/neon.md (ashldi3_neon): Don't emit arm_ashldi3_1bit unless
	constraints are satisfied.
	(<shift>di3_neon): Likewise.

gcc/testsuite/ChangeLog:
2014-07-29  Charles Baylis  <charles.baylis@linaro.org>

        PR target/61948
        * gcc.target/arm/pr61948.c: New test case.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213376 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/invoke.texi (AVR Options): Add documentation about 
	__AVR_DEVICE_NAME__ built-in macro.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213377 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64_be] Fix vec_select hi/lo mask confusions.

gcc/

	* config/aarch64/aarch64.c (aarch64_simd_vect_par_cnst_half): Vary
	the generated mask based on BYTES_BIG_ENDIAN.
	(aarch64_simd_check_vect_par_cnst_half): New.
	* config/aarch64/aarch64-protos.h
	(aarch64_simd_check_vect_par_cnst_half): New.
	* config/aarch64/predicates.md (vect_par_cnst_hi_half): Refactor
	the check out to aarch64_simd_check_vect_par_cnst_half.
	(vect_par_cnst_lo_half): Likewise.
	* config/aarch64/aarch64-simd.md
	(aarch64_simd_move_hi_quad_<mode>): Always use vec_par_cnst_lo_half.
	(move_hi_quad_<mode>): Always generate a low mask.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213378 138bc75d-0d04-0410-961f-82ee72b054a4