aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/s-taprop-vxworks.adb
AgeCommit message (Collapse)AuthorFilesLines
2017-09-08Makefile.in, [...]: Move libgnarl sources to libgnarl subdir.Nicolas Roche1-1472/+0
2017-09-08 Nicolas Roche <roche@adacore.com> * gcc-interface/Makefile.in, a-extiti.ads, s-taprop-linux.adb, s-osinte-solaris.adb, a-intnam.ads, s-osinte-solaris.ads, s-tpobop.adb, s-intman-android.adb, s-tasinf.adb, s-tpobop.ads, s-tasinf.ads, i-vxinco.adb, a-exetim-posix.adb, i-vxinco.ads, a-astaco.adb, a-astaco.ads, s-tporft.adb, s-tpoaal.adb, a-taside.adb, a-taside.ads, s-tpopsp-posix.adb, s-tasdeb.adb, s-tasdeb.ads, s-tpoben.adb, a-dinopr.ads, s-inmaop-vxworks.adb, s-tpoben.ads, s-interr-vxworks.adb, s-interr-dummy.adb, s-tassta.adb, a-intnam-mingw.ads, s-tassta.ads, s-taasde.adb, a-stcoed.ads, s-taasde.ads, s-osinte-darwin.adb, s-proinf.adb, s-taprop-dummy.adb, s-osinte-darwin.ads, s-proinf.ads, s-linux.ads, a-intnam-linux.ads, s-tasren.adb, s-tasren.ads, s-mudido.adb, g-semaph.adb, s-mudido.ads, s-taprop-posix.adb, g-semaph.ads, s-osinte-mingw.ads, s-vxwork-x86.ads, s-tposen.adb, s-linux-sparc.ads, s-taprop-vxworks.adb, s-tasini.adb, s-tposen.ads, s-tasini.ads, a-etgrbu.ads, s-interr-hwint.adb, s-osinte-linux.ads, s-taprop.ads, s-tasque.adb, s-tasque.ads, s-taenca.adb, s-taspri-vxworks.ads, s-taenca.ads, a-dynpri.adb, s-tpopsp-solaris.adb, a-dynpri.ads, s-taprop-hpux-dce.adb, a-interr.adb, a-intnam-freebsd.ads, s-tarest.adb, a-interr.ads, s-intman-susv3.adb, a-synbar.adb, a-intnam-dummy.ads, s-tadeca.adb, s-osinte-vxworks.adb, s-tarest.ads, s-taskin.adb, a-synbar.ads, s-taspri-hpux-dce.ads, s-tadeca.ads, s-osinte-vxworks.ads, s-taskin.ads, s-intman-solaris.adb, a-sytaco.adb, s-vxwext-kernel.adb, s-mudido-affinity.adb, a-sytaco.ads, s-vxwext-kernel.ads, s-taprob.adb, s-intman-mingw.adb, s-taprob.ads, s-osinte-kfreebsd-gnu.ads, s-osinte-dummy.ads, s-osinte-gnu.adb, s-osinte-rtems.adb, s-interr.adb, s-inmaop.ads, s-vxwext-rtp.adb, s-osinte-gnu.ads, s-osinte-rtems.ads, a-synbar-posix.adb, s-interr.ads, s-taspri-posix-noaltstack.ads, s-vxwext-rtp.ads, a-synbar-posix.ads, a-extiin.ads, s-osinte-posix.adb, s-tpinop.adb, s-tasres.ads, s-tpinop.ads, a-disedf.ads, a-diroro.ads, s-linux-alpha.ads, a-tasatt.adb, s-solita.adb, a-intnam-solaris.ads, a-tasatt.ads, s-solita.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads, s-vxwork-arm.ads, s-tpopsp-posix-foreign.adb, s-intman-dummy.adb, s-intman.ads, s-stusta.adb, s-stusta.ads, s-intman-posix.adb, s-tpopsp-vxworks.adb, s-inmaop-dummy.adb, s-taspri-mingw.ads, a-intnam-darwin.ads, s-osinte-aix.adb, s-osinte-dragonfly.adb, s-osinte-aix.ads, s-tasinf-mingw.adb, s-osinte-dragonfly.ads, s-linux-hppa.ads, s-osinte-x32.adb, s-inmaop-posix.adb, s-tasinf-mingw.ads, s-intman-vxworks.adb, s-linux-mips.ads, s-intman-vxworks.ads, s-osinte-android.adb, s-tasinf-linux.adb, s-osinte-android.ads, s-vxwork-ppc.ads, s-tasinf-linux.ads, a-dispat.adb, a-dispat.ads, s-tadert.adb, g-thread.adb, s-tadert.ads, g-thread.ads, a-intnam-hpux.ads, s-linux-android.ads, s-tataat.adb, a-exetim.ads, s-tataat.ads, a-reatim.adb, a-reatim.ads, thread.c, g-boubuf.adb, s-osinte-freebsd.adb, g-boubuf.ads, s-osinte-freebsd.ads, s-tasuti.adb, s-taspri-dummy.ads, a-exetim-mingw.adb, s-linux-x32.ads, s-tasuti.ads, g-signal.adb, a-exetim-mingw.ads, s-interr-sigaction.adb, g-signal.ads, s-osinte-hpux.ads, a-intnam-vxworks.ads, s-osinte-hpux-dce.adb, s-taspri-posix.ads, s-osinte-hpux-dce.ads, s-tasinf-vxworks.ads, g-tastus.ads, s-tpopsp-tls.adb, s-taprop-solaris.adb, a-retide.adb, a-exetim-darwin.adb, a-retide.ads, s-vxwext.adb, s-vxwext.ads, a-rttiev.adb, a-rttiev.ads, g-boumai.ads, a-exetim-default.ads, s-taprop-mingw.adb, s-taspri-solaris.ads, a-intnam-aix.ads: Move libgnarl sources to libgnarl subdir. From-SVN: r251891
2015-11-12[multiple changes]Arnaud Charlet1-4/+4
2015-11-12 Emmanuel Briot <briot@adacore.com> * s-os_lib.ads: Documentation update. 2015-11-12 Arnaud Charlet <charlet@adacore.com> * s-taprop-vxworks.adb, s-osinte-vxworks.ads: Use a single import of taskDelay to avoid confusion. 2015-11-12 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Simple_Function_Return): If the return type is class-wide and the expression is a view conversion, remove the conversion to prevent overriding of the tag, which must be that of the object being returned. 2015-11-12 Tristan Gingold <gingold@adacore.com> * bindgen.adb (Gen_Adainit): Code cleanup. 2015-11-12 Hristian Kirtchev <kirtchev@adacore.com> * s-stalib.ads: Code cleanup. 2015-11-12 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Incomplete_Type_Decl): small optimization. (Analyze_Subtype_Declaration): For floating point types, inherit dimensions. (OK_For_Limited_Init_In_05): Handle properly a conditional expression whose condition is static, and is rewritten as the branch that will be executed. 2015-11-12 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Resolve_Attribute, case 'Access): If the context type is an access constant type, do not mark the attribute reference as a possible modification of the prefix. From-SVN: r230226
2015-01-07[multiple changes]Arnaud Charlet1-2/+3
2015-01-07 Vincent Celier <celier@adacore.com> * clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete. * make.adb (Initialize): Warn that 'gnatmake -P' is obsolete. 2015-01-07 Vincent Celier <celier@adacore.com> * prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize errors/warnings in the first parsing of the project files, to display the warnings when there is no errors. 2015-01-07 Tristan Gingold <gingold@adacore.com> * i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target. 2015-01-07 Doug Rupp <rupp@adacore.com> * s-taprop-vxworks.adb (Stop_All_Tasks): Pass return value from Int_Lock as parameter to Int_Unlock. * s-osinte-vxworks.ads (Int_Unlock): Add parameter. * s-vxwext.ads (Int_Unlock): Likewise. * s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise. * s-vxwext-kernel.ads (Int_Unlock): Likewise. * s-vxwext-rtp.adb (Int_Unlock): Likewise. * s-vxwext-rtp.ads (Int_Unlock): Likewise. 2015-01-07 Pierre-Marie de Rodat <derodat@adacore.com> * exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we keep ___XP suffixes From-SVN: r219288
2014-11-20[multiple changes]Arnaud Charlet1-19/+20
2014-11-20 Vasiliy Fofanov <fofanov@adacore.com> * gnat_ugn.texi: New section on gnattest stubbing. Minor reformatting. 2014-11-20 Jerome Lambourg <lambourg@adacore.com> * s-taprop-vxworks.adb (Create_Task): Fix thread comparison. Minor reformatting. From-SVN: r217875
2014-07-30[multiple changes]Arnaud Charlet1-2/+1
2014-07-30 Olivier Hainque <hainque@adacore.com> * vxworks-ppc-link.spec: New file. Extra link instructions for ppc-vxworks. * vxworks-crtbe-link.spec: Likewise, for ZCX related support. * system-vxworks-ppc.ads: Adjust linker options to use spec files. * system-vxworks-arm.ads: Likewise. * gcc-interface/Makefile.in: Enable .spec files. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb: Minor comment reformatting. 2014-07-30 Robert Dewar <dewar@adacore.com> * sem_util.ads, sem_util.adb (Is_Junk_Name): Removed. * sem_warn.adb (Has_Junk_Name): New function (Check_References): Use Has_Junk_Name to delete junk warnings (Check_Unset_Reference): ditto. (Warn_On_Unreferenced_Entity): ditto. (Warn_On_Useless_Assignment): ditto. * sem_ch3.adb, lib-xref-spark_specific.adb, s-taprop-vxworks.adb, exp_ch7.adb, s-asthan-vms-alpha.adb, sem_ch10.adb, osint-c.adb, prj.adb, g-comlin.adb, makeutl.adb, s-tasdeb.adb, exp_intr.adb, s-asthan-vms-ia64.adb, prj-env.adb: Ditto. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * checks.adb (Insert_Valid_Check): Do not check for the packed array type of a prefix that is an access type. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Eval_Attribute): Evaluate the GNAT attribute Unconstrained_Array even if prefix is not frozen yet, as can occur with a private subtype used as a generic actual. 2014-07-30 Gary Dismukes <dismukes@adacore.com> * sem_attr.adb: Minor reformatting. 2014-07-30 Pat Rogers <rogers@adacore.com> * gnat_rm.texi: Corrected minor wording error in description of No_Exception_Registration. 2014-07-30 Yannick Moy <moy@adacore.com> * einfo.ads, einfo.adb: New flag Is_Inlined_Always for use in GNATprove mode. Realphabetize two subprograms. * inline.adb (Cannot_Inline): Use Is_Inlined_Always in GNATprove mode. (Can_Be_Inlined_In_GNATprove_Mode): Adapt to possible Empty Body_Id. (Check_And_Build_Body_To_Inline): Use Is_Inlined_Always in GNATprove mode. (Expand_Inline_Call): Use Is_Inlined_Always in GNATprove mode. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not use Is_Inline in GNATprove mode. (Analyze_Subprogram_Specification): Set Is_Inlined_Always at subprogram entity creation. * sem_res.adb (Resolve_Call): Do not deal with inlining during pre-analysis. Issue warning on call to possibly inlined subprogram when body not seen. 2014-07-30 Yannick Moy <moy@adacore.com> * lib-xref.adb (Generate_Reference): Add special case for compiler-generated formals in GNATprove mode. From-SVN: r213264
2011-11-23[multiple changes]Arnaud Charlet1-0/+2
2011-11-23 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_All_Ent): An incomplete type is not frozen by a subprogram body that does not come from source. 2011-11-23 Pascal Obry <obry@adacore.com> * s-oscons-tmplt.c: Add PTY_Library constant. It contains the library for pseudo terminal support. * g-exptty.ads: Add pseudo-terminal library into a Linker_Options pragma. 2011-11-23 Ed Schonberg <schonberg@adacore.com> * sem_ch9.adb: No check on entry family index if generic. 2011-11-23 Thomas Quinot <quinot@adacore.com> * sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on System.OS_Constants from shared spec of System.Tasking.Primitive_Operations to the specific body variants that really require this dependency. 2011-11-23 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration): If the declaration has aspects, analyze them so they can be properly rejected. 2011-11-23 Hristian Kirtchev <kirtchev@adacore.com> * a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb, a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb, a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb, a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb: Add with and use clause for Ada.Finalization. Type Iterator and Child_Iterator are now derived from Limited_Controlled. (Finalize): New routine. (Iterate): Add a renaming of counter Busy and increment it. Update the return aggregate. (Iterate_Children): Add a renaming of counter Busy and increment it. Update the return aggregate. (Iterate_Subtree): Add a renaming of counter Busy and increment it. Update the return aggregate. * a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access type. * a-cihama.ads: Type Map_Access is now a general access type. * a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks associated with the tree. * a-cohama.ads: Type Map_Access is now a general access type. * a-coinve.ads, a-convec.ads: Type Vector_Access is now a general access type. * exp_ch5.adb (Expand_Iterator_Loop): Do not create a block to wrap the loop as this is done at an earlier step, during analysis. The declarations of the iterator and the cursor use the usual Insert_Action mechanism when added into the tree. * sem_ch5.adb (Analyze_Loop_Statement): Remove local constant Loop_Statement and replace all respective uses by N. Add local constant Loc. Preanalyze the loop iterator to discover whether it is a container iterator and if it is, wrap the loop in a block. This ensures that any controlled temporaries produced by the iteration scheme share the same lifetime of the loop. (Is_Container_Iterator): New routine. (Is_Wrapped_In_Block): New routine. (Pre_Analyze_Range): Move spec and body to the library level. 2011-11-23 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option that controls casing of type and subtype names. 2011-11-23 Yannick Moy <moy@adacore.com> * sem_ch3.adb: Minor addition of comments. 2011-11-23 Thomas Quinot <quinot@adacore.com> * prj-part.adb (Extension_Withs): New global variable, contains the head of the list of WITH clauses from the EXTENDS ALL projects for which virtual packages are being created. (Look_For_Virtual_Projects_For): When recursing through an EXTENDS ALL, add the WITH clauses of the extending project to Extension_Withs. When adding a project to the Virtual_Hash, record the associated Extension_Withs list. (Create_Virtual_Extending_Project): Add a copy of the appropriate Extension_Withs to the virtual project. 2011-11-23 Thomas Quinot <quinot@adacore.com> * mlib-tgt-specific-vxworks.adb: Minor reformatting. 2011-11-23 Thomas Quinot <quinot@adacore.com> * Make-generated.in (Sdefault.Target_Name): Set to $(target_noncanonical) instead of $(target) for consistency. From-SVN: r181668
2011-11-23[multiple changes]Arnaud Charlet1-1/+1
2011-11-23 Robert Dewar <dewar@adacore.com> * sem_ch9.adb (Analyze_Entry_Declaration): Check for entry family bounds out of range. 2011-11-23 Matthew Heaney <heaney@adacore.com> * a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare type as limited, and remove node component. (First, Next): Forward call to corresponding cursor-based operation. (Iterate): Representation of iterator no longer has node component. 2011-11-23 Yannick Moy <moy@adacore.com> * exp_util.adb: Revert previous change to remove side-effects in Alfa mode, which is not the correct thing to do for renamings. 2011-11-23 Thomas Quinot <quinot@adacore.com> * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb, s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb, s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c, s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl, s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads, s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb, s-taprop-posix.adb: Remove hard-coded clock ids; instead, generate them in System.OS_Constants. (System.OS_Constants.CLOCK_RT_Ada): New constant denoting the id of the clock providing Ada.Real_Time.Monotonic_Clock. * thread.c: New file. (__gnat_pthread_condattr_setup): New function. For platforms where CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition variable attribute. 2011-11-23 Yannick Moy <moy@adacore.com> * sem_ch3.adb: Restore the use of Expander_Active instead of Full_Expander_Active, so that the evaluation is forced in Alfa mode too. Otherwise, we end up with an unexpected insertion in a place where it is not supposed to happen, on default parameters of a call. 2011-11-23 Thomas Quinot <quinot@adacore.com> * prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr" for Pretty_Print, for use from within gdb. From-SVN: r181660
2011-09-27s-osinte-hpux.ads, [...]: Revert previous changes.Pascal Obry1-27/+1
2011-09-27 Pascal Obry <obry@adacore.com> * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taspri-vxworks.ads, s-taprop-tru64.adb, s-osinte-aix.ads, s-taspri-posix-noaltstack.ads, s-taspri-mingw.ads, s-taprop-vms.adb, s-tpoben.adb, s-tpoben.ads, s-taprop-mingw.adb, s-taprob.adb, s-taprob.ads, s-osinte-solaris-posix.ads, s-taprop-solaris.adb, s-taspri-solaris.ads, s-osinte-irix.ads, s-taprop-irix.adb, s-osinte-darwin.ads, s-taspri-dummy.ads, s-taspri-posix.ads, s-taprop.ads, s-taspri-vms.ads, s-osinte-freebsd.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads, s-taspri-tru64.ads, s-taprop-dummy.adb, s-taprop-posix.adb: Revert previous changes. (Lock): Now a record containing the two possible lock (mutex and read/write) defined in OS_Interface. * s-taprop-linux.adb (Finalize_Protection): Use r/w lock for 'R' locking policy. (Initialize_Protection): Likewise. (Lock): Likewise. (Lock_Read_Only): Likewise. (Unlock): Likewise. From-SVN: r179253
2011-09-27s-taprop.ads (Initialize_Lock): New spec for r/w lock.Pascal Obry1-1/+27
2011-09-27 Pascal Obry <obry@adacore.com> * s-taprop.ads (Initialize_Lock)[RW_Lock]: New spec for r/w lock. (Finalize_Lock)[RW_Lock]: Likewise. (Write_Lock)[RW_Lock]: Likewise. (Unlock)[RW_Lock]: Likewise. (Read_Lock): Define L as RW_Lock (instead of Lock). * s-taprop-linux.adb (Initialize_Lock)[RW_Lock]: New routine for r/w lock. (Finalize_Lock)[RW_Lock]: Likewise. (Write_Lock)[RW_Lock]: Likewise. (Unlock)[RW_Lock]: Likewise. (Read_Lock): Define L as RW_Lock (instead of Lock). * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb (Initialize_Lock)[RW_Lock]: Same implementation as corresponding routine for standard lock. (Finalize_Lock)[RW_Lock]: Likewise. (Write_Lock)[RW_Lock]: Likewise. (Unlock)[RW_Lock]: Likewise. (Read_Lock): Define L as RW_Lock (instead of Lock). * s-taprob.ads, s-tpoben.ads (Protection): Add RWL (RW_Lock) in the record definition. * s-taprob.adb, s-taproben.adb (Finalize_Protection): Use r/w lock for 'R' locking policy. (Initialize_Protection): Likewise. (Lock): Likewise. (Lock_Read_Only): Likewise. (Unlock): Likewise. * s-taspri-posix.ads (RW_Lock): New type defined as OS_Interface.pthread_rwlock_t. * s-taspri-vxworks.ads, s-taspri-posix-noaltstack.ads, s-taspri-mingw.ads, s-taspri-solaris.ads, s-taspri-dummy.ads, s-taspri-posix.ads, s-taspri-vms.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads (RW_Lock): New type defined as alias to Lock. From-SVN: r179251
2011-09-06[multiple changes]Arnaud Charlet1-5/+2
2011-09-06 Yannick Moy <moy@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Call Set_Corresponding_Aspect when creating pragma from aspect. (Add_Predicates): Use new field Corresponding_Aspect. * sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect name when present, for the purpose of issuing error messages; remove local procedure Error_Pragma_Arg_Alternate_Name. * sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in N_Pragma node. (From_Dynamic_Predicate, From_Static_Predicate): Remove fields from N_Pragma node. 2011-09-06 Robert Dewar <dewar@adacore.com> * checks.adb, s-except.ads, g-socket.adb: Minor reformatting. 2011-09-06 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Build_Heap_Allocator): Add new local variable Desig_Typ. Code and comment reformatting. Add machinery to ensure that the allocation uses a fat pointer when the type of the return object is a constrained array and the function return type is an unconstrained array. 2011-09-06 Vincent Celier <celier@adacore.com> * make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal parameters in subprograms. 2011-09-06 Arnaud Charlet <charlet@adacore.com> * s-taprop-mingw.adb (Finalize_TCB): Fix typo. 2011-09-06 Thomas Quinot <quinot@adacore.com> * s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb (System.Tasking.Primitive_Operations.Specific.Delete): Remove subprogram. (System.Tasking.Primitive_Operations.Specific.Set): If argument is null, destroy task specific data, to make API consistent with other platforms, and thus compatible with the shared version of s-tpoaal.adb. (System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB): Document the above assumption. From-SVN: r178583
2011-09-06[multiple changes]Arnaud Charlet1-21/+9
2011-09-06 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized variable for type of return value when return type is unconstrained and context is an assignment. 2011-09-06 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of class-wide operation if expansion is not enabled. 2011-09-06 Eric Botcazou <ebotcazou@adacore.com> * checks.adb (Apply_Scalar_Range_Check): Deal with access type prefix. 2011-09-06 Yannick Moy <moy@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications, case Aspect_Invariant): Do not issue error at this point on illegal pragma placement, as this is checked later on when analyzing the corresponding pragma. * sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure similar to Error_Pragma_Arg, except the source name of the aspect/pragma to use in warnings may be equal to parameter Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error message to distinguish source name of pragma/aspect, and whether the illegality resides in the type being public, or being private without a public declaration 2011-09-06 Thomas Quinot <quinot@adacore.com> * g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap size check (fd_set is implemented differently on that platform). 2011-09-06 Thomas Quinot <quinot@adacore.com> * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb, s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb (ATCB_Allocation): New subpackage of System.Tasking.Primitive_Operations, shared across all targets with full tasking runtime. (ATCB_Allocation.New_ATCB): Moved there (from target specific s-taprop bodies). (ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB, taking care of establishing a local temporary ATCB if the one being deallocated is Self, to avoid a reference to the freed ATCB in Abort_Undefer. 2011-09-06 Thomas Quinot <quinot@adacore.com> * s-tassta.adb, s-taskin.ads (Free_Task): If the task is not terminated, mark it for deallocation upon termination. (Terminate_Task): Call Free_Task again if the task is marked for automatic deallocation upon termination. From-SVN: r178582
2011-09-01[multiple changes]Arnaud Charlet1-4/+5
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com> * exp_strm.adb: Remove with and use clause for Opt. (Build_Array_Input_Function): Remove the version-dependent generation of the return statement. The Ada 2005 tree is now the default. 2011-09-01 Yannick Moy <moy@adacore.com> * put_alfa.adb: Unconditionnally write files in Alfa section, so that it is never empty when compiling in Alfa mode. 2011-09-01 Robert Dewar <dewar@adacore.com> * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb, comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting 2011-09-01 Matthew Heaney <heaney@adacore.com> * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb], a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb] * a-csquin.ads: New Ada 2012 unit that specifies the queue interface * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the unbounded queue container. * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the bounded queue container. * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the unbounded priority queue container. * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the bounded priority queue container. From-SVN: r178398
2011-08-31[multiple changes]Arnaud Charlet1-0/+3
2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned to any dispatching domain. 2011-08-31 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb: Minor reformatting. 2011-08-31 Bob Duff <duff@adacore.com> * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication on nodes for which it is not defined. (Is_Non_Overriding_Operation): Exit the loop when we find a generic parent type. 2011-08-31 Bob Duff <duff@adacore.com> * sem_ch3.adb (Process_Full_View): Disable legality check if In_Instance, to avoid spurious errors. * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check if In_Instance, to avoid spurious errors. 2011-08-31 Pascal Obry <obry@adacore.com> * a-direct.adb: Use Dir_Seps everywhere to properly handle all directory speparators. (Compose): Use Dir_Seps to handle both forms. (Create_Path): Use Dir_Seps instead of explicit check, no semantic changes. (Extension): Use Dir_Seps to handle both forms. 2011-08-31 Pascal Obry <obry@adacore.com> * prj-conf.adb: Minor reformatting. From-SVN: r178372
2011-08-31[multiple changes]Arnaud Charlet1-0/+12
2011-08-31 Jose Ruiz <ruiz@adacore.com> * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the dispatching domain aspect. * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain aspect. * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the Dispatching_Domain aspect in a similar way as we do for the Priority aspect. * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the Dispatching_Domain component if a Dispatching_Domain pragma or aspect is present. (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma. * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma Dispatching_Domain and add it to the task definition. (Sig_Flags): Add Pragma_Dispatching_Domain. * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the support to find the types Dispatching_Domain and Dispatching_Domain_Access. * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain, Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and query the availability of a pragma Dispatching_Domain. * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by the expander to pass the Dispatching_Domain when creating a task. (Name_Dispatching_Domain): Add this new name for a pragma. (Pragma_Id): Add the new Pragma_Dispatching_Domain. * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the task has been allocated at creation time. * s-tarest.adb (Create_Restricted_Task): The dispatching domain using Ravenscar is always null. * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which the task has been allocated at creation time. * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have a specific dispatching domain. * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb, s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain and CPU are specified for the task, and the CPU value is not contained within the range of processors for the domain. 2011-08-31 Vincent Celier <celier@adacore.com> * make.adb (Original_Gcc) : New constant String_Access. (Gnatmake): For VM targets, do not use VM version of the compiler if --GCC= has been specified. 2011-08-31 Thomas Quinot <quinot@adacore.com> * sem_ch5.adb: Minor reformatting. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do not reanalyze it. 2011-08-31 Bob Duff <duff@adacore.com> * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case the access type is private; we don't care about privacy in expansion. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate subcomponents tnat may be limited, because they originate in view conflicts. If the original aggregate is legal and the actuals are legal, the aggregate itself is legal. From-SVN: r178371
2011-08-31[multiple changes]Arnaud Charlet1-9/+20
2011-08-31 Yannick Moy <moy@adacore.com> * sem_ch4.adb: Code clean up. 2011-08-31 Yannick Moy <moy@adacore.com> * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize and TSS primitive Finalize_Address if finalization is suppressed. (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS primitive Finalize_Address if finalization is suppressed. 2011-08-31 Jose Ruiz <ruiz@adacore.com> * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make sure that the underlying task has already been created before trying to change its affinity. (Set_CPU): Use the term processor instead of CPU, as we do in Assign_Task. 2011-08-31 Vincent Celier <celier@adacore.com> * prj-attr.adb: New Compiler attribute Source_File_Switches. * prj-nmsc.adb (Process_Compiler): Process attribute Source_File_Switches. * prj.ads (Language_Config): New name list component Name_Source_File_Switches. * snames.ads-tmpl (Name_Source_File_Switches): New standard name. 2011-08-31 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a discriminated component of an actual, expand at once to prevent ouf-of-order references with generated subtypes. 2011-08-31 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read reference to operator in Alfa xrefs. 2011-08-31 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case where the parent instance was frozen before the current instance due to the presence of a source body. Update calls to Insert_After_Last_Decl. (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance. Update the comment which illustrates the purpose of the routine. Package instances are now frozen by source bodies which appear after the instance. This ensures that entities coming from within the instance are available for use in the said bodies. (Install_Body): Add code to handle the case where the parent instance was frozen before the current instance due to the presence of a source body. Update calls to Insert_After_Last_Decl. From-SVN: r178360
2011-08-31s-taprop-vxworks.adb, [...]: Minor reformatting.Robert Dewar1-11/+12
2011-08-31 Robert Dewar <dewar@adacore.com> * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb, s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads, sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb, s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads, s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor reformatting. From-SVN: r178357
2011-08-30[multiple changes]Arnaud Charlet1-32/+57
2011-08-30 Jose Ruiz <ruiz@adacore.com> * s-taskin.ads (Common_ATCB): Add field domain which contains the dispatching domain to which the task belongs. * s-taskin.adb (Initialize): Create the default system dispatching domain and make the environment task part of it. * s-mudido.ads: Add this new spec for standard Ada 2012 package Ada.Multiprocessors.Dispatching_Domains. * s-mudido.adb: Add this new body for targets not supporting dispatching domains. * s-mudido-affinity.adb: Add this new body for targets supporting dispatching domains setting the affinity to a CPU set. * bindgen.adb (Dispatching_Domain_Used, Check_Dispatching_Domains_Used, Gen_Adainit): When package System.Multiprocessors.Dispatching_Domains is used we call the procedure to signal that when we are about to call the main subprogram no new dispatching domain can be created. (Check_File_In_Partition): Factor out the common functionality used by Check_System_Restrictions_Used and Check_Dispatching_Domains_Used. * s-tassta.adb (Create_Task): Tasks inherit the dispatching domain of their activators. * s-taprop.ads (Set_Task_Affinity): Add this new procedure to set task affinities. * s-taprop-dummy.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vms.adb (Set_Task_Affinity): Dummy null body for these targets not supporting task affinities. s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb (Create_Task, Enter_Task, Initialize): Handle dispatching domains and set the affinity of the environment task. (Set_Task_Affinity): Procedure that uses the underlying CPU set functionality to handle dispatching domains, pragma CPU and Task_Info. s-winext.ads (SetThreadAffinityMask): Import this function needed to set CPU masks. * s-osinte-solaris.ads (psetit_t, pset_create, pset_assign, pset_bind): Import the functionality to handle CPU set affinities. * affinity.c: New file. * s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads (taskMaskAffinitySet): Add this new spec for setting affinity masks. * s-vxwext.adb, s-vxwext-kernel.adb, s-vxwext-rtp.adb (taskMaskAffinitySet): Body returning an error indicating that task affinities are not supported. Makefile.rtl: Indicate that s-mudido is part of libgnarl. * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks SMP, Solaris, Windows, and {x86,PowerPC, ia64,x86_64} Linux): Use the s-mudido-affinity.adb body which supports task affinities. 2011-08-30 Thomas quinot <quinot@adacore.com> * sem_ch13.adb: Minor reformatting. 2011-08-30 Vincent Celier <celier@adacore.com> * vms_conv.adb (Process_Argument): When the qualifier /UNCHECKED_SHARED_LIB_IMPORTS is for GNAT COMPILE, do not put the corresponding switch --unchecked-shared-lib-imports after -cargs, as it is for gnatmake, not for the compiler. 2011-08-30 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Quantified_Expression): Analyze iterator specification and condition only in Semantics_Only mode. Otherwise the analysis is done after expression has been rewritten as loop. * sem_ch5.adb (Analyze_Iterator_Specification): Always generate a temporary for the iterator name (the domain of iteration) because it may need finalization actions and these must be generated outside of the loop. * sem_res.adb (Resolve_Quantified_Expression): Resolve only in Semantic_Only mode. * exp_ch4.adb (Expand_Quantified_Expression): Analyze and resolve once rewritten as loop. * exp_ch5.adb (Expand_Iterator_Loop): Code clean-up, now that the iterator is always an expression. 2011-08-30 Robert Dewar <dewar@adacore.com> * par-ch4.adb (P_Unparen_Cond_Case_Quant_Expression): New function (P_Expression_If_OK): New spec checks parens (P_Expression_Or_Range_Attribute_If_OK): New spec checks parens * par.adb (P_Expression_If_OK): New spec checks parens (P_Expression_Or_Range_Attribute_If_OK): New spec checks parens From-SVN: r178321
2011-08-29[multiple changes]Arnaud Charlet1-1/+1
2011-08-29 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb, freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting. 2011-08-29 Tristan Gingold <gingold@adacore.com> * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads, system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads, system-linux-hppa.ads, system-linux-s390.ads, system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads, system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads, system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads, system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads, system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads, system-solaris-sparc.ads, system-lynxos-x86.ads, system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads, system-solaris-x86_64.ads, system-mingw-x86_64.ads, system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads, system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads, system-vxworks-x86.ads: Remove GCC_ZCX_Support * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto. * opt.ads: Adjust comment. * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target. * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target. * system.ads: Move GCC_ZCX_Support to obsolete entries. 2011-08-29 Emmanuel Briot <briot@adacore.com> * makeutl.adb (Do_Complete): Resolve symbolic links when a relative file name is specified on the gnatmake or gprbuild command line, and before we search for that file in the project. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Within_Instance): New predicate in Collect_Interps, used to determine whether a possible interpretation for an overloadable entity is declared within the current instantiation and should be included in the candidate set. 2011-08-29 Vasiliy Fofanov <fofanov@adacore.com> * gnat_rm.texi, gnat_ugn.texi: Clean ups. From-SVN: r178186
2011-08-04[multiple changes]Arnaud Charlet1-5/+4
2011-08-04 Tristan Gingold <gingold@adacore.com> * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset instead of the locally imported procedure. * s-taprop-mingw.adb (Enter_Task): Ditto. * s-valrea.adb (Scan_Real): Ditto. * s-imgrea.adb (Set_Image_Real): Ditto. * s-flocon.ads: Make the package pure. 2011-08-04 Thomas Quinot <quinot@adacore.com> * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove. * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly. * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement): New subprogram, moved here from... * par.adb, par-ch5.adb (P_Statement_Name): ... here. * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any rewriting of the last argument into a procedure call statement here... * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there instead. 2011-08-04 Thomas Quinot <quinot@adacore.com> * par_sco.adb: Minor reformatting. From-SVN: r177337
2011-08-03[multiple changes]Arnaud Charlet1-3/+12
2011-08-03 Emmanuel Briot <briot@adacore.com> * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb, prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize to Errout_Handling. 2011-08-03 Emmanuel Briot <briot@adacore.com> * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use "external" as an attribute name in aggregate projects. 2011-08-03 Jose Ruiz <ruiz@adacore.com> * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU uses CPU numbers starting 1, while VxWorks uses CPU numbers starting from 0, so we need to adjust. 2011-08-03 Emmanuel Briot <briot@adacore.com> * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb, prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type. From-SVN: r177244
2011-08-02[multiple changes]Arnaud Charlet1-4/+4
2011-08-02 Ed Falis <falis@adacore.com> * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads: Update header. 2011-08-02 Bob Duff <duff@adacore.com> * opt.ads: Minor comment fix. 2011-08-02 Bob Duff <duff@adacore.com> * sem_ch12.adb (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Turn off style checking while analyzing an instance. Whatever style checks that apply to the generic unit should apply, so it makes no sense to apply them in an instance. This was causing trouble when compiling an instance of a runtime unit that violates the -gnatyO switch. * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from one of the two case statements, causing spurious errors. 2011-08-02 Robert Dewar <dewar@adacore.com> * uname.adb: Minor reformatting. * gnatcmd.adb: Minor reformatting. * exp_attr.adb: Minor reformatting. From-SVN: r177131
2011-08-02[multiple changes]Arnaud Charlet1-13/+27
2011-08-02 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction No_Dispatching_Calls, do not look for the Assign primitive, because predefined primitives are not created in this case. 2011-08-02 Bob Duff <duff@adacore.com> * stylesw.ads: Minor comment fixes. 2011-08-02 Robert Dewar <dewar@adacore.com> * freeze.adb (Add_To_Result): New procedure. 2011-08-02 Jose Ruiz <ruiz@adacore.com> * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run time, if the specific run-time routines for handling streams of strings are not available, use the default mechanism. 2011-08-02 Arnaud Charlet <charlet@adacore.com> * s-regpat.ads: Fix typo. 2011-08-02 Vincent Celier <celier@adacore.com> * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is not null, call it to create the in memory config project file without parsing an existing default config project file. 2011-08-02 Eric Botcazou <ebotcazou@adacore.com> * atree.adb (Allocate_Initialize_Node): Remove useless temporaries. 2011-08-02 Ed Schonberg <schonberg@adacore.com> * sem_elim.adb: an abstract subprogram does not need an eliminate pragma for its descendant to be eliminable. 2011-08-02 Ed Falis <falis@adacore.com> * init.c: revert to handling before previous checkin for VxWorks * s-intman-vxworks.adb: delete unnecessary declarations related to using Ada interrupt facilities for handling signals. Delete Initialize_Interrupts. Use __gnat_install_handler instead. * s-intman-vxworks.ads: Import __gnat_install_handler as Initialize_Interrupts. * s-taprop-vxworks.adb: Delete Signal_Mask. (Abort_Handler): change construction of mask to unblock exception signals. From-SVN: r177130
2011-08-02[multiple changes]Arnaud Charlet1-34/+25
2011-08-02 Javier Miranda <miranda@adacore.com> * sem_ch6.adb (Can_Override_Operator): New function. (Verify_Overriding_Indicator): Add missing code to check overriding indicator in operators. Fixes regression. (Check_Overriding_Indicator): Minor reformating after replacing the code that evaluates if the subprogram can override an operator by invocations to the above new function. * einfo.adb (Write_Field26_Name): Add missing code to ensure that, following the documentation in einfo.ads, this field is not shown as attribute "Static_Initialization" on non-dispatching functions. 2011-08-02 Jose Ruiz <ruiz@adacore.com> * sem_res.adb (Resolve_Call): A call to Ada.Real_Time.Timing_Events.Set_Handler violates restriction No_Relative_Delay (AI-0211) only when it sets a relative timing event, i.e., when the second parameter is of type Time_Span. 2011-08-02 Vincent Celier <celier@adacore.com> * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link with an archive instead of -L<library dir> -l<library name>. 2011-08-02 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed, mark the base types In_Use in addition to making the operations use_visible. 2011-08-02 Ed Falis <falis@adacore.com> * init.c: add and setup __gnat_signal_mask for the exception signals * s-inmaop-vxworks.adb: new file. * s-intman-vxworks.adb: remove unnecessary initializations and simplify remaining * s-intman-vxworks.ads: remove unnecessary variable * s-taprop-vxworks.adb: simplify signal initialization From-SVN: r177092
2010-10-18[multiple changes]Arnaud Charlet1-6/+26
2010-10-18 Jose Ruiz <ruiz@adacore.com> * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add field corresponding to the affinity when expanding the task declaration. (Make_Task_Create_Call): Add the affinity parameter to the call to create task. * sem_prag.adb (Analyze_Pragma): Add the analysis for pragma CPU, taking into account the case when it applies to a subprogram (only for main and with static expression) or to a task. * par_prag.adb:(Prag): Make pragma CPU a valid one. * snames.ads-tmpl (Name_uCPU, Name_CPU): Add these new name identifiers used by the expander for handling the affinity parameter when creating a task. (Pragma_Id): Add Pragma_CPU as a valid one. * rtsfind.ads (RTU_Id): Make System_Multiprocessors accesible. (RE_Id, RE_Unit_Table): Make the entities RE_CPU_Range and RE_Unspecified_CPU visible. * sinfo.ads, sinfo.adb (Has_Pragma_CPU, Set_Has_Pragma_CPU): Add these two subprograms to set/get the flag indicating whether there is a pragma CPU which applies to the entity. * lib.ads, lib.adb (Unit_Record, Default_Main_CPU, Main_CPU, Set_Main_CPU): Add the field Main_CPU to Unit_Record to store the value of the affinity associated to the main subprogram (if any). Default_Main_CPU is used when no affinity is set. Subprograms Set_Main_CPU and Main_CPU are added to set/get the affinity of the main subprogram. * ali.ads, ali.adb (ALIs_Record): Add field Main_CPU to contain the value of the affinity of the main subprogram. (Scan_ALI): Get the affinity of the main subprogram (encoded as C=XX in the M line). * lib-writ.ads, lib-writ.adb (M_Parameters): Encode the affinity of the main subprogram in the M (main) line using C=XX. * lib-load.adb (Create_Dummy_Package_Unit, Load_Main_Source, Load_Unit): Add new field Main_CPU. * bindgen.adb (Gen_Adainit_Ada, Gen_Adainit_C): Add the code to pass the affinity of the main subprogram to the run time. * s-taskin.ads (Common_ATCB): Add the field Base_CPU to store the affinity. (Unspecified_CPU): Add this constant to identify the case when no affinity is set for tasks. * s-taskin.adb (Initialize_ATCB): Store the value coming from pragma CPU in the common part of the ATCB. (Initialize): Store the value coming from pragma CPU (for the environment task) in the common part of the ATCB. * s-tassta.ads, s-tassta.adb (Create_Task): Add the affinity specified by pragma CPU to the ATCB. * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add the affinity specified by pragma CPU to the ATCB. * s-tporft.adb (Register_Foreign_Thread): Add the new affinity parameter to the call to Initialize_ATCB. * s-taprop-linux.adb (Create_Task): Change the attributes of the thread to include the task affinity before creation. Additionally, the affinity selected with Task_Info is also enforced changing the attributes at task creation time, instead of changing it after creation. (Initialize): Change the affinity of the environment task if required by a pragma CPU. * s-osinte-linux.ads (pthread_setaffinity_np): Instead of using a wrapper to check whether the function is available or not, use a weak symbol. (pthread_attr_setaffinity_np): Add the import of this function which is used to change the affinity in the attributes used to create a thread. * adaint.c (__gnat_pthread_attr_setaffinity_np): Remove this wrapper. It was used to check whether the pthread function was available or not, but the use of a weak symbol handles this situation in a cleaner way. * s-taprop-mingw.adb (Create_Task, Initialize): Change the affinity of tasks (including the environment task) if required by a pragma CPU. * s-taprop-solaris.adb (Enter_Task): Change the affinity of tasks (including the environment task) if required by a pragma CPU. * s-taprop-vxworks.adb (Create_Task, Initialize): Change the affinity of tasks (including the environment task) if required by a pragma CPU. * init.c (__gl_main_cpu): Make this value visible to the run time. It will pass the affinity of the environment task. 2010-10-18 Javier Miranda <miranda@adacore.com> * einfo.adb (Direct_Primitive_Operations): Complete assertion. From-SVN: r165625
2010-10-05[multiple changes]Arnaud Charlet1-5/+1
2010-10-05 Emmanuel Briot <briot@adacore.com> * prj-env.adb, prj-env.ads (Set_Path): New subprogram. (Deep_Copy): Removed, not used. 2010-10-05 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization: move code that searches in the list of primitives of a tagged type for the entity that will be overridden by user-defined routines. * sem_disp.adb (Find_Primitive_Covering_Interface): Move here code previously located in routine Add_Internal_Interface_Entities. * sem_disp.ads (Find_Primitive_Covering_Interface): Update documentation * sem_ch6.adb (New_Overloaded_Entity): Add missing check on availability of attribute Alias. 2010-10-05 Ed Falis <falis@adacore.com> * s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads: Move definition of intContext to System.OS_Interface. Add necessary variants in System.VxWorks.Extensions. 2010-10-05 Doug Rupp <rupp@adacore.com> * s-asthan-vms-alpha.adb: On VMS, a task using pragma AST_Entry exhibits a memory leak when the task terminates because the vector allocated for the AST interface is not freed. Fixed by making the vector a controlled type. From-SVN: r164972
2010-10-04[multiple changes]Arnaud Charlet1-2/+3
2010-10-04 Robert Dewar <dewar@adacore.com> * s-taprop-vxworks.adb, sem_res.adb: Minor reformatting. 2010-10-04 Javier Miranda <miranda@adacore.com> * exp_cg.adb (Write_Call_Info): Code clean up. From-SVN: r164938
2010-10-04[multiple changes]Arnaud Charlet1-2/+29
2010-10-04 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed to make a qualified expression into a name (syntax-wise), then do not consider it redundant. 2010-10-04 Thomas Quinot <quinot@adacore.com> * sem_warn.ads: Fix typo. 2010-10-04 Javier Miranda <miranda@adacore.com> * exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in TSS names. (Write_Call_Info): Add missing support for renamed primitives. 2010-10-04 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated code between Make_Component_List_Assign and Make_Field_Assign. 2010-10-04 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Get_Directories): For non extending projects that declare that they have no sources, do not create a non existing object or exec directory if builder switch -p is used. 2010-10-04 Sergey Rybin <rybin@adacore.com> * gnat_ugn.texi (gnatcheck): Change the description of the report file format. 2010-10-04 Ed Falis <falis@adacore.com> * s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to determine whether Set_True is called from a task or an ISR. (Set_True): test for being in a task context before trying to dereference Defer_Abort or Undefer_Abort. From-SVN: r164936
2010-06-22[multiple changes]Arnaud Charlet1-4/+6
2010-06-22 Emmanuel Briot <briot@adacore.com> * fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads, tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent warnings on use of internal GNAT units. 2010-06-22 Jose Ruiz <ruiz@adacore.com> * s-taprop-vxworks.adb (Set_Priority): Update comments. 2010-06-22 Paul Hilfinger <hilfinger@adacore.com> * s-rannum.adb: Make stylistic change to remove mystery constant in Extract_Value. Image_Numeral_Length: new symbolic constant. 2010-06-22 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb: Make Is_Protected_Interface, Is_Synchronized_Interface, Is_Task_Interface into computable predicates, to free three flags in entity nodes. * sem_ch3.adb: Remove setting of these flags. From-SVN: r161181
2010-06-22uintp.adb, [...]: Minor reformatting.Robert Dewar1-0/+9
2010-06-22 Robert Dewar <dewar@adacore.com> * uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor reformatting. * s-taprop-vxworks.adb: Add comment for Set_Priority. * impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads * projects.texi: Move @cindex to the left margin, since otherwise we are missing entries in the index. From-SVN: r161179
2010-06-22[multiple changes]Arnaud Charlet1-42/+3
2010-06-22 Emmanuel Briot <briot@adacore.com> * prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use packages from the GNAT hierarchy instead of System when possible. * gcc-interface/Make-lang.in: Update dependencies. 2010-06-22 Jose Ruiz <ruiz@adacore.com> * s-taprop-vxworks.adb (Set_Priority): Remove the code that was previously in place to reorder the ready queue when a task drops its priority due to the loss of inherited priority. From-SVN: r161174
2009-11-30[multiple changes]Arnaud Charlet1-44/+34
2009-11-30 Robert Dewar <dewar@adacore.com> * osint.ads, prj.adb, prj.ads: Minor reformatting * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb, s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb, s-taprop-posix.adb: Minor code reorganization (use conditional expressions). 2009-11-30 Bob Duff <duff@adacore.com> * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change. From-SVN: r154779
2009-06-24[multiple changes]Arnaud Charlet1-0/+17
2009-06-24 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Check): A project declared abstract is legal if no attribute Source_Dirs, Source_Files, Source_List_File or Languages is declared. 2009-06-24 Robert Dewar <dewar@adacore.com> * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb, prj-env.adb: Minor reformatting 2009-06-24 Ed Falis <falis@adacore.com> * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity support for VxWorks SMP. * gcc-interface/Make-lang.in: Update dependencies From-SVN: r148902
2009-04-16[multiple changes]Arnaud Charlet1-0/+6
2009-04-16 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities and made global, to be used when installing parents of a child instance, to provide mappings for entities declared in formal packages of ancestor units. Now called from Install_Formal_Packages. 2009-04-16 Doug Rupp <rupp@adacore.com> * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others notation for clarity. * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb (Initialize): Initialize Known_Tasks with Environment task. * s-taskin.ads (Task_States): Move new states to end for the sake of GDB compatibility. * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task. From-SVN: r146158
2009-04-162009-04-16 Doug Rupp <rupp@adacore.com>Doug Rupp1-12/+0
* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb (Enter_Task): Move Known_Tasks initialization to s-tassta.adb * s-taprop-vms.adb (Enter_Task): Likewise. (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback. * s-tassta.adb (Activate_Tasks): After task creation set state to Activating, vice Runnable. Initialize Known_Tasks, moved here from s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger. Set state to Runnable after above. (Task_Wrapper): Set Debug_Event_Run. In exception block set Debug_Event_Terminated. * s-taskin.ads (Task_States): Add new states Activiting and Activator_Delay_Sleep. (Bit_Array, Debug_Event_Array): New types. (Global_Task_Debug_Event_Set: New flag. (Common_ATCB): New field Debug_Events. * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events. * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice Activator_Sleep. * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when Activating and when Acceptor_Delay_Sleep. * s-tasdeb.ads: Add constants for Debug_Events. (Debug_Event_Kind_Type): New subtype. (Signal_Debug_Event): New subprogram. * s-tasdeb.adb (Signal_Debug_Event): New null subprogram. From-SVN: r146155
2009-04-09Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.Jakub Jelinek1-14/+12
From-SVN: r145841
2008-04-13s-secsta.adb, [...]: Fix comment typos.Ralf Wildenhues1-2/+2
gcc/ada/ * s-secsta.adb, s-sequio.ads, s-shasto.ads, s-soflin.ads, s-stalib.ads, s-stausa.adb, s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb, s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads, s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb, s-tposen.ads, s-traceb-hpux.adb, s-traces.ads, s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads, s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads, scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads: Fix comment typos. From-SVN: r134241
2008-04-08s-osinte-vxworks6.ads: Removed, merged with s-osinte-vxworks.ads/.adbArnaud Charlet1-0/+3
* s-osinte-vxworks6.ads: Removed, merged with s-osinte-vxworks.ads/.adb * s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: New files. * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb: Minor updates to accomodate changes above. From-SVN: r134005
2008-03-26s-taprop-irix.adb, [...] (Create_Task): Do not attempt to set task priority ↵Arnaud Charlet1-28/+23
or task info if the thread could not be created. 2008-03-26 Arnaud Charlet <charlet@adacore.com> * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, s-taprop-posix.adb (Create_Task): Do not attempt to set task priority or task info if the thread could not be created. From-SVN: r133547
2007-12-13system-linux-ia64.ads, [...] (Stack_Check_Limits): New target parameter.Eric Botcazou1-0/+13
2007-12-06 Eric Botcazou <ebotcazou@adacore.com> Bob Duff <duff@adacore.com> Tristan Gingold <gingold@adacore.com> * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-arm.ads, system-darwin-x86.ads, system.ads, system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads, system-vms-ia64.ads (Stack_Check_Limits): New target parameter. (Always_Compatible_Rep): New flag to control trampolines globally. (Dynamic_Trampolines_Used): New flag for implementing the No_Implicit_Dynamic_Code restriction more correctly (not yet used, and not yet set correctly for some targets). * s-taprop-vxworks.adb: Use stack limit method of stack checking. Simply indirectly call s-stchop when a task is created. * ali.ads: New flag added: Stack_Check_Switch_Set which is set when '-fstack-check' appears as an argument (entries A) in an ALI file. * fe.h (Stack_Check_Limits): Declare new target parameter. (Check_Implicit_Dynamic_Code_Allowed): New procedure. * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS. This variable is declared in C to be sure not subject to elaboration code. (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to Storage_Error. * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter. (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters. * s-stchop.ads: Add comments. * s-stchop-vxworks.adb: Package almost fully rewritten to use stack limit method of stack checking. * s-stchop-limit.ads: New file. From-SVN: r130814
2007-11-23s-inmaop-posix.adb, [...]: Use 'Access instead of 'Unchecked_Access in ↵Samuel Tardieu1-2/+2
second and third arguments of... gcc/ada/ * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb, s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb: Use 'Access instead of 'Unchecked_Access in second and third arguments of pthread_sigmask. From-SVN: r130376
2007-10-15s-taprop-solaris.adb, [...]: Minor reformatting.Robert Dewar1-1/+3
2007-10-15 Robert Dewar <dewar@adacore.com> * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb, a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb, checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb, freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb, gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb, mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb, prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb, sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb, s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads, uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb, a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb, a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb, a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb: Minor reformatting. Add Unreferenced and Warnings (Off) pragmas for cases of variables modified calls where they are IN OUT or OUT parameters and the resulting values are not subsequently referenced. In a few cases, we also remove redundant code found by the new warnings. * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads, sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb, sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb, sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new warning controlled by -gnatw.o that warns on cases of out parameter values being ignored. From-SVN: r129318
2007-09-26s-taprop-lynxos.adb, [...] (Stop_Task): New function, dummy implementation.Jerome Guitton1-0/+13
2007-09-26 Jerome Guitton <guitton@adacore.com> * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-posix.adb (Stop_Task): New function, dummy implementation. * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function. * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time function which can be called by the debugger to interrupt the tasks of an Ada application asynchronously, as needed on VxWorks. (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks. * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration, renamed from Stop_All_Tasks. Update comments. (Stop_All_tasks): New function declaration. From-SVN: r128781
2007-08-14s-taprop-lynxos.adb, [...] (Continue_Task, [...]): New functions; dummy ↵Jerome Guitton1-0/+43
implementations. 2007-08-14 Jerome Guitton <guitton@adacore.com> * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks): New functions; dummy implementations. * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New functions, used to implement the multi-tasks mode routines on VxWorks. * s-osinte-vxworks.adb (Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines which have changed between VxWorks 5 and 6. (Int_Lock, Int_Unlock): New function, thin binding to kernel routines which are not callable from a RTP. * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions, implemented for the multi-tasks mode on VxWorks 5 and 6. * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions. * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New functions. From-SVN: r127431
2007-06-06s-taprop-vms.adb, [...] (Timed_Delay, [...]): Register the base time when ↵Arnaud Charlet1-38/+71
entering this routine to detect a backward clock... 2007-04-20 Arnaud Charlet <charlet@adacore.com> * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb, s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb, s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb, s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb, s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb, s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads, s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads, s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb, s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base time when entering this routine to detect a backward clock setting (manual setting or DST adjustment), to avoid waiting for a longer delay than needed. (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. Update comments. (Max_Task_Image_Length): New constant. Replace Warnings (Off) by Unreferenced pragma, cleaner. (Dynamic_Priority_Support): Removed, no longer needed. (Poll_Base_Priority_Change): Ditto. (Set_Ceiling): Add this procedure to change the ceiling priority associated to a lock. This is a dummy implementation because dynamic priority ceilings are not supported by the underlying system. * a-dynpri.adb (Set_Priority): Take into account case where Target is accepting a RV with its priority boosted. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for Succeeded = True. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state of Self_Id earlier. * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion. (Poll_Base_Priority_Change): Removed. Code clean up: use SSL.Current_Target_Exception. * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks to run as this is a potentially dispatching point. (Call_Synchronous): Use Local_Defer_Abort. (Callable): Relax assertion. (Selective_Wait): Relax assertion in case abort is not allowed. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. * s-tasuti.adb (Make_Passive): Adjust assertions. Remove handling of deferred priority change, and replace by setting the task priority directly, as required by AI-188. From-SVN: r125364
2007-04-06s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one or the ↵Pascal Obry1-28/+25
monotonic used by Ada.Real_Time) to... 2007-04-06 Pascal Obry <obry@adacore.com> * s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one or the monotonic used by Ada.Real_Time) to compute the sleep duration on Windows. From-SVN: r123546
2006-10-31s-osinte-posix.adb, [...] (To_Target_Priority): New function maps from ↵Arnaud Charlet1-40/+77
System.Any_Priority to a POSIX priority on the target. 2006-10-31 Arnaud Charlet <charlet@adacore.com> Jose Ruiz <ruiz@adacore.com> * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads, s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from System.Any_Priority to a POSIX priority on the target. * system-linux-ia64.ads: Extend range of Priority types on Linux to use the whole range made available by the system. * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New function maps from System.Any_Priority to a POSIX priority on the target. (PTHREAD_PRIO_PROTECT): Set real value. (PTHREAD_PRIO_INHERIT): Now a function. (SIGCPUFAIL): New signal. (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals are documented as reserved by the OS. * system-aix.ads: Use the full range of priorities provided by the system on AIX. * s-taprop-posix.adb: Call new function To_Target_Priority. (Set_Priority): Take into account Task_Dispatching_Policy and Priority_Specific_Dispatching pragmas when determining if Round Robin must be used for scheduling the task. * system-linux-x86_64.ads, system-linux-x86.ads, system-linux-ppc.ads: Extend range of Priority types on Linux to use the whole range made available by the system. * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb, s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache when deallocating the TCB in order to avoid potential references to deallocated data. (Set_Priority): Take into account Task_Dispatching_Policy and Priority_Specific_Dispatching pragmas when determining if Round Robin or FIFO within priorities must be used for scheduling the task. * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in the Thread field (to be used internally by the run-time system) and the kernel-level task id in the LWP field (to be used by the debugger). (Create_Task): Reorganize to unify the calls to taskSpawn into a single instance, and propagate the current task options to the spawned task. (Set_Priority): Take into account Priority_Specific_Dispatching pragmas. (Initialize): Set Round Robin dispatching when the corresponding pragma is in effect. From-SVN: r118235
2006-02-17s-taprop-irix.adb, [...] (Set_False, [...]): Add Abort_Defer/Undefer pairs ↵Jose Ruiz1-0/+26
to avoid the possibility of a task being aborted... 2006-02-17 Jose Ruiz <ruiz@adacore.com> * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb, s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add Abort_Defer/Undefer pairs to avoid the possibility of a task being aborted while owning a lock. From-SVN: r111184
2006-02-15s-taprop-posix.adb, [...] (Create_Task): Remove task adjustment code.Pascal Obry1-23/+2
2006-02-13 Pascal Obry <obry@adacore.com> * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vms.adb (Create_Task): Remove task adjustment code. This adjustement is already done when calling this routine. From-SVN: r111026
2005-09-05s-taprop-vxworks.adb: Move with clauses outside Warnings Off now that ↵Arnaud Charlet1-55/+30
dependent units are Preelaborate. 2005-09-01 Arnaud Charlet <charlet@adacore.com> Jose Ruiz <ruiz@adacore.com> * s-taprop-vxworks.adb: Move with clauses outside Warnings Off now that dependent units are Preelaborate. (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper initialization of this unit. (Specific): Add new procedures Initialize and Delete so that this package can be used for VxWorks 5.x and 6.x (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide differences between VxWorks 5.x and 6.x Minor reformatting. (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by caller. Use only Preelaborate-compatible constructs. * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from Primitives.Operations. (Delete, Initialize): New procedures. * s-osinte-vxworks.adb: Body used to handle differences between VxWorks 5.x and 6.x (kill, Set_Time_Slice, VX_FP_TASK): New functions. * s-osinte-vxworks.ads: Minor reformatting. Add VxWworks 6.x specific functions (only called from VxWorks 6 files). (VX_FP_TASK): Now a function, to handle differences between VxWorks 5 and 6. (Set_Time_Slice): New function, replacing kerneltimeSlice to share code between Vxworks 5 and 6. (taskLock, taskUnlock): Removeed, no longer used. * adaint.c: The wait.h header is not located in the sys directory on VxWorks when using RTPs. (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when using RTPs. (__gnat_dup): dup is available on Vxworks when using RTPs. (__gnat_dup2): dup2 is available on Vxworks when using RTPs. * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs. * expect.c: The wait.h header is not located in the sys directory on VxWorks when using RTPs. From-SVN: r103852
2005-07-01Update FSF addressR. Kelley Cook1-2/+2
From-SVN: r101492