gcc/

2014-02-24  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/60268
    * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
    initialization to ...
    (sched_rgn_init): ... here.
    (schedule_region): Check for SCHED_PRESSURE_NONE earlier.

testsuite/

2014-02-24  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/60268
    * gcc.c-torture/compile/pr60268.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208066 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Martin Jambor  <mjambor@suse.cz>

	PR ipa/60266
	* ipa-cp.c (propagate_constants_accross_call): Bail out early if
	there are no parameter descriptors.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208067 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Sergey Rybin  <rybin@adacore.com frybin>

	* gnat_ugn.texi: Misc updates.

2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_prag.adb (Expand_Old): Set the type of the generated temporary.

2014-02-24  Gary Dismukes  <dismukes@adacore.com>

	* layout.adb (Layout_Variant_Record): Instantiate
	Generic_Check_Choices and call Check_Choices before calling
	Build_Discr_Checking_Funcs, since we need Others_Discrete_Choices
	set to prevent generating incorrect discriminant-checking
	functions for 'others' variants (functions that unconditionally
	return True rather than accounting for the values covered by the
	'others' choice).
	* sem_eval.ads (Subtypes_Statically_Compatible): Add formal
	Formal_Derived_Matching.
	(Subtypes_Statically_Match): Add formal Formal_Derived_Matching.
	* sem_eval.adb (Subtypes_Statically_Compatible): Pass new
	Formal_Derived_Matching formal to Subtypes_Statically_Match.
	(Subtypes_Statically_Match): Suppress the Object_Size matching
	test in the case where Formal_Derived_Matching is True.
	* sem_ch12.adb (Validate_Derived_Type_Instance): Pass
	True for Formal_Derived_Matching_Formal on the call to
	Subtypes_Statically_Compatible.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208068 138bc75d-0d04-0410-961f-82ee72b054a4
TILE-Gx big endian support.

/:
	* configure.ac (tilepro-*-*) Change to tilepro*-*-*.
	(tilegx-*-*): Change to tilegx*-*-*.
	* configure: Regenerate.

contrib/:
	* config-list.mk (LIST): Add tilegxbe-linux-gnu.

libcpp/:
	* configure.ac: Change "tilepro" triplet to "tilepro*".
	* configure: Regenerate.

libgcc/:
	* config.host: Support "tilegx*" and "tilepro*" triplets.
	* config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian.
	* config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian.

gcc/:
	* config.gcc (tilepro-*-*): Change to tilepro*-*-*.
	(tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
	triplet.
	* common/config/tilegx/tilegx-common.c
	(TARGET_DEFAULT_TARGET_FLAGS): Define.
	* config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
	(LINK_SPEC): Ditto.
	* config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
	* config/tilegx/tilegx.c (tilegx_return_in_msb): New.
	(tilegx_gimplify_va_arg_expr): Handle big endian.
	(tilegx_expand_unaligned_load): Ditto.
	(tilegx_expand_unaligned_store): Ditto.
	(TARGET_RETURN_IN_MSB): New.
	* config/tilegx/tilegx.h (TARGET_DEFAULT): New.
	(TARGET_ENDIAN_DEFAULT): New.
	(TARGET_BIG_ENDIAN): Handle big endian.
	(BYTES_BIG_ENDIAN): Ditto.
	(WORDS_BIG_ENDIAN): Ditto.
	(FLOAT_WORDS_BIG_ENDIAN): Ditto.
	(ENDIAN_SPEC): New.
	(EXTRA_SPECS): New.
	* config/tilegx/tilegx.md (extv): Handle big endian.
	(extzv): Ditto.
	(insn_st<n>): Ditto.
	(insn_st<n>_add<bitsuffix>): Ditto.
	(insn_stnt<n>): Ditto.
	(insn_stnt<n>_add<bitsuffix>):Ditto.
	(vec_interleave_highv8qi): Handle big endian.
	(vec_interleave_highv8qi_be): New.
	(vec_interleave_highv8qi_le): New.
	(insn_v1int_h): Handle big endian.
	(vec_interleave_lowv8qi): Handle big endian.
	(vec_interleave_lowv8qi_be): New.
	(vec_interleave_lowv8qi_le): New.
	(insn_v1int_l): Handle big endian.
	(vec_interleave_highv4hi): Handle big endian.
	(vec_interleave_highv4hi_be): New.
	(vec_interleave_highv4hi_le): New.
	(insn_v2int_h): Handle big endian.
	(vec_interleave_lowv4hi): Handle big endian.
	(vec_interleave_lowv4hi_be): New.
	(vec_interleave_lowv4hi_le): New.
	(insn_v2int_l): Handle big endian.
	(vec_interleave_highv2si): Handle big endian.
	(vec_interleave_highv2si_be): New.
	(vec_interleave_highv2si_le): New.
	(insn_v4int_h): Handle big endian.
	(vec_interleave_lowv2si): Handle big endian.
	(vec_interleave_lowv2si_be): New.
	(vec_interleave_lowv2si_le): New.
	(insn_v4int_l): Handle big endian.
	* config/tilegx/tilegx.opt (mbig-endian): New option.
	(mlittle-endian): New option.
	* doc/install.texi: Document tilegxbe-linux.
	* doc/invoke.texi: Document -mbig-endian and -mlittle-endian.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208069 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Yannick Moy  <moy@adacore.com>

	* freeze.adb (Freeze_Entity): Do not issue warning
	for pre/post being ignored on imported subprogram in GNATprove
	mode.

2014-02-24  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, sem_ch5.adb, sem_type.adb, sem_res.adb, sem_attr.adb,
	stand.ads, sem_eval.adb: Minor reformatting.

2014-02-24  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb: Minor rewording in error message.

2014-02-24  Johannes Kanig  <kanig@adacore.com>

	* exp_util.adb (Expand_Subtype_From_Expr): Do not expand subtypes in
	GNATprove_mode, gnat2why doesn't need nor use these types.

2014-02-24  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Expon): On the AAMP
	target, in the case of signed integer exponentiation that uses a
	run-time routine, always select the Exp_* versions, since overflow
	checking is automatically done by AAMP arithmetic instructions.

2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications):
	When the related context is a package instace, insert pragma
	Abstract_State after all internally-generated renamings related
	to the instance "header".

2014-02-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Analyze Contract of abstract
	subprograms.
	* sem_disp.adb (Check_Dispatching_Context): A non-dispatching
	call to an abstract subprogram is legal if it appears in a
	pre/postcondition of another abstract operation.



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

	* s-dimmks.ads: Replace symbol for temperature, previously the
	Greek letter Theta, by the ASCII @ sign.
	* s-diflio.ads: ditto.

2014-02-24  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor code reorganization (use OR for boolean
	variables).
	* sem_ch3.adb, sem_prag.adb, freeze.adb: Minor reformatting.

2014-02-24  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi, projects.texi: Added the necessary conditionalization
	so that references to gnatmem and ASIS tools do not appear in the FSF
	edition of the GNAT User's Guide.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208071 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb (Traverse_One): Refine categorization of statement
	SCOs.

2014-02-24  Robert Dewar  <dewar@adacore.com>

	* aspects.ads, aspects.adb: Remove aspects Ada_2005 and Ada_2012,
	Pure_05, Pure_12 and Preelaborate_05.
	* gnat_rm.texi: Update accordingly.
	* sem_prag.adb: Document one argument form of Ada_05/Ada_2005
	pragmas Document one argument form of Ada_12/Ada_2012 pragmas
	Recognize one argument form of these pragmas only in GNAT mode
	(-gnatg).



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208072 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Olivier Ramonat  <ramonat@adacore.com>

	* gnat_rm.texi, gnat_ugn.texi: Replace Ada Compiler by Ada Development
	Environment.

2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Constituent_Usage): Remove leading spaces in
	error messages.
	(Inconsistent_Mode_Error): Remove leading spaces in error messages.
	Merge the expected and available mode errors.
	(Report_Unused_Constituents): Remove leading spaces in error messages.
	(Report_Unused_States): Remove leading spaces in error messages.



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

	* sinfo.ads, sinfo.adb: New attribute Generalized_Indexing, for
	indexed_components that are instances of Ada 2012 container
	indexing operations. Analysis and resolution of such nodes
	is performed on the attribute, and the original source is
	preserved for ASIS operations. If expansion is enabled, the
	indexed component is replaced by the value of this attribute,
	which is in a call to an Indexing aspect, in most case wrapped
	in a dereference operation.
	* sem_ch4.adb (Analyze_Indexed_Component): Create
	Generalized_Indexing attribute when appropriate.
	(Analyze_Call): If prefix is not overloadable and has an indexing
	aspect, transform into an indexed component so it can be analyzed
	as a potential container indexing.
	(Analyze_Expression): If node is an indexed component with a
	Generalized_ Indexing, do not re-analyze.
	* sem_res.adb (Resolve_Generalized_Indexing): Complete resolution
	of an indexed_component that has been transformed into a container
	indexing operation.
	(Resolve_Indexed_Component): Call the above when required.
	(Resolve): Do not insert an explicit dereference operation on
	an indexed_component whose type has an implicit dereference:
	the operation is inserted when resolving the related
	Generalized_Indexing.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208074 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch5.adb, sem_aux.ads, sem_ch12.adb, gnat_ugn.texi, par.adb,
	par-ch12.adb: Change spelling 'parametrization' to 'parameterization'.



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

	* sinfo.ads, sem_ch12.adb, sem_res.adb, sem_ch4.adb, par-ch12.adb:
	Minor reformatting.
	* atree.ads, atree.adb (Node35): New function.
	(Set_Node35): New procedure.
	* debug.adb: Define new debug flag -gnatd.X.
	* einfo.ads, einfo.adb (Import_Pragma): New field.
	* freeze.adb (Wrap_Imported_Procedure): New procedure (not
	really active yet, has to be activated with -gnatd.X.
	* sem_prag.adb (Set_Imported): Set new Import_Pragma
	field (Set_Imported): Don't set Is_Public (see
	Freeze.Wrap_Imported_Subprogram)
	* par-ch3.adb (P_Component_List): Handle unexpected null component.

2014-02-24  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb: Correct reference to SPARK RM in error messages.
	* gnat_rm.texi: Correct documentation of attribute Update.

2014-02-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Reject container
	iterator in older versions of Ada.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208076 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Global_Item): Move the check concerning
	the use of volatile objects as global items in a function to
	the variable related checks section.
	* sem_util.adb (Async_Readers_Enabled): Directly call
	Has_Enabled_Property.
	(Async_Writers_Enabled): Directly call Has_Enabled_Property.
	(Effective_Reads_Enabled): Directly call Has_Enabled_Property.
	(Effective_Writes_Enabled): Directly call Has_Enabled_Property.
	(Has_Enabled_Property): Rename formal parameter State_Id to Item_Id.
	Update the comment on usage. State_Has_Enabled_Property how handles
	the original logic of the routine. Add processing for variables.
	(State_Has_Enabled_Property): New routine.
	(Variable_Has_Enabled_Property): New routine.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208077 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Global_Item): Emit the
	variable related checks concerning volatile objects only when
	SPARK_Mode is on.

2014-02-24  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): use
	Error_Msg_Ada_2012_Feature.

2014-02-24  Jose Ruiz  <ruiz@adacore.com>

	* s-rident.ads (Profile_Info): For Ravenscar, the restrictions
	No_Local_Timing_Events and No_Specific_Termination_Handlers
	must be set, according to the Ravenscar profile definition
	in D.13(6/3).

2014-02-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): If this is a
	completion, freeze return type and its designated type if needed.

2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	'Address): When moving initialization statements to a freeze
	entity, keep them under a single node (i.e. do not unwrap
	expressions with actions), and set the Initialization_Statements
	attribute again so that processing of a later pragma Import can
	still remove them.

2014-02-24  Claire Dross  <dross@adacore.com>

	* a-cfdlli.adb, a-cfdlli.ads, a-cfhama.adb, a-cfhama.ads,
	a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads,
	a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads: Rename
	Left/Right to First_To_Previous/Current_To_Last.

2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* adaint.h (struct file_attributes): New component "error"
	(__gnat_error_attributes): Accessor for the above.
	* adaint.c (__gnat_error_attributes): New subprogram
	(__gnat_stat): Fix returned value (expect errno value)
	(__gnat_stat_to_attr): Add management of error component (set to
	stat errno value, except for missing files where it is set to 0,
	and exists is set to 0).
	* osint.ads (File_Attributes_Size): Update per change above,
	also clarify documentation.
	* s-filatt.ads: New file, binding to file attributes related
	functions.
	* Makefile.rtl (s-filatt): New runtime unit.
	* s-crtl.ads (strlen): Expose binding to GCC builtin (falls back
	to library function if not available on target).
	* s-os_lib.ads, s-os_lib.adb (Errno_Message): New subprogram.
	* s-oscons-tmplt.c (SIZEOF_struct_file_attributes,
	SIZEOF_struct_dirent_alloc): New constants.
	* Make-generated.in (s-oscons.ads): Now requires adaint.h.
	* a-direct.adb (Fetch_Next_Entry): Fix incorrect buffer sizes.
	Perform appropriate error checking if stat fails (do not just
	ignore existing files if stat fails)
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update
	dependencies.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208078 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* s-fileio.adb (Errno_Message): Remove, use shared version from
	s-os_lib instead.
	* s-crtrun.ads, Makefile.rtl: Remove now unused unit.
	* g-stseme (Socket_Error_Message): Reimplement in terms of new
	s-os_lib function.
	* g-socthi.ads, g-socthi.adb: Change profile of
	Socket_Error_Message to return String to allow the above.
	* g-socket.adb, g-socthi-mingw.adb, g-socthi-mingw.ads,
	* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
	* g-socthi-vxworks.ads: Update to account for the above profile
	change.
	* a-tags.adb: Use strlen builtin binding provided by s-crtl.
	* s-crtl.ads (strncpy): New procedure.
	* s-os_lib.adb (Copy_Attributes): Import just once (strncpy):
	Use import from s-crtl.
	* a-envvar.adb, osint.adb: Use imports of C runtime functions
	from s-crtl instead of re-importing locally.



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

	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the
	domain of iteration is an attribute reference 'Old, this is an
	Ada 2012 iterator and the loop must be rewritten as such.



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

	* a-direct.adb, sem_ch5.adb, a-cfdlli.adb, a-cfhase.adb, a-tags.adb,
	s-filatt.ads, a-cforma.adb, sem_ch6.adb, g-socthi-mingw.adb,
	a-cfhama.adb, a-cforse.adb, a-cofove.adb: Minor reformatting and code
	reorganization.

2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Make sure
	that the source directory containing s-oscons-tmplt.c is on the
	include path, so that all internal header files are available.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208081 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* g-stheme.adb, g-socthi-vms.adb, g-socthi-vms.ads,
	g-socthi-vxworks.adb, g-socthi-vxworks.ads, g-stseme.adb,
	g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
	g-socthi.ads, g-socket.adb (Host_Error_Message): Return a string, not
	a chars_ptr, because on Windows this is a renaming of
	Socket_Error_Message.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208082 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* s-os_lib.adb (Errno_Message): Do not depend on Integer'Image.
	* s-oscons-tmplt.c: On VxWorks, include adaint.h only after
	vxWorks.h has been included.  Also ensure that file attributes
	related definitions are output even in cases where socket support
	is not enabled.
	* a-tags.adb: Code clean up.
	* Make-generated.in (OSCONS_CPP, OSCONS_EXTRACT): Use -iquote
	instead of -I to add the main ada source directory to the header
	search path, in order to avoid conflict between our own "types.h"
	and VxWork's <types.h>.

2014-02-24  Robert Dewar  <dewar@adacore.com>

	* atree.ads, atree.adb (Copy_Separate_Tree): Add Syntax_Only parameter.
	* debug.adb: Remove documentation of -gnatd.X, no longer used.
	* freeze.adb (Wrap_Imported_Subprogram): Fixed and activated.

2014-02-24  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Improve documentation of gnatpp.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208083 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update
	deps.


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


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