1. 10 Oct, 2013 25 commits
    • [multiple changes] · c76bf0bf
      2013-10-10  Thomas Quinot  <quinot@adacore.com>
      
      	* s-taprop-posix.adb: Add missing comment.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb (Freeze_Record_Type): Move choice checking to
      	Analyze_Freeze_Entity (Freeze_Record_Type): Make sure all choices
      	are properly frozen
      	* sem_case.adb (Check_Choices): Remove misguided attempt to
      	freeze choices (this is now done in Freeze_Record_Type where
      	it belongs).
      	(Check_Choices): Remove some analyze/resolve calls
      	that are redundant since they are done in Analyze_Choices.
      	* sem_ch13.adb (Analyze_Freeze_Entity): Do the error
      	checking for choices in variant records here (moved here from
      	Freeze.Freeze_Record_Type)
      
      From-SVN: r203364
      Arnaud Charlet committed
    • [multiple changes] · 58747e48
      2013-10-10  Thomas Quinot  <quinot@adacore.com>
      
      	* s-oscons-tmplt.c, s-taprop-posix.adb (CLOCK_REALTIME): Always define,
      	possibly using a dummy placeholder value.
      	(Compute_Deadline): For the case of an
      	Absolute_Calendar deadline, if the target uses another clock
      	than CLOCK_REALTIME as CLOCK_RT_Ada, compensate for possible
      	different epoch.
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
      	qualified reference to a generic child unit within itself,
      	in an instantiation.
      
      From-SVN: r203363
      Arnaud Charlet committed
    • [multiple changes] · 4530b919
      2013-10-10  Pascal Obry  <obry@adacore.com>
      
      	* prj-conf.adb: Minor typo fixes in comment.
      
      2013-10-10  Thomas Quinot  <quinot@adacore.com>
      
      	* s-taprop-posix.adb (Compute_Deadline): New local subprogram,
      	factors common code between Timed_Sleep and Timed_Delay.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb (Freeze_Record_Type): Don't replace others if
      	expander inactive. This avoids clobbering the ASIS tree in
      	-gnatct mode.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_res.adb (Resolve_Op_Expon): Avoid crash testing for
      	fixed-point case in preanalysis mode (error will be caught during
      	full analysis).
      
      From-SVN: r203362
      Arnaud Charlet committed
    • [multiple changes] · 4169c2d2
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Refined_Pre and Refined_Post are now allowed as
      	assertion identifiers for pragma Assertion_Policy.
      	* sem_prag.adb (Is_Valid_Assertion_Kind): Add Refined_Pre/Refined_Post
      	* sem_ch13.adb: Minor reformatting.
      
      2013-10-10  Pascal Obry  <obry@adacore.com>
      
      	* prj-conf.adb: Code refactoring.
      
      From-SVN: r203361
      Arnaud Charlet committed
    • [multiple changes] · aa500b7a
      2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb: Remove Integrity_Level from the node usage list.
      	(Has_Option): Update the implementation to match
      	the new terminology.
      	(Has_Property): Renamed to Has_Option.
      	(Integrity_Level): Removed.
      	(Is_External_State): New routine.
      	(Is_Input_Only_State): Use Has_Option to determine whether a state
      	is Input_Only.	(Is_Input_State): Renamed to Is_Input_Only_State.
      	(Is_Output_Only_State): Use Has_Option to determine whether
      	a state is Output_Only.
      	(Is_Output_State): Renamed to
      	Is_Output_Only_State.
      	(Is_Volatile_State): Use Has_Option to determine whether a state is
      	volatile.
      	(Set_Integrity_Level): Removed.
      	(Write_Field8): Remove the entry for Integrity_Level.
      	* einfo.ads: Remove Integrity_Level along with its documentation
      	and usage in nodes.  Rename Is_Input_State to Is_Input_Only_State.
      	Rename Is_Output_State to Is_Output_Only_State.  Update the
      	documentation of Is_Volatile_State.  Update the node structure of
      	E_Abstract_Entity.
      	(Integrity_Level): Removed along with pragma Inline.
      	(Is_External_State): New routine.
      	(Is_Input_State): Renamed to Is_Input_Only_State.
      	(Is_Output_State): Renamed to Is_Output_Only_State.
      	(Set_Integrity_Level): Removed along with pragma Inline.
      	* sem_prag.adb (Analyze_Pragma): Update the checks regarding
      	global items and abstract state modes. Update the implementation
      	of pragma Abstract_State to reflect the new rules and terminology.
      	* snames.ads-tmpl: Remove the predefined name for Integrity
      	level. Add new predefined names for Input_Only, Non_Volatile,
      	Output_Only and Part_Of.
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* lib-xref.adb (Generate_Reference): Do not generate a reference
      	within a _postcondition procedure: a proper source reference has
      	already been generated when pre- analyzing the original aspect
      	specification, and the use of a formal in a pre/postcondition
      	should not count as a proper use in a subprogram body.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_eval.adb (Why_Non_Static): Fix bomb for deferred constant
      	case
      
      From-SVN: r203360
      Arnaud Charlet committed
    • [multiple changes] · e7f23f06
      2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* aspects.adb: Add an entry for Aspect_Refined_Post in table
      	Canonical_Aspect.
      	* aspects.ads: Add an entry for Aspect_Refined_Post in tables
      	Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay,
      	Aspect_On_Body_Or_Stub_OK. Update the comment on the use of
      	table Aspect_On_Body_Or_Stub_OK.
      	* par-prag.adb: Add pragma Refined_Post to the list of pragmas
      	that do not require special processing by the parser.
      	* sem_attr.adb (Analyze_Attribute): Add special analysis for
      	attributes 'Old and 'Result when code generation is disabled and
      	they appear in aspect/pragma Refined_Post.
      	(In_Refined_Post): New routine.
      	* sem_ch6.adb (Analyze_Expression_Function): Move various
      	aspects and/or pragmas that apply to an expression function to the
      	corresponding spec or body.
      	(Collect_Body_Postconditions): New routine.
      	(Process_PPCs): Use routine Collect_Body_Postconditions
      	to gather all postcondition pragmas.
      	* sem_ch10.adb (Analyze_Proper_Body): Use routine
      	Relocate_Pragmas_To_Body to move all source pragmas that follow
      	a body stub to the proper body.
      	(Move_Stub_Pragmas_To_Body): Removed.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
      	for aspect Refined_Post.
      	(Check_Aspect_At_Freeze_Point): Aspect
      	Refined_Post does not need delayed processing at the freeze point.
      	* sem_prag.adb: Add an entry for pragma Refined_Post in
      	table Sig_Flags.
      	(Analyze_Pragma): Add processing for pragma
      	Refined_Post. Update the processing of pragma Refined_Pre
      	to use common routine Analyze_Refined_Pre_Post.
      	(Analyze_Refined_Pre_Post): New routine.
      	(Relocate_Pragmas_To_Body): New routine.
      	* sem_prag.ads: Table Pragma_On_Stub_OK is now known as
      	Pragma_On_Body_Or_Stub_OK. Update the comment on usage of
      	table Pragma_On_Body_Or_Stub_OK.
      	(Relocate_Pragmas_To_Body): New routine.
      	* snames.ads-tmpl: Add new predefined name for Refined_Post. Add
      	new Pragma_Id for Refined_Post.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Variant_Part): Now null, expansion of
      	last choice to others is moved to Freeze_Record_Type.
      	* freeze.adb (Freeze_Record_Type): Expand last variant to others
      	if necessary (moved here from Expand_N_Variant_Part
      
      From-SVN: r203359
      Arnaud Charlet committed
    • [multiple changes] · 15918371
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* lib-xref-spark_specific.adb, par-ch13.adb, sem_prag.adb, sem_prag.ads,
      	sem_ch12.adb, sem_attr.adb, sem_ch6.adb, sem_ch13.adb, a-sequio.adb,
      	s-atocou-builtin.adb: Minor reformatting.
      
      2013-10-10  Thomas Quinot  <quinot@adacore.com>
      
      	* s-oscons-tmplt.c (NEED_PTHREAD_CONDATTR_SETCLOCK): This
      	constant needs to be output to s-oscons.h, as it is tested
      	by init.c.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Variant_Part): Don't expand choices, too early
      	* exp_ch5.adb (Expand_N_Case_Statement): Use new Has_SP_Choice
      	flag to avoid expanding choices when not necessary.
      	* exp_util.adb: Minor reformatting
      	* freeze.adb (Freeze_Record_Type): Redo expansion of variants
      	* sem_aggr.adb: Minor reformatting
      	* sem_case.ads, sem_case.adb: Major rewrite, separating Analysis and
      	Checking of choices.
      	* sem_ch3.adb (Analyze_Variant_Part): Rewrite to call new
      	Analyze_Choices.
      	* sem_ch4.adb (Analyze_Case_Expression): Call Analyze_Choices
      	and Check_Choices
      	* sem_ch5.adb (Analyze_Case_Statement): Call Analyze_Choices
      	and Check_Choices
      	* sem_util.adb: Minor reformatting
      	* sinfo.ads, sinfo.adb (Has_SP_Choice): New flag.
      
      2013-10-10  Vincent Celier  <celier@adacore.com>
      
      	* mlib-prj.adb (Build_Library): Do not issue link dynamic
      	libraries with an Rpath, if switch -R was used.
      
      2013-10-10  Tristan Gingold  <gingold@adacore.com>
      
      	* s-stalib.ads (Image_Index_Table_8, Image_Index_Table_16,
      	Image_Index_Table_32): Remove as not used.
      	* s-imgint.adb (Image_Integer): Call Set_Image_Integer and
      	remove duplicated code.
      
      From-SVN: r203358
      Arnaud Charlet committed
    • tree-flow.h: Move some prototypes to gimple.h. · b184c8f1
      
      2013-10-10  Andrew MacLeod  <amacleod@redhat.com>
      
      	* tree-flow.h: Move some prototypes to gimple.h.
      	(gimple_fold_indirect_ref): Move prototype to gimple-fold.h.
      	* gimple.h: Relocate some prototypes from tree-flow.h
      	* builtins.c (std_gimplify_va_arg_expr, build_va_arg_indirect_ref):
      	Move to gimplify.c.
      	* gimplify.c (gimple_fold_indirect_ref): Move to gimple-fold.c.
      	(build_va_arg_indirect_ref): Relocate and make static.
      	(std_gimplify_va_arg_expr): Relocate here.
      	* gimple-fold.c (gimple_fold_indirect_ref): Relocate here.
      	* gimple-fold.h (gimple_fold_indirect_ref): Add prototype.
      
      From-SVN: r203357
      Andrew MacLeod committed
    • [multiple changes] · 83553466
      2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Provide a
      	more precise error message when pragma Refined_Pre applies to
      	an expression function that is not a completion.
      
      2013-10-10  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_attr.adb (Analyse_Attribute, case
      	Attribute_Scalar_Storage_Order): a 'Scalar_Storage_Order attribute
      	reference for a generic type is permitted in GNAT runtime mode.
      	* a-sequio.adb (Read, Write): Use the endianness of the actual
      	type to encode length information written to the file.
      
      From-SVN: r203356
      Arnaud Charlet committed
    • [multiple changes] · e28072cd
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch13.adb (Aspect_Specifications_Present)): In earlier than
      	Ada2012 mode, assume that a legal aspect name following "with"
      	keyword is an older gnat switch and not a misplaced with_clause.
      
      2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* aspects.adb: Add an entry for Aspect_Refined_Pre in
      	table Canonical_Aspect.
      	(Aspects_On_Body_OK): Renamed to
      	Aspects_On_Body_Or_Stub_OK.
      	(Aspects_On_Body_Or_Stub_OK):
      	Update the query in table Aspect_On_Body_OK.
      	* aspects.ads: Add an entry for Aspect_Refined_Pre in tables
      	Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay,
      	Aspect_On_Body_Or_Stub_OK. Table Aspect_On_Body_OK is now known as
      	Aspect_On_Body_Or_Stub_OK.  Add a section of aspect specifications
      	that apply to body stubs.
      	(Aspects_On_Body_OK): Renamed to Aspects_On_Body_Or_Stub_OK.
      	(Aspects_On_Body_Or_Stub_OK): Update the comment on usage.
      	* par-prag.adb: Add pragma Refined_Pre to the list of pragmas
      	that do not require special processing by the parser.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Delay the
      	analysis of aspect specifications that apply to a body stub
      	until the proper body is analyzed.
      	* sem_ch10.adb: Add with and use clause for Sem_Ch13.
      	(Analyze_Package_Body_Stub): Set the corresponding spec of the stub.
      	(Analyze_Proper_Body): Relocate all pragmas that apply
      	to a subprogram body stub to the declarations of the proper
      	body. Analyze the aspect specifications of the stub when the
      	proper body is not present.
      	(Analyze_Protected_Body_Stub): Set the corresponding spec of the stub.
      	(Analyze_Task_Body_Stub): Set the corresponding spec of the stub.
      	(Move_Stub_Pragmas_To_Body): New routine.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
      	for aspect Refined_Pre.
      	(Check_Aspect_At_Freeze_Point): Aspect
      	Refined_Pre does not need delayed processing at the freeze point.
      	* sem_prag.adb: Remove with and use clause for Snames. Add
      	an entry for Pragma_Refined_Pre in table Sig_Flags.
      	(Analyze_Pragma): Add processing for pragma Refined_Pre.
      	* sem_prag.ads: Add with and use clause for Snames. Add table
      	Pragma_On_Stub_OK.
      	* sinfo.adb (Corresponding_Spec_Of_Stub): New routine.
      	(Set_Corresponding_Spec_Of_Stub): New routine.
      	* sinfo.ads: Add new attribute Corresponding_Spec_Of_Stub
      	along with comment on usage and occurrences in nodes.
      	(Corresponding_Spec_Of_Stub): New routine along with pragma
      	Inline.
      	(Set_Corresponding_Spec_Of_Stub): New routine along
      	with pragma Inline.
      	* snames.ads-tmpl: Add new predefined name for Refined_Pre. Add
      	new Pragma_Id for Refined_Pre.
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Analyze_Package_Instantiation,
      	Analyze_Subprogram_Instantiation): Improve error message when
      	name in instantiation does not designate a generic unit of the
      	right kind.
      
      From-SVN: r203355
      Arnaud Charlet committed
    • md.texi: Document the mnemonic attribute. · 13b72c22
      2013-10-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* doc/md.texi: Document the mnemonic attribute.
      
      From-SVN: r203354
      Andreas Krebbel committed
    • re PR target/57377 (compiler cannot be built with RTL checking) · 5db40447
      2013-10-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	PR target/57377
      	* gensupport.c (gen_mnemonic_attr): Handle (set (attr x) y) and
      	(set_attr_alternative x ...) when searching for user defined
      	mnemonic attribute.
      
      From-SVN: r203353
      Andreas Krebbel committed
    • alpha.c: Add gimple-ssa.h to include list. · ed018d4b
      
      2013-10-10  Andrew MacLeod  <amacleod@redhat.com>
      
      	* config/aplha/alpha.c: Add gimple-ssa.h to include list.
      
      From-SVN: r203352
      Andrew MacLeod committed
    • [multiple changes] · 9e92ad49
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Variant_Part): Expand statically
      	predicated subtype which appears in Discrete_Choices list.
      	* exp_ch5.adb (Expand_N_Case_Statement): Expand statically
      	predicated subtype which appears in Discrete_Choices list of
      	case statement alternative.
      	* exp_util.ads, exp_util.adb (Expand_Static_Predicates_In_Choices): New
      	procedure.
      	* sem_case.adb: Minor reformatting (Analyze_Choices): Don't
      	expand out Discrete_Choices that are names of subtypes with
      	static predicates. This is now done in the analyzer so that the
      	-gnatct tree is properly formed for ASIS.
      	* sem_case.ads (Generic_Choices_Processing): Does not apply
      	to aggregates any more, so change doc accordingly, and remove
      	unneeded Get_Choices argument.
      	* sem_ch3.adb (Analyze_Variant_Part): Remove no
      	longer used Get_Choices argument in instantiation of
      	Generic_Choices_Processing.
      	* sem_ch4.adb (Analyze_Case_Expression): Remove no
      	longer used Get_Choices argument in instantiation of
      	Generic_Choices_Processing.
      	* sem_ch5.adb (Analyze_Case_Statement): Remove no
      	longer used Get_Choices argument in instantiation of
      	Generic_Choices_Processing.
      	* sinfo.ads: For N_Variant_Part, and N_Case_Statement_Alternative,
      	document that choices that are names of statically predicated
      	subtypes are expanded in the code generation tree passed to the
      	back end, but not in the ASIS tree generated for -gnatct.
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch7.adb: Revert previous change.
      
      2013-10-10  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the case where
      	the Storage_Pool aspect is specified by an aspect clause and a
      	renaming is used to capture the evaluation of the pool name,
      	insert the renaming in front of the aspect's associated entity
      	declaration rather than in front of the corresponding attribute
      	definition (which hasn't been appended to the declaration
      	list yet).
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Is_Interface_Conformant): The controlling type
      	of the interface operation is obtained from the ultimate alias
      	of the interface primitive parameter, because that may be in
      	fact an implicit inherited operation whose signature involves
      	the type extension and not the desired interface.
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch13.adb (Aspect_Specifications_Present): In Ada 2012,
      	recognize an aspect specification with a misspelled name if it
      	is followed by a a comma or semicolon.
      
      2013-10-10  Vadim Godunko  <godunko@adacore.com>
      
      	* s-atocou.adb, s-atocou.ads, s-atocou-x86.adb, s-atocou-builtin.adb:
      	Fix copyright notice.
      
      2013-10-10  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): Get
      	enclosing subprogram for precondition/postcondition/contract cases.
      
      From-SVN: r203350
      Arnaud Charlet committed
    • [multiple changes] · 11d59a86
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Minor fix.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
      	Address): Remove the Comes_From_Source test for the overlap
      	warning.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb: Minor code reorganization (use Nkind_In).
      	* sem_warn.adb: Minor code reorganization (optimization in
      	Check_Unset_Reference).
      	* exp_ch9.adb, exp_ch4.adb, sinfo.ads: Minor reformatting.
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch7.adb (Install_Parent_Private_Declarations): When
      	instantiating a child unit, do not install private declaration of
      	a non-generic ancestor of the generic that is also an ancestor
      	of the current unit: its private part will be installed when
      	private part of ancestor itself is analyzed.
      
      2013-10-10  Thomas Quinot  <quinot@adacore.com>
      
      	* freeze.adb (Check_Component_Storage_Order): Retrieve component
      	aliased status from type entities directly instead of going back
      	to original component definition.
      	* sem_ch7.adb: Minor reformatting.
      
      From-SVN: r203349
      Arnaud Charlet committed
    • [multiple changes] · 27a8f150
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): For Address
      	attribute, consider it to be set in source, because of aliasing
      	considerations.
      	(Analyze_Attribute_Definition_Clause): For the
      	purpose of warning on overlays, take into account the aspect case.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
      	a-cofove.ads: Minor reformatting.
      
      2013-10-10  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_ugn.texi: Remove obsolete mention to -laddr2line.
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Case_Expression):  Indicate that the
      	generated variable used as a target of the expression needs
      	no initialization.
      
      2013-10-10  Jose Ruiz  <ruiz@adacore.com>
      
      	* exp_util.adb (Corresponding_Runtime_Package): Remove the condition
      	related to No_Dynamic_Attachment which was wrong. Protected types
      	with interrupt handlers (when not using a restricted profile)
      	are always treated as protected types with entries, regardless
      	of the No_Dynamic_Attachment restriction.
      	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Simplify the code
      	using the result of Corresponding_Runtime_Package.
      	(Install_Private_Data_Declarations): When having
      	static handlers and a non restricted profile, we use the
      	type Static_Interrupt_Protection always, so we removed an
      	extra wrong condition looking at the No_Dynamic_Attachment
      	restriction. Simplify the code using the result of
      	Corresponding_Runtime_Package.
      	(Make_Initialize_Protection): Simplify the code using
      	the result of Corresponding_Runtime_Package.
      	(Install_Private_Data_Declaration): The No_Dynamic_Attachment
      	restriction has nothing to do with static handlers. Remove the extra
      	erroneous condition that was creating the wrong data type.
      
      2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_util.adb (Is_Object_Reference): Attribute
      	'Old produces an object reference.
      	* gnat_rm.texi: Define accessibility level of
      	X'Update(...) result.
      
      From-SVN: r203348
      Arnaud Charlet committed
    • [multiple changes] · 2fc07285
      2013-10-10  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi, a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
      	a-cforse.ads, a-cofove.ads: Update comment and doc of formal containers
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post
      	conditions that apply to a subprogram body, preserve the placement
      	and order of the generated pragmas, which must appear before
      	other declarations in the body.
      
      From-SVN: r203347
      Arnaud Charlet committed
    • [multiple changes] · c1645ac8
      2013-10-10  Bob Duff  <duff@adacore.com>
      
      	* gnat_ugn.texi: Add gnat2xml doc.
      
      2013-10-10  Doug Rupp  <rupp@adacore.com>
      
      	* s-vxwork-arm.ads: Fix interface to FP_CONTEXT.
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specification): An aspect Import
      	on a variable need not have a convention specified, as long as
      	the implicit convention of the object, obtained from its type,
      	is Ada or Ada-related.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* cstand.adb (Standard_Unsigned_64): New internal type.
      	* gnat_rm.texi: Update documentation on To_Address.
      	* sem_attr.adb (Analyze_Attribute, case To_Address): Fix
      	problem with out of range static values given as literals or
      	named numbers.
      	* stand.ads (Standard_Unsigned_64): New internal type.
      	* stand.adb: Minor reformatting.
      
      From-SVN: r203346
      Arnaud Charlet committed
    • [multiple changes] · f0e7963f
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Analyze_Selected_Component,
      	Has_Mode_Conformant_Spec): If selected component may be an
      	indexing of a parameterless call to a protected function, and
      	expansion is disabled, this is a valid candidate interpretation.
      
      2013-10-10  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_ugn.texi: Minor editing.
      
      From-SVN: r203345
      Arnaud Charlet committed
    • [multiple changes] · 0c5dba7f
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* gnatlink.adb: Minor reformatting.
      
      2013-10-10  Yannick Moy  <moy@adacore.com>
      
      	* debug.adb: Free flag d.E and change doc for flag d.K.
      
      2013-10-10  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Check_Precondition_Postcondition): If the
      	pragma comes from an aspect spec, and the subprogram is a
      	library unit, treat as a ppc in a declarative part in ASIS mode,
      	so that expression in aspect is properly analyzed. In this case
      	there is no later point at which the aspect specification would
      	be examined.
      
      2013-10-10  Bob Duff  <duff@adacore.com>
      
      	* opt.ads: Minor comment fix.
      
      2013-10-10  Vadim Godunko  <godunko@adacore.com>
      
      	* a-coinho-shared.ads, a-coinho-shared.adb: New file.
      	* s-atocou.ads: Add procedure to initialize counter.
      	* s-atocou.adb: Likewise.
      	* s-atocou-builtin.adb: Likewise.
      	* s-atocou-x86.adb: Likewise.
      	* gcc-interface/Makefile.in: Select special version of
      	Indefinite_Holders package on platforms where atomic built-ins
      	are supported. Update tools target pairs for PikeOS.
      
      From-SVN: r203344
      Arnaud Charlet committed
    • [multiple changes] · cd38efa5
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb: Minor reformatting.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sinput-c.adb (Load_File): Ensure Source_Align alignment.
      	* sinput-d.adb (Create_Debug_Source): Ensure Source_Align alignment.
      	* sinput-l.adb (Create_Instantiation_Source): Ensure Source_Align
      	alignment.
      	(Load_File): Ditto.
      	* sinput.ads, sinput.adb (Get_Source_File_Index): New optimized (single
      	line) version.
      	* types.ads (Source_Align): New definition.
      	(Source_Buffer): Document new alignment requirement.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma, case Linker_Section): Allow
      	this for types.
      
      2013-10-10  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Minor adjustment to doc for To_Address attribute.
      
      2013-10-10  Vadim Godunko  <godunko@adacore.com>
      
      	* s-stopoo.ads (Root_Storage_Pool): Add pragma
      	Preelaborable_Initialization.
      
      From-SVN: r203343
      Arnaud Charlet committed
    • Daily bump. · 156dbd15
      From-SVN: r203335
      GCC Administrator committed
  2. 09 Oct, 2013 15 commits
    • compiler, runtime: Fix complex division of NaN / 0. · 215552ad
      From-SVN: r203331
      Ian Lance Taylor committed
    • params.def (PARAM_MIN_SIZE_FOR_STACK_SHARING): New param... · 4d5b5e9f
      2013-10-09  Easwaran Raman <eraman@google.com>
      
              * params.def (PARAM_MIN_SIZE_FOR_STACK_SHARING): New param...
              * cfgexpand.c (defer_stack_allocation): ...use here
              * doc/invoke.texi: Add documentation for min-size-for-stack-sharing.
      
      From-SVN: r203330
      Easwaran Raman committed
    • tree-ssa-phiopts.c (rhs_is_fed_for_value_replacement): New function. · c9ef86a1
      	* tree-ssa-phiopts.c (rhs_is_fed_for_value_replacement): New function.
      	(operand_equal_for_value_replacement): New function, extracted from
      	value_replacement and enhanced to catch more cases.
      	(value_replacement): Use operand_equal_for_value_replacement.
      
      	* gcc.dg/tree-ssa/phi-opt-11.c: New test.
      
      From-SVN: r203327
      Zhenqiang Chen committed
    • 58659.cc: Use VERIFY instead of aborting. · fd673f29
      	* testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
      	aborting.
      
      From-SVN: r203325
      Jonathan Wakely committed
    • loop-doloop.c (doloop_modify, [...]): Use get_max_loop_iterations. · 2431114f
      
      	* loop-doloop.c (doloop_modify, doloop_optimize): Use 
      	get_max_loop_iterations.
      
      From-SVN: r203324
      Andrew MacLeod committed
    • re PR c++/58635 ([c++11] ICE with __transaction_atomic and noexcept(false)) · 830ce0a2
      	PR c++/58635
      cp/
      	* semantics.c (finish_return_stmt): Return error_mark_node
      	when error_operand_p of the expr is true.
      	(build_transaction_expr): Check for EXPR_P before setting the
      	expr location.
      testsuite/
      	* g++.dg/tm/pr58635-1.C: New test.
      	* g++.dg/tm/pr58635-2.C: New test.
      
      From-SVN: r203323
      Marek Polacek committed
    • aarch-common.c (arm_early_load_addr_dep): Place comment above function. · 1dd2a9a0
      [gcc/]
      2013-10-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* config/arm/aarch-common.c (arm_early_load_addr_dep):
      	Place comment above function.
      
      From-SVN: r203322
      Kyrylo Tkachov committed
    • tree-flow.h: Remove all remaining prototypes... · c1bf2a39
      
      
      	* tree-flow.h: Remove all remaining prototypes, enums and structs that
      	are not related to tree-cfg.c.
      	* tree-ssa-address.h: New file.  Relocate prototypes.
      	* tree-ssa-address.c: (struct mem_address): Relocate from tree-flow.h.
      	(addr_for_mem_ref): New.  Combine call to get_address_description and
      	return addr_for_mem_ref.
      	* expr.c (expand_expr_real_1): Use new addr_for_mem_ref routine.
      	* tree-ssa-live.h: Adjust prototypes.
      	* passes.c: Include tree-ssa-live.h.
      	* gimple-pretty-print.h (gimple_dump_bb): Add prototype.
      	* graphite.c (graphite_transform_loops): Make static.
      	(graphite_transforms, gate_graphite_transforms, pass_data_graphite,
      	make_pass_graphite, pass_data_graphite_transforms, 
      	make_pass_graphite_transforms): Relocate here from tree-ssa-loop.c.
      	* ipa-pure-const.c (warn_function_noreturn): Make static.
      	(execute_warn_function_noreturn, gate_warn_function_noreturn,
      	class pass_warn_function_noreturn, make_pass_warn_function_noreturn):
      	Relocate from tree-cfg.c
      	* tree-cfg.c (tree_node_can_be_shared, gimple_empty_block_p): Make
      	static.
      	(execute_warn_function_noreturn, gate_warn_function_noreturn,
      	class pass_warn_function_noreturn, make_pass_warn_function_noreturn):
      	Move to ipa-pure-const.c.
      	(execute_fixup_cfg, class pass_fixup_cfg, make_pass_fixup_cfg): Relocate
      	from tree-optimize.c.
      	* tree-optimize.c (execute_fixup_cfg, class pass_fixup_cfg,
      	make_pass_fixup_cfg): Move to tree-cfg.c.
      	* tree-chrec.h: (enum ev_direction): Relocate here from tree-flow.h.
      	Relocate some prototypes.
      	* tree-data-ref.h (tree_check_data_deps) Add prototype.
      	* tree-dump.c (dump_function_to_file): Remove prototype.
      	Add tree-flow.h to the include file.
      	* tree-dump.h: Remove prototype.
      	* tree-parloops.h: New File.  Add prototypes.
      	* tree-parloops.c (gate_tree_parallelize_loops, tree_parallelize_loops,
      	pass_data_parallelize_loops,  make_pass_parallelize_loops): Relocate
      	from tree-ssa-loop.c.
      	* tree-predcom.c (run_tree_predictive_commoning,
      	gate_tree_predictive_commoning, pass_data_predcom, make_pass_predcom):
      	Relocate here from tree-ssa-loop.c.
      	* tree-ssa-dom.c (tree_ssa_dominator_optimize) Don't call 
      	ssa_name_values.release ().
      	* tree-ssa-threadedge.h: New File.  Relocate prototypes here.
      	(ssa_name_values): Relocate from tree-flow.h.
      	* tree-ssa.h: Include tree-ssa-threadedge.h and tree-ssa-address.h.
      	* tree-ssa-loop.c (run_tree_predictive_commoning,
      	gate_tree_predictive_commoning, pass_data_predcom, make_pass_predcom,
      	graphite_transforms, gate_graphite_transforms, pass_data_graphite,
      	make_pass_graphite, pass_data_graphite_transforms,
      	make_pass_graphite_transforms, gate_tree_parallelize_loops,
      	tree_parallelize_loops, pass_data_parallelize_loops,
      	make_pass_parallelize_loops): Move to other files.
      	* tree-vectorizer.h (lpeel_tree_duplicate_loop_to_edge_cfg): Prototype
      	moved here.
      	* tree.h: Remove prototypes from tree-address.c.
      
      From-SVN: r203320
      Andrew MacLeod committed
    • * gcc.dg/vect/bb-slp-31.c: Add cleanup-tree-dump. · 428e041e
      From-SVN: r203319
      Jakub Jelinek committed
    • tree-flow.h (tm_restart_node, gimple_df): Move to gimple-ssa.h. · cc524fc7
      
      
      	* tree-flow.h (tm_restart_node, gimple_df): Move to gimple-ssa.h.
      	(struct int_tree_map): Move to tree-hasher.h
      	(SCALE, LABEL, PERCENT): Move to gimple.h
      	* tree-flow-inline.h: Delete.  Move functions to other files.
      	(unmodifiable_var_p, ref_contains_array_ref): Unused, so delete.
      	* gimple-ssa.h (tm_restart_node, gimple_df): Relocate from tree-flow.h.
      	(gimple_in_ssa_p, gimple_vop): Relocate from tree-flow-inline.h
      	* gimple.h (imple_stmt_max_uid, set_gimple_stmt_max_uid,
      	inc_gimple_stmt_max_uid, get_lineno): Relocate from tree-flow-inline.h.
      	(SCALE, LABEL, PERCENT): Relocate from tree-flow.h
      	* tree-hasher.h: Don't include tree-flow.h.
      	(struct int_tree_map): Relocate from tree-flow.h.
      	* tree-sra.c (contains_view_convert_expr_p): Relocate from
      	tree-flow-inline.h and make static.
      	* tree-ssa-alias.h (ranges_overlap_p): Relocate from tree-flow-inline.h.
      	* tree-ssa-operands.c (gimple_ssa_operands): Relocate from
      	tree-flow-inline.h and make static.
      	* tree.h (is_global_var, may_be_aliased): Relocate from
      	tree-flow-inline.h.
      	* Makefile.in (GTFILES): Remove tree-flow.h and add gimple-ssa.h.
      	* value-prof.c: No longer include tree-flow-inline.h.
      	* tree-switch-conversion.c: No longer include tree-flow-inline.h.
      
      From-SVN: r203318
      Andrew MacLeod committed
    • tree-flow.h: Move some protoypes. · 71343877
      
      	* tree-flow.h: Move some protoypes.  Include new tree-ssa-loop.h.
      	(struct affine_iv, struct tree_niter_desc): Move to tree-ssa-loop.h.
      	(enum move_pos): Move to tree-ssa-loop-im.h
      	* cfgloop.h: Move some prototypes.
      	(gcov_type_to_double_int): relocate from tree-ssa-loop.niter.c.
      	* tree-flow-inline.h (loop_containing_stmt): Move to tree-ssa-loop.h.
      	* tree-ssa-loop.h: New File.  Include other tree-ssa-loop-*.h files.
      	(struct affine_iv, struct tree_niter_desc): Relocate from tree-flow.h.
      	(loop_containing_stmt): Relocate from tree-flow-inline.h.
      	* tree-ssa-loop-ch.c: (do_while_loop_p): Make static.
      	* tree-ssa-loop-im.c (for_each_index): Move to tree-ssa-loop.c.
      	(enum move_pos): Relocate here.
      	(lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): Move to
      	tree-ssa-loop.c.
      	(execute_sm_if_changed_flag_set): Change get_lsm_tmp_name call.
      	(tree_ssa_loop_im, gate_tree_ssa_loop_im, pass_data_lim, make_pass_lim):
      	Relocate here from tree-ssa-loop.c.
      	* tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Move to 
      	tree-ssa-loop.c.
      	(loop_edge_to_cancel, unloop_loops): Make static.
      	(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_data_iv_canon,
      	make_pass_iv_canon): Relocate from tree-ssa-loop.c.
      	(tree_complete_unroll, gate_tree_complete_unroll,
      	pass_data_complete_unroll, make_pass_complete_unroll): Relocate here.
      	(tree_complete_unroll_inner, gate_tree_complete_unroll_inner,
      	pass_data_complete_unrolli, make_pass_complete_unrolli): Relocate here.
      	* tree-ssa-loop-ivopts.c: Remove local prototypes.
      	(stmt_invariant_in_loop_p): Remove unused function.
      	* tree-ssa-loop-ivopts.h: New file.  Add prototypes.
      	* tree-ssa-loop-manip.h: New file.  Add prototypes.
      	* tree-ssa-loop-niter.c (record_niter_bound): Move to cfgloop.c.
      	(gcov_type_to_double_int): Move to cfgloop.h.
      	(double_int_cmp, bound_index,
      	estimate_numbers_of_iterations_loop): Make static.
      	(estimated_loop_iterations): Factor out get_estimated_loop_iterations.
      	(max_loop_iterations): Factor out get_max_loop_iterations.
      	(estimated_loop_iterations_int, max_stmt_executions_int): Move to
      	cfgloop.c.
      	* tree-ssa-loop-niter.h: New file.  Add prototypes.
      	* tree-ssa-loop-prefetch.c (tree_ssa_loop_prefetch,
      	gate_tree_ssa_loop_prefetch, pass_data_loop_prefetch,
      	make_pass_loop_prefetch): Relocate from tree-ssa-loop.c.
      	* tree-ssa-loop-unswitch.c (tree_ssa_loop_unswitch,
      	gate_tree_ssa_loop_unswitch, pass_data_tree_unswitch,
      	make_pass_tree_unswitch): Relocate from tree-ssa-loop.c.
      	* tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im,
      	pass_data_lim, make_pass_lim): Move to tree-ssa-loop-im.c.
      	(tree_ssa_loop_unswitch, gate_tree_ssa_loop_unswitch,
      	pass_data_tree_unswitch, make_pass_tree_unswitch): Move.
      	(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_data_iv_canon,
      	make_pass_iv_canon, tree_complete_unroll, gate_tree_complete_unroll,
      	pass_data_complete_unroll, make_pass_complete_unroll,
      	tree_complete_unroll_inner, gate_tree_complete_unroll_inner,
      	pass_data_complete_unrolli, make_pass_complete_unrolli): Move to
      	tree-ssa-loop-ivcanon.c.
      	(tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
      	pass_data_loop_prefetch, make_pass_loop_prefetch): Move to
      	tree-ssa-loop-prefetch.c.
      	(for_each_index, lsm_tmp_name_add, gen_lsm_tmp_name): Relocate from
      	tree-ssa-loop-im.c.
      	(get_lsm_tmp_name): Relocate and add suffix parameter.
      	(tree_num_loop_insns): Relocate from tree-ssa-ivcanon.c.
      	* tree-scalar-evolution.h (simple_iv): Don't use affive_iv typedef.
      	* cfgloop.c (record_niter_bound, estimated_loop_iterations_int,
      	max_stmt_executions_int): Move from tree-ssa-loop-niter.c.
      	(get_estimated_loop_iterations): Factor out accessor from 
      	estimated_loop_iterations in tree-ssa-loop-niter.c.
      	(get_max_loop_iterations): Factor out accessor from _max_loop_iterations
      	in tree-ssa-niter.c.
      	* loop-unroll.c (decide_unroll_constant_iterations,
      	decide_unroll_runtime_iterations, decide_peel_simple,
      	decide_unroll_stupid): Use new get_* accessors.
      
      From-SVN: r203317
      Andrew MacLeod committed
    • re PR c/20318 (RFE: add attribute to specify that a function never returns NULL) · 826cacfe
      2013-10-09  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/20318
      gcc/c-family/
      	* c-common.c (handle_returns_nonnull_attribute): New function.
      	(c_common_attribute_table): Add returns_nonnull.
      
      gcc/
      	* doc/extend.texi (returns_nonnull): New function attribute.
      	* fold-const.c (tree_expr_nonzero_warnv_p): Look for returns_nonnull
      	attribute.
      	* tree-vrp.c (gimple_stmt_nonzero_warnv_p): Likewise.
      	(stmt_interesting_for_vrp): Accept all GIMPLE_CALL.
      
      gcc/testsuite/
      	* c-c++-common/pr20318.c: New file.
      	* gcc.dg/tree-ssa/pr20318.c: New file.
      
      From-SVN: r203316
      Marc Glisse committed
    • re PR middle-end/58570 (wrong code for bitfields at -O2 and above) · 378f8976
      	PR middle-end/58570
      	* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Return
      	false if both components are bitfields.
      
      From-SVN: r203315
      Eric Botcazou committed
    • [AArch64] Implement vclz ADVSimd intrinsic. · 0fe04f5c
      From-SVN: r203314
      Alex Velenko committed