- 29 Aug, 2011 40 commits
-
-
2011-08-29 Matthew Heaney <heaney@adacore.com> * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment to Target. 2011-08-29 Matthew Heaney <heaney@adacore.com> * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all components of record type. * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw to Target. From-SVN: r178243
Matthew Heaney committed -
2011-08-29 Ed Schonberg <schonberg@adacore.com> * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb, a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to container packages. From-SVN: r178242
Ed Schonberg committed -
2011-08-29 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor reformatting. 2011-08-29 Matthew Heaney <heaney@adacore.com> * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all components of record type. 2011-08-29 Bob Duff <duff@adacore.com> * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated by the termination handler. From-SVN: r178241
Arnaud Charlet committed -
2011-08-29 Yannick Moy <moy@adacore.com> * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes created in Alfa mode, instead of inserting artificial declarations of non-Itypes in the tree. * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to know if an Itype has a corresponding declaration, as defined in itypes.ads. 2011-08-29 Yannick Moy <moy@adacore.com> * gnat1drv.adb: Minor rewrite. 2011-08-29 Bob Duff <duff@adacore.com> * s-tasuti.adb (Make_Passive): Work around race condition in Make_Independent, which can cause Wait_Count to be zero. So instead of asserting that Wait_Count > 0, and then decrementing it, decrement it only if Wait_Count > 0. * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these should be nonnegative, so declare them Natural instead of Integer. From-SVN: r178240
Arnaud Charlet committed -
2011-08-29 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb, sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb, a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb, a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb, exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting. 2011-08-29 Tristan Gingold <gingold@adacore.com> * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels. 2011-08-29 Vadim Godunko <godunko@adacore.com> * s-parint.ads: Minor comment clarification. 2011-08-29 Vincent Celier <celier@adacore.com> * prj.adb (Initialize): Make sure that new reserved words after Ada 95 may be used as identifiers. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * a-coinho.ads: Minor reformating. From-SVN: r178239
Arnaud Charlet committed -
2011-08-29 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a container of a derived type. 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * impunit.adb, s-stposu.adb, s-stposu.ads, exp_ch4.adb, s-finmas.adb, s-finmas.ads: Revert previous change. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads, a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers. From-SVN: r178237
Arnaud Charlet committed -
2011-08-29 Pascal Obry <obry@adacore.com> * exp_disp.adb: Minor comment fix. (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters to avoid warnings when compiling with -Wall. (Make_Disp_Conditional_Select_Body): Likewise. (Make_Disp_Timed_Select_Body): Likewise. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is an entity name, generate reference for it. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S" iterator form. * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for the class-wide type. * sem_ch5.adb: Move some rewriting to the expander, where it belongs. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Check_Constrained_Object): Do not create an actual subtype for an object whose type is an unconstrained union. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased" is allowed in a component definition, by AI95-406. 2011-08-29 Matthew Heaney <heaney@adacore.com> * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next. 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * a-except-2005.adb: Alphabetize all routines. (Triggered_By_Abort): New routine. * a-except-2005.ads (Triggered_By_Abort): New routine. * a-except.adb Alphabetize all routines. (Triggered_By_Abort): New routine. * a-except.ads (Triggered_By_Abort): New routine. * exp_ch7.adb: Update all comments involving the detection of aborts in finalization code. (Build_Object_Declarations): Do not generate code to detect the presence of an abort at the start of finalization code, use a runtime routine istead. * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and RE_Unit_Table. * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to allocate a task on a subpool. * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use. The flag disables all actions related to the maintenance of Finalize_Address_Table when subpools are not in use. (Allocate_Any_Controlled): Signal the machinery that subpools are in use. (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which performs costly task locking when subpools are not in use. From-SVN: r178236
Arnaud Charlet committed -
2011-08-29 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged types and dispatching calls in Alfa mode. * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of correspondance between body and spec scopes, to reuse utility functions (Traverse_Declarations_Or_Statements): Protect access to body for stub by testing the presence of the library unit for the body * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa mode the expansion of accept statements is skipped * sem_util.adb, sem_util.ads (Unique_Entity): New function returning the unique entity corresponding to the one returned by Unique_Defining_Entity applied to the enclosing declaration of the argument. 2011-08-29 Bob Duff <duff@adacore.com> * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in gdb when x is not a node (it can be a node list, name_id, etc). pp is an alias for pn. ppp is an alias for pt. 2011-08-29 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing aggregate to take a consistent decision on the need to convert into assignments aggregates that initialize constant objects. 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_Allocator_Expression): Add a call to Build_Allocate_Deallocate_Proc in order to handle allocation of non-controlled objects on subpools. * impunit.adb: Remove s-finmas and s-spsufi since they were never meant to be end-user visible. * s-finmas.adb: Add with and use clause for System.HTable. Add an instantiation of Simple_HTable which provides a mapping between the address of a controlled object and the corresponding Finalize_Address used to clean up the object. The table is used when a master is operating in heterogeneous mode. (Attach): Explain why the input node is not verified on being already attached. (Delete_Finalize_Address): New routine. (Detach): Add pragma Assert which ensures that a node is already attached. (Finalize): Add local variable Cleanup. Rewrite the iteration scheme since nodes are no longer removed on traversal. Explain why node detachment is undesirable in this case. (Get_Finalize_Address): New routine. (Hash): New routine. (Is_Empty_List): Removed. (pm): Renamed to Print_Master. Add output for discriminant Is_Homogeneous. Comment reformatting. (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine. * s-finmas.ads: Various comments additions / improvements. Type Finalization_Master has a discriminant which determines the mode of operation. (Delete_Finalize_Address): New routine. (Get_Finalize_Address): New routine. (pm): Renamed to Print_Master. (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine. * s-stposu.adb: Add with clause for System.Address_Image; Add with and use clause for System.IO. (Allocate_Any_Controlled): Add machinery to set TSS primitive Finalize_Address depending on the mode of allocation and the mode of the master. (Deallocate_Any_Controlled): Remove the relation pair object - Finalize_Address regardless of the master mode. Add comment explaining the reason. (Detach): Ensure that fields Prev and Next are null after detachment. (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration scheme to check whether the list of subpools is empty. There is no longer need to store the next subpool or advance the current pointer. (Is_Empty_List): New routine. (Print_Pool): New routine. (Print_Subpool): New routine. * s-stposu.ads: Various comments additions / improvements. Field Master of type Root_Subpool is now a heterogeneous collection. (Print_Pool): New routine. (Print_Subpool): New routine. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator forms, using aspects of container types. * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and Has_Implicit_Dereference flags, that may be set on the partial view. * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a container type with an indexing aspect. (Analyze_Quantified_Expression): Analyze construct with expansion disabled, because it will be rewritten as a loop during expansion. (Try_Container_Indexing): The prefix itself may be a container type with an indexing aspect, as with a vector of vectors. * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze the original doamin of iteration, for name capture. (Analyze_Iterator_Specification): If the domain is an expression that needs finalization, create a separate declaration for it. For an iterator with "of" retrieve default iterator info from aspect of container type. For "in" iterator, retrieve type of Iterate function. * sem_ch13.adb (Check_Iterator_Function): Fix typo. (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before analysis, to prevent spurious errors about late attributes. * sprint.adb: Handle quantified expression with either loop or iterator specification. * a-convec.ads, a-convec.adb: Iterate function returns a reversible iterator. From-SVN: r178235
Arnaud Charlet committed -
* Tweak last ChangeLog entry. From-SVN: r178234
Paolo Carlini committed -
2011-08-29 Vincent Celier <celier@adacore.com> * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler, Binder or Linker of the main project file. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic unit. 2011-08-29 Yannick Moy <moy@adacore.com> * exp_ch9.adb: Partial revert of previous change for Alfa mode 2011-08-29 Yannick Moy <moy@adacore.com> * exp_ch11.adb: Minor expansion of comment. 2011-08-29 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal interpretation, set the type before resolving the operands, because legality checks on an exponention operand need to know the type of the context. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed cleanups on a master if the instance is within a generic unit. Complement to the corresponding fix to inline.adb for K520-030. 2011-08-29 Tristan Gingold <gingold@adacore.com> * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current occurrence. * exp_intr.adb: Minor comment fix. 2011-08-29 Bob Duff <duff@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where Delay_Required was used as an uninitialized variable. From-SVN: r178233
Arnaud Charlet committed -
2011-08-29 Robert Dewar <dewar@adacore.com> * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads, sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting. From-SVN: r178232
Robert Dewar committed -
re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template) 2011-08-29 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/50118 * include/bits/stl_list.h (_List_base<>:: _List_base(const allocator_type&)): Remove. (_List_base<>::_List_base(const _Node_alloc_type&)): Add. (list<>:list(const allocator_type&), list(size_type, const value_type&, const allocator_type&), list(initializer_list<, const allocator_type&), list(_InputIterator, _InputIterator, const allocator_type&), insert(iterator, size_type, const value_type&), insert(iterator, _InputIterator, _InputIterator)): Adjust. * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(const _Compare&, const allocator_type&)): Fix. * include/bits/stl_map.h (map<>::map(const _Compare&, const allocator_type&), map(initializer_list<>, const _Compare&, const allocator_type&), map(_InputIterator, _InputIterator, const _Compare&, const allocator_type&), get_allocator): Adjust. * include/bits/stl_set.h (set<>::set(const _Compare&, const allocator_type&), set(initializer_list<>, const _Compare&, const allocator_type&), set(_InputIterator, _InputIterator, const _Compare&, const allocator_type&), get_allocator): Likewise. * include/bits/stl_multimap.h (multimap<>::multimap(const _Compare&, const allocator_type&), multimap(initializer_list<>, const _Compare&, const allocator_type&), multimap(_InputIterator, _InputIterator, const _Compare&, const allocator_type&), get_allocator): Likewise. * include/bits/stl_multiset.h (multiset<>::multiset(const _Compare&, const allocator_type&), multiset(initializer_list<>, const _Compare&, const allocator_type&), multiset(_InputIterator, _InputIterator, const _Compare&, const allocator_type&), get_allocator): Likewise. * include/bits/forward_list.h (_Fwd_list_base<>:: _Fwd_list_base(const _Alloc&), _Fwd_list_base(const _Fwd_list_base&, const _Alloc&), _Fwd_list_base(_Fwd_list_base&&, const _Alloc&)): Remove. (_Fwd_list_base<>::_Fwd_list_base(const _Node_alloc_type&), _Fwd_list_base(const _Fwd_list_base&, const _Node_alloc_type&), _Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Add. (forward_list<>::forward_list(const _Alloc&), forward_list(const forward_list&, const _Alloc&), forward_list(forward_list&&, const _Alloc&), forward_list(size_type, const _Tp&, const _Alloc&), forward_list(_InputIterator, _InputIterator, const _Alloc&), forward_list(std::initializer_list<>, const _Alloc&), get_allocator): Adjust. * include/bits/forward_list.tcc * testsuite/util/testsuite_allocator.h (ExplicitConsAlloc): Add. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/5.cc: New. * testsuite/23_containers/multimap/requirements/ explicit_instantiation/5.cc: Likewise. * testsuite/23_containers/multimap/requirements/ explicit_instantiation/5_c++0x.cc: Likewise. * testsuite/23_containers/set/requirements/explicit_instantiation/ 5.cc: Likewise. * testsuite/23_containers/set/requirements/explicit_instantiation/ 5_c++0x.cc: Likewise. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation/5.cc: Likewise. * testsuite/23_containers/forward_list/requirements/ explicit_instantiation/5.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation/5.cc: Likewise. testsuite/23_containers/multiset/requirements/explicit_instantiation/ 5.cc: Likewise. * testsuite/23_containers/multiset/requirements/ explicit_instantiation/5_c++0x.cc: Likewise. * testsuite/23_containers/list/requirements/explicit_instantiation/ 5_c++0x.cc: Likewise. * testsuite/23_containers/list/requirements/explicit_instantiation/ 5.cc: Likewise. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation/5.cc: Likewise. * testsuite/23_containers/map/requirements/explicit_instantiation/ 5.cc: Likewise. * testsuite/23_containers/map/requirements/explicit_instantiation/ 5_c++0x.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. From-SVN: r178230
Paolo Carlini committed -
2011-08-29 Thomas Quinot <quinot@adacore.com> * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True. Remove unused variables. From-SVN: r178229
Thomas Quinot committed -
2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_res.adb: Remove Build_Explicit_Dereference. * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here from sem_res.adb, used in analysis of additional constructs. (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012 expansion of iterators. (Is_Object_Reference): Recognize variables rewritten as explicit dereferences in Ada2012. * snames.ads-tmpl: Add Has_Element, Forward_Iterator, Reversible_Iterator names, for expansion of Ada2012 iterators. * aspects.ads, aspects.adb (Find_Aspect): Utility. * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly linked list container. * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers. * a-coorse.ads, a-coorse.adb: Ditto for ordered sets. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map containers. 2011-08-29 Vincent Celier <celier@adacore.com> * make.adb (Gnatmake): Get the maximum number of simultaneous compilation processes after the Builder switches has been scanned, as there may include -jnn. 2011-08-29 Matthew Heaney <heaney@adacore.com> * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next. 2011-08-29 Tristan Gingold <gingold@adacore.com> * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of GNAT_DRIVER_COMMAND_LINE to 255. 2011-08-29 Pascal Obry <obry@adacore.com> * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor reformatting and style fix (class attribute casing). 2011-08-29 Yannick Moy <moy@adacore.com> * exp_ch11.adb: Yet another case where expansion should be common between CodePeer and Alfa. 2011-08-29 Yannick Moy <moy@adacore.com> * exp_ch9.adb: Partial revert of previous change for Alfa mode. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Matches_Limited_With_View): The limited views of an incomplete type and its completion match. From-SVN: r178228
Arnaud Charlet committed -
2011-08-29 Yannick Moy <moy@adacore.com> * exp_ch13.adb: Adjust previous change. 2011-08-29 Robert Dewar <dewar@adacore.com> * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb, exp_ch4.adb, sem_ch8.adb: Minor code reorganization Minor reformatting. From-SVN: r178226
Arnaud Charlet committed -
2011-08-29 Emmanuel Briot <briot@adacore.com> * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also initialize aggregated projects. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope depth of candidates to resolve a potentially spurious ambiguity between two visible subprograms. From-SVN: r178225
Arnaud Charlet committed -
2011-08-29 Yannick Moy <moy@adacore.com> * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without Requires/Ensures. * sem_util.adb (Get_Ensures_From_Test_Case_Pragma, Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without Requires/Ensures. 2011-08-29 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Improve previous change. Add comment. 2011-08-29 Thomas Quinot <quinot@adacore.com> * sem_res.adb: Minor reformatting. From-SVN: r178224
Arnaud Charlet committed -
2011-08-29 Johannes Kanig <kanig@adacore.com> * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA mode. * gnat1drv.adb (Adjust_Global_Switches): Set Use_Expressions_With_Actions to False in ALFA mode. * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in ALFA mode. From-SVN: r178223
Johannes Kanig committed -
2011-08-29 Yannick Moy <moy@adacore.com> * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode. * exp_ch9.adb: Do not expand tasking constructs in Alfa mode. * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of tagged types and dispatching calls in Alfa mode. 2011-08-29 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that we do not report an error on an Empty node. 2011-08-29 Geert Bosch <bosch@adacore.com> * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o, a-nlrear.o and a-nurear.o. 2011-08-29 Robert Dewar <dewar@adacore.com> * freeze.adb: Minor code reorganization. Minor reformatting. * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb, sem_ch6.adb: Minor reformatting 2011-08-29 Tristan Gingold <gingold@adacore.com> * s-except.ads, s-except.adb: Provide dummy body. 2011-08-29 Yannick Moy <moy@adacore.com> * sem_warn.adb (Within_Postcondition): Take into account the case of an Ensures component in a Test_Case. From-SVN: r178222
Arnaud Charlet committed -
2011-08-29 Tristan Gingold <gingold@adacore.com> * s-excdeb.ads, s-excdeb.adb: New files, created from s-except. * rtsfind.ads (RTU_Id): Replaces System_Exceptions by System_Exceptions_Debug (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug * a-except.adb: With and use System.Exceptions_Debug instead of System.Exceptions. * a-except-2005.adb: Likewise. * s-assert.adb: Likewise. * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb. * Makefile.rtl: Add s-excdeb. Adjust compilation rule. * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add s-excdeb. Update dependencies. (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o as these no longer need external libraries. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Op_Expon): Additional check to reject an exponentiation operator on universal values in a context that requires a fixed-point type. 2011-08-29 Tristan Gingold <gingold@adacore.com> * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence before calling notify_handled_exception. * a-exextr.adb: Fix comment. From-SVN: r178221
Arnaud Charlet committed -
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute Finalize_Address of the access type's finalization master. (Expand_N_Allocator): Add code to set attribute Finalize_Address of the access type's finalization master. Add a guard to prevent Associated_Storage_Pool from being set on .NET/JVM. * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set attribute Finalize_Address of the access type's finalization master. * exp_ch7.adb (Make_Finalize_Address_Call): New routine. * exp_ch7.ads (Make_Finalize_Address_Call): New routine. * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and RE_Unit_Table. * s-finmas.adb: Add with clause for System.Address_Image. Add with and use clause for System.IO (Detach): Relax the assertion, to be reinstated later. (Finalize): Rewrite the iteration loop to avoid pointer comparison. Relax the assertion on Finalize_Address, to be reinstated later. (Is_Empty_List): New routine. (pm): New debug routine. (Set_Finalize_Address): New routine. * s-finmas.ads (pm): New debug routine. (Set_Finalize_Address): New routine. * s-stposu.adb (Allocate_Any_Controlled): Code reformatting. 2011-08-29 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access): Remove convention C. 2011-08-29 Tristan Gingold <gingold@adacore.com> * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove. (Initialize_TCB): Remove Exc_Stack_Ptr initialization. (Finalize_TCB): Remove its finalization. (Initialize): Remove assignment of GET_Exc_Stack_Addr * s-soflin.adb (NT_Exc_Stack): Remove (Get_Exc_Stack_Addr_NT): Likewise. (Get_Exc_Stack_Addr_Soft): Likewise. * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove. (Get_Exc_Stack_Addr): Likewise. (Get_Exc_Stack_Addr_Soft): Likewise * s-taspri-vms.ads (Exc_Stack_T): Remove. (Exc_Stack_Ptr_T): Likewise. (Private_Data): Remove Exc_Stack_Ptr component. 2011-08-29 Tristan Gingold <gingold@adacore.com> * raise-gcc.c (get_ip_from_context): New function. Factorize code. 2011-08-29 Tristan Gingold <gingold@adacore.com> * gnat_ugn.texi: Fix aix and x86-solaris info for run-time. 2011-08-29 Geert Bosch <bosch@adacore.com> * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate, L2_Norm, Swap_Column): New generic subprograms * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate, L2_Norm, Swap_Column): Implement new subprograms in order to eliminate dependency on BLAS and LAPACK libraries in Ada.Numerics.Generic_Real_Arrays and eventually also the complex version. Forward_Eliminate/Back_Substitute can be used to put a matrix in row echelon or reduced row echelon form using partial pivoting. * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate, Swap_Column): Instantiate from System.Generic_Array_Operations. ("*", "abs"): Implement by instantiation from Generic_Array_Operations. (Sqrt): Local function for simple computation of square root without adding dependencies on Generic_Elementary_Functions. (Swap): New subprogram to exchange floating point numbers. (Inverse): Reimplement using Jordan-Gauss elimination. (Jacobi): New procedure implementing Jacobi's method for computation of eigensystems, based on Rutishauser's implementation. (L2_Norm): Implement directly using the inner product. (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of decreasing eigenvalue as required by the Ada RM. (Swap_Column): New helper procedure for Sort_Eigensystem. Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK. Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for Sort_Eigensystems. 2011-08-29 Thomas Quinot <quinot@adacore.com> * put_scos.adb (Put_SCOs): Do not emit a newline for an empty statements line. From-SVN: r178220
Arnaud Charlet committed -
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * s-finmas.adb (Finalize): Check Finalize_Address of the master rather than the current node. * s-finmas.ads: Move field Finalize_Address from type FM_Node to Finalization_Master. The list headers have two fields instead of three. This should fix alignment issue but subpool allocations are now unusable. Alphabetize subprograms. * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than the size of the header when converting the beginning of the object to a FM_Node. Set the master's Finalize_Address attribute if not already set. (Deallocate_Any_Controlled): Use the offset rather than the size of the header when converting the beginning of the object to a FM_Node. 2011-08-29 Gary Dismukes <dismukes@adacore.com> * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of reraise when compiling for CodePeer. 2011-08-29 Arnaud Charlet <charlet@adacore.com> * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads, now needed by a-convec.adb. Fix warning. 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the processing of TSS routine Finalize_Address when compiling in CodePeer_Mode. 2011-08-29 Thomas Quinot <quinot@adacore.com> * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb, sem_warn.adb: Minor reformatting. 2011-08-29 Emmanuel Briot <briot@adacore.com> * prj-conf.adb (Get_Config_Switches): Also collect the list of languages from aggregated projects. 2011-08-29 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements, Traverse_Handled_Statement_Sequence, Traverse_Package_Body, Traverse_Package_Declaration, Traverse_Subprogram_Body, Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies for stubs are traversed too when parameter is set (Traverse_All_Compilation_Units): Traverse without going inside stubs (Traverse_Declarations_Or_Statements): Do the special traversing for stubs when required. * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to return subprogram or package body from stub. (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect stubs without prior subprogram decl. 2011-08-29 Vasiliy Fofanov <fofanov@adacore.com> * gnat_ugn.texi: Fix typo. From-SVN: r178219
Arnaud Charlet committed -
s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism which accounts for size vs alignment issues and... 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism which accounts for size vs alignment issues and calculates the size of the list header. (Deallocate_Any_Controlled): Ditto. (Nearest_Multiple_Rounded_Up): New routine. From-SVN: r178218
Hristian Kirtchev committed -
* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO) (GLIBCXX_CHECK_STDLIB_PROTO): New tests. * configure.ac (GLIBCXX_CHECK_MATH_PROTO) (GLIBCXX_CHECK_STDLIB_PROTO): Call them. * configure: Regenerate. * config.h.in: Regenerate. * config/os/solaris/solaris2.8/os_defines.h (__CORRECT_ISO_CPP_MATH_H_PROTO2): Don't define. * config/os/solaris/solaris2.9: Remove. * configure.host (solaris2.8): Merge with ... (solaris2.9, solaris2.1[0-9]): ... this. Always use os/solaris/solaris2.8. From-SVN: r178217
Rainer Orth committed -
2011-08-29 Tristan Gingold <gingold@adacore.com> * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag. * a-exexda.adb (Set_Exception_C_Msg): Ditto. (Set_Exception_Msg): Ditto. * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set Private_Data. * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove. Use Save_Occurrence instead of Save_Occurrence_No_Private. (Raise_With_Msg): Remove Cleanup_Flag. * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove Clean_Flag and Private_Data components. 2011-08-29 Yannick Moy <moy@adacore.com> * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like in CodePeer mode. * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation of an explicitly declared type, so that the base types of the original type and this generated type are the same, and a "type" (not a subtype like previously). * errout.adb (Special_Msg_Delete): Do not issue messages "Size too small" in Alfa mode, like in CodePeer mode. * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep clauses in Alfa mode. 2011-08-29 Javier Miranda <miranda@adacore.com> * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this function to the package spec. * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For internally generated bodies of null procedures locate the internally generated spec enforcing mode conformance. (Is_Interface_Conformant): Ensure that the controlling formal of the primitives match. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not reject the pragma if it appears to apply to a formal subprogram. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for inner expression, to prevent double evaluation. From-SVN: r178216
Arnaud Charlet committed -
2011-08-29 Tristan Gingold <gingold@adacore.com> * a-exexpr.adb (Propagate_Exception): Remove all the parameters as they were unused. * a-exexpr-gcc.adb (Propagate_Exception): Ditto. * a-except-2005.adb (Propagate_Exception): Adjust spec. (Raise_Current_Excep): Adjust call. (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep. 2011-08-29 Thomas Quinot <quinot@adacore.com> * exp_disp.adb: Minor reformatting. From-SVN: r178215
Arnaud Charlet committed -
2011-08-29 Tristan Gingold <gingold@adacore.com> * a-exexpr.adb (Setup_Exception): Removed. * a-exexpr-gcc.adb (Setup_Exception): Removed. * a-except.adb (Exception_Propagation): Removed. * a-except-2005.adb (Setup_Exception): Removed. (Reraise): Remove call to Setup_Exception. (Reraise_Occurrence): Ditto. (Reraise_Occurrence_Always): Ditto. (Reraise_Occurrence_No_Defer): Ditto. (Transfer_Occurrence): Ditto. * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception. (Set_Exception_Msg): Ditto. From-SVN: r178214
Tristan Gingold committed -
2011-08-29 Robert Dewar <dewar@adacore.com> * a-convec.adb, exp_disp.adb: Minor reformatting. 2011-08-29 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C. From-SVN: r178213
Arnaud Charlet committed -
2011-08-29 Gary Dismukes <dismukes@adacore.com> * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set Exception_Handlers to No_List instead of Empty_List in the case where there are no handlers. 2011-08-29 Tristan Gingold <gingold@adacore.com> * gcc-interface/gigi.h (enum standard_datatypes): Add ADT_reraise_zcx_decl (reraise_zcx_decl): New macro. * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable. (gigi): Set reraise_zcx_decl. (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr. (gnat_to_gnu): Handle N_Raise_Statement. From-SVN: r178212
Arnaud Charlet committed -
2011-08-29 Robert Dewar <dewar@adacore.com> * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads, a-undesu.adb: Minor reformatting. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * exp_disp.adb (Check_Premature_Freezing): When building a dispatch table, accept an unfrozen untagged component if it is an actual for a formal incomplete type. * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to provide new iterator forms over vectors. Introduce type Iterator in package body to implement operations of Reversible_Iterator interface. * a-iteint.ads: Make package pure so it is usable with new container packages, that are categorized Remote_Types. From-SVN: r178211
Arnaud Charlet committed -
Richard Guenther <rguenther@suse.de> * tree.h (constant_boolean_node): Adjust prototype. * fold-const.c (fold_convert_loc): Move aggregate conversion leeway down. (constant_boolean_node): Make value parameter boolean, add vector type handling. (fold_unary_loc): Use constant_boolean_node. (fold_binary_loc): Preserve types properly when folding COMPLEX_EXPR <__real x, __imag x>. * gimplify.c (gimplify_expr): Handle vector comparison. * tree.def (EQ_EXPR, ...): Document behavior on vector typed comparison. * tree-cfg.c (verify_gimple_comparison): Verify vector typed comparisons. From-SVN: r178209
Artjoms Sinkarovs committed -
PR middle-end/48722 * emit-rtl.c (unshare_all_rtl_again): For CALL_INSNs, reset_used_flags also in CALL_INSN_FUNCTION_USAGE. (verify_rtl_sharing): Likewise and verify_rtx_sharing in there too. (unshare_all_rtl_in_chain): For CALL_INSNs copy_rtx_if_shared also CALL_INSN_FUNCTION_USAGE. * gcc.target/i386/pr48722.c: New test. From-SVN: r178208
Jakub Jelinek committed -
From-SVN: r178206
Arnaud Charlet committed -
2011-08-29 Robert Dewar <dewar@adacore.com> * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting. 2011-08-29 Bob Duff <duff@adacore.com> * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case of <>, because this is the routine that checks for dimensionality errors (for example, for a two-dimensional array, (others => <>) should be (others => (others => <>)). 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * impunit.adb: Add new run-time units. * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb, s-stposu.ads, s-stposu.adb: Code clean up. Handle protected class-wide or task class-wide types Handle C/C++/CIL/Java types. * s-spsufi.adb, s-spsufi.ads: New files. From-SVN: r178205
Arnaud Charlet committed -
2011-08-29 Yannick Moy <moy@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on library-level subprogram. * sem_prag.adb (Check_Test_Case): Stricter rules for test-case placement. (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case component. * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case component. * gnat_rm.texi: Update doc for Test_Case pragma. 2011-08-29 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it convention C. (GCC_Exception_Access): New type. (Unwind_DeleteException): New imported procedure (Foreign_Exception): Import it. (GNAT_GCC_Exception): Simply have the occurrence inside. (To_GCC_Exception): New function. (To_GNAT_GCC_Exception): New function. (GNAT_GCC_Exception_Cleanup): New procedure.. (Propagate_GCC_Exception): New procedure. (Reraise_GCC_Exception): New procedure. (Setup_Current_Excep): New procedure. (CleanupUnwind_Handler): Change type of UW_Exception parameter. (Unwind_RaiseException): Ditto. (Unwind_ForcedUnwind): Ditto. (Remove): Removed. (Begin_Handler): Change type of parameter. (End_Handler): Ditto. Now delete the exception if still present. (Setup_Key): Removed. (Is_Setup_And_Not_Propagated): Removed. (Set_Setup_And_Not_Propagated): Ditto. (Clear_Setup_And_Not_Propagated): Ditto. (Save_Occurrence_And_Private): Ditto. (EID_For): Add 'not null' constraint on parameter. (Setup_Exception): Does nothing. (Propagate_Exception): Simplified. * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model, re-raise is not expanded anymore. * s-except.ads (Foreign_Exception): New exception - placeholder for non Ada exceptions. * raise-gcc.c (__gnat_setup_current_excep): Declare (CXX_EXCEPTION_CLASS): Define (not yet used) (GNAT_EXCEPTION_CLASS): Define. (is_handled_by): Handle foreign exceptions. (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep. 2011-08-29 Jose Ruiz <ruiz@adacore.com> * a-synbar.adb (Synchronous_Barrier): Some additional clarification. From-SVN: r178204
Arnaud Charlet committed -
2011-08-29 Thomas Quinot <quinot@adacore.com> * a-synbar-posix.adb: Minor reformatting. 2011-08-29 Jose Ruiz <ruiz@adacore.com> * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads, a-exetim-default.ads (Interrupt_Clocks_Supported, Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these definitions to be compliant with AI-0171. The target systems do not support separate account for the execution time of interrupt handlers. 2011-08-29 Jose Ruiz <ruiz@adacore.com> * a-synbar.adb (Wait): Change the order of evaluation of the conditions in the barrier to put first the easiest to evaluate (and the one which will be True more often). More efficient. 2011-08-29 Eric Botcazou <ebotcazou@adacore.com> * s-atocou-x86.adb: Fix constraint in machine code insertion. 2011-08-29 Bob Duff <duff@adacore.com> * aspects.ads, aspects.adb: Add new aspects for various pragmas and attributes that are now aspects, as specified by AI05-0229-1. * sem_ch13.adb (Analyze_Aspect_Specifications, Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into pragmas or attribute references, as appropriate. From-SVN: r178203
Arnaud Charlet committed -
2011-08-29 Robert Dewar <dewar@adacore.com> * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb, a-synbar-posix.ads: Minor reformatting. 2011-08-29 Yannick Moy <moy@adacore.com> * snames.ads-tmpl: Add name Force. From-SVN: r178202
Arnaud Charlet committed -
2011-08-29 Pascal Obry <obry@adacore.com> * prj-nmsc.adb: Minor reformatting. 2011-08-29 Jose Ruiz <ruiz@adacore.com> * a-exetim.ads (Interrupt_Clocks_Supported, Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these definitions to be compliant with AI-0171. 2011-08-29 Robert Dewar <dewar@adacore.com> * a-ngelfu.adb: Add comments. From-SVN: r178201
Arnaud Charlet committed -
2011-08-29 Tristan Gingold <gingold@adacore.com> * s-interr-hwint.adb: Revert previous patch (defer aborts in ZCX case). 2011-08-29 Geert Bosch <bosch@adacore.com> * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is the closest machine number to Pi / 2.0. 2011-08-29 Jose Ruiz <ruiz@adacore.com> * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012 package Ada.Synchronous_Barriers. * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb: Add new specs and bodies for Ada.Synchronous_Barriers. There is a default implementation using protected objects and another one a-synbar-posix using POSIX barriers as the underlying support. * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86, x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of Ada.Synchronous_Barriers which uses POSIX barriers (more efficient). * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o From-SVN: r178200
Arnaud Charlet committed -
2011-08-29 Robert Dewar <dewar@adacore.com> * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb, exp_dist.adb: Minor code reorganization. Minor reformatting. 2011-08-29 Thomas Quinot <quinot@adacore.com> * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW primitive operation must support external streaming if it is not a controlling access result. From-SVN: r178199
Arnaud Charlet committed
-