- 08 Apr, 2008 40 commits
-
-
2008-04-08 Robert Dewar <dewar@adacore.com> * s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with negative scale (Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1) Properly handle case where Aft > Scale and input number is less than one. From-SVN: r134050
Robert Dewar committed -
sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for the ancestor part of an extension aggregate for a... 2008-04-08 Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> * sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for the ancestor part of an extension aggregate for a limited type. (Resolve_Array_Aggregate): Issue warning for sliding of aggregate with enumeration index bounds. (Resolve_Array_Aggregate): Add circuit for diagnosing missing choices when array is too short. (Check_Expr_OK_In_Limited_Aggregate): Move function Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and change name). (Resolve_Array_Aggregate.Resolve_Aggr_Expr): Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited component associations. (Check_Non_Limited_Type): Moved to outer level and renamed. (Resolve_Record_Aggregate): In an extension aggregate, an association with a box initialization can only designate a component of the extension, not a component inherited from the given ancestor * sem_case.adb: Use new Is_Standard_Character_Type predicate From-SVN: r134049
Ed Schonberg committed -
sem.adb (Analyze): Consider case in which we analyze an empty node that was generated by a call to... 2008-04-08 Javier Miranda <miranda@adacore.com> * sem.adb (Analyze): Consider case in which we analyze an empty node that was generated by a call to a runtime function that is not available under the configurable runtime. * sem.ads (Inside_Freezing_Actions): New flag. (Save_Check_Policy_List): New field in scope stack entry From-SVN: r134048
Javier Miranda committed -
scng.adb (Scan_Identifier): Handle case of identifier starting with wide character using UTF-8 encoding. 2008-04-08 Robert Dewar <dewar@adacore.com> * scng.adb (Scan_Identifier): Handle case of identifier starting with wide character using UTF-8 encoding. From-SVN: r134047
Robert Dewar committed -
2008-04-08 Vincent Celier <celier@adacore.com> * prj-util.adb (Executable_Of): New String parameter Language. When Ada_Main is False and Language is not empty, attempt to remove the body suffix or the spec suffix of the language to get the base of the executable file name. (Put): New Boolean parameter Lower_Case, defauilted to False. When Lower_Case is True, put the value in lower case in the name list. (Executable_Of): If there is no executable suffix in the configuration, then do not modify Executable_Extension_On_Target. * prj-util.ads (Executable_Of): New String parameter Language, defaulted to the empty string. (Put): New Boolean parameter Lower_Case, defauilted to False From-SVN: r134046
Vincent Celier committed -
* par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized" in a type declaration, if this is not an interface declaration or private type extension. From-SVN: r134045
Ed Schonberg committed -
2008-04-08 Robert Dewar <dewar@adacore.com> * par-ch11.adb (P_Exception_Handler): Check indentation level for handler From-SVN: r134044
Robert Dewar committed -
2008-04-08 Jose Ruiz <ruiz@adacore.com> * osint.ads, osint.adb (Get_Libraries_From_Registry): Improve documentation. Update comments. (Read_Default_Search_Dirs): Do not consider spaces as path separators because spaces may be part of legal paths. From-SVN: r134043
Jose Ruiz committed -
2008-04-08 Thomas Quinot <quinot@adacore.com> * nlists.adb (Is_Non_Empty_List): Remove redundant test. First (No_List) is defined to return Empty. From-SVN: r134042
Thomas Quinot committed -
2008-04-08 Vincent Celier <celier@adacore.com> * mlib-prj.adb (Build_Library): Compare with ALI file name in canonical case to decide if ALI object file is included in library. (Build_Library): Never attempt to build a library if the project is externally built. From-SVN: r134041
Vincent Celier committed -
* Make-lang.in: Disable warnings during first stage of bootstrap Get rid of gnatbl. Update dependencies. From-SVN: r134040
Arnaud Charlet committed -
2008-04-08 Vincent Celier <celier@adacore.com> Thomas Quinot <quinot@adacore.com> * make.adb: (Gnatmake_Called): Remove, no longer necessary (Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files". (Insert_Project_Sources): Take into account index in multi-unit source files. After building a library project, delete all temporary files. (Initialize): Reset current output after parsing project file. (Collect_Arguments_And_Compile): Never insert in the queue the sources of library projects that are externally built. Put file name in error and inform messages if -df is used (Display): If invoked with -d7, do not display path names, but only file names. * makeutl.ads (Path_Or_File_Name): New function (Path_Or_File_Name): New function From-SVN: r134039
Vincent Celier committed -
2008-04-08 Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> Gary Dismukes <dismukes@adacore.com> * lib-xref.adb (Is_On_LHS): Remove dead code (Output_Overriden_Op): If the overridden operation is itself inherited, list the ancestor operation, which is the one whose body or absstract specification is actually being overridden. * sem_ch7.adb (Is_Primitive_Of): use base type to determine whether operation is primitive for the type. (Declare_Inherited_Private_Subprograms): If the new operation overrides an inherited private subprogram, set properly the Overridden_Operation attribute, for better cross-reference information. (Analyze_Package_Specification): Do late analysis of spec PPCs (Install_Private_Declaration, Uninstall_Declarations): Save/restore properly the full view and underlying full views of a private type in a child unit, whose full view is derived from a private type in a parent unit, and whose own full view becomes visible in the child body. * sem_disp.adb (Check_Dispatching_Operation): When a body declares a primitive operation after the type has been frozen, add an explicit reference to the type and the operation, because other primitive references have been emitted already. (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a dispatching call on VM targets. From-SVN: r134038
Ed Schonberg committed -
sprint.adb (Write_Itype): Handle Itypes whose Parent field points to the declaration for some different... 2008-04-08 Robert Dewar <dewar@adacore.com> * sprint.adb (Write_Itype): Handle Itypes whose Parent field points to the declaration for some different entity. (Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface list is precent (following the parent subtype indication), display appropriate "and" keyword. * itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize Remove unnecessary calls to Init_Size_Align and Init_Esize. Add notes on use of Parent field of an Itype From-SVN: r134037
Robert Dewar committed -
2008-04-08 Thomas Quinot <quinot@adacore.com> * g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets: add a pointer to generic sockets literature do not mention that the given example is "typical" usage. Remove obsolete comment about multicast not being supported on Windows. (Connect_Socket): Make Server mode IN rather than IN OUT since this formal is never modified. From-SVN: r134036
Thomas Quinot committed -
2008-04-08 Robert Dewar <dewar@adacore.com> * gnatbind.adb (Restriction_Could_Be_Set): New procedure (List_Applicable_Restrictions): Do not list existing restrictions From-SVN: r134035
Robert Dewar committed -
2008-04-08 Vincent Celier <celier@adacore.com> * gnat1drv.adb: Send all messages indicating an error to standard error From-SVN: r134034
Vincent Celier committed -
2008-04-08 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): Improve warnings on access types in pure units. (Size_Known): Generic formal scalar types have known at compile time size, so remove check. Fix casing error in formal parameter name in call (Freeze_Subprogram): If the subprogram is a user-defined operator, recheck its overriding indication. From-SVN: r134033
Robert Dewar committed -
exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is an Input function for an access type... 2008-04-08 Ed Schonberg <schonberg@adacore.com> * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is an Input function for an access type, do not perform default initialization on the local variable that receives the value, to prevent spurious warnings when the type is null-excluding. From-SVN: r134032
Ed Schonberg committed -
2008-04-08 Thomas Quinot <quinot@adacore.com> * exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name in call (Add_RACW_Features): When processing an RACW in another unit than the main unit, set Body_Decls to No_List to indicate that the bodies of the type's TSS must not be generated. (GARLIC_Support.Add_RACW_Read_Attribute, GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if Body_Decls is No_List. (PolyORB_Support.Add_RACW_Read_Attribute, PolyORB_Support.Add_RACW_Write_Attribute, PolyORB_Support.Add_RACW_From_Any, PolyORB_Support.Add_RACW_To_Any, PolyORB_Support.Add_RACW_TypeCode): Same. (Transmit_As_Unconstrained): New function. (Build_Ordered_Parameters_List): Use the above to order parameters. (GARLIC_Support.Build_General_Calling_Stubs): Use the above to determine which parameters to unmarshall using 'Input at the point where their temporary is declared (as opposed to later on with a 'Read call). (PolyORB_Support.Build_General_Calling_Stubs): Use the above to determine which parameters to unmarshall using From_Any at the point where their temporary is declared (as opposed to later on with an assignment). From-SVN: r134031
Thomas Quinot committed -
exp_ch9.ads, [...] (Build_Protected_Entry, [...]): Generate debug info for declarations related to the handling of private data in... 2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> Gary Dismukes <dismukes@adacore.com> * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry, Build_Unprotected_Subprogram_Body): Generate debug info for declarations related to the handling of private data in task and protected types. (Debug_Private_Data_Declarations): New subprogram. (Install_Private_Data_Declarations): Remove all debug info flagging. This is now done by Debug_Private_Data_Declarations at the correct stage of expansion. (Build_Simple_Entry_Call): If the task name is a function call, expand the prefix into an object declaration, and make the surrounding block a task master. (Build_Master_Entity): An internal block is a master if it wraps a call. Code reformatting, update comments. Code clean up. (Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address. (Replicate_Entry_Formals): If the formal is an access parameter or anonymous access to subprogram, copy the original tree to create new entities for the formals of the subprogram. (Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable for tasks to store the value passed using pragma Relative_Deadline. (Make_Task_Create_Call): Add the Relative_Deadline argument to the run-time call to create a task. (Build_Wrapper_Spec): If the controlling argument of the interface operation is an access parameter with a non-null indicator, use the non-null indicator on the wrapper. * sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when present, which it may not be in the case where the type entity is an incomplete view brought in by a limited with. (Analyze_Task_Type): Only retrieve the full view when present, which it may not be in the case where the type entity is an incomplete view brought in by a limited with. (Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for private components of a protected type, to prevent the generation of freeze nodes for which there is no proper scope of elaboration. * exp_util.ads, exp_util.adb (Remove_Side_Effects): If the expression is a function call that returns a task, expand into a declaration to invoke the build_in_place machinery. (Find_Protection_Object): New routine. (Remove_Side_Effects): Also make a copy of the value for attributes whose result is of an elementary type. (Silly_Boolean_Array_Not_Test): New procedure (Silly_Boolean_Array_Xor_Test): New procedure (Is_Volatile_Reference): New function (Remove_Side_Effects): Use Is_Volatile_Reference (Possible_Bit_Aligned_Component): Handle slice case properly * exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false case test to Exp_Util (Expand_Packed_Xor): Move silly true/true case test to Exp_Util From-SVN: r134030
Hristian Kirtchev committed -
exp_ch7.adb (Find_Final_List): Change the test for generating a selected component from an access type's... 2008-04-08 Gary Dismukes <dismukes@adacore.com> Thomas Quinot <quinot@adacore.com> * exp_ch7.adb (Find_Final_List): Change the test for generating a selected component from an access type's Associated_Final_Chain to check for the presence of that field, rather than assuming it exists for all named access types. (Make_Clean): New formal Chained_Cleanup_Action allowing to specify a procedure to call at the end of the generated cleanup procedure. (Expand_Cleanup_Actions): When a new cleanup procedure is generated, and and an At_End_Proc already exists in the handled sequence of statements for which cleanup actions are being expanded, the original cleanup action must be preserved. From-SVN: r134029
Gary Dismukes committed -
2008-04-08 Robert Dewar <dewar@adacore.com> Gary Dismukes <dismukes@adacore.com> * s-rident.ads: Add No_Default_Initialization restriction * exp_tss.adb: (Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case (Set_TSS): Handle No_Default_Initialization case * exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction No_Default_Initialization (Expand_N_Subprogram_Body): Remove redundant initialization of out parameters when Normalize_Scalars is active. (Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp Fix casing error in formal parameter name in call (Register_Predefined_DT_Entry): Replace occurrences of RE_Address by (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a dispatching call on VM targets. From-SVN: r134028
Robert Dewar committed -
2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> * exp_ch2.adb: Minor reformatting. (Expand_Entry_Index_Parameter): Set the type of the identifier. (Expand_Entry_Reference): Add call to Expand_Protected_Component. (Expand_Protected_Component): New routine. (Expand_Protected_Private): Removed. Add Sure parameter to Note_Possible_Modification calls * sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The generated subprogram declaration must inherit the overriding indicator from the instantiation node. (Validate_Access_Type_Instance): If the designated type of the actual is a limited view, use the available view in all cases, not only if the type is an incomplete type. (Instantiate_Object): Actual is illegal if the formal is null-excluding and the actual subtype does not exclude null. (Process_Default): Handle properly abstract formal subprograms. (Check_Formal_Package_Instance): Handle properly defaulted formal subprograms in a partially parameterized formal package. Add Sure parameter to Note_Possible_Modification calls (Validate_Derived_Type_Instance): if the formal is non-limited, the actual cannot be limited. (Collect_Previous_Instances): Generate instance bodies for subprograms as well. * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't try to set RM_Size. Add Sure parameter to Note_Possible_Modification calls (Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call (Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for constant overlaid by variable and issue warning. Use new Is_Standard_Character_Type predicate (Analyze_Record_Representation_Clause): Check that the specified Last_Bit is not less than First_Bit - 1. (Analyze_Attribute_Definition_Clause, case Address): Check for self-referential address clause * sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the detection mechanism when the lhs is a prival. (Analyze_Assignment): Call Check_Unprotected_Access to detect assignment of a pointer to protected data, to an object declared outside of the protected object. (Analyze_Loop_Statement): Check for unreachable code after loop Add Sure parameter to Note_Possible_Modication calls Protect analysis from previous syntax error such as a scope mismatch or a missing begin. (Analyze_Assignment_Statement): The assignment is illegal if the left-hand is an interface. * sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check violation of restriction No_Implicit_Conditionals Add Sure parameter to Note_Possible_Modication calls Use new Is_Standard_Character_Type predicate (Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting call as operator. Fixes problems (e.g. validity checking) which come from the result looking as though it does not come from source). (Resolve_Call): Check case of name in named parameter if style checks are enabled. (Resolve_Call): Exclude calls to Current_Task as entry formal defaults from the checking that such calls should not occur from an entry body. (Resolve_Call): If the return type of an Inline_Always function requires the secondary stack, create a transient scope for the call if the body of the function is not available for inlining. (Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays that are actuals for in-out formals. (Try_Object_Operation): If prefix is a tagged protected object,retrieve primitive operations from base type. (Analyze_Selected_Component): If the context is a call to a protected operation the parent may be an indexed component prior to expansion. (Resolve_Actuals): If an actual is of a protected subtype, use its base type to determine whether a conversion to the corresponding record is needed. (Resolve_Short_Circuit): Handle pragma Check * sem_eval.adb: Minor code reorganization (usea Is_Constant_Object) Use new Is_Standard_Character_Type predicate (Eval_Relational_Op): Catch more cases of string comparison From-SVN: r134027
Hristian Kirtchev committed -
sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of Has_Stream_Attribute_ Definition when... 2008-04-08 Gary Dismukes <dismukes@adacore.com> Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of Has_Stream_Attribute_ Definition when checking for available stream attributes on parameters of a limited type in Ada 2005. Necessary for proper recognition of visible stream attribute clauses. (Has_Stream_Attribute_Definition): If the type is derived from a private type, then use the derived type's underlying type for checking whether it has stream attributes. (Validate_Object_Declaration): The check for a user-defined Initialize procedure applies also to types with controlled components or a controlled ancestor. Reject an object declaration in a preelaborated unit if the type is a controlled type with an overriding Initialize procedure. (Validate_Remote_Access_To_Class_Wide_Type): Return without further checking when the parent of a dereference is a selected component and the name has not been analyzed. * sem_ch4.adb (Analyze_Selected_Component): Add checking for selected prefixes that are invalid explicit dereferences of remote access-to-class-wide values, first checking whether the selected component is a prefixed form of call to a tagged operation. (Analyze_Call): Remove code that issues an error for limited function calls in illegal contexts, as we now support all of the contexts that were forbidden here. Allow a function call that returns a task.and appears as the prefix of a selected component. (Analyze_Reference): Give error message if we try to make a 'Reference for an object that is atomic/aliased without its type having the corresponding attribute. (Analyze_Call): Remove condition checking for attributes to allow calls to functions with inherently limited results as prefixes of attributes. Remove related comment about Class attributes. (Analyze_Selected_Component): If the prefix is a remote type, check whether this is a prefixed call before reporting an error. (Complete_Object_Operation): If the controlling formal is an access to variable reject an actual that is a constant or an access to one. (Try_Object_Operation): If prefix is a tagged protected object,retrieve primitive operations from base type. * exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a build-in-place function call and call Make_Build_In_Place_Call_In_Anonymous_Context. (Expand_N_Selected_Component): Test for prefix that is a build-in-place function call and call Make_Build_In_Place_Call_In_Anonymous_Context. (Expand_N_Slice): Test for prefix that is a build-in-place function call and call Make_Build_In_Place_Call_In_Anonymous_Context. (Analyze_Call): Remove code that issues an error for limited function calls in illegal contexts, as we now support all of the contexts that were forbidden here. New calling sequence for Get_Simple_Init_Val (Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test (Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test From-SVN: r134026
Gary Dismukes committed -
exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine whether an array aggregate with static bounds... 2008-04-08 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine whether an array aggregate with static bounds and scalar components should be expanded into a static constant. From-SVN: r134025
Ed Schonberg committed -
2008-04-08 Robert Dewar <dewar@adacore.com> * errout.ads: Update comments for new handling of info: messages * erroutc.adb (Matches): New procedure (Warning_Specifically_Suppressed): Modified to handle multiple * chars (Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for info messages as well as style messages. * erroutc.ads: Remove unneeded fields from Specific_Warning_Entry * sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed subprograms. (Check_A_Call): Special "info: " warnings now have ? in the text (Elab_Warning): Use info message in static case From-SVN: r134024
Robert Dewar committed -
2008-04-08 Vincent Celier <celier@adacore.com> * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs= (Usage): Add line for switch --subdirs= Add new switch -eL, to follow symbolic links when processing project files. * gnatcmd.adb: Process switches -eL and --subdirs= (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call Program_Name to get proper tool names when AAMP_On_Target is set. (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get AAMP_On_Target set properly for use of GNAAMP tools (this is needed by Osint.Program_Name). * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs= (Usage): Add lines for switches -eL and --subdirs= * makeusg.adb: Add line for switch --subdirs= * prj.ads: (Source_Data): New Boolean component Compiled, defaulted to True (Empty_File_Name: New global variable in private part, initialized in procedure Initialize. (Subdirs_Option): New constant string (Subdirs): New String_Ptr global variable (Language_Config): New component Include_Compatible_Languages (Project_Qualifier): New type for project qualifiers (Project_Data): New component Qualifier (Project_Configuration): New component Archive_Builder_Append_Option * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in another imported project indicate the name of this imported project. (Check_File): When a unit is in two project files, indicate the project names and the paths of the source files for each project. (Add_Source): Set Compiled to False if compiler driver is empty. Only set object, dependency and switches file names if Compiled is True. (Process_Compiler): Allow the empty string for value of attribute Driver (Get_Directories): When Subdirs is not null and Object_Dir is not specified, locate and create if necessary the actual object dir. (Locate_Directory): When Subdirs is not empty and Create is not the empty string, locate and create if necessary the actual directory as a subdirectory of directory Name. (Check_Library_Attributes.Check_Library): Allow a project where the only "sources" are header files of file based languages to be imported by library projects, in multi-language mode (gprbuild). (Check_Library_Attributes.Check_Library): In multi-language mode (gprbuild), allow a library project to import a project with no sources, even when this is not declared explicitly. (Check_If_Externally_Built): A virtual project extending an externally built project is also externally built. (Check_Library_Attributes): For a virtual project extending a library project, inherit the library directory. (Process_Project_Level_Array_Attributes): Process new attribute Inherit_Source_Path. For projects with specified qualifiers "standard", "library" or "abstract", check that the project conforms to the qualifier. (Process_Project_Level_Simple_Attributes): Process new attribute Archive_Builder_Append_Option. * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs= (Normalize_Compiler_Switches): Only keep compiler switches that are passed to gnat1 by the gcc driver and that are stored in the ALI file by gnat1. Do not take into account switc -save-temps * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if gprmake is called with -eL. (Scan_Arg): Recognize switch -eL (Usage): Add line for switch -eL * prj.adb (Initialize): Initialize Empty_File_Name (Project_Empty): New component Qualifier * prj-attr.ads, prj-attr.adb: New project level attribute Inherit_Source_Path. New project level attribute Archive_Builder_Append_Option * prj-dect.adb: Replace System.Strings by GNAT.Strings. * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for upward compatibility. * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put each Trying ..." on different lines. (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier is "configuration" when not in configuration. Fail when in configuration when a specified qualifier is other than "configuration". * prj-proc.adb (Process_Declarative_Items): Link new elements of copied full associative array together. (Recursive_Process): Put the project qualifier in the project data * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function (Set_Project_Qualifier_Of): New procedure From-SVN: r134023
Vincent Celier committed -
2008-04-08 Robert Dewar <dewar@adacore.com> * back_end.adb: Remove Big_String_Ptr declarations (now in Types) * errout.adb: Remove Big_String_Ptr declarations (now in Types) Change name Is_Style_Msg to Is_Style_Or_Info_Msg * fmap.adb: Remove Big_String declarations (now in Types) (No_Mapping_File): New Boolean global variable (Initialize): When mapping file cannot be read, set No_Mapping_File to False. (Update_Mapping_File): Do nothing if No_Mapping_File is True. If the tables were empty before adding entries, open the mapping file with Truncate = True, instead of delete/re-create. * fname-sf.adb: Remove Big_String declarations (now in Types) * s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb, s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for big pointer types * table.ads: Add for Table_Ptr'Storage_Size use 0 * types.ads: Add Big_String declarations Add Size_Clause of zero for big pointer types From-SVN: r134022
Robert Dewar committed -
2008-04-08 Robert Dewar <dewar@adacore.com> * a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in computing Fore when Exp > 0 From-SVN: r134021
Robert Dewar committed -
2008-04-08 Javier Miranda <miranda@adacore.com> Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * a-tags.adb (Register_Interface_Offset): New subprogram. (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment). (To_Predef_Prims_Table_Ptr): Removed. (Acc_Size): Removed. (To_Acc_Size): Removed. (Parent_Size): Modified to the call the subprogram returning the size of the parent by means of the new TSD component Size_Func. * a-tags.ads (Offset_To_Top_Ptr): New access type declaration. (DT_Offset_To_Top_Offset): New constant value that is used to generate code referencing the Offset_To_Top component of the dispatch table's prologue. (Prim_Ptr): New declaration of access to procedure. Used to avoid the use of 'address to initialize dispatch table slots. (Size_Func): New component of the TSD. Used by the run-time to call the size primitive of the tagged type. * checks.adb (Apply_Access_Check): Avoid check when accessing the Offset_To_Top component of a dispatch table. (Null_Exclusion_Static_Checks): If the non-null access type appears in a deferred constant declaration. do not add a null expression, to prevent spurious errors when full declaration is analyzed. (Apply_Discriminant_Check): If both discriminant constraints share a node which is not static but has no side effects, do not generate a check for that discriminant. (Generate_Index_Checks): Set Name_Req to true in call to duplicate subexpr, since the prefix of an attribute is a name. * checks.ads: Fix nit in comment. * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec and body of predefined primitives in case of CPP tagged type derivations. (Freeze_Type): Deal properly with no storage pool case (Make_Predefined_Primitive_Specs): Generate specification of abstract primitive Deep_Adjust if a nonlimited interface is derived from a limited interface. (Build_Dcheck_Functions): Create discriminant-checking functions only for variants that have some component(s). (Build_Slice_Assignment): In expanded code for slice assignment, handle properly the case where the slice bounds extend to the last value of the underlying representation. (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value (Is_Variable_Size_Record): An array component has a static size if index bounds are enumeration literals. * exp_disp.adb (Make_DT): Use the first subtype to determine whether an external tag has been specified for the type. (Building_Static_DT): Add missing support for private types. (Make_DT): Add declaration of Parent_Typ to ensure consistent access to the entity associated with the parent of Typ. This is done to avoid wrong access when the parent is a private type. (Expand_Interface_Conversion): Improve error message when the configurable runtime has no support for dynamic interface conversion. (Expand_Interface_Thunk): Add missing support to interface types in configurable runtime. (Expand_Dispatching_Call): remove obsolete code. (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and ensure that all subtypes and aggregates associated with dispatch tables have the attribute Is_Dispatch_Table_Entity set to true. (Register_Primitive): Rename one variable to improve code reading. Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o of the pointer to the 'size primitive in the TSD. * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity. (RE_Offset_To_Top_Ptr): New entity. (RE_Register_Interface_Offset): New entity. (RE_Set_Dynamic_Offset_To_Top): New entity. (RE_Set_Offset_To_Top): Removed entity. (RE_Prim_Ptr): New entity (RE_Size_Func): New entity (RE_Size_Ptr): New entity (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF. (Ada_Dispatching_Child): Define this new subrange. (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock, RE_Time_Span, and RE_Time_Span_Zero). (RE_Unit_Table): Add new required run-time calls * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching children. * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram. (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that initializes the Offset_To_Top component of a dispatch table. (Build_Predef_Prims): Removed. (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by its actual code. (Build_Set_Size_Function): New subprogram. * exp_ch13.adb: Do not generate storage variable for storage_size zero (Expand): Handle setting/restoring flag Inside_Freezing_Actions From-SVN: r134020
Javier Miranda committed -
2008-04-08 Robert Dewar <dewar@adacore.com> * a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by Stream_Convert) * sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets FOnly From-SVN: r134019
Robert Dewar committed -
* a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb (Raise_Exception): In accordance with AI-446, raise CE for Null_Id (Raise_Exception_Always): Fix documentation accordingly From-SVN: r134018
Robert Dewar committed -
2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> * adaint.h, adaint.c (__gnat_current_time_string): New routine. * g-timsta.adb, g-timsta.ads: New files. From-SVN: r134017
Hristian Kirtchev committed -
* s-intman-vxworks.ads, s-intman-vxworks.adb (Map_And_Raise_Exception): Remove. Was an import of only part of the required services already implemented elsewhere. (Notify_Exception): Delete body, import __gnat_error_handler instead. (Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext argument passed to the handler, which we need for ZCX propagation purposes. From-SVN: r134016
Olivier Hainque committed -
Tristan Gingold <gingold@adacore.com> * s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb (Install_Restricted_Handlers): New procedure which is a simplified version of Install_Handlers that does not store previously installed. * s-interr-vxworks.adb: Fix ACATS cxc3001 On VxWorks interrupts can't be detached. (Install_Restricted_Handlers): New procedure. * s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New procedure. From-SVN: r134015
Jose Ruiz committed -
2008-04-08 Hristian Kirtchev <kirtchev@adacore.com> * a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for System.OS_Primitives. Change type of various constants, parameters and local variables from Time to representation type OS_Time. (To_Ada_Time, To_Unix_Time): Correct sign of origin shift. Remove the declaration of constant Mili_F from several routines. New body for internal package Conversions_Operations. (Time_Of): Add default parameters for several formals. * a-caldel.adb: Minor reformatting * a-calend.ads, a-calend.adb: New body for internal package Conversions_Operations. (Time_Of): Add default parameters for several formals. * Makefile.rtl: Add a-ststop Add Ada.Calendar.Conversions to the list of runtime files. Add g-timsta * a-calcon.adb, a-calcon.ads: New files. From-SVN: r134014
Hristian Kirtchev committed -
2008-04-08 Tristan Gingold <gingold@adacore.com> PR ada/10768 * cuintp.c: Fix 16 bits issue for AVR. On AVR, integer is 16 bits, so it can't be used to do math with Base (=32768). So use long_integer instead. From-SVN: r134013
Tristan Gingold committed -
2008-04-08 Tristan Gingold <gingold@adacore.com> * s-fileio.adb: Name_Error shouldn't be raised for a tempory file. From-SVN: r134012
Tristan Gingold committed -
2008-04-08 Robert Dewar <dewar@adacore.com> Gary Dismukes <dismukes@adacore.com> Javier Miranda <miranda@adacore.com> Ed Schonberg <schonberg@adacore.com> * fe.h: Remove global Optimize_Alignment flag, no longer used * layout.adb: Test Optimize_Alignment flags rather than global switch * lib.ads, lib.adb: New OA_Setting field in library record * lib-load.adb: New OA_Setting field in library record * lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place units mentioned in limited_with_ clauses in the ali file, with an 'Y' marker. New Ox fields in U line * opt.adb: New flag Optimize_Alignment_Local (Check_Policy_List[_Config]): New flags * opt.ads (Invalid_Value_Used): New flag New switch Optimize_Alignment_Local (Warn_On_Parameter_Order): New flag (Check_Policy_List[_Config]): New flags * ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of limited_with clauses. New data structures for Optimize_Alignment * bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization): New procedure (Check_Consistent_Optimize_Alignment): Rework for new structure (Check_Consistent_Restrictions): Fix incorrect error message sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly created class-wide type (to the Parent field of the specific type). (Install_Siblings): Handle properly private_with_clauses on subprogram bodies and on generic units. (Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an illegal limited_with_clause that names a non-existent package. (Check_Body_Required): Determine whether a unit named a limited_with clause needs a body. (Analyze_Context): A limited_with_clause is illegal on a unit_renaming. Capture Optimize_Alignment settings to set new OA_Setting field in library record. (Build_Limited_Views): Include task and protected type declarations. * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the case of a possible constant redeclaration where the current object is an entry index constant. (Analyze_Object_Declaration): Generate an error in case of CPP class-wide object initialization. (Analyze_Object_Declaration): Add extra information on warnings for declaration of unconstrained objects. (Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid conflicts with the setting of Stored_Constraint in the case where the access type entity has already been created as an E_Incomplete_Type due to a limited with clause. Use new Is_Standard_Character_Type predicate (Analyze_Object_Declaration): Apply access_constant check only after expression has been resolved, given that it may be overloaded with several access types. (Constant_Redeclaration): Additional legality checks for deferred constant declarations tha involve anonymous access types and/or null exclusion indicators. (Analyze_Type_Declaration): Set Optimize_Alignment flags (Analyze_Subtype_Declaration): Ditto (Analyze_Object_Declaration): Ditto (Analyze_Object_Declaration): Don't count tasks in generics Change name In_Default_Expression => In_Spec_Expression Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve (Process_Discriminants): Additional check for illegal use of default expressions in access discriminant specifications in a type that is not explicitly limited. (Check_Abstract_Overriding): If an inherited function dispaches on an access result, it must be overridden, even if the type is a null extension. (Derive_Subprogram): The formals of the derived subprogram have the names and defaults of the parent subprogram, even if the type is obtained from the actual subprogram. (Derive_Subprogram): In the presence of interfaces, a formal of an inherited operation has the derived type not only if it descends from the type of the formal of the parent operation, but also if it implements it. This is relevant for the renamings created for the primitive operations of the actual for a formal derived type. (Is_Progenitor): New predicate, to determine whether the type of a formal in the parent operation must be replaced by the derived type. * sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make predicate recursive to handle components that have a user-defined Initialize procedure. Handle controlled derived types whose ancestor has a user-defined Initialize procedured. (Note_Possible_Modification): Add Sure parameter, generate warning if sure modification of constant Use new Is_Standard_Character_Type predicate (Find_Parameter_Type): when determining whether a protected operation implements an interface operation, retrieve the type of the formal from the entity when the formal is an access parameter or an anonymous-access-to-subprogram. Move Copy_Parameter_List to sem_util, for use when building stubbed subprogram bodies. (Has_Access_Values): Tagged types now return False (Within_HSS_Or_If): New procedure (Set_Optimize_Alignment_Flags): New procedure Change name In_Default_Expression => In_Spec_Expression Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve From-SVN: r134011
Robert Dewar committed
-