1. 20 Jan, 2014 40 commits
    • gnat_rm.texi (Allow_Integer_Address): Remove note about not allowed if address… · 7dbd3de9
      gnat_rm.texi (Allow_Integer_Address): Remove note about not allowed if address is non-private, no longer true.
      
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi (Allow_Integer_Address): Remove note about not
      	allowed if address is non-private, no longer true.
      	* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
      	Remove check for address being private, causes difficulty when
      	pragma used in gnat.adc file and is not needed, since we guard
      	this in Address_Integer_Convert_OK.
      	* exp_ch7.adb: Minor reformatting.
      	* sem_ch4.adb: Handle operator operands in Allow_Integer_Address mode.
      
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb (Apply_Range_Check): Remove gnatprove special
      	casing of exponentiation.
      	* sem_res.adb (Resolve_Op_Expon): Apply range check to right
      	operand for integer case to check range against Natural.
      
      From-SVN: r206833
      Robert Dewar committed
    • [multiple changes] · 061828e3
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* s-tataat.adb: Minor reformatting.
      
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.adb (Is_Descendent_Of_Address): Now applies to all
      	entities, and also fix documentation to remove mention of visible
      	integer type, since this is not what the implementation does.
      	* einfo.ads (Is_Descendent_Of_Address): Now applies to all
      	entities, and also fix documentation to remove mention of visible
      	integer type, since this is not what the implementation does.
      	* gnat_rm.texi: Minor clarification of Allow_Integer_Address
      	function.
      	* sem_ch4.adb (Analyze_One_Call): Handle Allow_Integer_Address
      	case for parameter type check.
      	* sem_res.adb (Resolve): Use new function
      	Address_Integer_Convert_OK.
      	* sem_type.adb: Minor code reorganization (use Ekind_In) Minor
      	reformatting throughout.
      	* sem_util.adb (Address_Integer_Convert_OK): New function.
      	* sem_util.ads: Minor reformatting (put specs in alpha order)
      	(Address_Integer_Convert_OK): New function.
      
      2014-01-20  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch7.adb (Wrap_Transient_Expression):
      	Insertion extra conditional expression only if
      	Opt.Suppress_Control_Flow_Optimizations is set.
      
      From-SVN: r206832
      Arnaud Charlet committed
    • [multiple changes] · ff4e28eb
      2014-01-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-tataat.adb (Initialize_Attributes): Abort might already be
      	deferred in Create_Task.
      
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* checks.adb (Apply_Scalar_Range_Check): Flag
      	the exponent as requiring a range check when the expression is
      	an exponentiation.
      
      From-SVN: r206831
      Arnaud Charlet committed
    • [multiple changes] · a1efcc17
      2014-01-20  Fedor Rybin  <frybin@adacore.com>
      
      	* gnat_ugn.texi: Documenting --passed-tests option for gnattest.
      
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_util.adb (Default_Initialization): New routine.
      	* sem_util.ads: Add new type Default_Initialization_Kind.
      	(Default_Initialization): New routine.
      
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Check_Mode): Correct all error
      	message logic dealing with in/in out parameters that may appear
      	as inputs or have a self reference.
      
      From-SVN: r206830
      Arnaud Charlet committed
    • [multiple changes] · 6fd0a72a
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch9.adb, checks.adb, exp_intr.adb: Minor reformatting.
      	* sem_res.adb (Resolve): Fix error causing infinite loop for
      	integer used as address. Allow addresses as integers.
      
      2014-01-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-osinte-linux.ads (struct_sigaction): Fix rep clause.
      
      2014-01-20  Bob Duff  <duff@adacore.com>
      
      	* par-ch8.adb (P_Use_Type_Clause): Detect syntax
      	error when "use all" is not followed by "type".
      
      From-SVN: r206829
      Arnaud Charlet committed
    • [multiple changes] · 3b4598a7
      2014-01-20  Bob Duff  <duff@adacore.com>
      
      	* exp_intr.adb (Expand_Unc_Deallocation): Remove warning on abort
      	followed by free.
      
      2014-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* checks.adb (Apply_Address_Clause_Check): If there is an
      	alignment check on the expression in an address clause, and there
      	is no local exception propagation, add an additional explanatory
      	message to clarify the cause of previous warning.
      
      From-SVN: r206828
      Arnaud Charlet committed
    • [multiple changes] · 4058ddcc
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch7.adb: Minor reformatting.
      	* opt.ads: Minor comment updates.
      	* sem.adb: Minor name change Is_Main_Unit =>
      	Is_Main_Unit_Or_Main_Unit_Spec.
      	* sem_ch6.adb: Minor reformatting and code reorganization.
      
      2014-01-20  Bob Duff  <duff@adacore.com>
      
      	* gnat_ugn.texi: Update gnatpp switches.
      
      2014-01-20  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch9.adb: Minor comment edit.
      
      From-SVN: r206827
      Arnaud Charlet committed
    • [multiple changes] · d8a764c4
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document that Allow_Integer_Address is permitted
      	only if System.Address is a private type.
      	* opt.ads (Allow_Integer_Address): No longer set by -gnates.
      	* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
      	Allowed only if type System.Address is private, since otherwise
      	it makes no sense.
      	* sem_res.adb: Fix failure to properly Analyze unchecked
      	conversions that were introduced by Allow_Integer_Address.
      	* switch-c.adb: Remove -gnates switch.
      	* usage.adb: Remove -gnates switch.
      	* gnat_ugn.texi: Remove documentation of -gnates flag.
      
      2014-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): Pre-analyze and
      	resolve expression to perform proper name capture.
      
      2014-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem.adb (Semantics): When saving/restoring configuration
      	switches, the spec of a pre- defined unit that is the main unit
      	must be treated as a predefined unit as well.
      
      2014-01-20  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch7.adb (Wrap_Transient_Expression): For a Boolean
      	expression, insert an extra conditional expression when saving
      	the value of the expression, for the benefit of control flow
      	graph based coverage analysis.
      	* exp_ch3.adb: Minor reformatting.
      
      From-SVN: r206826
      Arnaud Charlet committed
    • [multiple changes] · 818b578d
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* gnat1drv.adb: Set Allow_Integer_Address in relaxed semantics mode.
      	* gnat_rm.texi: Document pragma Allow_Integer_Address.
      	* gnat_ugn.texi: Document pragma Allow_Integer_Address, -gnates.
      	* opt.ads: New flag Allow_Integer_Address.
      	* par-prag.adb: Dummy entry for pragma Allow_Integer_Address.
      	* sem_ch5.adb: Minor reformatting.
      	* sem_prag.adb: Implement pragma Allow_Integer_Address.
      	* sem_res.adb (Resolve): Allow integer address value if
      	switch set.
      	* sem_util.adb: Minor reformatting.
      	* snames.ads-tmpl: Add entry for pragma Allow_Integer_Address.
      	* switch-c.adb: Recognize flag -gnates.
      	* usage.adb: Document flag -gnates.
      
      2014-01-20  Thomas Quinot  <quinot@adacore.com>
      
      	* s-tadeca.adb: Fix minor typos in comment.
      
      From-SVN: r206825
      Arnaud Charlet committed
    • [multiple changes] · c2e54001
      2014-01-20  Pascal Obry  <obry@adacore.com>
      
      	* s-win32.ads (FreeLibrary): New import.
      
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_res.adb, sem_cat.adb: Minor reformatting.
      	* sem_ch11.adb (Analyze_Raise_Statement): Only give warning about
      	assigning to OUT parameters for the current subprogram scope.
      	* exp_ch4.adb: Minor reformatting.
      
      2014-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Process_Transient_Object,
      	Find_Enclosing_Contexts): If the top-level if-expression that
      	generated the transient object is an actual in a call, the proper
      	Hook_Context is a construct enclosing the call.
      	* einfo.ads: Indicate that Related_Expression is used to link a
      	loop variable to the container expression over which the loop
      	takes place.
      	(Analyze_Iterator_Specification): Set the Related_Expression of
      	the loop variable in a container element iterator.
      	(Note_Possible_Modification): If the variable is the loop
      	variable in a container element iterator, indicate that the
      	enclosing container is also modified.
      
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* aspects.adb (Move_Or_Merge_Aspects): Reimplemented.
      
      From-SVN: r206824
      Arnaud Charlet committed
    • [multiple changes] · 90b51aaf
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* s-taasde.ads, gnat_ugn.texi, s-tadeca.adb, sem_res.adb, s-tadeca.ads:
      	Minor reformatting and code clean up.
      
      2014-01-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_cat.adb (Validate_Object_Declaration): Relax semantics
      	of objects of private type if Relaxed_RM_Semantics.
      
      From-SVN: r206823
      Arnaud Charlet committed
    • [multiple changes] · 2838fa93
      2014-01-20  Claire Dross  <dross@adacore.com>
      
      	* a-cofove.ads (Vector): Capacity discriminant
      	should be in range of the index.
      
      2014-01-20  Thomas Quinot  <quinot@adacore.com>
      
      	* a-caldel.ads(To_Duration), s-taasde.ads(Time_Enqueue):
      	Clarify specs s-tadeca.adb(Enqueue_Calendar): Compensate for
      	possible difference between epoch of Ada.Calendar clock and Ada
      	real-time/tasking clock.
      	* s-taprop-posix.adb: Minor comment fix.
      
      2014-01-20  Doug Rupp  <rupp@adacore.com>
      
      	* sysdep.c [vxworks]: Remove Vxworks version noise for RTP.
      
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_attr.adb (Expand_N_Attribute_Reference): Generate validity
      	checks on the prefix of attribute 'Old.
      	* sem_ch3.adb (Process_Range_Expr_In_Decl): Suppress the
      	generation of validity checks on a range that belongs to the
      	iteration scheme of a quantified expression.
      	* sem_ch5.adb (One_Bound): Suppress the generation of validity
      	checks on a bound that belongs to the iteration scheme of a
      	quantified expression, generate the check in all other cases.
      
      2014-01-20  Bob Duff  <duff@adacore.com>
      
      	* gnat_ugn.texi: Enable --pp-new by default. Minor reorganization.
      
      2014-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve): When compiling a predefined unit, ignore
      	interpretations that do not come from other predefined units,
      	to prevent spurious ambiguities in the presence of user-defined
      	operators in the context of (an instance of) a predefined unit.
      
      From-SVN: r206822
      Arnaud Charlet committed
    • [multiple changes] · 1e569204
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document that Loop_Variant is included in
      	Statement_Assertions.
      	* sem_prag.adb (Check_Kind): Add Loop_Variant to
      	Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant
      	to Statement_Assertions.
      
      2014-01-20  Doug Rupp  <rupp@adacore.com>
      
      	* sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case
      	for errno ENOENT from RTP on NFS mounted file system.
      
      From-SVN: r206821
      Arnaud Charlet committed
    • [multiple changes] · 0969e96d
      2014-01-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Check_Function_Writable_Actuals): 1) Do not
      	examine code that does not come from source. The check does not
      	apply to code generated for constraint checks, and such code may
      	generate spurious error messages when compiled with expansion
      	disabled (as in a generic unit) because side effects may not
      	have been removed.
      	2) Make error messages more explicit: indicate the component
      	of the	construct whose value is indeterminate because of a
      	call to a function with in-out parameter in another component,
      	when there is no mandated order of execution between the two
      	components (actuals, aggregate components, alternatives).
      
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Minor cleanup.
      
      From-SVN: r206820
      Arnaud Charlet committed
    • [multiple changes] · 36eef04a
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result
      	can now apply to a refined postcondition.
      	* sem_ch6.adb (Analyze_Subprogram_Contract): Remove local
      	variable Result_Seen. Add variables Case_Prag, Post_Prag,
      	Seen_In_Case and Seen_In_Post. Update the mechanism that detects
      	whether postconditions and/or constract-cases mention attribute
      	'Result and introduce a post-state when applied to functions.
      	(Check_Result_And_Post_State): Removed.
      	* sem_prag.adb (Analyze_Pragma): Add local variable
      	Result_Seen. Verify that the expression of pragma Refined_Post
      	mentions attribute 'Result and introduces a post-state.
      	* sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine.
      
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Is_Subprogram_Call): New routine.
      	(Process_Transient_Objects): Make variable Must_Hook global with
      	respect to all locally declared subprograms. Search the context
      	for at least one subprogram call.
      	(Requires_Hooking): Removed.
      
      2014-01-20  Claire Dross  <dross@adacore.com>
      
      	* a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads
      	* a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove,
      	External_Axiomatization);
      
      From-SVN: r206819
      Arnaud Charlet committed
    • sem_attr.adb (Analyze_Attribute, [...]): Allow Loop_Entry in Assert,… · 65441a1e
      sem_attr.adb (Analyze_Attribute, [...]): Allow Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
      
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow
      	Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
      	* sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume):
      	Allow Loop_Entry to be used in these pragmas if they appear in
      	an appropriate context.
      	(Placement_Error): Specialize error
      	message for pragma Assert[_And_Cut] or pragma Assume containing
      	Loop_Entry attribute.
      	* a-exexpr-gcc.adb, sinput.adb: Minor reformatting.
      	* s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting
      	and code clean ups.
      
      From-SVN: r206818
      Robert Dewar committed
    • [multiple changes] · 800da977
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* gnat1drv.adb: Minor comment update.
      
      2014-01-20  Tristan Gingold  <gingold@adacore.com>
      
      	* raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused
      	variables, comment out unused code.
      	* a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads
      	* s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb
      	* s-excmac-arm.ads: New file.
      
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Slice): Remove constant D and variables
      	Drange and Index_Typ. Remove the circuitry which creates a
      	range check to compare the index type of the array against the
      	discrete_range.
      	* sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update
      	the circuitry which creates a range check to handle a
      	discrete_range denoted by a subtype indication.
      
      2014-01-20  Pierre-Marie Derodat  <derodat@adacore.com>
      
      	* sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original
      	nodes to get the original sloc range.
      
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the
      	entity of a [library level] package.
      
      From-SVN: r206817
      Arnaud Charlet committed
    • [multiple changes] · 51b0e05a
      2014-01-20  Tristan Gingold  <gingold@adacore.com>
      
      	* raise-gcc.c (exception_class_eq): New function.
      	(is_handled_by): Use it to compare exception classes.
      	(PERSONALITY_STORAGE): Define.	(continue_unwind): New function to
      	be called to return URC_CONTINUE_UNWIND.
      	(personality_body): New function, extracted from PERSONALITY_ROUTINE.
      	(PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder.
      
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* opt.ads: Minor comment update.
      
      From-SVN: r206815
      Arnaud Charlet committed
    • [multiple changes] · 5ff90f08
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Slice): Relocate some variables and
      	constants to the "Local variables" area. Add new constant D. Add
      	new variables Drange and Index_Typ.  Rename Pfx to Rep and Ptp
      	to Pref_Typ and update all occurrences. Add circuitry to extract
      	the discrete_range and the index type and build a range check.
      
      2014-01-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Enable
      	Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics
      	is set.
      
      2014-01-20  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch5.adb, sem_ch4.adb: Minor reformatting.
      
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications):
      	When aspect SPARK_Mode appears on a package body, insert the
      	generated pragma at the top of the body declarations.
      
      From-SVN: r206814
      Arnaud Charlet committed
    • sem_aggr.adb, [...]: Minor reformatting. · 1f0b1e48
      2014-01-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb,
      	checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb,
      	expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb,
      	sem_ch8.adb, exp_dist.adb: Minor reformatting.
      
      From-SVN: r206813
      Robert Dewar committed
    • [multiple changes] · c093d3cc
      2014-01-20  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb (Gnat1drv): Call Write_ALI with Object=True in GNATprove
      	mode.
      
      2014-01-20  Pascal Obry  <obry@adacore.com>
      
      	* g-arrspl.ads (Slice_Set): New definition (will use a copy on
      	write scheme).
      	* g-arrspl.adb: Adapt all routine to this new implementation.
      	(Set): Copy the Slice_Set definition before reusing it.
      
      From-SVN: r206812
      Arnaud Charlet committed
    • sem_prag.adb (Process_Import_Or_Interface): In Relaxed_RM_Semantics, support old… · 0bd75e44
      sem_prag.adb (Process_Import_Or_Interface): In Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.
      
      2014-01-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_prag.adb (Process_Import_Or_Interface): In
      	Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.
      	(Analyze_Pragma): Ditto for pragma Export.
      	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Handle old pragma
      	Import style.
      
      From-SVN: r206810
      Arnaud Charlet committed
    • [multiple changes] · aca90db9
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.ads: E_Abstract_State is now part of the entities that
      	can be overloaded. Update type Overloadable_Kind to reflect the
      	inclusion of abstract states.
      	* sem_ch6.adb (New_Overloaded_Entity): A function can now
      	overload an abstract state.
      	* sem_prag.adb (Analyze_Constituent): Handle the overloading
      	of states by functions. Use Entity_Of to obtain the entity of
      	a constituent.	(Analyze_Global_Item): Handle the overloading of
      	states by functions.
      	(Analyze_Initialization_Item): Handle the
      	overloading of states by functions.  Use Entity_Of to obtain the
      	entity of an item.
      	(Analyze_Input_Item): Handle the overloading
      	of states by functions. Use Entity_Of to obtain the entity of an item.
      	(Analyze_Input_Output): Handle the overloading of states by functions.
      	(Analyze_Refinement_Clause): Handle the overloading
      	of states by functions.  Use Entity_Of to obtain the entity of an item.
      	(Appears_In): Use Entity_Of to obtain the entity of an element.
      	(Check_Usage): Use Entity_Of to obtain the entity of
      	an item. Add a guard to prevent a crash due to a previous error.
      	(Resolve_State): New routine.
      
      2014-01-20  Yannick Moy  <moy@adacore.com>
      
      	* spark_xrefs.ads, debug.adb, gnat1drv.adb, errout.adb, errout.ads,
      	opt.ads: Minor comments updates.
      
      From-SVN: r206809
      Arnaud Charlet committed
    • einfo.adb (Non_Limited_View): Applies to abstract states. · dc726757
      2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb (Non_Limited_View): Applies to abstract states.
      	(Set_From_Limited_With): Applies to abstract states.
      	(Set_Non_Limited_View): Applies to abstract states.
      	(Write_Field17): Output the non-limited view of an abstract state.
      	* einfo.ads: Update the comment on usage and occurrences in
      	nodes for attributes From_Limited_With and Non_Limited_View.
      	* sem_aux.adb (Available_View): This routine can now handle
      	abstract states.
      	* sem_aux.ads (Available_View): This routine can now handle
      	abstract states. Update the comment on usage.
      	* sem_ch8.adb (Find_Expanded_Name): Handle abstract views
      	of states and variables.
      	(In_Pragmas_Depends_Or_Global): New routine.
      	* sem_ch10.adb (Build_Limited_Views): Implement
      	abstract (limited) views of variables and states.
      	(Build_Shadow_Entity): This routine is now a procedure. Add
      	formal parameter Shadow. Update the comment on usage. Add
      	context-specific decoration for states and variables.
      	(Decorate_State): New routine.	(Decorate_Variable): New routine.
      	(Find_And_Process_States): New routine.
      	(Process_Declarations): Renamed to Process_Declarations_And_States.
      	(Process_Declarations_And_States): Add formal parameters
      	Pack and Create_Abstract_Views. Update the comment on usage.
      	(Process_States): New routine.
      	* sem_prag.adb (Check_Dependency_Clause): Handle abstract
      	views of states and variables. Match the abstract view of a state
      	against its corresponding non-abstract view.
      	(Is_Matching_Input):
      	Handle abstract views of states and variables. Match the abstract
      	view of a state against its corresponding non-abstract view.
      	(Process_Global_Item): Handle abstract views of states and
      	variables.
      
      From-SVN: r206808
      Hristian Kirtchev committed
    • sem_ch10.adb (Expand_With_Clause): Don't recurse on the prefix if the current… · 3a5de596
      sem_ch10.adb (Expand_With_Clause): Don't recurse on the prefix if the current with-ed name refers to a package...
      
      2014-01-20  Bob Duff  <duff@adacore.com>
      
      	* sem_ch10.adb (Expand_With_Clause): Don't
      	recurse on the prefix if the current with-ed name refers to a
      	package that renames its own parent, eg "package P.Q renames P;".
      
      From-SVN: r206807
      Bob Duff committed
    • exp_spark.adb (Expand_SPARK_Call): Remove procedure. · 4460a9bc
      2014-01-20  Yannick Moy  <moy@adacore.com>
      
      	* exp_spark.adb (Expand_SPARK_Call): Remove procedure.
      	* opt.adb, opt.ads (Full_Expander_Active): Remove function.
      	* checks.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb, sem_aggr.adb,
      	* sem_ch10.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb,
      	* sem_disp.adb, sem_res.adb Replace Full_Expander_Active by
      	Expander_Active.
      
      2014-01-20  Yannick Moy  <moy@adacore.com>
      
      	* sinfo.ads Update documentation of GNATprove mode.
      
      From-SVN: r206806
      Yannick Moy committed
    • 2014-01-20 Yannick Moy <moy@adacore.com> · f5da7a97
      	* adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb,
      	* exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb,
      	* sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb,
      	* sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into
      	GNATprove_Mode.
      	* sem_ch13.adb: Remove blank.
      	* exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace
      	subprograms by alias for renamings, not for inherited primitive
      	operations.
      	* exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion
      	in GNATprove mode.
      	(Remove_Side_Effects): Apply the removal in
      	GNATprove mode, for the full analysis of expressions.
      	* expander.adb (Expand): Call the light SPARK expansion in GNATprove
      	mode.
      	(Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore
      	save/restore actions for Expander_Active flag in GNATprove mode,
      	similar to what is done in ASIS mode.
      	* frontend.adb (Frontend): Generic bodies are instantiated in
      	GNATprove mode.
      	* gnat1drv.adb (Adjust_Global_Switches): Set operating
      	mode to Check_Semantics in GNATprove mode, although a light
      	expansion is still performed.
      	(Gnat1drv): Set Back_End_Mode to
      	Declarations_Only in GNATprove mode, and later on special case
      	the GNATprove mode to continue analysis anyway.
      	* lib-writ.adb (Write_ALI): Always generate ALI files in
      	GNATprove mode.
      	* opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to
      	Expander_Active.
      	(SPARK_Mode): Renamed as GNATprove_Mode.
      	* sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the
      	tree in GNATprove_Mode.
      	* sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate
      	body in GNATprove mode.
      	(Need_Subprogram_Instance_Body): Always instantiate body in GNATprove
      	mode.
      	* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
      	Make sure side effects are removed in GNATprove mode.
      
      From-SVN: r206805
      Yannick Moy committed
    • [AArch64] Relax CANNOT_CHANGE_MODE_CLASS · 69675d50
      gcc/
      	* config/aarch64/aarch64-protos.h
      	(aarch64_cannot_change_mode_class_ptr): Declare.
      	* config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
      	aarch64_cannot_change_mode_class_ptr): New.
      	* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
      	backend hook aarch64_cannot_change_mode_class.
      
      From-SVN: r206804
      Tejas Belagod committed
    • [AArch64] Fix behaviour of -mcpu option to match ARM. · ffee7aa9
      gcc/
      
      	* common/config/aarch64/aarch64-common.c
      	(aarch64_handle_option): Don't handle any option order logic here.
      	* config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
      	selected_cpu, warn on architecture version mismatch.
      	(aarch64_override_options): Fix parsing order for option strings.
      
      From-SVN: r206803
      James Greenhalgh committed
    • re PR bootstrap/59496 (Bootstrap fails on powerpc-apple-darwin9 after r205685) · c7169779
      gcc:
      
      	PR bootstrap/59496
      	* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
      	warning.  Amend comment to reflect current functionality.
      
      
      Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
      
      From-SVN: r206802
      Jan-Benedict Glaw committed
    • re PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias.c:6843) · 409b6ac1
      2014-01-20  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/59860
      	* builtins.c (fold_builtin_strcat): Remove case better handled
      	by tree-ssa-strlen.c.
      
      	* gcc.dg/pr59860.c: New testcase.
      
      From-SVN: r206799
      Richard Biener committed
    • decl.c (gnat_to_gnu_entity): Robustify tests for aliased objects with an… · fd6e497e
      decl.c (gnat_to_gnu_entity): Robustify tests for aliased objects with an unconstrained nominal subtype.
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Robustify tests
      	for aliased objects with an unconstrained nominal subtype.
      	* gcc-interface/trans.c (Call_to_gnu): Likewise.
      	(gnat_to_gnu) <case N_Op_Not>: Robustify test for private type.
      	<case N_Op_Minus>: Remove useless code.
      	(Exception_Handler_to_gnu_zcx): Minor tweaks.
      
      From-SVN: r206798
      Eric Botcazou committed
    • [AArch64] Make -mcpu, -march and -mtune case-insensitive. · 608df31f
      gcc/
      
      	* config/aarch64/aarch64.opt
      	(mcpu, march, mtune): Make case-insensitive.
      
      From-SVN: r206797
      Alan Lawrence committed
    • decl.c (gnat_to_gnu_entity): Tidy up. · 44e9e3ec
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Record_Subtype>:
      	Tidy up.  For a subtype with discriminants and variant part, if a
      	variant is statically selected and the fields all have a constant
      	position, put them in order of increasing position.  Likewise if
      	no variant part but representation clause is present.
      	* gcc-interface/utils.c (make_packable_type): Robustify.
      	(maybe_pad_type): Use local variable and tidy up condition.  If no
      	alignment is specified, use the original one.
      	(create_type_stub_decl): Minor tweak.
      	(convert) <case VECTOR_CST>: Fix typo.
      	<case CONSTRUCTOR>: Deal with padding types around the same type.
      	Do not punt on missing fields.
      	(unchecked_convert): Call finish_record_type to lay out the special
      	record types made for conversions from/to problematic integer types.
      	Bump the alignment of CONSTRUCTORs before converting them to a more
      	aligned type.
      
      From-SVN: r206796
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Remove obsolete code for type_annotate_only mode... · 59f5c969
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Component>: Remove
      	obsolete code for type_annotate_only mode, simplify code and slightly
      	improve wording of comments.
      
      From-SVN: r206794
      Eric Botcazou committed
    • c-ada-spec.h (dump_ada_specs): Revert prototype change. · 621955cb
      c-family/
      	* c-ada-spec.h (dump_ada_specs): Revert prototype change.
      	* c-ada-spec.c (dump_ads): Likewise.
      	(cpp_check): Likewise.
      	(dump_ada_specs): Likewise.
      cp/
      	* decl2.c (cpp_check): Revert prototype change.
      
      From-SVN: r206793
      Eric Botcazou committed
    • re PR target/59880 (ix86_avoid_lea_for_addr is buggy) · 0fabe5f3
      	PR target/59880
      	* config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
      	if operands[1] is a REG or ZERO_EXTEND of a REG.
      
      	* gcc.target/i386/pr59880.c: New test.
      
      From-SVN: r206792
      Jakub Jelinek committed
    • * gcc.dg/pr44194-1.c: Tweak regexp. · 6fc00404
      From-SVN: r206791
      Renlin Li committed
    • MAINTAINERS: Convert to UTF-8. · 493b8af8
      	* MAINTAINERS: Convert to UTF-8.
      	Properly sort Xinliang David Li's entry.
      
      From-SVN: r206790
      Gerald Pfeifer committed
    • Daily bump. · 0cb61616
      From-SVN: r206789
      GCC Administrator committed