1. 14 Aug, 2007 40 commits
    • s-tpobop.ads, [...] (Requeue_With_Abort): Rename field With_Abort. · 20dedfc1
      2007-08-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
      	s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
      	(PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
      	parameter.
      
      	* s-tassta.adb (Task_Wrapper): Increased value of the small overflow
      	guard to 12K.
      
      From-SVN: r127464
      Arnaud Charlet committed
    • s-tasini.adb (Get_Stack_Info): Move this function to System.Soft_Links.Tasking… · cc8be39e
      s-tasini.adb (Get_Stack_Info): Move this function to System.Soft_Links.Tasking because it is common to the...
      
      2007-08-14  Jose Ruiz  <ruiz@adacore.com>
      
      	* s-tasini.adb (Get_Stack_Info): Move this function to
      	System.Soft_Links.Tasking because it is common to the full and the
      	restricted run times.
      	(Init_RTS): Do not set the Get_Stack_Info soft link because it is done
      	in SSL.Tasking.Init_Tasking_Soft_Links.
      
      	* s-solita.adb (Get_Stack_Info): Function moved from
      	System.Tasking.Initialization because it is common to the full and the
      	restricted run times.
      	(Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
      
      From-SVN: r127463
      Jose Ruiz committed
    • s-finimp.adb (Detach_From_Final_List): make this procedure idempotent since it… · 95dd3302
      s-finimp.adb (Detach_From_Final_List): make this procedure idempotent since it is potentially used in cases implying...
      
      2007-08-14  Cyrille Comar  <comar@adacore.com>
      
      	* s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
      	since it is potentially used in cases implying double finalization of
      	the same object.
      
      From-SVN: r127462
      Cyrille Comar committed
    • s-fileio.adb (Is_Open): Add check for usability of the underlying file stream. · 2353aeeb
      2007-08-14  Pascal Obry  <obry@adacore.com>
      
      	* s-fileio.adb (Is_Open): Add check for usability of the underlying
      	file stream.
      
      From-SVN: r127461
      Pascal Obry committed
    • s-ficobl.ads: Declare AFCB as a tagged incomplete type... · b1b1010f
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
      	obsolescent warning on application of 'Class to an incomplete type.
      
      	* s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
      	prevent obsolescent warning on application of 'Class to an incomplete
      	type.
      
      From-SVN: r127460
      Ed Schonberg committed
    • sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a generated interface thunk. · f9c0d38c
      2007-08-14  Javier Miranda  <miranda@adacore.com>
      
      	* sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
      	generated interface thunk.
      
      From-SVN: r127459
      Javier Miranda committed
    • sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is… · d118a43e
      sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is common to Analyze_Protected_Type...
      
      2007-08-14  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
      	that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
      	of private types add missing check on matching interfaces in the
      	partial and full declarations.
      	(Analyze_Protected_Type): Code cleanup.
      	(Analyze_Task_Type): Code cleanup.
      
      From-SVN: r127458
      Javier Miranda committed
    • par-ch6.adb (P_Formal_Part): Fix wrong error message associated with null-excluding access types. · 4210c975
      2007-08-14  Javier Miranda  <miranda@adacore.com>
      
      	* par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
      	null-excluding access types.
      
      From-SVN: r127457
      Javier Miranda committed
    • output.ads, output.adb (Write_Eol): Remove trailing spaces before writing the line. · b63e3837
      2007-08-14  Vincent Celier  <celier@adacore.com>
      
      	* output.ads, output.adb (Write_Eol): Remove trailing spaces before
      	writing the line.
      	(Write_Eol_Keep_Blanks): New procedure to write a line, including
      	possible trailing spaces.
      	(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
      
      From-SVN: r127456
      Vincent Celier committed
    • layout.adb (Layout_Type): In the case of access-to-subprogram types... · 49934177
      2007-08-14  Gary Dismukes  <dismukes@adacore.com>
      
      	* layout.adb (Layout_Type): In the case of access-to-subprogram types,
      	if AAMP_On_Target is True, then the size of the type encompasses two
      	addresses (a static link and a subprogram address), except in the case
      	of library-level access types.
      
      From-SVN: r127455
      Gary Dismukes committed
    • impunit.adb: Re-organize System.Random_Numbers and GNAT.Random_Numbers and add to builds. · 6812b99b
      2007-08-14  Paul Hilfinger  <hilfinger@adacore.com>
      
      	* impunit.adb: Re-organize System.Random_Numbers and
      	GNAT.Random_Numbers and add to builds.
      
      	* Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
      
      	* s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
      
      	* a-assert.ads, a-assert.adb: New files.
      
      From-SVN: r127454
      Paul Hilfinger committed
    • gnatls.adb: (Corresponding_Sdep_Entry): Always return a value · f86eb278
      2007-08-14  Vincent Celier  <celier@adacore.com>
      
      	* gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
      	(Output_Source): Do nothing if parameter is No_Sdep_Id
      
      	* make.adb (Gnatmake): Do not rebuild an archive simply because a
      	shared library it imports has a later time stamp.
      	(Check): Resolve the symbolic links in the path name of the object
      	directory.
      	Check that the ALI file is in the correct object directory
      	Check if a file name does not correspond to the mapping of units
      	to file names.
      	(Display_Version): New procedure
      	(Initialize): Process switches --version and --help
      	Use type Path_Name_Type for path name
      
      From-SVN: r127453
      Vincent Celier committed
    • gnatlink.adb (Gnatlink): Pass switches to the linker even if the… · 7a912730
      gnatlink.adb (Gnatlink): Pass switches to the linker even if the binder-generated file is not in Ada.
      
      2007-08-14  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnatlink.adb (Gnatlink): Pass switches to the linker even if the
      	binder-generated file is not in Ada.
      	Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
      	recorded in the ALI file.
      	Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
      
      From-SVN: r127452
      Eric Botcazou committed
    • g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing switches. · 171d182e
      2007-08-14  Emmanuel Briot  <briot@adacore.com>
      
      	* g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
      	switches.
      
      From-SVN: r127451
      Emmanuel Briot committed
    • g-catiio.adb (Image): For the case of %s... · 154c1657
      2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
      	values to compute the number of seconds since the Unix Epoc in order to
      	account for Daylight Savings Time. Perform special processing for dates
      	that are earlier than the Unix Epoc to obtain a negative number.
      
      From-SVN: r127450
      Hristian Kirtchev committed
    • exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating typecode… · bfc2cdb1
      exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating typecode parameters for a union (in a variant record)...
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
      	typecode parameters for a union (in a variant record), remove
      	extraneous layer of Any wrapping for member label.
      	(Expand_Receiving_Stubs_Bodies): For an RCI package body that has
      	elabration statements, register the package with the name server
      	at the beginning, not at the end, of the elaboration statements so
      	that they can create remote access to subprogram values that designate
      	remote subprograms from the package.
      
      From-SVN: r127449
      Thomas Quinot committed
    • exp_ch9.adb (Build_Protected_Entry): Propagate the original source location to… · 9f6ea00a
      exp_ch9.adb (Build_Protected_Entry): Propagate the original source location to allow the correct generation of...
      
      2007-08-14  Javier Miranda  <miranda@adacore.com>
      	    Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch9.adb (Build_Protected_Entry): Propagate the original source
      	location to allow the correct generation of errors in case of
      	restrictions applied to the expanded code.
      	(Expand_Entry_Barrier): Remove all generated renamings for a barrier
      	function if the condition does not reference them.
      	(Expand_Entry_Body_Declarations): Mark the index constant as having a
      	valid value.
      
      From-SVN: r127448
      Javier Miranda committed
    • sem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in the… · aa5147f0
      sem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in the subtree to the current allocator...
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      	    Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_res.adb (Resolve_Allocator): Propagate any coextensions that
      	appear in the subtree to the current allocator if it is not a static
      	coextension.
      	(Resolve_Allocator): Perform cleanup if resolution has determined that
      	the allocator is not a coextension.
      	(Resolve): Skip an interpretation hidden by an abstract operator only
      	when the type of the interpretation matches that of the context.
      	(Resolve): When looping through all possible interpretations of a node,
      	do not consider those that are hidden by abstract operators.
      	(Resolve_Actuals): When verifying that an access to class-wide object
      	is an actual  for a controlling formal, ignore anonymous access to
      	subprograms whose return type is an access to class_wide type.
      	(Resolve_Slice): If the prefix of the slice is a selected component
      	whose type depends on discriminants, build its actual subtype before
      	applying range checks on the bounds of the slice.
      	(Valid_Conversion): In an instance or inlined body, compare root types,
      	to prevent anomalies between private and public views.
      	(Resolve): Improve error message for ambiguous fixed multiplication
      	expressions that involve universal_fixed multiplying operations.
      
      From-SVN: r127447
      Ed Schonberg committed
    • sem_ch8.ads, [...] (Find_Type, [...]): Use correct entity as denoted entity for… · 11560bcc
      sem_ch8.ads, [...] (Find_Type, [...]): Use correct entity as denoted entity for the selector of the rewritten node.
      
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
      	reference): Use correct entity as denoted entity for the selector of
      	the rewritten node.
      	(Find_Direct_Name): Add comment about Generate_Reference incorrectly
      	setting the Referenced_As_LHS flag for entities that are implicitly
      	dereferenced.
      	(Find_Type): If the type is an internally generated incomplete type,
      	mark the full view as referenced, to prevent spurious warnings.
      	(Find_Selected_Component, Has_Components): Handle properly non-limited
      	views that are themselves incomplete types.
      	Handle interfaces visible through limited-with clauses.
      	(Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
      	subprogram generic actual for which we have generated a renaming.
      	Warn when the renaming introduces a homonym of
      	the renamed entity, and the renamed entity is directly visible.
      
      From-SVN: r127446
      Thomas Quinot committed
    • sem_cat.ads, [...] (Has_Stream_Attribute_Definition): New formal At_Any_Place indicating... · fe685905
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
      	formal At_Any_Place indicating, when True, that we want to test for
      	availability of the stream attribute at any place (as opposed to the
      	current visibility context only).
      	(Missing_Read_Write_Attributes): A stream attribute is missing for the
      	purpose of enforcing E.2.2(8) only if it is not available at any place.
      	Take into account the Ada2005 pragma Has_Preelaborable_Initialization
      	when checking the legality of an extension aggregate in a preelaborable
      	package. Treat the literal null as a valid default expression in a
      	component declaration for a type with preelaborable initialization.
      	A limited interface is a legal progenitor for the designated type of a
      	remote access to class-wide type.
      
      From-SVN: r127445
      Thomas Quinot committed
    • sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to… · 401093c1
      sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to determine whether operation applies to the...
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
      	parameter to determine whether operation applies to the prefix.
      	(Complete_Object_Operation): If actual has an access type and
      	controlling formal is not an in_parameter, reject the actual if it is
      	an access_to_constant type.
      	(Try_Primitive_Operation): If the type of the prefix is a formal tagged
      	type, the candidate operations are found in the scope of declaration of
      	the type, because the type has no primitive subprograms.
      	(Analyze_Selected_Component): If prefix is class-wide, and root type is
      	a private extension, only examine visible components before trying to
      	analyze as a prefixed call.
      	Change Entity_List to Type_To_Use, for better readability.
      	(Has_Fixed_Op): Use base type when checking whether the type of an
      	operator has a user-defined multiplication/division
      	(Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
      	user-defined operators are available for fixed-point types.
      
      From-SVN: r127444
      Ed Schonberg committed
    • sem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with… · 1c0ce9d8
      sem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with interface progenitors use the analyzed...
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      	    Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
      	derived type with interface progenitors use the analyzed formal as the
      	parent of the actual, to create renamings for all the inherited
      	operations in Derive_Subprograms.
      	(Collect_Previous_Instances): new procedure within of
      	Load_Parent_Of_Generic, to instantiate all bodies in the compilation
      	unit being loaded, to ensure that the generation of global symbols is
      	consistent in different compilation modes.
      	(Is_Tagged_Ancestor): New function testing the ancestor relation that
      	takes progenitor types into account.
      	(Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
      	traversing over the primitives of the formal and actual types to locate
      	any abstract subprograms of the actual type that correspond to a
      	nonabstract subprogram of the formal type's ancestor type(s), and issue
      	an error if such is found.
      	(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
      	Instantiate_Package_Body, Instantiate_Subprogram_Body):
      	Remove bogus guard around calls to Inherit_Context.
      	(Reset_Entity): If the entity is the selector of a selected component
      	that denotes a named number, propagate constant-folding to the generic
      	template only if the named number is global to the generic unit.
      	(Set_Instance_Env): Only reset the compilation switches when compiling
      	a predefined or internal unit.
      
      From-SVN: r127443
      Ed Schonberg committed
    • table.adb, [...] (Append): Reimplement in terms of Set_Item. · 1d6f10a1
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      
      	* table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
      	of Set_Item.
      	(Set_Item): When the new item is an element of the currently allocated
      	table passed by reference, save a copy on the stack if we're going
      	to reallocate. Also, in Table.Set_Item, make sure we test the proper
      	variable to determine whether to call Set_Last.
      
      	* sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
      	symbols-vms.adb, symbols-processing-vms-alpha.adb,
      	symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
      	some occurrences of the pattern
      	   T.Increment_Last;
      	   T.Table (T.Last) := Value;
      	with a cleaner call to
      	   T.Append (Value);
      
      From-SVN: r127442
      Thomas Quinot committed
    • a-cihama.ads, [...] (Next): Applied pragma Inline. · f97ccb3a
      2007-08-14  Bob Duff  <duff@adacore.com>
      
      	* a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads, 
      	a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, 
      	a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads, 
      	a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
      	a-coorse.ads (Next): Applied pragma Inline.
      	Make all Containers packages Remote_Types (unless they are already
      	Pure).
      	(Previous): applied pragma Inline
      	(Elements_Type): is now a record instead of an array
      
      From-SVN: r127441
      Bob Duff committed
    • s-intman-irix.adb, [...]: Minor reformatting · b11e8d6f
      2007-08-14  Robert Dewar  <dewar@adacore.com>
      
      	* s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
      	s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
      	s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
      	s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
      	s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
      	s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
      	s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
      	s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
      	exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
      	s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
      	s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
      	a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
      	s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
      	g-altcon.adb: Minor reformatting
      
      	ada-tree.h: Delete empty line.
      
      	ali.ads: Minor reformatting
      	Clarification of comments.
      	Minor spelling correction
      
      	* exp_dbug.adb: Add Warnings Off to suppress new warning
      
      	* a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
      	formal
      
      	* a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
      	value
      
      	* a-textio.adb (Write): Remove an unnecessary IN OUT mode from
      
      	* a-textio.ads: Reorder the standard input/output/error declarations
      	for consistency.
      
      	* g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
      
      	* par-ch2.adb: Recognize RM specially in errout
      	Change 'R'M to RM in all error messages
      
      	* scng.adb: Recognize RM specially in errout
      
      	* sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
      	N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
      
      	* s-direio.adb: Add missing routine header box.
      
      	* sem_attr.ads: Add ??? comments
      
      	* sem_eval.adb: Recognize RM specially in errout
      	Change 'R'M to RM in all error messages
      
      	* sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
      
      	* s-tasinf.ads: Fix minor comment typo.
      
      	* a-cihama.adb: Minor comment addition
      
      	* a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
      	formal
      
      	* s-tasinf-tru64.ads: Fix minor comment typo.
      
      	* itypes.ads: Comment update.
      
      	* ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
      	anymore.
      
      	* argv.c: Added protection against null gnat_argv and gnat_envp.
      
      	* bcheck.adb (Check_Consistency): Use correct markup character ({) in
      	warning message when Tolerate_Consistency_Errors is True.
      
      	* cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
      	Any_Id, as this subprogram is only applicable to *type* entities (it
      	sets RM_Size). Instead initialize just Esize and Alignment.
      
      From-SVN: r127440
      Robert Dewar committed
    • binde.adb (Elab_All_Links): Remove unnecessary call to Generic_Separately_Compiled (if... · 9410151a
      2007-08-14  Thomas Quinot  <quinot@adacore.com>
      	    Vincent Celier  <celier@adacore.com>
      
      	* binde.adb (Elab_All_Links): Remove unnecessary call to
      	Generic_Separately_Compiled (if a unit satisfies this predicate, there
      	won't be an associated Afile).
      	(Elab_All_Links): Fail if a referenced unit cannot be found
      
      	* bindgen.adb: 
      	Fix comments in bindgen regarding consistency checks done in Bcheck:
      	the checks are made across units within a partition, not across several
      	partitions.
      	Fix generation of C binder file for VxWorks.
      
      	* lib.adb (Generic_Separately_Compiled): Rename to
      	Generic_May_Lack_ALI, more descriptive of the current use of the
      	predicate, and update documentation.
      
      	* lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
      	reorganization and documentation update for the case of predefined
      	library generics (for which we do not reference an Afile).
      
      From-SVN: r127439
      Thomas Quinot committed
    • a-tags.ads, a-tags.adb (Displace): Associate a message with the raised CE exception. · 5e1527bd
      2007-08-14  Javier Miranda  <miranda@adacore.com>
      
      	* a-tags.ads, 
      	a-tags.adb (Displace): Associate a message with the raised CE
      	exception.
      	(To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
      	To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
      	To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
      	spec.
      	(Default_Prim_Op_Count): Removed.
      	(IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
      	Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
      	Remove pragma Inline_Always.
      
      	* rtsfind.ads (Default_Prim_Op_Count): Removed
      	(Max_Predef_Prims): New entity
      	(RE_Expanded_Name): Removed
      	(RE_HT_Link): Removed
      	(RE_Iface_Tag): Remmoved
      	(RE_Ifaces_Table): Removed
      	(RE_Interfaces_Array): Removed
      	(RE_Interface_Data_Element): Removed
      	(RE_Nb_Ifaces): Removed
      	(RE_RC_Offset): Removed
      	(RE_Static_Offset_To_Top): Removed
      
      	* exp_atag.ads (Build_Inherit_Prims): Addition of a new formal.
      	(Build_Inherit_Predefined_Prims): Replace occurrences of Default_
      	Prim_Op_Count by Max_Predef_Prims.
      
      From-SVN: r127438
      Javier Miranda committed
    • adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept dir/file... · fdcf961c
      2007-08-14  Jose Ruiz  <ruiz@adacore.com>
      
      	* adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
      	dir/file, device:/dir/file, and device:drive_letter:/dir/file as
      	representing absolute path names.
      	__gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
      
      	* cstreams.c (__gnat_full_name for VxWorks): Use
      	__gnat_is_absolute_path to detect whether we need to add the current
      	directory to normalize the path.
      
      From-SVN: r127437
      Jose Ruiz committed
    • sem_ch10.adb: Create a limited view of an incomplete type... · 50b8a7b8
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb: Create a limited view of an incomplete type, to make
      	treatment of limited views uniform for all visible declarations in a
      	limited_withed package.
      	Set flag indicating that a subprogram body for a child unit has a
      	generated spec.
      	(Analyze_Compilation_Unit): If unit is a subprogram body that has no
      	separate declaration, remove the unit name from visibility after
      	compilation, so that environment is clean for subsequent compilations.
      	(Install_Limited_Context_Clauses): Do not install a
      	limited_private_with_clause unless the current unit is a body or a
      	private child unit.
      	(Analyze_Subunit, Install_Parents): Treat generic and non-generic units
      	in the same fashion.
      	(Install_Limited_Withed_Unit): Do not install a limited with clause if
      	it applies to the declaration of the current package body.
      	(Remove_Private_With_Clauses): If there is a regular with_clause for
      	the unit, delete Private_With_Clause from context, to prevent improper
      	hiding when processing subsequent nested packages and instantiations.
      
      From-SVN: r127436
      Ed Schonberg committed
    • s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. · febb581c
      2007-08-14  Olivier Hainque  <hainque@adacore.com>
      
      	* s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
      	stack size and initial stack pointer value for a given task.
      	(Enter_Task): Get the stack attributes of the task we are entering and
      	let the stack checking engine know about them.
      
      	* s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
      	Let the stack-checking engine know about the initial sp value and stack
      	size associated with the current task.
      	(Set_Stack_Info): If a stack base has been notified for the current
      	task, honor it. Fallback to the previous less accurate method otherwise.
      
      	* s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
      
      From-SVN: r127435
      Olivier Hainque committed
    • s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows. · a2264f2d
      2007-08-14  Pascal Obry  <obry@adacore.com>
      
      	* s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
      	(SYSTEM_INFO): New record.
      	(SetThreadIdealProcessor): New imported routine needed for supporting
      	task_info pragma on Windows.
      
      	* s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
      	info can be applied to the current host.
      	(Create_Task): Set the ideal processor if information is present.
      
      	* s-tasinf-mingw.adb, s-tasinf-mingw.ads,
      	a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
      
      From-SVN: r127434
      Pascal Obry committed
    • system-solaris-x86.ads (ZCX_By_Default): Switch to True. · 43316a01
      2007-08-14  Olivier Hainque  <hainque@adacore.com>
      
      	* system-solaris-x86.ads (ZCX_By_Default): Switch to True.
      	(GCC_ZCX_Support): Switch to True.
      	
      	* s-intman-solaris.adb (Notify_Exception): Call
      	Adjust_Context_For_Raise before raising, as expected for signal
      	handlers in general.
      	
      	* s-intman-posix.adb (Notify_Exception): Remove declaration of
      	Adjust_Context_For_Raise, moved to the spec of this unit to be visible
      	to other implementation bodies.
      	
      	* s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
      	be visible by multiple implementation bodies.
      	
      	* init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
      	only for conditions coming from hardware.
      	[alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
      	adjustments to signal context prior to exception raise from signal
      	handler.
      	(__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
      	mode.
      	Solaris section: (__gnat_adjust_context_for_raise): New function.
      	Implementation of the machine context adjustments to perform prior to
      	raise from a signal handler. Version for both sparc and x86.
      	(HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
      	(__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
      	prior to raising as expected for any handler, before possible nested
      	faults to make sure all the contexts in a chain have been adjusted by
      	the time we propagate.
      
      From-SVN: r127433
      Olivier Hainque committed
    • clean.adb, [...] (Create_Sym_Links): New procedure. · 2cd44f5a
      2007-08-14  Vincent Celier  <celier@adacore.com>
      
      	* clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb, 
      	gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
      	mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb, 
      	mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb, 
      	mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, 
      	mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
      	mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
      	procedure.
      	(Major_Id_Name): New function.
      	mlib-tgt.ads/mlib.tgt.adb:
      	(Library_Major_Minor_Id_Supported): New function, default returns True
      	Most mlib-tgt-*.adb that support shared libraries and symbolic links:
      	(Build_Dynamic_Library): Add support for major/minor ids for shared libs
      	Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
      	Implementation of Library_Major_Minor_Id_Supported returns False
      	clean.adb:
      	(Clean_Library_Directory): If major/minor ids are supported, clean all
      	library files.
      	Major update of the Project Manager and of the project aware tools,
      	including gprmake, so that the same sources in the GNAT repository
      	can be used by gprbuild.
      
      From-SVN: r127432
      Vincent Celier committed
    • s-taprop-lynxos.adb, [...] (Continue_Task, [...]): New functions; dummy implementations. · c9b9ec14
      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
      Jerome Guitton committed
    • exp_ch5.adb (Expand_Assign_Array): If source or target of assignment is a… · bd28782c
      exp_ch5.adb (Expand_Assign_Array): If source or target of assignment is a variable that renames a slice...
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
      	is a variable that renames a slice, use the variable itself in the
      	expannsion when the renamed expression itself may be modified between
      	the declaration of the renaming and the array assignment.
      
      From-SVN: r127430
      Ed Schonberg committed
    • exp_aggr.ads, [...] (Convert_Aggr_In_Allocator): Use Insert_Actions to place… · fa57ac97
      exp_aggr.ads, [...] (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded aggregate code before allocator...
      
      2007-08-14  Ed Schonberg  <schonberg@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_aggr.ads, 
      	exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
      	expanded aggregate code before allocator, and ahead of declaration for
      	temporary, to prevent access before elaboration when the allocator is
      	an actual for an access parameter.
      	(Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
      	the TSD and the table of interfaces.
      	(Convert_To_Assignments): Augment the test for delaying aggregate
      	expansion for limited return statements to include the case of extended
      	returns, to prevent creation of an unwanted transient scope.
      	(Is_Static_Dispatch_Table_Aggregate): New subprogram.
      	(Expand_Array_Aggregate): Handle aggregates associated with
      	statically allocated dispatch tables.
      	(Expand_Record_Aggregate): Handle aggregates associated with
      	statically allocated dispatch tables.
      	(Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
      	of anonymous access type.
      
      From-SVN: r127429
      Ed Schonberg committed
    • sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for dispatching operation · dc096132
      2007-08-14  Robert Dewar  <dewar@adacore.com>
      
      	* sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
      	dispatching operation
      
      From-SVN: r127428
      Robert Dewar committed
    • sem_ch5.adb: Improve warnings on redundant assignments · 1b6c95c4
      2007-08-14  Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb: Improve warnings on redundant assignments
      
      	* sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
      	parameter
      	(Is_Synchronized_Tagged_Type): New subprogram that returns true
      	in case of synchronized tagged types (AARM 3.9.4 (6/2)).
      	(Safe_To_Capture_Value): Can now return True for constants, even if Cond
      	is set to False. Improves handling of Known_[Not_]Null.
      	(Wrong_Type): Special case address arithmetic attempt
      	(Collect_Abstract_Interfaces): Add new formal to allow collecting
      	abstract interfaces just using the partial view of private types.
      	(Has_Abstract_Interfaces): Add new formal to allow checking types
      	covering interfaces using the partial view of private types.
      	(Is_Fully_Initialized_Type): Special VM case for uTag component. This
      	component still needs to be defined in this case, but is never
      	initialized as VMs are using other dispatching mechanisms.
      	(Abstract_Interface_List): For a protected type, use base type to get
      	proper declaration.
      	Improve warnings on redundant assignments
      	(Is_Variable): Handle properly an implicit dereference of a prefixed
      	function call.
      	(Build_Actual_Subtype): If this is an actual subtype for an
      	unconstrained formal parameter, use the sloc of the body for the new
      	declaration, to prevent anomalises in the debugger.
      
      From-SVN: r127427
      Robert Dewar committed
    • sem_ch11.adb: Improved warnings for unused variables · dc06abec
      2007-08-14  Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch11.adb: Improved warnings for unused variables
      
      	* sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
      	is a synchronized interface, the derived type is limited.
      	(Analyze_Object_Declaration): Mark the potential coextensions in the
      	definition and expression of an object declaration node.
      	(Build_Derived_Type): For the completion of a private type declaration
      	with a derived type declaration, chain the parent type's representation
      	items to the last representation item of the derived type (not the
      	first one) if they are not present already.
      	(Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
      	object declaration of forward references to tags.
      	(Access_Subprogram_Declaration): In Ada2005, anonymous access to
      	subprogram types can appear as access discriminants of synchronized
      	types.
      	(OK_For_Limited_Init_In_05): The initialization is legal is it is a call
      	given in prefixed form as a selected component.
      	(Process_Discriminants): If not all discriminants have defaults, place
      	error message on a default that is present.
      	(Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
      	extend a synchronized tagged type.
      	Improved warnings for unused variables
      	(Is_Visible_Component): Fix a visibility hole on a component inherited
      	by a private extension when parent is itself declared as a private
      	extension, and the derivation is in a child unit.
      	(Find_Hidden_Interface): Move spec from the package body.
      
      From-SVN: r127426
      Robert Dewar committed
    • sem_attr.ads, [...] (Analyze_Attribute, case Value): For enumeration type, mark… · 442ade9d
      sem_attr.ads, [...] (Analyze_Attribute, case Value): For enumeration type, mark all literals as referenced.
      
      2007-08-14  Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
      	enumeration type, mark all literals as referenced.
      	(Eval_Attribute, case 'Image): If the argument is an enumeration
      	literal and names are available, constant-fold but mark nevertheless as
      	non-static.
      	Clean up function names.
      	(Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
      	comment.
      	(Requires_Simple_Name_Prefix): Removed.
      
      From-SVN: r127425
      Robert Dewar committed