- 06 Jun, 2007 40 commits
-
-
2007-04-20 Quentin Ochem <ochem@adacore.com> * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter "Overflow_Guard". (Stack_Analyzer): Added field "Overflow_Guard" (Task_Result): Added field "Overflow_Guard". (Index_Str): New constant. (Task_Name_Str): New constant. (Actual_Size_Str): New constant. (Pattern_Array_Element_Size): New constant. (Get_Usage_Range): New subprogram. (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len. Now align the output. Added comments. (Initialize): Added value for Overflow_Guard. (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant. Update the value of the overflow guard according to the actual beginning of the pattern array. (Initialize_Analyzer): Added parameter Overflow_Guard. Take this parameter into accound when computing the max size. (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant. (Report_Result): Removed extra useless procedure. Updated call to Output_Result. Moved full computation of the Task_Result here. From-SVN: r125465
Quentin Ochem committed -
2007-04-20 Arnaud Charlet <charlet@adacore.com> * s-secsta.adb (Chunk): Ensure this object has a static size known at compile time, to avoid dynamic memory allocation (Elaboration code): Only use dynamic memory allocation when needed. From-SVN: r125464
Arnaud Charlet committed -
2007-04-20 Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for exceptions. (Write_Itype): Handle case of string literal subtype, which comes up in this context. (Update_Itype): when debugging expanded code, update sloc of itypes associated with defining_identifiers and ranges, for gdb use. (Sprint_Node_Actual): Add static keyword to object or exception declaration output if Is_Statically_Allocated is True. (Sprint_End_Label): Set entity of end marker for a subprogram, package, or task body, so that the tree carries the proper Sloc information for debugging use. (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes From-SVN: r125463
Ed Schonberg committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body From-SVN: r125462
Robert Dewar committed -
sem_smem.adb (Check_Shared_Var): Check explicitly for as task object, to prevent subsequent expansion. 2007-04-20 Ed Schonberg <schonberg@adacore.com> * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object, to prevent subsequent expansion. From-SVN: r125461
Ed Schonberg committed -
sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an illegal aggregate and the type is still... 2007-04-20 Robert Dewar <dewar@adacore.com> * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an illegal aggregate and the type is still Any_Composite. (Subtypes_Statically_Match): Fix problem of empty discriminant list From-SVN: r125460
Robert Dewar committed -
s-finroo.ads, [...] (Read, Write): Use null procedure declarations instead of an explicit null body, for conciseness. 2007-04-20 Thomas Quinot <quinot@adacore.com> * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure declarations instead of an explicit null body, for conciseness. From-SVN: r125459
Thomas Quinot committed -
2007-04-20 Jose Ruiz <ruiz@adacore.com> Arnaud Charlet <charlet@adacore.com> * s-taprob.adb (Unlock): Change the ceiling priority of the underlying lock, if needed. * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling priority associated to a lock. * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to take into account case of no abort restriction. (Initialize_Protection_Entries): Add initialization for the field New_Ceiling associated to the protected object. (Unlock_Entries): Change the ceiling priority of the underlying lock, if needed. * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest, since this function needs to be set consistently with Update_Exception. * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest, since this function needs to be set consistently with Update_Exception. * s-taskin.ads: Update comments on Interrupt_Server_Blocked_On_Event_Flag. (Unbind_Handler): Fix handling of server_task wakeup (Server_Task): Set self's state so that Unbind_Handler can take appropriate actions. (Common_ATCB): Now use a constant from System.Parameters to determine the max size of the Task_Image field. * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the Initialize_Analyzer function. ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to take into account case of no abort restriction. ([Vulnerable_]Complete_Master): Modify assertion. * s-tataat.adb (Finalize): Use the nestable versions of Defer/Undefer_Abort. * s-tpobop.adb (Protected_Entry_Call): Relax assertion. * s-tpobop.ads: Update comments. * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead of locking the object manually, to avoid inconsistencies between Lock/Unlock_Entry assertions. * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when terminating application and System.Parameters.No_Abort is True. Update comments on Interrupt_Server_Blocked_On_Event_Flag. (Unbind_Handler): Fix handling of server_task wakeup (Server_Task): Set self's state so that Unbind_Handler can take appropriate actions. From-SVN: r125458
Jose Ruiz committed -
Olivier Hainque <hainque@adacore.com> * a-except-2005.ads, a-except-2005.adb (Raise_From_Controlled_Operation): New procedure in (private part of) Ada.Exceptions (standard runtime version). Used to provide informational exception message when Program_Error is raised as a result of an Adjust or Finalize operation propagating an exception. (Rmsg_28): Fix description for E.4(18) check. (Raise_Current_Excep): Call Debug_Raise_Exception just before propagation starts, to let debuggers know about the event in a reliable fashion. Take the address of E and dereference to make sure it is homed on stack and prevent the stores from being deleted, necessary for proper debugger behavior on "break exception" hits. (Local_Raise): Moved to System.Exceptions * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate exception message from the current occurrence and raise Program_Error has been moved to Ada.Exceptions.Raise_From_Controlled_Operation. From-SVN: r125457
Thomas Quinot committed -
2007-04-20 Thomas Quinot <quinot@adacore.com> * socket.c (__gnat_close_signalling_fd): New function. (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname, __gnat_safe_getservbyname, __gnat_safe_getservbyport): New supporting functions for task safe Netdb operations. From-SVN: r125456
Thomas Quinot committed -
raise-gcc.c (__gnat_eh_personality): Tweak the signature and add special code on ia64-vms to handle major... 2007-04-20 Olivier Hainque <hainque@adacore.com> * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add special code on ia64-vms to handle major incompatibilities between the GCC unwinding ABI and the VMS Condition Handling Facility, both calling this routine with a very different set of arguments and expectations on the return value. From-SVN: r125455
Olivier Hainque committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on elaboration model (Check_A_Call): Add check for entry call which was causing blowup From-SVN: r125454
Robert Dewar committed -
2007-04-20 Hristian Kirtchev <kirtchev@adacore.com> Gary Dismukes <dismukes@adacore.com> Robert Dewar <dewar@adacore.com> Javier Miranda <miranda@adacore.com> * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute reference acts as an lvalue when the attribute name modifies the prefix (Is_Coextension_Root): New routine. (Mark_Static_Coextensions): New routine. (Type_Access_Level): Revise code for checking the level of the anonymous access type of a return object. (Safe_To_Capture_Value): Not safe to capture if Address_Taken (Matches_Prefixed_View_Profile): Remove the no longer necessary retrieval of the corresponding controlling record type. (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of concurrent types declared within a generic as well as class wide types. Emit a mode incompatibility error whenever a protected entry or routine override an interface routine whose first parameter is not of mode "out", "in out" or access to variable. (Overrides_Synchronized_Primitive): Rename to Find_Overridden_Synchronized_Primitive. (Collect_Interface_Components): New subprogram that collects all the components of a tagged record containing tags of secondary dispatch tables. (Add_Global_Declaration): New procedure (Abstract_Interface_List): Handle properly the case of a subtype of a private extension. (Type_Access_Level): In the case of a type whose parent scope is a return statement, call Type_Access_Level recursively on the enclosing function's result type to determine the level of the return object's type. (Build_Elaboration_Entity): Build name of elaboration entity from the scope chain of the entity, rather than the unit name of the file name. (Check_Nested_Access): New procedure. (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures. (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access. (Get_Renamed_Entity): Utility routine for performing common operation of chasing the Renamed_Entity field of an entity. From-SVN: r125453
Hristian Kirtchev committed -
2007-04-20 Robert Dewar <dewar@adacore.com> Javier Miranda <miranda@adacore.com> * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit overriding of an inherited private subprogram now there is no need to inherit its dispatching slot and reduce the size of the dispatch table. Set_All_DT_Position now ensures that the same slot is now assigned to both entities. This is required to statically build the dispatch table. (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need of calling Set_All_DT_Position to re-evaluate the position of the entries in the dispatch table. Such reevaluation is not desired if the tagged type is already frozen. From-SVN: r125452
Robert Dewar committed -
2007-04-20 Hristian Kirtchev <kirtchev@adacore.com> Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> Javier Miranda <miranda@adacore.com> * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the chain of coextensions when an allocator serves as the root of such a chain. (Propagate_Coextensions): Remove the test for the root being an allocator. (Resolve_Allocator): Add condition to ensure that all future decoration occurs on an allocator node. Add processing and cleanup for static coextensions. (Valid_Conversion): If the operand type is the limited view of a class-wide type, use the non-limited view is available to determine legality of operation. (Ambiguous_Character): move to spec, for use elsewhere. (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode (Resolve_Range): Diagnose properly an ambiguous range whose bounds are character literals. (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting Do_Division_Check flag explicitly. (Resolve_Actuals): If the actual is of a synchronized type, and the formal is of the corresponding record type, this is a call to a primitive operation of the type, that is declared outside of the type; the actual must be unchecked-converted to the type of the actual (Resolve_Call): Kill all current values for any subprogram call if flag Suppress_Value_Tracking_On_Call is set. (Resolve_Type_Conversion): Generate error message the the operand or target of interface conversions come from a limited view. (Check_Infinite_Recursion): Ignore generated calls (Check_Allocator_Discrim_Accessibility): New procedure for checking that an expression that constrains an access discriminant in an allocator does not denote an object with a deeper level than the allocator's access type. (Resolve_Allocator): In the case of an allocator initialized by an aggregate of a discriminated type, check that associations for any access discriminants satisfy accessibility requirements by calling Check_Allocator_Discrim_Accessibility. (Resolve_Equality_Op): Handle comparisons of anonymous access to subprogram types in the same fashion as other anonymous access types. (Resolve_Concatenation_Arg): Remove initial character '\' in an error message that is not a continuation message. (Resolve_Type_Conversion): Add missing support for conversion to interface type. (Resolve_Actuals): Introduce a transient scope around the call if an actual is a call to a function returning a limited type, because the resulting value must be finalized after the call. (Resolve_Actuals): If the call was given in prefix notations, check whether an implicit 'Access reference or implicit dereference must be added to make the actual conform to the controlling formal. From-SVN: r125451
Hristian Kirtchev committed -
Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Find_Var): Do not consider function call in test for infinite loop warning if warnings set off for function entity. (One_Bound): Do not create a temporary for a loop bound if it is a character literal. (Analyze_Assignment): Traverse the right hand side of an assignment and mark all allocators as static coextensions. (Analyze_Assignment): Exempt assignments involving a dispatching call to a function with a controlling access result from the check requiring the target to be class-wide. From-SVN: r125450
Robert Dewar committed -
sem_ch13.adb (Analyze_Attribute_Definition_Clause, [...]): Check for restriction No_Implementation_Attributes if in Ada 95 mode. 2007-04-20 Robert Dewar <dewar@adacore.com> Arnaud Charlet <charlet@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size): Check for restriction No_Implementation_Attributes if in Ada 95 mode. (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error message when using a VM, since this attribute is not supported. (Analyze_Record_Representation_Clause): Give unrepped component warnings * usage.adb: Add new warning for renaming of function return objects Indicate that -gnatwp and -gnatwP concern front-end inlining Add line for -gnatyg Add usage information for -gnatw.c/C From-SVN: r125449
Robert Dewar committed -
sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the use of entity Exception_Occurrence if... 2007-04-20 Javier Miranda <miranda@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> Gary Dismukes <dismukes@adacore.com> * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the use of entity Exception_Occurrence if it is not available in the target run-time. * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When concurrent types are declared within an Ada 2005 generic, build their corresponding record types since they are needed for overriding-related semantic checks. (Analyze_Protected_Type): Rearrange and simplify code for testing that a protected type does not implement a task interface or a nonlimited interface. (Analyze_Task_Type): Rearrange and simplify code for testing that a task type does not implement a protected interface or a nonlimited interface. (Single_Task_Declaration, Single_Protected_Declaration): use original entity for variable declaration, to ensure that debugging information is correcty generated. (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander routines if the expander is not active. (Analyze_Task_Body): Mark all handlers to stop optimization of local raise, since special things happen for task exception handlers. * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for concurrent types declared within a generic. (Check_Dispatching_Operation): Do not emit warning about late interface operations in the context of an instance. (Check_Dispatching_Call): Remove restriction against calling a dispatching operation with a limited controlling result. (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and Register_Interface_DT_Entry by calls to Register_Primitive. (Check_Dispatching_Formals): Handle properly a function with a controlling access result. From-SVN: r125448
Javier Miranda committed -
sem_ch10.ads, [...] (Analyze_Compilation_Unit): Disable check on obsolescent withed unit in case of limited-withed units. 2007-04-20 Javier Miranda <miranda@adacore.com> Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check on obsolescent withed unit in case of limited-withed units. (Analyze_Compilation_Unit): Add guard to code that removed an instantiation from visibility, to prevent compiler aborts when instantiation is abandoned early on. (Install_Limited_Withed_Unit): Recognize a limited-with clause on the current unit being analyzed, and Distinguish local incomplete types from limited views of types declared elsewhere. (Build_Limited_Views.Decorate_Tagged_Type): Add documentation to state that the class-wide entity is shared by the limited-view and the full-view. (Analyze_With_Clause): Improve placement of flag for case of unimplemented unit. (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a manner similar to GNAT.Current_Exception. This is a violation of restriction (No_Exception_Propagation), and also inhibits the optimization of local raise to goto. (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed, and if so set Most_Recent_Exception_Used flag in Opt, and also check for violation of restriction No_Exception_Propagation. From-SVN: r125447
Javier Miranda committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names Remove no longer used nodes. From-SVN: r125446
Robert Dewar committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * scng.adb: (Check_End_Of_Line): Deal with very long lines From-SVN: r125445
Robert Dewar committed -
2007-04-20 Arnaud Charlet <charlet@adacore.com> * s-bitops.adb: Get rid of System.Pure_Exceptions. Replace UC by Ada.UC From-SVN: r125444
Arnaud Charlet committed -
restrict.ads, [...] (No_Exception_Handlers_Set): Only return true if configurable run-time or No_Run_Time is set. 2007-04-20 Arnaud Charlet <charlet@adacore.com> * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return true if configurable run-time or No_Run_Time is set. (Set_Restriction): Avoid setting restriction No_Elaboration_Code when processing an unit which is not the one being compiled. From-SVN: r125443
Arnaud Charlet committed -
2007-04-20 Vincent Celier <celier@adacore.com> * prj.adb (Project_Empty): Gives default value for new component Libgnarl_Needed * prj-attr.ads: Minor reformatting * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object directory using the untouched casing. (For_All_Source_Dirs): Idem. * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record directories specified with switches -aP. (Add_Search_Project_Directory): New procedure (Initialize_Project_Path): Put the directories in table Search_Directories in the project search path. (Initialize_Project_Path): For VMS, transform into canonical form the project path. From-SVN: r125442
Vincent Celier committed -
2007-04-20 Vincent Celier <celier@adacore.com> * prep.ads, prep.adb (Expression): New Boolean parameter Complemented, defaulted to False. In the "not" case, recursive call with Complemented set to True. Do not allow "or" or "and" operators when Complemented is True. From-SVN: r125441
Vincent Celier committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * par-ch4.adb: (P_Name): Recover from literal used as name From-SVN: r125440
Robert Dewar committed -
par-ch12.adb (P_Generic_Associations): The source position of an Others association is that of the others keyword... 2007-04-20 Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> * par-ch12.adb (P_Generic_Associations): The source position of an Others association is that of the others keyword, not that of the token that follows the box. (P_Formal_Type_Definition): Handle formal access types that carry a not null indicator. * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If multiple identifier are present, save Scan_State before scanning the colon, to ensure that separate trees are constructed for each declaration. (P_Identifier_Declarations): For object declaration, set new flag Has_Init_Expression if initialization expression present. (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL Improve NOT NULL error messages From-SVN: r125439
Ed Schonberg committed -
sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components of the type that specify the position of interface... 2007-04-20 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components of the type that specify the position of interface tags when the type inherits discriminated array components from the parent type. If a component is initialized with a box, check for the presence of a default expression in its declaration before using its default initialization procedure. (Resolve_Record_Aggregate): If a component is box-initialized, and the component type has a discriminants, create a partial aggregate for it by copying the discriminants of the component subtype. Reject attempt to initialize a discriminant with a box. (Array_Aggr_Subtype): Indicate to the backend that the size of arrays associated with dispatch tables is known at compile time. (Get_Value): If an association in a record aggregate has a box association, and the corresponding record component has a default expression, always copy the default expression, even when the association has a single choice, in order to create a proper association for the expanded aggregate. From-SVN: r125438
Ed Schonberg committed -
2007-04-20 Javier Miranda <miranda@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to the full type declaration. (Analyze_Component_Declaration): Add local variable E to capture the initialization expression of the declaration. Replace the occurences of Expression (N) with E. (OK_For_Limited_Init_In_05): Allow initialization of class-wide limited interface object with a function call. (Array_Type_Declaration): If the declaration lacks subtype marks for indices, create a simple index list to prevent cascaded errors. (Is_Null_Extension): Ignore internal components created for secondary tags when checking whether a record extension is a null extension. (Check_Abstract_Interfaces): Add missing support for interface subtypes and generic formals. (Derived_Type_Declaration): Add missing support for interface subtypes and generic formals. (Analyze_Object_Declaration): If an initialization expression is present, traverse its subtree and mark all allocators as static coextensions. (Add_Interface_Tag_Component): When looking for components that may be secondary tags, ignore pragmas that can appear within a record declaration. (Check_Abstract_Overriding): an inherited function that dispatches on result does not need to be overriden if the controlling type is a null extension. (Mentions_T): Handle properly a 'class attribute in an anonymous access component declaration, when the prefix is an expanded name. (Inherit_Component): If the derivation is for a private extension, inherited components remain visible and their ekind should not be set to Void. (Find_Type_Of_Object): In the case of an access definition, always set Is_Local_Anonymous_Access. We were previously not marking the anonymous access type of a return object as a local anonymous type. (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete range with character literal bounds. (Constrain_Array): Initialize the Packed_Array_Type field to Empty. (Access_Subprogram_Declaration): Indicate that the type declaration depends on an incomplete type only if the incomplete type is declared in an open scope. (Analyze_Subtype_Declaration): Handle properly subtypes of synchronized types that are tagged, and that may appear as generic actuals. (Access_Subprogram_Declaration): An anonymous access to subprogram can appear as an access discriminant in a private type declaration. (Add_Interface_Tag_Components): Complete decoration of the component containing the tag of a secondary dispatch table and the component containing the offset to the base of the object (this latter component is only generated when the parent type has discriminants --as documented in this routine). (Inherit_Components): Use the new decoration of the tag components to improve the condition that avoids inheriting the components associated with secondary tags of the parent. (Build_Discriminanted_Subtype): Indicate to the backend that the size of record types associated with dispatch tables is known at compile time. (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed. (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface to include task, protected, and synchronized interfaces as limited interfaces. (Process_Discriminants): Remove the setting of Is_Local_Anonymous_Access on the type of (anonymous) access discriminants of nonlimited types. (Analyze_Interface_Type_Declaration): Complete the decoration of the class-wide entity it is is already present. This situation occurs if the limited-view has been previously built. (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep field. (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute Related_Interface. From-SVN: r125437
Javier Miranda committed -
osinte-c.ads, [...] (Set_Library_Info_Name): Fail if base name of specified object file is not equal to base name of source. 2007-04-20 Vincent Celier <celier@adacore.com> * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name of specified object file is not equal to base name of source. From-SVN: r125436
Vincent Celier committed -
2007-04-20 Vincent Celier <celier@adacore.com> * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory separator, use instead the proper host directory separator. (Copy_ALI_Files): Make sure that an already existing ALI file in the ALI copy dir is writable, before doing the copy. * mlib-utl.ads, mlib-utl.adb: (Gcc): If length of command line is too long, put the list of object files in a response file, if this is supported by the platform. (Ar): If invocation of the archive builder is allowed to be done in chunks and building it in one shot would go above an OS dependent limit on the number of characters on the command line, build the archive in chunks. From-SVN: r125435
Vincent Celier committed -
2007-04-20 Pascal Obry <obry@adacore.com> * mkdir.c (__gnat_mkdir): Add support for UTF-8. From-SVN: r125434
Pascal Obry committed -
2007-04-20 Jose Ruiz <ruiz@adacore.com> Arnaud Charlet <charlet@adacore.com> * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run time, use the default s-interr body that provides interrupt support based on signals. (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b}, g-soccon.ads, and s-taprop.adb for the marte run time. (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and timers are supported on marte. (EH_MECHANISM for marte): Do not use ZCX. (THREADSLIB for marte): Use -lmarte. Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS Add mlib-tgt-specific.o to gnatmake objects mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no longer of MLib.Tgt. (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks 6, either kernel or rtp, use a specialized version of s-osinte.ads. From-SVN: r125433
Jose Ruiz committed -
2007-04-20 Arnaud Charlet <charlet@adacore.com> Vincent Celier <celier@adacore.com> * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java, since both are separated. Add support for imported CIL packages. Add further special handling of "value_type" for CIL. Add special handling of pragma Import for CIL. * make.ads, make.adb: When switch -eS is used, direct all outputs to standard output instead of standard error, except errors. (Absolute_Path): Use untouched casing for the parent directory. (Add_Library_Search_Dir): Use the untouched directory name. (Add_Source_Search_Dir): Idem. (Change_To_Object_Directory): Update output to use proper casing. (Create_Binder_Mapping_File): Use the untouched filename to set ALI_Name. (Gnatmake): Use untouched library and executable directory names. (Insert_Project_Sources): Use untouched filename for spec and body. (Is_In_Object_Directory): Use untouched object directory. (Mark_Directory): Idem. (Collect_Arguments_And_Compile): Ensure that Full_Source_File always contains the non-canonical filename in all cases. (Change_To_Object_Directory): In verbose mode, display the name of the object directory we're changing to. (Compile_Sources): Make sure, when a project file is used, to compile the body of the unit, when there is one, even when only the spec is recorded in an ALI file. (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the spec to the body. (Report_Compilation_Failed): New procedure (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg): procedures moved from the spec to the body. (Extract_Failure): Removed, not used Replace explicit raises of exception Bind_Failed and Link_Failed with calls to Make_Failed with the proper message. Replace explicit raises of exception Compilation_Failed with calls to procedure Report_Compilation_Failed. (Initialize): Create mapping files unconditionally when using project files. * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL, Pragma_CIL_Constructor): New names. * targparm.ads, targparm.adb (Compiler_System_Version): Removed, no longer used. (Get_Target_Parameters): Relax checks on system.ads validity. Add handling of two new system flags: JVM and CLI. From-SVN: r125432
Arnaud Charlet committed -
2007-04-20 Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> * sem_ch12.adb (Analyze_Associations): Diagnose use of an others association in an instance. (Copy_Generic_Node): If the node is a string literal, no need to copy its descendants. (Is_Generic_Formal): For a formal subprogram, the declaration is the grandparent of the entity. (Analyze_Formal_Interface_Type): Transform into a full type declaration, to simplify handling of formal interfaces that derive from other formal interfaces. (Instantiate_Subprogram_Body): The defining unit name of the body of the instance should be a defining identifier. (Install_Formal_Packages): make global to the package, for use in instantiations of child units. (Analyze_Package_Instantiation): Do not attempt to set information on an enclosing master of an entry when expansion is disabled. (Instantiate_Type): If the actual is a tagged synchronized type and the generic ancestor is an interface, create a generic actual for the corresponding record. (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type declaration, to ensure that the interface list is processed correctly. (Inline_Instance_Body): If enclosing scope is an instance body, remove its entities from visibiility as well. (Pre_Analyze_Actuals): if the actual is an allocator with constraints given with a named association, analyze the expression only, not the discriminant association itself. (Reset_Entity): If the analysis of a selected component is transformed into an expanded name in the prefix of a call with parameters, do not transform the original node into an expanded name, to prevent visibility errors in the case of nested generics. (Check_Private_View): For an array type, check whether the index types may need exchanging. From-SVN: r125431
Ed Schonberg committed -
2007-04-20 Robert Dewar <dewar@adacore.com> * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package spec from body (Layout_Type): Fix recomputation of size from alignment. From-SVN: r125430
Robert Dewar committed -
2007-04-20 Olivier Hainque <hainque@adacore.com> * initialize.c (__gnat_initialize for vxworks): Update documentation on the ZCX support, using different sets of crtstuff objects than with GCC 3.4. From-SVN: r125429
Olivier Hainque committed -
2007-04-20 Tristan Gingold <gingold@adacore.com> Olivier Hainque <hainque@adacore.com> * init.c: Do not adjust IP of an imported VMS exception of ia64. LIB$STOP is called to raise an exception and the IP of the exception is the instruction right after the call. (__gnat_adjust_context_for_raise, AIX): Implement. (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call adjust_context_for_raise before Raise_From_Signal_Hanler. (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure siginfo is passed to the handler, necessary to let the zcx propagation engine unwind past it. From-SVN: r125428
Tristan Gingold committed -
2007-04-20 Vincent Celier <celier@adacore.com> Arnaud Charlet <charlet@adacore.com> * a-clrefi.adb, a-clrefi.ads: New files * impunit.adb: Add s-os_lib in the list of user visible units. (Non_Imp_File_Names_95): Add a-clrefi to this list Remove obsolete run-time entries. (Non_Imp_File_Names_05): Add Ada 2005 entries for: "a-exetim" -- Ada.Execution_Time "a-extiti" -- Ada.Execution_Time.Timers * mlib-prj.ads, mlib-prj.adb (Build_Library): Use untouched object dir and library dir. At the same time makes sure that the checks are done using the canonical form. Removes hard-coded directory separator and use the proper host one instead. (Process_Project): Do not look in object directory to check if libgnarl is needed for a library, if there is no object directory. (Build_Library): Scan the ALI files to decide if libgnarl is needed for linking. (Build_Library): When invoking gnatbind, use a response file if the total size of the arguments is too large. * Makefile.rtl: (g-sttsne): New object file. Add entry for a-clrefi, s-utf_32, System.Exceptions * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o. (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o. (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o Change g-string to s-string, g-os_lib to s-os_lib Change all g-utf_32 references to s-utf_32 From-SVN: r125427
Vincent Celier committed -
hostparm.ads (Normalized_CWD): Use the host directory separator instead of the hardcoded forward slash which... 2007-04-20 Pascal Obry <obry@adacore.com> * hostparm.ads (Normalized_CWD): Use the host directory separator instead of the hardcoded forward slash which is not the proper character on Windows for example. (Java_VM): Removed. From-SVN: r125426
Pascal Obry committed
-