IPA sem equality: function aliasing introduced.
Merge remote-tracking branch 'parent/master'
2013-04-24  Robert Dewar  <dewar@adacore.com>

	* exp_ch13.adb, sem_prag.adb: Update comments.
	* sem_ch3.adb, exp_ch9.adb, g-socket.adb, sem_ch13.adb: Minor
	reformatting.

2013-04-24  Doug Rupp  <rupp@adacore.com>

	* vms_data.ads (/{NO}INHIBIT-EXEC): Document new default behavior.

2013-04-24  Yannick Moy  <moy@adacore.com>

	* sinfo.ads: Minor correction of typo.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198223 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-24  Eric Botcazou  <ebotcazou@adacore.com>

	* fe.h (Machine_Overflows_On_Target): New macro and declaration.
	(Signed_Zeros_On_Target): Likewise.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb: Add with and use clause for Sem_Prag.
	(Freeze_Subprogram): Analyze all delayed aspects for a null
	procedure so that they are available when analyzing the
	internally-generated _Postconditions routine.
	* exp_ch13.adb: Remove with and use clause for Sem_Prag.
	(Expand_N_Freeze_Entity): Move the code that analyzes delayed
	aspects of null procedures to exp_ch6.Freeze_Subprogram.
	* sem_prag.adb (Analyze_Abstract_State): Update the check on
	volatile requirements.

2013-04-24  Bob Duff  <duff@adacore.com>

	* ali-util.ads (Source_Record): New component Stamp_File
	to record from whence the Stamp came.
	* ali-util.adb (Set_Source_Table): Set Stamp_File component.
	* bcheck.adb (Check_Consistency): Print additional information in
	Verbose_Mode.
	* gnatbind.adb (Gnatbind): Print additional information in
	Verbose_Mode.



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

	* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this
	is a renaming of predefined equality for an untagged record,
	add generated body to the freeze actions for the subprogram, to
	prevent freezing issues when the record has incomplete components.
	* exp_ch4.adb (Expand_Composite_Equality): If the type is a type
	without completion, return a predefined comparison instead of
	just False.  This may happen when building the expression for
	record equality, when some component has a type whose completion
	has not been seen yet. The operation will be analyzed an expanded
	after the type has been frozen, at which point all component
	types will have been completed, or an error reported.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Do not delay
	analysis of a Convention aspect.



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

	* sem_prag.adb (Process_Convention): Move Stdcall tests to
	Set_Convention_From_Pragma so that they are applied to each
	entry of a homonym set.
	(Process_Convention): Don't try to set convention if already set.

2013-04-24  Robert Dewar  <dewar@adacore.com>

	* gnatbind.adb: Minor reformatting.

2013-04-24  Vincent Celier  <celier@adacore.com>

	* clean.adb (Gnatclean): Add the default project search
	directories in the project search path after scanning the
	switches on the command line.
	(Initialize): Do not put the default project search directories in the
	project search path.
	* gnatcmd.adb (GNATcmd): Add the default project search
	directories in the project search path after scanning the switches
	on the command line.
	* make.adb (Initialize): Add the default project search
	directories in the project search path after scanning the switches
	on the command line.

2013-04-24  Yannick Moy  <moy@adacore.com>

	* restrict.ads (Restriction_Warnings): Initialize with all False value.

2013-04-24  Robert Dewar  <dewar@adacore.com>

	* checks.ads, checks.adb (Predicate_Checks_Suppressed): New function.
	* exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of
	Predicate_Check.
	* snames.ads-tmpl (Name_Predicate_Check): New check name.
	* types.ads (Predicate_Check): New definition.
	* gnat_rm.texi: Add documentation for Predicate_Check.



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

	* exp_ch6.adb: Remove with and use clause for Sem_Prag.
	(Freeze_Subprogram): Call Analyze_Subprogram_Contract to analyze
	the contract of a subprogram.
	* sem_ch3.adb: Remove with and use clause for Sem_Prag.
	(Analyze_Declarations): Call Analyze_Subprogram_Contract to
	analyze the contract of a subprogram.
	* sem_ch6.adb (Analyze_Subprogram_Contract): New routine.
	(Check_Subprogram_Contract): Removed.
	* sem_ch6.ads (Analyze_Subprogram_Contract): New routine.
	(Check_Subprogram_Contract): Removed.
	(Expand_Contract_Cases): Add a guard against malformed contract cases.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Call
	Decorate_Delayed_Aspect_And_Pragma to decorate aspects
	Contract_Cases, Depends and Global. Reimplement the analysis of
	aspect Contract_Cases.
	(Decorate_Delayed_Aspect_And_Pragma): New routine.
	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): New routine.
	(Analyze_CTC_In_Decl_Part): Removed.
	(Analyze_Pragma): Reimplement the analysis of pragma Contract_Cases.
	(Analyze_Test_Case_In_Decl_Part): New routine.
	(Find_Related_Subprogram): New routine.
	(Requires_Profile_Installation): Add new formal Prag. Update
	the logic to take into account the origin of the pragma.
	* sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): New routine.
	(Analyze_CTC_In_Decl_Part): Removed.
	(Analyze_Test_Case_In_Decl_Part): New routine.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198227 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-02  Catherine Moore  <clm@codesourcery.com>
	    Chao-ying Fu <fu@mips.com>

        * config/mips/micromips.md (jraddiusp): New pattern.
        * config/mips/mips.c (mips_expand_epilogue): Use the JRADDIUSP
        instruction if possible.



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

	* sem_aux.adb: Add guard in Available_View.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Use
	Find_Related_Subprogram to find the associated subprogram.
	(Analyze_Global_In_Decl_List): Use Find_Related_Subprogram
	to find the associated subprogram.
	(Analyze_Pragma): Use Find_Related_Subprogram to find the associated
	subprogram.



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

	* gnat_rm.texi: Document pragma Assert_And_Cut.
	* sem_prag.adb (Analyze_Pragma, case Assert_And_Cut): Remove
	S14_Pragma call.



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

	* gnat_rm.texi: Document pragma Assume.
	* sem_prag.adb (Analyze_Pragma, case Assume): Now processed as
	part of Assert, and no longer requires -gnatd.F



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198231 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56970
	* init.c (build_offset_ref): Add tsubst_flags_t parameter.
	* semantics.c (finish_qualified_id_expr): Likewise.
	(finish_id_expression): Update.
	* typeck.c (cp_build_addr_expr_1): Likewise.
	* pt.c (tsubst_qualified_id, resolve_nondeduced_context): Likewise.
	* cp-tree.h: Update declarations.

/testsuite
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56970
	* g++.dg/cpp0x/sfinae45.C: New.


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


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

	* adabkend.adb, ali-util.adb, ali.adb, debug.adb,
	errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
	exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
	expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
	lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
	restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
	sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
	sem_res.adb, sem_util.adb: Everything with name
	'Alfa' renamed in 'SPARK'. Update comments.
	Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
	* exp_alfa.adb: renamed exp_spark.adb.
	* exp_alfa.ads: renamed exp_spark.ads.
	* get_alfa.adb: renamed get_spark_xrefs.adb.
	* get_alfa.ads: renamed get_spark_xrefs.ads.
	* lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
	* put_alfa.adb: renamed put_spark_xrefs.adb.
	* put_alfa.ads: renamed put_spark_xrefs.ads.
	* alfa.adb: renamed spark_xrefs.adb.
	* alfa.ads: renamed spark_xrefs.ads.
	* alfa_test.adb: renamed spark_xrefs_test.adb.



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

	* g-socket.adb (Host_Entry): Introduce intermediate copy of
	memory location pointed to by Hostent_H_Addr, as it might not
	have sufficient alignment.

2013-04-24  Yannick Moy  <moy@adacore.com>

	* repinfo.adb (List_Rep_Info): Set the value of Unit_Casing before
	calling subprograms which may read it.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Remove Loop_Entry_Attributes from the usage of
	nodes. Flag 260 is now used.
	(Has_Loop_Entry_Attributes): New routine.
	(Loop_Entry_Attributes): Removed.
	(Set_Has_Loop_Entry_Attributes): New routine.
	(Set_Loop_Entry_Attributes): Removed.
	(Write_Entity_Flags): Write out Flag 260.
	(Write_Field10_Name): Remove the output for Loop_Entry_Attributes.
	* einfo.ads: Remove attribute Loop_Entry_Attributes,
	its related comment and uses in nodes.	Add new attribute
	Has_Loop_Entry_Attributes, related comment and uses in loop nodes.
	(Has_Loop_Entry_Attributes): New routine and pragma Inline.
	(Loop_Entry_Attributes): Removed along with pragma Inline.
	(Set_Has_Loop_Entry_Attributes): New routine and pragma Inline.
	(Set_Loop_Entry_Attributes): Removed along with pragma Inline.
	* exp_attr.adb (Expand_Loop_Entry_Attribute): New routine.
	(Expand_N_Attribute_Reference): Expand attribute 'Loop_Entry.
	* exp_ch5.adb: Remove with and use clause for Elists.
	(Expand_Loop_Entry_Attributes): Removed.
	(Expand_N_Loop_Statement): Add local variable Stmt. Rename local
	constant Isc to Scheme. When a loop is subject to attribute
	'Loop_Entry, retrieve the nested loop from the conditional
	block. Move the processing of controlled object at the end of
	loop expansion.
	* sem_attr.adb (Analyze_Attribute): Do not chain attribute
	'Loop_Entry to its related loop.
	* sem_ch5.adb (Analyze_Loop_Statement): Add local variable
	Stmt. When the iteration scheme mentions attribute 'Loop_Entry,
	the entire loop is rewritten into a block.  Retrieve the nested
	loop in such cases to complete the analysis.
	* sem_util.ads, sem_util.adb (Find_Loop_In_Conditional_Block): New
	routine.
	(Subject_To_Loop_Entry_Attributes): New routine.

2013-04-24  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb (Expand_Loop_Variant): Generate pragma Check
	(Loop_Variant, xxx) rather than Assert (xxx).
	* gnat_rm.texi: Document pragma Loop_Variant.
	* sem_prag.adb (Analyze_Pragma, case Loop_Variant): Remove call
	to S14_Pragma.



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

	* gnat_ugn.texi: Add description of '--help' and '--version'
	options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp.

2013-04-24  Arnaud Charlet  <charlet@adacore.com>

	* gnat_rm.texi: Minor syntax fix.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on
	what and why is being analyzed. Remove the decoration of renamings as
	this simply falls out of the general analysis mechanism.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Explain_Redundancy): New routine.
	(Resolve_Equality_Op): Place the error concerning a redundant
	comparison to True at the "=". Try to explain the nature of the
	redundant True.

2013-04-24  Javier Miranda  <miranda@adacore.com>


	* checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No
	check in interface thunks since it is performed at the caller
	side.
	(Expand_Simple_Function_Return): No accessibility check
	needed in thunks since the check is done by the target routine.

2013-04-24  Vincent Celier  <celier@adacore.com>

	* xref_lib.adb (Add_Entity): Use the canonical file names
	so that source file names with capital letters are found on
	platforms where file names are case insensitive.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* par-ch4.adb (P_Name): Continue to parse the name extension when the
	construct is attribute Loop_Entry. Do not convert the attribute
	reference into an indexed component when there is at least one
	expression / range following 'Loop_Entry.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Contains_Enabled_Pragmas): New routine.
	(Process_PPCs): Generate procedure _Postconditions
	only when the context has invariants or predicates or enabled
	aspects/pragmas.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198236 138bc75d-0d04-0410-961f-82ee72b054a4
2013-04-24  Vincent Celier  <celier@adacore.com>

	* gnat_ugn.texi: Document new gnatls switch -aPdir.
	* gnatcmd.adb: Pass switch -aP<dir> to gnatls.
	* gnatls.adb (Scan_Ls_Arg): Process new switch -aP<dir>. Issue
	a warning for unknown switches.
	(Usage): Add line for new switch -aPdir.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb, sem_util.ads (Is_Limited_Class_Wide_Type): Return true
	if the type comes from a limited view, so that task attributes can be
	constructed.

2013-04-24  Yannick Moy  <moy@adacore.com>

	* checks.adb (Apply_Float_Conversion_Check): Do not apply checks if
	full expansion is not enabled.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Create_Extra_Formals): In Ada 2012, create extra
	formals if the type does not yet have a completion, and thus
	has no underlying view.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Treat an aspect
	specification for Address as a reference, to suppress warnings
	on entities that may be read by an external device.



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

	* gnatcmd.adb, xref_lib.adb, gnatls.adb, sem_ch13.adb: Minor
	reformatting.

2013-04-24  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb (Analyze_Generic_Subprogram_Body,
	Analyze_Subprogram_Body_Helper): Reset contract node to Empty
	before setting entity to E_Subprogram_Body.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): Reset contract node to
	Empty before setting entity to E_Subprogram_Body.



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

	* snames.ads-tmpl: Minor change to list
	Loop_(In)variant not in configuration pragma.
	* sem_ch3.adb (Analyze_Declarations): Do not look at the original node
	for analyzing the expressions in pre/postconditions.



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

	* sem_ch7.adb (Swap_Private_Dependents): New internal routine
	to Install_Private_Declarations, to make the installation of
	private dependents recursive in the presence of child units.
	* sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly
	the Private_Dependents of a private subtype.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the
	retrieval of the block declarations.
	* par-ch4.adb (P_Name): Let the name parsing machinery create
	a sequence of nested indexed components for attribute Loop_Entry.
	* sem_attr.adb (Analyze_Attribute): Add local constant
	Context. Reimplement part of the analysis of attribute Loop_Entry.
	(Convert_To_Indexed_Component): Removed.
	* sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze
	an indexed component after it has been rewritten into attribute
	Loop_Entry.



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