- 20 Oct, 2015 40 commits
-
-
2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch11.adb (Analyze_Handled_Statements): If the scope is a postcondition subprogram, do not check for useless assignments because there are no source references in such a body, and the call will lose deferred references from the enclosing subprogram. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: nalyze_Attribute_Definition_Clause, case 'Address): If either object is controlled the overlay is erroneous, but analysis must be completed so that back-end sees address clause and completes code generation. Improve text of warning. 2015-10-20 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb: Minor reformatting. From-SVN: r229072
Arnaud Charlet committed -
2015-10-20 Bob Duff <duff@adacore.com> * s-mudido-affinity.adb (Create): Correct subranges of slices of CPU arrays. 2015-10-20 Arnaud Charlet <charlet@adacore.com> * sinfo.ads, g-pehage.adb, par-ch12.adb, layout.adb, exp_util.adb, sem_aux.adb, make.adb, checks.adb, sem_ch12.adb, sem_res.adb, sem_attr.adb, a-ngelfu.adb, sem_ch4.adb, switch-b.adb, sem_ch6.adb, prj-dect.adb, gnatxref.adb, sem_ch13.adb, lib-xref.adb: Fix typos. 2015-10-20 Tristan Gingold <gingold@adacore.com> * exp_ch4.adb (Expand_Array_Comparison): Use generic code if runtime routine is not available. From-SVN: r229071
Arnaud Charlet committed -
2015-10-20 Yannick Moy <moy@adacore.com> * a-sytaco.ads (Ada.Synchronous_Task_Control): Package now withs System.Task_Identification. The visible part of the spec has SPARK_Mode. The private part has pragma SPARK_Mode (Off). (Set_True): Added Global and Depends aspects (Set_False): Added Global and Depends aspects (Current_State): Added Volatile_Function aspect and added external state Ada.Task_Identification.Tasking_State as a Global input. (Suspend_Until_True): Added Global and Depends aspects * a-sytaco.adb (Ada.Synchronous_Task_Control): Package body has SPARK_Mode => Off * a-extiin.ads (Ada.Execution_Time.Interrupts): Package now withs Ada.Real_Time and has SPARK_Mode. (Clock): Added Volatile_Function aspect and added external state Ada.Real_Time.Clock_Time as a Global input. * a-reatim.ads (Ada.Real_Time): The visible part of the spec has SPARK_Mode. The private part has pragma SPARK_Mode (Off). The package declares external state Clock_Time with properties Async_Readers and Async_Writers. (Clock): Added Volatile_Function aspect and added external state Clock_Time as a Global input. * a-reatim.adb (Ada.Real_Time): Package body has SPARK_Mode => Off * a-exetim-default.ads, a-exetim-mingw.ads (Ada.Execution_Time): The visible part of the spec has SPARK_Mode. The private part has pragma SPARK_Mode (Off). (Clock): Added Volatile_Function aspect and added external state Clock_Time as a Global input. (Clock_For_Interrupts): Added Volatile_Function aspect and added external state Ada.Real_Time.Clock_Time as a Global input. * a-exetim-mingw.adb (Ada.Execution_Time): Package body has SPARK_Mode => Off * a-interr.ads (Ada.Interrupts): Package now withs Ada.Task_Identification (Is_Reserved): Added SPARK_Mode, Volatile_Function and external state Ada.Task_Identification.Tasking_State as a Global input. (Is_Attached): Added SPARK_Mode, Volatile_Function and external state Ada.Task_Identification.Tasking_State as a Global input. (Attach_Handler): Added SPARK_Mode => Off (Exchange_Handler): Added SPARK_Mode => Off (Detach_Handler): Added SPARK_Mode and external state Ada.Task_Identification.Tasking_State as a Global In_Out. (Reference): Added SPARK_Mode => Off * a-disedf.ads (Get_Deadline): Added SPARK_Mode, Volatile_Function and external state Ada.Task_Identification.Tasking_State as a Global input. * a-taside.ads (Ada.Task_Identification): The visible part of the spec has SPARK_Mode. The private part has pragma SPARK_Mode (Off). The package declares external state Tasking_State with properties Async_Readers and Async_Writers. (Current_Task): Added Volatile_Function aspect and added external state Tasking_State as a Global input. (Environment_Task): Added SPARK_Mode => Off (Is_Terminated): Added Volatile_Function aspect and added external state Tasking_State as a Global input. (Is_Callable): Added Volatile_Function aspect and added external state Tasking_State as a Global input. (Activation_Is_Complete): Added Volatile_Function aspect and added external state Tasking_State as a Global input. * a-taside.adb (Ada.Task_Identification): Package body has SPARK_Mode => Off. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * atree.ads, atree.adb: Enable List38 and List39 on entities. * einfo.ads, einfo.adb (Class_Wide_Preconds) new attribute defined on subprograms. Holds the list of class-wide precondition functions inherited from ancestors. Each such function is an instantiation of the generic function generated from an explicit aspect specification for a class-wide precondition. A type is an ancestor of itself, and therefore a root type has such an instance on its own list. (Class_Wide_Postconds): ditto for postconditions. 2015-10-20 Vincent Celier <celier@adacore.com> * prj-attr.adb: Add packages Prove and GnatTest. 2015-10-20 Steve Baird <baird@adacore.com> * a-conhel.adb: Add an Annotate pragma to help suppress CodePeer's analysis of internals of container generic instances. This pragma has no other effect. * a-conhel.adb (Generic_Implementation) Add "pragma Annotate (CodePeer, Skip_Analysis);". From-SVN: r229070
Arnaud Charlet committed -
2015-10-20 Steve Baird <baird@adacore.com> * pprint.adb: Code clean up. 2015-10-20 Bob Duff <duff@adacore.com> * a-cfinve.ads, a-coboho.ads: Improve comments. * a-coboho.adb (Size_In_Storage_Elements): Improve error message in case of "Size is too big" exception. 2015-10-20 Bob Duff <duff@adacore.com> * a-contai.ads: Remove check names (moved to snames.ads-tmpl). * snames.ads-tmpl: Add check names that were previously in a-contai.ads, so they are now visible in configuration files. * types.ads: Add checks corresponding to snames.ads-tmpl. From-SVN: r229069
Arnaud Charlet committed -
2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Loop_Statement): Attach generated loop identifier to the tree, because it may be the root of a tree traversal in Pop_Scope when freeze actions are pending. 2015-10-20 Steve Baird <baird@adacore.com> * pprint.ads (Expression_Image) Add new generic formal flag Hide_Parameter_Blocks. * pprint.adb (Expression_Image) If new flag is set, then display dereferences of parameter block components accordingly. From-SVN: r229068
Arnaud Charlet committed -
2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb: Code clean up. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Expand_N_Extended_Return_Statement): Code cleanup. (Make_Build_In_Place_Call_In_Object_Declaration): Update the parameter profile. Code cleanup. Request debug info for the object renaming declaration. (Move_Activation_Chain): Add new formal parameter and update the comment on usage. * exp_ch6.ads (Make_Build_In_Place_Call_In_Object_Declaration): Update the parameter profile and comment on usage. * sem_util.ads, sem_util.adb (Remove_Overloaded_Entity): New routine, currently unused. From-SVN: r229067
Arnaud Charlet committed -
2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_One_Aspect, case Aspect_Disable_Controlled): If expander is not active, pre-analyze expression anyway for ASIS and other tools use. * sem_prag.adb (Build_Generic_Class_Condition): Handle properly anonymous access types in parameter specifications. Make the formal type a formal derived type of the controlling type of the subprogram. From-SVN: r229064
Ed Schonberg committed -
2015-10-20 Tristan Gingold <gingold@adacore.com> * s-rident.ads: No_Task_At_Interrupt_Priority: New restriction. * sem_prag.adb (Analyze_Pragma): Check the restriction. * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check the restriction (for aspects). From-SVN: r229063
Tristan Gingold committed -
2015-10-20 Gary Dismukes <dismukes@adacore.com> * sem_prag.adb: Minor reformatting. From-SVN: r229061
Gary Dismukes committed -
2015-10-20 Tristan Gingold <gingold@adacore.com> * sem_util.adb (Is_Protected_Self_Reference): Remove reference to UET_Address in comment. * sem_attr.adb (Check_Unit_Name): Adjust comment. (Analyze_Attribute): Remove handling of UET_Address. * sem_attr.ads (Attribute_Impl_Def): Remove Attribute_UET_Address. * snames.ads-tmpl Remove Name_UET_Address, Attribute_UET_Address. * exp_attr.adb (Expand_N_Attribute_Reference): Remove Attribute_UET_Address. 2015-10-20 Bob Duff <duff@adacore.com> * a-cbdlli.adb, a-cdlili.adb, a-chtgop.adb, a-cidlli.adb, * a-cobove.adb, a-coinve.adb, a-convec.adb, a-crbtgo.adb ("="): Avoid modifying the tampering counts unnecessarily. (Adjust): Zero tampering counts unconditionally. 2015-10-20 Jerome Lambourg <lambourg@adacore.com> * init.c: Fix build issue on arm-vx6 when building the RTP run-time. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): If the expression is an aggregate and compilation is in -gnatI mode (ignore rep clauses) do not delay resolution of aggregate, to prevent freeze actions out of order in the backend. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_prag.ads, sem_prag.adb (Build_Generic_Class_Condition): New procedure to construct a generic function for a class-wide precondition, to implement AI12-0113 concerning the new semantics of class-wide preconditions for overriding uperations. From-SVN: r229060
Arnaud Charlet committed -
2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Find_Actual): The routine is now capable of operating on entry calls. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_res.adb: Remove redundant check. From-SVN: r229059
Arnaud Charlet committed -
2015-10-20 Jerome Lambourg <lambourg@adacore.com> * init.c (__gnat_vxsim_error_handler): Completely disable on VxWorks-7 as the VSBs used to build gcc do not support vxsim architecture. 2015-10-20 Claire Dross <dross@adacore.com> * a-cfdlli.ads, a-cfinve.ads, a-cofove.ads (Generic_Sorting): Explicit SPARK_Mode. * a-cfhase.ads, a-cforse.ads (Generic_Keys): Explicit SPARK_Mode. 2015-10-20 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Check for No_Implicit_Protected_Object_Allocations. * fe.h (Check_No_Implicit_Task_Alloc, Check_No_Implicit_Protected_Alloc): Define and declare. * restrict.ads, restrict.adb (Check_No_Implicit_Task_Alloc, Check_No_Implicit_Protected_Alloc): New procedures to check the restrictions. * s-rident.ads (No_Implicit_Task_Allocations) (No_Implicit_Protected_Object_Allocations): Declare new restrictions. 2015-10-20 Yannick Moy <moy@adacore.com> * sem_res.adb (Resolve_Selected_Component): Only set flag when component is defined in a variant part. * sem_util.adb, * sem_util.ads (Is_Declared_Within_Variant): Promote local query as publicy visible one for use in Resolve_Selected_Component. 2015-10-20 Philippe Gil <gil@adacore.com> * g-debpoo.adb: allow instrumented System.Memory to use Debug_Pool from foreign threads. * g-debpoo.adb (Print_Traceback): NEW print traceback if available added to support Stack_Trace_Depth = 0. (Print_Address): NEW print System.Address without no secondary stack use (Address_Image uses secondary stack) From-SVN: r229058
Arnaud Charlet committed -
2015-10-20 Yannick Moy <moy@adacore.com> * exp_ch9.adb (Expand_Entry_Barrier): Default initialize local variable Func. 2015-10-20 Jerome Lambourg <lambourg@adacore.com> * init.c (__gnat_error_handler for vxworks): Force SPE bit in the MSR when handling signals 2015-10-20 Arnaud Charlet <charlet@adacore.com> * einfo.ads, sem_ch12.adb, sem_ch6.adb, table.ads, s-stposu.ads, g-table.ads, g-dyntab.ads, makeutl.ads, a-crdlli.ads: Fix typos. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Loop_Statement): Element iterators over multidimensional arrays create additional loops during expansion. For such loops we create a label as a scope name. Attach this label properly to tree, for use in GNATProve over such element iterators. * sem_attr.adb (Analyze_Attribute, case Loop_Entry): The loop to which the attribute applies comes from source, not from expansion of an element iterator or a quantified expression. * exp_attr.adb (Expand_N_Attribute_Reference): Ditto. From-SVN: r229057
Arnaud Charlet committed -
2015-10-20 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Call): Check for a call to a function declared in a Dimension I/O package, to handle the new Image function. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * inline.ads: Minor comment fixes. 2015-10-20 Bob Duff <duff@adacore.com> * a-comutr.ads (Tree_Node_Access): Add No_Strict_Aliasing, because we're doing unchecked conversions with this pointer. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * exp_ch9.adb (Next_Protected_Operation): An expression function used as a completion can be the next protected operation in a protected body. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Is_OK_Volatile_Context): Add a guard when checking a possible call to an instance of Ada.Unchecked_Conversion to avoid testing protected function calls. Allow references to protected objects in prefixed protected calls. (Is_Protected_Operation_Call): New routine. 2015-10-20 Yannick Moy <moy@adacore.com> * exp_ch5.adb, exp_ch5.ads (Expand_Iterator_Loop_Over_Array): Make query public. Remove code handling with iterator loop over array of the 'in' form, which is not allowed in Ada. * exp_spark.adb (Expand_SPARK): Expand loop statements that take the form of an iterator over an array. * sem_ch5.adb (Analyze_Loop_Statement): Do not analyze loop statements that take the form of an iterator over an array, so that the rewritten form gets analyzed instead. * sem_util.adb, sem_util.ads (Is_Iterator_Over_Array): New query to recognize iterators over arrays. 2015-10-20 Arnaud Charlet <charlet@adacore.com> * s-excdeb.ads, s-excdeb.adb (Debug_Raise_Exception): Add parameter Message. * a-except.adb (Raise_Current_Excep): Update call to Debug_Raise_Exception. * a-except-2005.adb (Complete_Occurrence): Ditto. * sem_ch12.adb: Whitespace fix. From-SVN: r229056
Arnaud Charlet committed -
* cgraphclones.c (cgraph_node::create_virtual_clone): Verify cgraph_node.local.versionable instead of calling tree_versionable_function_p. * ipa-cp.c (determine_versionability): Save the information to ipa_node_params summary. (ipcp_versionable_function_p): Use it. (ipcp_propagate_stage): Pass IPA_NODE_REF to a called function. (ipcp_generate_summary): Do not compute cgraph_node versionability. * ipa-inline-analysis.c (inline_generate_summary): Compute versionability for all cgraph nodes. * ipa-prop.c (ipa_node_params_t::duplicate): Duplicate ipa_node_params::versionability. * ipa-prop.h (struct ipa_node_params): Declare it. From-SVN: r229055
Martin Liska committed -
From-SVN: r229054
Arnaud Charlet committed -
2015-10-20 Yannick Moy <moy@adacore.com> * sem_warn.adb (Is_OK_Fully_Initialized): Consider types with DIC as fully default initialized. * sem_ch6.adb: minor style fix in comment 2015-10-20 Ed Schonberg <schonberg@adacore.com> * s-diflio.ads, s-diflio.adb (Image): New function for dimensioned quantities, to produce a string that includes the dimension synbol for the quantity, or the vector of dimensions in standard notation. * sem_dim.adb (Expand_Put_Call_With_Symbol): Process new function Image, to include dimension information in the generated string, identical to the string produced by the Put procedure on a string for a dimensioned quantity. From-SVN: r229053
Arnaud Charlet committed -
2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Process_Declarations): A loop parameter does not require finalization actions. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * exp_ch6.adb (Expand_Simple_Function_Return): Do not create an actual subtype for a mutable record return type if the expression is itself a function call. 2015-10-20 Dmitriy Anisimkov <anisimko@adacore.com> * s-atocou.adb, s-atocou-builtin.adb: Fix implementation description related to new type support. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Explicit_Dererence): Call Analyze_Dimension to propagate dimension information from prefix. * sem_dim.adb (Analyze_Dimension): Handle Explicit_Dereference. * inline.ads: minor whitespace fix in comment * sem_ch6.adb: minor gramar fix in comment 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb (Analyze_Object_Contract): A protected type or a protected object is allowed to have a discriminated part. 2015-10-20 Bob Duff <duff@adacore.com> * sem_util.adb (Requires_Transient_Scope): Return true for mutable records if the maximum size is very large. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * a-except-2005.adb (To_Stderr): Import Put_Char_Stderr with the same signature as in System.IO.Put. From-SVN: r229052
Arnaud Charlet committed -
2015-10-20 Bob Duff <duff@adacore.com> * a-cobove.adb (Set_Length): Restore previous logic, but with "Checks and then" on the check. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * par-ch3.adb (P_Known_Discriminant_Part_Opt): Handle properly a misplaced "constant" keyword in a discriminant specification. 2015-10-20 Steve Baird <baird@adacore.com> * einfo.ads (Is_Param_Block_Component_Type): New function decl for querying the flag. (Set_Is_Param_Block_Component_Type): New procedure decl for setting the flag. * einfo.adb (Is_Param_Block_Component_Type): New function body. (Set_Is_Param_Block_Component_Type): New procedure body. (Write_Entity_Flags): Display the new flag. * exp_ch9.adb (Build_Parameter_Block): Set flag on parameter block component types. (Expand_N_Entry_Declaration): Set flag on parameter block component types. 2015-10-20 Steve Baird <baird@adacore.com> * sem_elab.adb: Do not pass an N_Attribute_Reference node to Sinfo.Set_No_Elaboration_Check. * sem_elab.adb (Check_Elab_Call) Do not pass a non-call node (specifically, an N_Attribute_Reference node) to Sinfo.Set_No_Elaboration_Check. 2015-10-20 Tristan Gingold <gingold@adacore.com> * adaint.c: File names are case sensitive on aarch64-ios. From-SVN: r229051
Arnaud Charlet committed -
2015-10-20 Bob Duff <duff@adacore.com> * a-cbdlli.ads, a-cbhase.ads, a-cbmutr.ads, a-cborse.ads, * a-cdlili.ads, a-cidlli.ads, a-cihase.ads, a-cimutr.ads, * a-ciorse.ads, a-cobove.ads, a-cohase.ads, a-coinve.ads, * a-comutr.ads, a-convec.ads, a-coorse.ads: Use non-private with clause. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Requires_Cleanup_Actions): A loop parameter does not require finalization actions. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * par-ch3.adb (P_Declarative_Items): In case of misplaced aspect specifications, ensure that flag Done is properly set to continue parse. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * rtsfind.ads Remove the entries for Ada.Synchronous_Task_Control and Suspension_Object from tables RE_Id, RE_Unit_Table and RTU_Id. * sem_util.adb (Is_Descendant_Of_Suspension_Object): Update the comment on usage. Use routine Is_Suspension_Object to detect whether a type matches Suspension_Object. (Is_Suspension_Object): New routine. * snames.ads-tmpl: Add predefined names for Suspension_Object and Synchronous_Task_Control. From-SVN: r229049
Arnaud Charlet committed -
2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_smem.adb (Check_Shared_Var): Clean up code that handles type declarations with discriminants, remove obsolete check. 2015-10-20 Arnaud Charlet <charlet@adacore.com> * par_sco.adb: Minor style fixes. 2015-10-20 Vincent Celier <celier@adacore.com> * debug.adb: Update documentation of -gnatdu. From-SVN: r229048
Arnaud Charlet committed -
* aspects.adb Add aspect Volatile_Function to table Canonical_Aspect. * aspect.ads Add aspect Volatile_Function to tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and Implementation_Defined_Aspect. Aspects Async_Readers, Async_Writers, Effective_Reads and Effective_Writes are no longer Boolean. * einfo.adb (Get_Pragma): Add an entry for pragma Volatile_Function. * par-prag.adb (Prag): Pragma Volatile_Function does not need special processing by the parser. * rtsfind.ads Add an entry for Ada.Synchronous_Task_Control in table RTU_Id. Add an entry for Suspension_Object in table RE_Id. * sem_ch3.adb Fix SPARK RM references. (Analyze_Object_Contract): Update the error guard. * sem_ch5.adb Fix SPARK RM references. * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Ensure that a non-volatile function does not contain an effectively volatile parameter. (Analyze_Subprogram_Contract): Ensure that a non-volatile function does not contain an effectively volatile parameter. * sem_ch12.adb (Instantiate_Object): Remove the reference to the SPARK RM from the error message. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspects Async_Readers, Async_Writers, Effective_Reads, Effective_Writes and Volatile_Function. (Check_Aspect_At_Freeze_Point): Aspects Async_Readers, Async_Writers, Effective_Reads, Effective_Writes and Volatile_Function do not need special processing at the freeze point. * sem_prag.adb Add an entry for pragma Volatile_Function in table Sig_Flags. (Analyze_External_Property_In_Decl_Part): Reimplemented as Async_Readers, Async_Writers, Effective_Reads and Effective_Writes are no longer Boolean pragmas. (Analyze_Global_Item): An external state or effectively volatile object cannot appear as an item in pragma [Refined_]Global. (Analyze_Pragma): Change the implementation of Async_Readers, Async_Writers, Effective_Reads and Effective_Writes as these are no longer Boolean pragmas. Use routine Check_Static_Boolean_Expression to verify the optional Boolean expression of Async_Readers, Async_Writers, Constant_After_Elaboration, Effective_Reads, Effective_Writes, Extensions_Visible and Volatile_Function. Add processing for pragma Volatile_Function. (Check_Static_Boolean_Expression): New routine. (Find_Related_Context): Update the comment on usage. (Is_Enabled_Pragma): New routine. * sem_prag.ads (Is_Enabled_Pragma): New routine. * sem_res.adb Fix SPARK RM references. (Is_OK_Volatile_Context): Add detection for return statements. (Resolve_Actuals): Remove the check concerning an effectively volatile OUT actual parameter as this is now done by the SPARK flow analyzer. (Resolve_Entity_Name): Remove the check concerning an effectively volatile OUT formal parameter as this is now done by the SPARK flow analyzer. (Within_Volatile_Function): New routine. * sem_util.adb (Add_Contract_Item): Add processing for pragma Volatile_Function. (Check_Nonvolatile_Function_Profile): New routine. (Is_Descendant_Of_Suspension_Object): New routine. (Is_Effectively_Volatile): Protected types and descendants of Suspension_Object are now treated as effectively volatile. (Is_Enabled): The optional Boolean expression of pragmas Async_Readers, Async_Writers, Effective_Reads and Effective_Writes now appears as the first argument. (Is_Volatile_Function): New routine. * sem_util.ads Add SPARK RM references. (Add_Contract_Item): Update the comment on usage. (Check_Nonvolatile_Function_Profile): New routine. (Is_Effectively_Volatile): Update the comment on usage. (Is_Volatile_Function): New routine. * snames.ads-tmpl Add a predefined name and pragma id for Volatile_Function. From-SVN: r229047
Hristian Kirtchev committed -
* gnat_ugn.texi, gnat_rm.texi: Regenerate. * doc/gnat_ugn/gnat_project_manager.rst, doc/gnat_ugn/building_executable_programs_with_gnat.rst, doc/gnat_ugn/the_gnat_compilation_model.rst, doc/gnat_rm/standard_and_implementation_defined_restrictions.rst, doc/gnat_rm/implementation_defined_pragmas.rst, doc/gnat_rm/the_gnat_library.rst, doc/gnat_rm/implementation_defined_characteristics.rst: Update doc. From-SVN: r229046
Arnaud Charlet committed -
Requires fix for section anchors with VTV i.e. PR other/67868 2015-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * configure.tgt (aarch64*-*-linux): Enable. (arm*-*-linux*): Enable. From-SVN: r229045
Ramana Radhakrishnan committed -
2015-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR other/67868 * varasm.c (assemble_variable): Move special vtv handling to.. (handle_vtv_comdat_sections): .. here. New function. (output_object_block): Handle vtv sections. From-SVN: r229044
Ramana Radhakrishnan committed -
2015-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR other/67868 * varasm.c (assemble_variable): Move special vtv handling to.. (handle_vtv_comdat_sections): .. here. New function. (output_object_block): Handle vtv sections. From-SVN: r229043
Ramana Radhakrishnan committed -
From-SVN: r229042
Arnaud Charlet committed -
sem_ch13.adb (Analyze_One_Aspect): Avoid analyzing the expression in a 'Disable_Controlled attribute when... 2015-10-20 Bob Duff <duff@adacore.com> * sem_ch13.adb (Analyze_One_Aspect): Avoid analyzing the expression in a 'Disable_Controlled attribute when Expander_Active is False, because otherwise, we get errors about nonstatic expressions in pragma-Preelaborate generic packages. * restrict.ads: minor whitespace cleanup in comment 2015-10-20 Bob Duff <duff@adacore.com> * a-conhel.adb: Remove "use SAC;", because otherwise the compiler complains about use clauses in run-time units. Use "use type" instead. * a-btgbso.adb, a-btgbso.ads, a-cbdlli.adb, a-cbdlli.ads, * a-cbhama.adb, a-cbhama.ads, a-cbhase.adb, a-cbhase.ads, * a-cbmutr.adb, a-cbmutr.ads, a-cborma.adb, a-cborma.ads, * a-cborse.adb, a-cborse.ads, a-cdlili.adb, a-cdlili.ads, * a-chtgbk.adb, a-chtgbk.ads, a-chtgbo.adb, a-chtgbo.ads, * a-chtgke.adb, a-chtgke.ads, a-chtgop.adb, a-chtgop.ads, * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads, * a-cihase.adb, a-cihase.ads, a-cimutr.adb, a-cimutr.ads, * a-ciorma.adb, a-ciorma.ads, a-ciormu.adb, a-ciormu.ads, * a-ciorse.adb, a-ciorse.ads, a-cobove.adb, a-cobove.ads, * a-cohama.adb, a-cohama.ads, a-cohase.adb, a-cohase.ads, * a-cohata.ads, a-coinve.adb, a-comutr.adb, a-comutr.ads, * a-convec.adb, a-coorma.adb, a-coorma.ads, a-coormu.adb, * a-coormu.ads, a-coorse.adb, a-coorse.ads, a-crbltr.ads, * a-crbtgk.adb, a-crbtgk.ads, a-crbtgo.adb, a-crbtgo.ads, * a-rbtgbk.adb, a-rbtgbk.ads, a-rbtgbo.adb, a-rbtgbo.ads, * a-rbtgso.adb, a-rbtgso.ads: Change all the predefined containers to share the tampering machinery in Ada.Containers.Helpers. This reduces the amount of duplicated code, and takes advantage of efficiency improvements in Helpers. Protect all run-time checks and supporting machinery with "if Checks" or "if T_Check", so this code can be suppressed with pragma Suppress or -gnatp. Add Pseudo_Reference and Get_Element_Access to remaining containers, so that the compiler can optimize "for ... of" loops. From-SVN: r229041
Bob Duff committed -
2015-10-20 Bob Duff <duff@adacore.com> * a-contai.adb, a-coinve.ads, a-contai.ads, a-conhel.adb, a-conhel.ads, Makefile.rtl, a-convec.ads: Move helper code from Ada.Containers to a new package Ada.Containers.Helpers, because otherwise it's not visible everywhere it needs to be (e.g. in the package Ada.Containers.Red_Black_Trees, Generic_Tree_Types wants to have a component of type Tamper_Counts). 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Intersect_Types): Specialize error message when one operand is a limited view which is a priori incompatible with all other named types. * sem_prag.adb: minor fix in comment * sem_ch13.adb: Code clean up. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * sem_ch12.adb (Need_Subprogram_Instance_Body): Also return true for a subprogram nested in an inlined subprogram. From-SVN: r229040
Arnaud Charlet committed -
2015-10-20 Bob Duff <duff@adacore.com> * a-coinve.adb, a-contai.adb: Update comments. * pprint.ads: Minor reformatting. 2015-10-20 Tristan Gingold <gingold@adacore.com> * env.c, init.c: Handle arm64-darwin like arm-darwin. * tracebak.c: Handle arm64-darwin. 2015-10-20 Bob Duff <duff@adacore.com> * s-trasym.adb (Symbolic_Traceback): When giving the traceback as hexadecimal code addresses, separate by blanks instead of LF. From-SVN: r229039
Arnaud Charlet committed -
2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze node for subprogram in Compile_Only mode. 2015-10-20 Dmitriy Anisimkov <anisimko@adacore.com> * s-atocou.adb, s-atocou.ads, a-contai.adb, a-contai.ads, s-atocou-x86.adb, s-atocou-builtin.adb: Task safe over container iterations. From-SVN: r229037
Arnaud Charlet committed -
2015-10-20 Philippe Gil <gil@adacore.com> * g-debpoo.ads (Dump): NEW print Debug_Pool statistics & main contributors. (Dump_Stdout): NEW print to stdout Debug_Pool statistics & main contributors. (Reset): NEW reset counters to 0. (Get_Size): NEW return size allocated at parameter. (High_Water_Mark): NEW. (Current_Water_Mark): NEW. (System_Memory_Debug_Pool): NEW tell Debug_Pools that System.Memory uses it. * g-debpoo.adb (Traceback_Htable_Elem): add Frees, Total_Frees components. (Find_Or_Create_Traceback): don't manage in System.Memory Debug_Pool Deallocate Traceback's. (Validity): add optional Handled table when System.Memory asked for Allow_Unhandled_Memory. (Allocate): handle Allocate reentrancy occuring when System.Memory uses Debug_Pools. (Deallocate): handle when Allow_Unhandled_Memory is set deallocation of unhandled memory. Dont't check Size_In_Storage_Elements if equal to Storage_Count'Last. update Frees, Total_Frees new components. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * fe.h: Minor tweak. From-SVN: r229036
Arnaud Charlet committed -
2015-10-20 Vincent Celier <celier@adacore.com> * sem_cat.adb (Check_Categorization_Dependencies): Do nothing when -gnatdu is specified. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (analyze_Subprogram_Renaming): The actual for a formal abstract subprogram must have a controlling type. * stand.ads: Minor whitespace cleanup. From-SVN: r229035
Arnaud Charlet committed -
2015-10-20 Gary Dismukes <dismukes@adacore.com> * sem_ch13.adb: Minor reference change (RM => AARM). 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * make.adb (Check): Skip multilib switches reinstated by the compiler only when counting the number of switches, since it is what really matters in the regular operating mode. 2015-10-20 Arnaud Charlet <charlet@adacore.com> * einfo.adb: Add extra assertion for small clause. * cstand.adb: Minor style fix in comment. * debug.adb: Minor reformatting. * exp_util.adb: Fix minor typo. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Same_Instantiated_Function): New predicate in Check_Formal_Package_Instance, used to verify that the formal and the actual of an actual package match when both are functions given as attribute references. From-SVN: r229034
Arnaud Charlet committed -
2015-10-20 Bob Duff <duff@adacore.com> * a-coinve.ads, a-coinve.adb: Do the same efficiency improvements that were already done in the definite case (Ada.Containers.Vectors, i.e. a-convec). This includes the ability to suppress checks, the fast path for Append, inlining as appropriate, and special-casing of "for ... of" loops. Reuse the tampering machinery that is now in Ada.Containers. Simplify many operations. * a-convec.ads, a-convec.adb: Change the code to be more similar to a-coinve. * a-finali.ads, a-finali.adb: Expose the "null"-ness of the operations. This may enable optimizations in the future, and seems cleaner anyway. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Is_Operational_Item): Attributes related to Ada 2012 iterators are operational items, and can be specified on partial views. From-SVN: r229033
Arnaud Charlet committed -
2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Check_Usage): Update the calls to Usage_Error. (Usage_Error): Remove formal parameter Item. Emit a clearer message concerning a missing dependency item and place it on the related pragma. 2015-10-20 Bob Duff <duff@adacore.com> * debug.adb, expander.adb: Implement -gnatd.B switch, which triggers a bug box when an abort_statement is seen. This is useful for testing Comperr.Compiler_Abort. * gnat1drv.adb: Trigger bug box on all exceptions other than Unrecoverable_Error. From-SVN: r229032
Arnaud Charlet committed -
2015-10-20 Thomas Quinot <quinot@adacore.com> * Makefile.rtl: add the following... * g-binenv.ads, g-binenv.adb: New unit providing runtime access to bind time captured values ("bind environment") * init.c: declare new global variable __gl_bind_env_addr. * bindgen.ads, bindgen.adb (Set_Bind_Env): record a bind environment key=value pair. (Gen_Bind_Env_String): helper to produce the bind environment data called in the binder generated file. (Gen_Output_File_Ada): Call the above (Gen_Adainit): Set __gl_bind_env_addr accordingly. * switch-b.adb: Support for command line switch -V (user interface to set a build environment key=value pair) * bindusg.adb: Document the above 2015-10-20 Vincent Celier <celier@adacore.com> * sem_prag.adb (Analyse_Pragma: Pragma Pure): Do not set the entity as Pure if Debug_Flag_U is set. From-SVN: r229031
Arnaud Charlet committed -
2015-10-20 Bob Duff <duff@adacore.com> * output.adb (Write_Int): Work with negative numbers in order to avoid negating Int'First and thereby causing overflow. * sem_util.adb: Minor comment fix. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * make.adb (Check): Skip multilib switches reinstated by the compiler when doing the comparison with switches passed to gnatmake. 2015-10-20 Yannick Moy <moy@adacore.com> * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Return False for procedures marked No_Return. * sem_util.ads (Enclosing_Declaration): Improve comment. * einfo.adb (Is_Completely_Hidden): Remove spurious assertion. From-SVN: r229029
Arnaud Charlet committed -
2015-10-20 Thomas Quinot <quinot@adacore.com> * types.ads: Minor reformatting. 2015-10-20 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Get_Pragma): Minor reformatting. Rename local constant Is_CDG to Is_CLS. Add pragma Constant_After_Elaboration to the list of classification pragmas. 2015-10-20 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Declarations); At the of the visible part, perform name resolution on the expressions in aspects of visible entities. * sem_ch13.ads, sem_ch13.adb (Resolve_Aspect_Expressions): Resolve expressions in aspects independently of whether corresponding entity is frozen. Used to complete name resolution of aspect expressions for entities declared in the visible part of a package or generic package declaration. From-SVN: r229028
Arnaud Charlet committed -
2015-10-20 Vincent Celier <celier@adacore.com> * prj-attr.adb: Add package Codepeer and its attributes. 2015-10-20 Thomas Quinot <quinot@adacore.com> * sem_ch3.adb, sem_ch13.adb: Minor reformatting. 2015-10-20 Eric Botcazou <ebotcazou@adacore.com> * gnatlink.adb (Gnatlink): Do not translate --RTS switch for the linker and instead pass the switches that were reinstated by the compiler. 2015-10-20 Bob Duff <duff@adacore.com> * a-contai.ads, a-convec.ads: Move Count_Type_Last from a-convec.ads to a-contai.ads, so other containers can refer to it. From-SVN: r229027
Arnaud Charlet committed
-