- 15 Nov, 2005 40 commits
-
-
2005-11-14 Robert Dewar <dewar@adacore.com> * xgnatugn.adb: Replace invalid membership test by 'Valid From-SVN: r107013
Robert Dewar committed -
tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it designates a non existent directory. 2005-11-14 Vincent Celier <celier@adacore.com> * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it designates a non existent directory. From-SVN: r107012
Vincent Celier committed -
2005-11-14 Vincent Celier <celier@adacore.com> * switch.adb (Bad_Switch): New procedure (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate message when in error. * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value, Too_Many_Output_Files): Remove declarations, no longer used. (Scan_Nat): New parameter Switch (Scan_Pos): Ditto (Bad_Switch): New procedure * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;" with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith new parameter Switch. Replace "raise Too_Many_Output_Files;" with call to Osint.Fail. Do not handle any exception. From-SVN: r107011
Vincent Celier committed -
2005-11-14 Robert Dewar <dewar@adacore.com> * s-stoele.adb: Fix code for Address mod Storage_Offset for negative offset values From-SVN: r107010
Robert Dewar committed -
2005-11-14 Javier Miranda <miranda@adacore.com> * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the anonymous access. (Write): Addition of "not null" to the anonymous access. (Read): Addition of "not null" to the anonymous access. (Write): Addition of "not null" to the anonymous access. * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F, I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU, I_SU, I_U, I_WC): Addition of "not null" to the anonymous access. (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU, W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of "not null" to the anonymous access. From-SVN: r107009
Javier Miranda committed -
sem_warn.ads, [...] (Publicly_Referenceable): Generic formals of a generic subprogram are not visible outside the body. 2005-11-14 Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals of a generic subprogram are not visible outside the body. (Set_Warning_Switch): New procedure (code to set warning mode moved here from Switch.C so that it can be shared by pragma processing. (Check_References): Special case warning for non-modified non-imported volatile objects. * par-prag.adb: Modify processing of pragma Warnings to accomodate new form with a string literal argument From-SVN: r107008
Ed Schonberg committed -
2005-11-14 Robert Dewar <dewar@adacore.com> Thomas Quinot <quinot@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_util.ads, sem_util.adb: Change name Is_Package to Is_Package_Or_Generic_Package. (Check_Obsolescent): New procedure. (Set_Is_Public): Remove obsolete junk test. (Set_Public_Status): Do not set Is_Public on an object whose declaration occurs within a handled_sequence_of_statemets. (Is_Controlling_Limited_Procedure): Factor some of the logic, account for a parameterless procedure. (Enter_Name): Recognize renaming declarations created for private component of a protected type within protected operations, so that the source name of the component can be used in the debugger. From-SVN: r107007
Robert Dewar committed -
2005-11-14 Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> PR ada/15604 * sem_type.adb (Covers): In an inlined body, a composite type matches a private type whose full view is a composite type. (Interface_Present_In_Ancestor): Protect the frontend against previously detected errors to ensure that its compilation with assertions enabled gives the same output that its compilation without assertions. (Interface_Present_In_Ancestor): Add support for private types. Change name In_Actual to In_Generic_Actual (clean up) (Disambiguate): New predicate In_Actual, to recognize expressions that appear in the renaming declaration generated for generic actuals, and which must be resolved in the outer context. From-SVN: r107006
Ed Schonberg committed -
sem_res.adb (Resolve_Call): Provide a better error message whenever a procedure call is used as a select... 2005-11-14 Hristian Kirtchev <kirtchev@adacore.com> Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> Thomas Quinot <quinot@adacore.com> * sem_res.adb (Resolve_Call): Provide a better error message whenever a procedure call is used as a select statement trigger and is not an entry renaming or a primitive of a limited interface. (Valid_Conversion): If the operand has a single interpretation do not remove address operations. (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise statement to inhibit warning. (Resolve_Unary_Op): Do not produce a warning when processing an expression of the form -(A mod B) Use Universal_Real instead of Long_Long_Float when we need a high precision float type for the generated code (prevents gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float) used) (Resolve_Concatenation_Arg): Improve error message when argument is an ambiguous call to a function that returns an array. (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that there is an implicit operator in the given scope if we are within an instance: legality check has been performed on the generic. (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator after resolving operand, to avoid false warnings on overloaded calls. From-SVN: r107005
Hristian Kirtchev committed -
2005-11-14 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_eval.adb: Implement d.f flag (Subtype_Statically_Match): A generic actual type has unknown discriminants when the corresponding actual has a similar partial view. If the routine is called to validate the signature of an inherited operation in a child instance, the generic actual matches the full view, From-SVN: r107004
Robert Dewar committed -
2005-11-14 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do not try to rewrite a renamed stream attribute, because the operations on the type may not have been generated. Handle properly a renaming_as_body generated for a stream operation whose default is abstract because the object type itself is abstract. (Find_Type): If the type is incomplete and appears as the prefix of a 'Class reference, it is tagged, and its list of primitive operations must be initialized properly. (Chain_Use_Clauses): When chaining the use clauses that appear in the private declaration of a parent unit, prior to compiling the private part of a child unit, find on the scope stack the proper parent entity on which to link the use clause. (Note_Redundant_Use): Emit a warning when a redundant use clause is detected. (Analyze_Object_Renaming): An attribute reference is not a legal object if it is not a function call. From-SVN: r107003
Ed Schonberg committed -
sem_ch7.adb (Install_Parent_Private_Declarations): New procedure nested within Analyze_Package_Specification to install the... 2005-11-14 Gary Dismukes <dismukes@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure nested within Analyze_Package_Specification to install the private declarations and use clauses within each of the parent units of a package instance of a generic child package. (Analyze_Package_Specification): When entering a private part of a package associated with a generic instance or formal package, the private declarations of the parent must be installed (by calling new procedure Install_Parent_Private_Declarations). Change name Is_Package to Is_Package_Or_Generic_Package (Preserve_Full_Attributes): For a synchronized type, the corresponding record is absent in a generic context, which does not indicate a compiler error. From-SVN: r107002
Gary Dismukes committed -
sem_ch6.adb (Check_Conformance): The null-exclusion feature can be omitted in case of stream attribute subprograms. 2005-11-14 Javier Miranda <miranda@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be omitted in case of stream attribute subprograms. (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that appear immediately after a subprogram body, when there is no previous subprogram declaration. Change name Is_Package to Is_Package_Or_Generic_Package (Process_Formals): A non null qualifier on a non null named access type is not an error, and is a warning only if Redundant_Constructs are flagged. From-SVN: r107001
Javier Miranda committed -
2005-11-14 Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original discriminant. (Build_Private_Derived_Type): The entity of the created full view of the derived type does not come from source. If after installing the private declarations of the parent scope the parent is still private, use its full view to construct the full declaration of the derived type. (Build_Derived_Record_Type): Relax the condition that controls the execution of the check that verifies that the partial view and the full view agree in the set of implemented interfaces. In addition, this test now only takes into account the progenitors. (Derive_Interface_Subprograms): No need to derive subprograms of ancestors that are interfaces. (Derive_Subprograms): Remove formal No_Predefined_Prims and the associated code. Change name Is_Package to Is_Package_Or_Generic_Package (Complete_Subprograms_Derivation): Handle the case in which the full view is a transitive derivation of the ancestor of the partial view. (Process_Full_View): Rename local subprogram Find_Interface_In_ Descendant to Find_Ancestor_Interface to leave the code more clear. Remove wrong code that avoids the generation of an error message when the immediate ancestor of the partial view is an interface. In addition some minor reorganization of the code has been done to leave it more clear. (Analyze_Type_Declaration): If type has previous incomplete tagged partial view, inherit properly its primitive operations. (Collect_Interfaces): Make public, for analysis of formal interfaces. (Analyze_Interface_Declaration): New procedure for use for regular and formal interface declarations. (Build_Derived_Record_Type): Add support for private types to the code that checks if a tagged type implements abstract interfaces. (Check_Aliased_Component_Type): The test applies in the spec of an instance as well. (Access_Type_Declaration): Clean up declaration of malformed type declared as an access to its own classwide type, to prevent cascaded crash. (Collect_Interfaces): For private extensions and for derived task types and derived protected types, the parent may be an interface that must be included in the interface list. (Access_Definition): If the designated type is an interface that may contain tasks, create Master_Id for it before analyzing the expression of the declaration, which may be an allocator. (Record_Type_Declaration): Set properly the interface kind, for use in allocators, the creation of master id's for task interfaces, etc. From-SVN: r107000
Ed Schonberg committed -
2005-11-14 Gary Dismukes <dismukes@adacore.com> Ed Schonberg <schonberg@adacore.com> Gary Dismukes <dismukes@adacore.com> Thomas Quinot <quinot@adacore.com> * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose names are internal, because they will not have a corresponding partner in the actual package. (Analyze_Formal_Package): Move the setting of the formal package spec's Generic_Parent field so that it occurs prior to analyzing the package, to allow proper operation of Install_Parent_Private_Declarations. (Analyze_Package_Instantiation): Set the instantiated package entity's Package_Instantiation field. (Get_Package_Instantiation_Node): Move declaration to package spec. Retrieve the N_Package_Instantiation node when the Package_Instantiation field is present. (Check_Generic_Child_Unit): Within an inlined call, the only possible instantiation is Unchecked_Conversion, for which no parents are needed. (Inline_Instance_Body): Deinstall and record the use_clauses for all parent scopes of a scope being removed prior to inlining an instance body. (Analyze_Package_Instantiation): Do not perform front-end inlining when the current context is itself an instance within a non-instance child unit, to prevent scope stack errors. (Save_References): If the node is an aggregate that is an actual in a call, rewrite as a qualified expression to preserve some type information, to resolve possible ambiguities in the instance. (Instance_Parent_Unit): New global variable to record the ultimate parent unit associated with a generic child unit instance (associated with the existing Parent_Unit_Visible flag). (type Instance_Env): New component Instance_Parent_Unit for stacking parents recorded in the global Instance_Parent_Unit. (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env stack. (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when it's not a top-level unit, and only do this if Instance_Parent_Unit is not already set. Replace test of Is_Child_Unit with test of parent's scope against package Standard. Add comments and a ??? comment. (Remove_Parent): Revise condition for resetting Is_Immediately_Visible on a child instance parent to test that the parent equals Instance_Parent rather than simply checking that the unit is not a child unit. (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env. (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of a formal interface are ancestors of the corresponding actual. (Validate_Formal_Interface_Type): Additional legality checks. (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal interface types with ancestors. (Analyze_Formal_Package): If formal is a renaming, use renamed entity to diagnose attempts to use generic within its own declaration. From-SVN: r106999
Gary Dismukes committed -
2005-11-14 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package Do not give obsolescent warning on with of subprogram (since we diagnose calls) (Analyze_With_Clause): Add test for obsolescent package (Install_Context_Clauses): If the unit is the body of a child unit, do not install twice the private declarations of the parents, to prevent circular lists of Use_Clauses in a parent. (Implicit_With_On_Parent): Do add duplicate with_clause on parent when compiling body of child unit. Use new class N_Subprogram_Instantiation (Expand_With_Clause): If this is a private with_clause for a child unit, appearing in the context of a package declaration, then the implicit with_clauses generated for parent units are private as well. (License_Check): Do not generate message if with'ed unit is internal From-SVN: r106998
Robert Dewar committed -
2005-11-14 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the rhs of an assignment even if the type is unconstrained, when the context is non-expanding. In an inlined body, if the context type is private, resolve with its full view, which must be a composite type. From-SVN: r106997
Ed Schonberg committed -
2005-11-14 Emmanuel Briot <briot@adacore.com> * prj-pp.adb (Print): Do not output the with statement if the associated name is empty, which happens for virtual extending projects. (Print): Preserve the "extends all" attribute when printing the project. * prj-tree.ads (String_Value_Of): Add comment about returned value for a virtual extending project. From-SVN: r106996
Emmanuel Briot committed -
prj-part.adb (Create_Virtual_Extending_Project): Put virtual project into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS. 2005-11-14 Vincent Celier <celier@adacore.com> * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS. From-SVN: r106995
Vincent Celier committed -
2005-11-14 Vincent Celier <celier@adacore.com> * prj-ext.adb: Take into account new environment variable GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH are defined. (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH, normalize its path name, making it absolute and resolving symbolic links, and replace the original if resolved path is different. From-SVN: r106994
Vincent Celier committed -
par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit syntax, which could cause compiler hangs. 2005-11-14 Robert Dewar <dewar@adacore.com> * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit syntax, which could cause compiler hangs. From-SVN: r106993
Robert Dewar committed -
2005-11-14 Eric Botcazou <ebotcazou@adacore.com> * namet.h: (Column_Numbe): New type. (Get_Column_Number): Define to sinput__get_column_number. (Instantiation): Define to sinput__instantiation. (Get_Column_Number): Declare. (Instantiation): Likewise. From-SVN: r106992
Eric Botcazou committed -
2005-11-14 Pascal Obry <obry@adacore.com> * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is used. (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used. In both cases the last argument was dropped. From-SVN: r106991
Pascal Obry committed -
2005-11-14 GNAT Script <nobody@adacore.com> * Make-lang.in: Makefile automatically updated From-SVN: r106990
GNAT Script committed -
make.adb (Compile_Sources): Change verbose message to minimum verbosity level High for "is in an Ada... 2005-11-14 Vincent Celier <celier@adacore.com> * make.adb (Compile_Sources): Change verbose message to minimum verbosity level High for "is in an Ada library", "is a read-only library" and "is an internal library", (Create_Binder_Mapping_File): Path name of ALI file for library project must include the library directory, not the object directory. (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called for new switches -vl, -vm and -vh. (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity (Check): Use minimum verbosity Medium for some Verbose_Msg calls (Compile_Sources): Do not attempt to compile if an ALI file is missing in a project that is externally built. (Compute_All_Imported_Projects): New procedure (Gnatmake): Check if importing libraries should be regenerated because at least an imported library is more recent. (Initialize): For each project compute the list of the projects it imports directly or indirectly. (Add_Library_Search_Dir): New procedure, used in place of Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are put in the search paths. (Add_Source_Search_Dir): New procedure, used in place of Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are put in the search paths. (Mark_Directory): Resolve the absolute path the directory before marking it. * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with call to new procedure Bad_Switch. Call Scan_Pos with new parameter Switch. Do not handle any exception. (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh so that the switch is recognized as valid. (Scan_Make_Switches): Implement new switches -vl, -vm and -vh. From-SVN: r106989
Vincent Celier committed -
lib-xref.adb (Generate_Definition, [...]): Treat the internal entity created for the declaration of a child subprogram... 2005-11-14 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the internal entity created for the declaration of a child subprogram body with no spec as coming from source, to generate proper cross-reference information. From-SVN: r106988
Ed Schonberg committed -
2005-11-14 Robert Dewar <dewar@adacore.com> * interfac.ads: Change declarations of IEEE float types so that we no longer need a separate version of this package for VMS. From-SVN: r106987
Robert Dewar committed -
2005-11-14 Doug Rupp <rupp@adacore.com> * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined. From-SVN: r106986
Doug Rupp committed -
2005-11-14 Robert Dewar <dewar@adacore.com> * g-spitbo.adb: (Hash): Rotate by 3 instead of 1 From-SVN: r106985
Robert Dewar committed -
* g-regpat.adb (Fail): raise Expression_Error including the diagnostic message, friendlier. From-SVN: r106984
Arnaud Charlet committed -
2005-11-14 Robert Dewar <dewar@adacore.com> Vincent Celier <celier@adacore.com> * gprep.adb: Implement -C switch to scan comments * scng.adb: Scan comment symbol separately if Replace_In_Comments set * scans.ads: Comment updates (including new use of Tok_Comment in preprocessing) * opt.ads: Add documentation for flags that are used by gprmake, currently and in the next version of gprmake. (Verbosity_Level): New variable Add Replace_In_Comments switch * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm and -vm. Add /REPLACE_IN_COMMENTS for gnatprep -C switch From-SVN: r106983
Robert Dewar committed -
2005-11-14 Pascal Obry <obry@adacore.com> * gnatbind.adb (Is_Cross_Compiler): New function returning True for cross-compiler. (Scan_Bind_Arg): Fail with an error message if -M option is used on a native compiler. From-SVN: r106982
Pascal Obry committed -
g-debpoo.adb (Set_Valid): Use Integer_Address instead of Storage_Offset to avoid wrap around causing... 2005-11-14 Robert Dewar <dewar@adacore.com> * g-debpoo.adb (Set_Valid): Use Integer_Address instead of Storage_Offset to avoid wrap around causing invalid results. From-SVN: r106981
Robert Dewar committed -
PR ada/23732 * gnatvsn.ads (Library_Version): Bump to 4.1 From-SVN: r106980
Arnaud Charlet committed -
2005-11-14 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): For an access formal that is an access to subprogram, freeze the anonymous subprogram type at the same time, to prevent later freezing in the wrong scope, such as the enclosing subprogram body. (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_ subprogram whenever available. From-SVN: r106979
Ed Schonberg committed -
2005-11-14 Robert Dewar <dewar@adacore.com> * impunit.adb: Exclude container helper units not intended for use by users. From-SVN: r106978
Robert Dewar committed -
exp_strm.adb (Build_Stream_Attr_Profile, [...]): Add the null-excluding attribute to the first formal. 2005-11-14 Javier Miranda <miranda@adacore.com> * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function, Build_Stream_Procedure): Add the null-excluding attribute to the first formal. This has no semantic meaning under Ada95 mode but it is a requirement under Ada05 mode. * par-ch3.adb (P_Access_Definition): Addition of warning message if the null exclusion is used under Ada95 mode (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95. (P_Access_Definition): Remove assertion that forbids the use of the null-exclusion feature in Ada95. From-SVN: r106977
Javier Miranda committed -
exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual subtype to compute the size of the designated object at... 2005-11-14 Thomas Quinot <quinot@adacore.com> Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual subtype to compute the size of the designated object at run-time, create such a subtype and store it in the Actual_Designated_Subtype attribute of the N_Free_Statement. Generate itype for classwide designated object in both cases of user-specified storage pool: specific and class-wide, not only in the specific case. Raise CE when trying to set a not null access type object to null. (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with an explicit loop, because freeze nodes make its position variable. * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not null object. From-SVN: r106976
Thomas Quinot committed -
2005-11-14 Robert Dewar <dewar@adacore.com> * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we need a high precision float type for the generated code (prevents gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float) used). * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we need a high precision float type for the generated code (prevents gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float) used). (Expand_Width_Attribute): In configurable run-time, the attribute is not allowed on non-static enumeration subtypes. Force a load error to emit the correct diagnostic. From-SVN: r106975
Robert Dewar committed -
2005-11-14 Pascal Obry <obry@adacore.com> * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned by spawnve is a process handle, no need to convert. Add a parameter close to control wether the process handle must be closed. (__gnat_waitpid): Fix implementation, the pid returned by spawnve is a process handle, not need to convert. (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec. * g-expect.adb: (Kill): Document the new close parameter. (Close): Do not release the process handle in the kill there as waitpid() is using it. (Send_Signal): Release the process handle. From-SVN: r106974
Pascal Obry committed
-