summaryrefslogtreecommitdiffstats
path: root/gcc/ada
Commit message (Collapse)AuthorAgeFilesLines
* 2006-02-17 Javier Miranda <miranda@adacore.com>charlet2006-02-171-37/+24
| | | | | | | | | | | | | | | * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an abstract interface type, the static analysis is not enough to know if the interface is implemented or not by the source tagged type. Hence we must pass the work to the expander to generate the required code to evaluate the conversion at run-time. (Resolve_Equality_Op): Do not apply previous transformation if expansion is disasbled, to prevent anomalies when locating global references in a generic unit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111195 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Ed Schonberg <schonberg@adacore.com>charlet2006-02-171-9/+16
| | | | | | | | | | | * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order to inline a function that returns an unconstrained type, the return expression must be the first variable declared in the body of the function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111194 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Javier Miranda <miranda@adacore.com>charlet2006-02-171-5/+34
| | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent type we cannot inherit the primitive operations; we inherit the Corresponding_Record_Type (which has the list of primitive operations). (Check_Anonymous_Access_Types): When creating anonymous access types for access components, use Rewrite in order to preserve the tree structure, for ASIS use. (Analyze_Object_Declaration): For limited types with access discriminants with defaults initialized by an aggregate, obtain subtype from aggregate as for other mutable types. (Derived_Type_Declaration): If the derived type is a limited interface, set the corresponding flag (Is_Limited_Record is not sufficient). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111193 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Ed Schonberg <schonberg@adacore.com>charlet2006-02-171-10/+18
| | | | | | | | | * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if the current instance is nested within another instance in a child unit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111192 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Ed Schonberg <schonberg@adacore.com>charlet2006-02-171-10/+5
| | | | | | | | | | * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram instantiation, the corresponding entity is the related_instance of the wrapper package created for the instance. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111191 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>charlet2006-02-171-2/+5
| | | | | | | | | | * Makefile.in: Use VMS64 specialized versions of several units in Interfaces.C hierarchy to be compatible with HP C default size choices. Use the default version of Ada.Synchronous_Task_Control for VxWorks 653. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111190 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>charlet2006-02-171-0/+10
| | | | | | | | | | * init.c (facility_resignal_table): new array (__gnat_default_resignal_p): enhance default predicate to resignal if VMS condition has one of the predefined facility codes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111189 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Robert Dewar <dewar@adacore.com>charlet2006-02-171-0/+7
| | | | | | | | | * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD, then we close To if it is valid. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111188 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Ed Schonberg <schonberg@adacore.com>charlet2006-02-172-15/+36
| | | | | | | | | | | | * freeze.adb (Statically_Discriminated_Components): Return false if the bounds of the type of the discriminant are not static expressions. * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if the bounds of the discriminant type are not static. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111187 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Ed Schonberg <schonberg@adacore.com>charlet2006-02-171-1/+2
| | | | | | | | | | * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity must be materialized when the renamed expression is an explicit dereference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111186 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Javier Miranda <miranda@adacore.com>charlet2006-02-171-23/+98
| | | | | | | | | | | | | | | | | | | | Robert Dewar <dewar@adacore.com> * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed through an access to class-wide interface we force the displacement of the pointer to the allocated object to reference the corresponding secondary dispatch table. (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2, if Long_Shifts are supported on the target, even if 64 bit divides are not supported (configurable run time mode). (Expand_N_Type_Conversion): Do validity check if validity checks on operands are enabled. (Expand_N_Qualified_Expression): Do validity check if validity checks on operands are enabled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111185 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Jose Ruiz <ruiz@adacore.com>charlet2006-02-1710-25/+261
| | | | | | | | | | | | | * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb, s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add Abort_Defer/Undefer pairs to avoid the possibility of a task being aborted while owning a lock. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111184 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Eric Botcazou <botcazou@adacore.com>charlet2006-02-174-9/+6
| | | | | | | | | | | | | | | | | PR ada/26315 * utils2.c (find_common_type): If both input types are BLKmode and have the same constant size, keep using the first one. * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround. * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant. * misc.c (gnat_handle_option): New case for -Woverlength-strings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111183 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Ed Schonberg <schonberg@adacore.com>charlet2006-02-171-1/+26
| | | | | | | | | | | | * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an aggregate, check the interpretations of the other operand to find one that may be a boolean array. (Analyze_Selected_Component): Fix flow-of-control typo in case where the prefix is a private extension. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111182 138bc75d-0d04-0410-961f-82ee72b054a4
* * env.c (__gnat_setenv): Use size_t.ebotcazou2006-02-162-4/+10
| | | | | | | | | (__gnat_unsetenv): Likewise. (__gnat_clearenv): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111155 138bc75d-0d04-0410-961f-82ee72b054a4
* * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.charlet2006-02-162-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111133 138bc75d-0d04-0410-961f-82ee72b054a4
* Resynccharlet2006-02-151-0/+1511
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111107 138bc75d-0d04-0410-961f-82ee72b054a4
* (Eval_Relational_Op): Use new Is_Known_Null flag to deal with casecharlet2006-02-151-28/+29
| | | | | | | of null = null, now known true. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111106 138bc75d-0d04-0410-961f-82ee72b054a4
* Add section for gnatcheck.charlet2006-02-151-81/+132
| | | | | | | | | Add documentation for restriction No_Dispatching_Calls Add documentation for pragma Ada_2005 Remove mention of obsolete pragma Propagate_Exceptions git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111105 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Arnaud Charlet <charlet@adacore.com>charlet2006-02-157-632/+1177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ben Brosgol <brosgol@adacore.com> Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Remove limitations with sparc m64 support. Document that gnatbind -M option is for cross environments only. Added description of using gnatmem to trace gnat rtl allocs and deallocs Add note on use of $ to label implicit run time calls Add documentation for -gnatyI (check mode IN) Updated chapter on compatibility with HP Ada VMS-oriented edits. Ran spell and corrected errors Add documentation for gnatbind -d and rework documentation of -D at the same time. Add subprogram/data elimination section. Minor editing of annex A. Add section for gnatcheck. Add documentation for restriction No_Dispatching_Calls Add documentation for pragma Ada_2005 Remove mention of obsolete pragma Propagate_Exceptions Document that pragma Unreferenced can appear after DO in ACCEPT Clarify Pure_Function for library level units Mention Max/Min in connection with No_Implicit_Conditionals No_Wide_Characters restriction is no longer partition-wide Add a nice example for Universal_Literal_String attribute Document that pragma No_Return can take multiple arguments * ug_words: Added entry for gnatcheck * g-ctrl_c.ads (Install_Handler): Enhance comments * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination * g-trasym.ads: Add documentation on how to do off line symbolic traceback computation. * s-fatgen.adb: Add comments for Unaligned_Valid * stand.ads: Fix typo in comment git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111104 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Eric Botcazou <ebotcazou@adacore.com>charlet2006-02-151-13/+18
| | | | | | | | | | | | * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1. (PPC VxWorks): Likewise. (Generic unwinder): Define FORCE_CALL to 0 if not already defined. (forced_callee): Make non-inlinable and non-pure. (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111103 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Robert Dewar <dewar@adacore.com>charlet2006-02-151-3/+23
| | | | | | | | * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111102 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Bob Duff <duff@adacore.com>charlet2006-02-158-76/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of Scan_Unsigned, so we do not scan leading blanks and sign twice. Integer'Value("- 5") and Integer'Value("-+5") now correctly raise Constraint_Error. * s-vallli.adb (Scan_Long_Long_Integer): Call Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we do not scan leading blanks and sign twice. Integer'Value("- 5") and Integer'Value("-+5") now correctly raise Constraint_Error. * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned, Scan_Long_Long_Unsigned): Split out most of the processing from Scan_Long_Long_Unsigned out into Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version. This prevents scanning leading blanks and sign twice. Also fixed a bug: Modular'Value("-0") should raise Constraint_Error See RM-3.5(44). * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split out most of the processing from Scan_Unsigned out into Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version. This prevents scanning leading blanks and sign twice. * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value attribute. (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111101 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Quentin Ochem <ochem@adacore.com>charlet2006-02-151-3/+3
| | | | | | | | | * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of task name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111100 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Ed Schonberg <schonberg@adacore.com>charlet2006-02-152-4/+99
| | | | | | | | | | | | | | | | | Robert Dewar <dewar@adacore.com> * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to preserve the source unit where the itype is declared, and prevent a backend abort. (Note_Implicit_Run_Time_Call): New procedure (Write_Itype): Handle missing cases (E_Class_Wide_Type and E_Subprogram_Type) * sprint.ads: Document use of $ for implicit run time routine call git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111099 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Thomas Quinot <quinot@adacore.com>charlet2006-02-151-9/+8
| | | | | | | | | | | | * sinput-d.adb (Write_Line): Update the Source_Index_Table after each line. This is necessary to allow In_Extended_Main_Unit to provide correct results for itypes while writing out expanded source. (Close_File): No need to update the source_index_table here since it's now done for each line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111098 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Ed Schonberg <schonberg@adacore.com>charlet2006-02-151-183/+189
| | | | | | | | | | * sem_warn.adb (Check_One_Unit): If the unit appears in a limited_with clause, use the limited view to determine whether any entity from it is referenced. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111097 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Ed Schonberg <schonberg@adacore.com>charlet2006-02-151-8/+97
| | | | | | | | | | | | | | | | | | | | | | Javier Miranda <miranda@adacore.com> * sem_type.adb (Write_Overloads): Improve display of candidate interpretations. (Add_One_Interp): Do not add to the list of interpretations aliased entities corresponding with an abstract interface type that is an immediate ancestor of a tagged type; otherwise we have a dummy conflict between this entity and the aliased entity. (Disambiguate): The predefined equality on universal_access is not usable if there is a user-defined equality with the proper signature, declared in the same declarative part as the designated type. (Find_Unique_Type): The universal_access equality operator defined under AI-230 does not cover pool specific access types. (Covers): If one of the types is a generic actual subtype, check whether it matches the partial view of the other type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111096 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Ed Schonberg <schonberg@adacore.com>charlet2006-02-151-43/+83
| | | | | | | | | | | | | Robert Dewar <dewar@adacore.com> * sem_elab.adb (Same_Elaboration_Scope): A package that is a compilation unit is an elaboration scope. (Add_Task_Proc): Add '\' in 2-line warning message. (Activate_All_Desirable): Deal with case of unit with'ed by parent git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111095 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Javier Miranda <miranda@adacore.com>charlet2006-02-151-128/+171
| | | | | | | | | | | | | | | * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that if this is the full-declaration associated with a private declaration that implement interfaces, then the private type declaration must be limited. (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object as aliased. The use of the 'access attribute is not available for such object (for this purpose the object should be explicitly marked as aliased, but being an anonymous type this is not possible). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111094 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Bob Duff <duff@adacore.com>charlet2006-02-151-7/+34
| | | | | | | | | | | | | | | | | | * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about redundant use clauses. In particular, if the scope of two use clauses overlaps, but one is not entirely included in the other, we should not warn. This can happen with nested packages. (Analyze_Subprogram_Renaming): Protect the compiler against previously reported errors. The bug was reported when the compiler was built with assertions enabled. (Find_Type): If the node is a 'Class reference and the prefix is a synchronized type without a corresponding record, return the type itself. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111093 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Ed Schonberg <schonberg@adacore.com>charlet2006-02-151-45/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Javier Miranda <miranda@adacore.com> * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no abstract interpretations on an operator, remove interpretations that yield Address or a type derived from it, if one of the operands is an integer literal. (Try_Object_Operation.Try_Primitive_Operation, Try_Object_Operation.Try_Class_Wide_Operation): Set proper source location when creating the new reference to a primitive or class-wide operation as a part of rewriting a subprogram call. (Try_Primitive_Operations): If context requires a function, collect all interpretations after the first match, because there may be primitive operations of the same type with the same profile and different return types. From code reading. (Try_Primitive_Operation): Use the node kind to choose the proper operation when a function and a procedure have the same parameter profile. (Complete_Object_Operation): If formal is an access parameter and prefix is an object, rewrite as an Access reference, to match signature of primitive operation. (Find_Equality_Type, Find_One_Interp): Handle properly equality given by an expanded name with prefix Standard, when the operands are of an anonymous access type. (Remove_Abstract_Operations): If the operation is abstract because it is inherited by a user-defined type derived from Address, remove it as well from the set of candidate interpretations of an overloaded node. (Analyze_Membership_Op): Membership test not applicable to cpp-class types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111092 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Thomas Quinot <quinot@adacore.com>charlet2006-02-154-361/+670
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption that Scope_Stack.First = 1. Properly handle Ada_Version_Explicit and Ada_Version_Config, which were not always properly handled previously. (Formal_Entity): Complete rewrite, to handle properly some complex case with multiple levels of parametrization by formal packages. (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator to the corresponding derived type declaration for proper semantics. * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message. (Check_Component): Enforce restriction on components of unchecked_unions: a component in a variant cannot contain tasks or controlled types. (Unchecked_Union): Allow nested variants and multiple discriminants, to conform to AI-216. Add pragma Ada_2005 (synonym for Ada_05) Properly handle Ada_Version_Explicit and Ada_Version_Config, which were not always properly handled previously. Document that pragma Propagate_Exceptions has no effect (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure (Set_Convention_From_Pragma): Check that if a convention is specified for a dispatching operation, then it must be consistent with the existing convention for the operation. (CPP_Class): Because of the C++ ABI compatibility, the programmer is no longer required to specify an vtable-ptr component in the record. For compatibility reasons we leave the support for the previous definition. (Analyze_Pragma, case No_Return): Allow multiple arguments * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a non-overrideen inherited operation with a controlling result as illegal only its implicit declaration comes from the derived type declaration of its result's type. (Check_Possible_Deferred_Completion): Relocate the object definition node of the subtype indication of a deferred constant completion rather than directly analyzing it. The analysis of the generated subtype will correctly decorate the GNAT tree. (Record_Type_Declaration): Check whether this is a declaration for a limited derived record before analyzing components. (Analyze_Component_Declaration): Diagnose record types not explicitly declared limited when a component has a limited type. (Build_Derived_Record_Type): Code reorganization to check if some of the inherited subprograms of a tagged type cover interface primitives. This check was missing in case of a full-type associated with a private type declaration. (Constant_Redeclaration): Check that the subtypes of the partial and the full view of a constrained deferred constant statically match. (Mentions_T): A reference to the current type in an anonymous access component declaration must be an entity name. (Make_Incomplete_Type_Declaration): If type is tagged, set type of class_wide type to refer to full type, not to the incomplete one. (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not available. Required to give support to the certified run-time. (Analyze_Component_Declaration): In case of anonymous access components perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2). (Process_Discriminants): For an access discriminant, use the discriminant specification as the associated_node_for_itype, to simplify accessibility checks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111091 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>charlet2006-02-151-52/+457
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> Gary Dismukes <dismukes@adacore.com> * sem_ch10.adb (Check_Redundant_Withs): New procedure in Analyze_Compilation_Unit. Detect and warn on redundant with clauses detected in a package spec and/or body when -gnatwr is used. (Analyze_Context): Analyze config pragmas before other items (Install_Context_Items): Don't analyze config pragmas here (Install_Limited_Withed_Unit): Set limited entity of package in with_clause so that cross-reference information or warning messages on unused packages can be properly generated (Is_Visible_Through_Renamings): Return false if the limited_with_clause has Error_Posted set. Prevent infinite loops in illegal programs. (Check_Private_Child_Unit): Move test for a nonprivate with clause down to the point of the error test requiring the current unit to be private. This ensures that private with clauses are not exempted from the basic checking for being a descendant of the same library unit parent as a withed private descendant unit. (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to handle private with clauses properly, as well as to account for cases where the withed unit is a public descendant of a private ancestor (in which case the current unit must be a descendant of the private ancestor's parent). The spec comments were updated accordingly. Also, the old error message in this subprogram was replaced with error messages that mirror the errors tested and reported by Check_Private_Child_Unit. Parameter and variable names improved for readability. (Install_Limited_Context_Clauses): Remove test for a withed unit being private as the precondition for calling Check_Private_Limited_Withed_Unit since that subprogram has been revised to test public units as well as private units. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111090 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Javier Miranda <miranda@adacore.com>charlet2006-02-153-89/+321
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an abstract interface type call analyze_and_resolve to expand the type conversion into the corresponding displacement of the reference to the base of the object. (Eval_Attribute, case Width): For systems where IEEE extended precision is supported, the maximum exponent occupies 4 decimal digits. (Accessibility_Message): Add '\' in 2-line warning message. (Resolve_Attribute): Likewise. (case Attribute_Access): Significantly revise checks for illegal access-to-subprogram Access attributes to properly enforce the rules of 3.10.2(32/2). Diagnose use of current instance with an illegal attribute. * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal to a Node_Id. (Enclosing_Generic_Unit): New function to return a node's innermost enclosing generic declaration node. (Compile_Time_Constraint_Error): Remove '!' in warning messages. (Type_Access_Level): The accessibility level of anonymous acccess types associated with discriminants is that of the current instance of the type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)). (Compile_Time_Constraint_Error): Handle case of conditional expression. (Kill_Current_Values_For_Entity): New function (Enter_Name): Change formal type to Entity_Id git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111089 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Javier Miranda <miranda@adacore.com>charlet2006-02-151-93/+135
| | | | | | | | | | | | | | | * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that handles default-initialized components to keep separate the management of this feature but also avoid the unrequired resolution and expansion of components that do not have partially initialized values. (Collect_Aggr_Bounds): Add '\' in 2-line warning message. (Check_Bounds): Likewise. (Check_Length): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111088 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Douglas Rupp <rupp@adacore.com>charlet2006-02-151-2/+8
| | | | | | | | * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111087 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Javier Miranda <miranda@adacore.com>charlet2006-02-154-34/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gary Dismukes <dismukes@adacore.com> Robert Dewar <dewar@adacore.com> * restrict.ads (No_Dispatching_Calls): New GNAT restriction. * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of aliased entities to look for the overriden abstract interface subprogram. (Is_Interface_Subprogram): Complete documentation. (Check_Dispatching_Operation): Do not generate code to register the operation in the dispatch table if the source is compiled with restriction No_Dispatching_Calls. (Override_Dispatching_Operation): Check for illegal attempt to override No_Return procedure with procedure that is not No_Return (Check_Dispatching_Call): Suppress the check for an abstract operation when the original node of an actual is a tag-indeterminate attribute call, since the attribute, which must be 'Input, can never be abstract. (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a call to the Input attribute (even when rewritten). (Propagate_Tag): Augment comment to indicate the possibility of a call to an Input attribute. * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow calling it from Exp_Ch3.Make_Controlling_Function_Wrappers. * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction. No_Wide_Characters is no longer partition-wide No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257) rather than GNAT git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111086 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Vincent Celier <celier@adacore.com>charlet2006-02-151-48/+111
| | | | | | | | | | | | | * prj-makr.adb (Make): Preserve the comments from the original project file. When removing nodes (attributes Source_Dirs, Source_Files, Source_List_File and package Naming), save the comments and attach the saved comments to the newly created nodes. Do not add a with clause for the naming package if one already exists. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111085 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Vincent Celier <celier@adacore.com>charlet2006-02-157-51/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj.ads (Error_Warning): New enumeration type * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is unknown, use the location of the project to report the error. (When_No_Sources): New global variable (Report_No_Ada_Sources): New procedure (Check): New parameter When_No_Sources. Set value of global variable When_No_Sources, (Find_Sources): Call Report_No_Ada_Sources when appropriate (Get_Sources_From_File): Ditto (Warn_If_Not_Sources): Better warning messages indicating the unit name and the file name. * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources. Call Prj.Proc.Process with parameter When_No_Sources. * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources. Call Recursive_Check with parameter When_No_Sources. (Recursive_Check): New parameter When_No_Sources. Call itself and Prj.Nmsc.Check with parameter When_No_Sources. (Process): New parameter When_No_Sources. Call Check with parameter When_No_Sources. (Copy_Package_Declarations): New procedure to copy renamed parameters and setting the location of the declared attributes to the location of the renamed package. (Process_Declarative_Items): Call Copy_Package_Declarations for renamed packages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111084 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Vincent Celier <celier@adacore.com>charlet2006-02-151-1/+4
| | | | | | | | | * prj.adb (Reset): Initialize the first element of table Namings with the standard naming data. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111083 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Javier Miranda <miranda@adacore.com>charlet2006-02-151-3/+13
| | | | | | | | | * par-endh.adb (Explicit_Start_Label): Add code to protect the parser against source containing syntax errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111082 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Robert Dewar <dewar@adacore.com>charlet2006-02-158-21/+56
| | | | | | | | | | * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb, stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch (MODE_IN) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111081 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Javier Miranda <miranda@adacore.com>charlet2006-02-151-29/+42
| | | | | | | | | | | | | | | | | PR ada/23973 * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the code to improve the error message reported when the program has declarations of abstract interface types and it is not compiled with the -gnat05 switch. (P_Access_Definition): Reorganize the code to improve the error message reported when the new Ada 2005 syntax for anonymous access types is used and the program is not compiled with the -gnat05 switch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111080 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Vincent Celier <celier@adacore.com>charlet2006-02-151-3/+57
| | | | | | | | | | | | * mlib-prj.adb (Index): New function (Build_Library): When building a shared library, add to the run path the directory of the shared version of libgcc. (Build_Library): Output shared decgnat library. (Process_Binder_File): Test for shared decgnat library. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111079 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Vincent Celier <celier@adacore.com>charlet2006-02-152-32/+74
| | | | | | | | | | | | | | | | | | | * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the main source, add switch -mdebug-main=_ada_ so that the executable can be debugged by the standard VMS debugger. (Gnatmake): Set No_Main_Subprogram to True when there is no main subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly. Exit the Multi_Main_Loop when Unique_Compile is True after compilation of the last source, as the binding and linking phases are never performed. Set all executable obsolete when rebuilding a library. * makeutl.adb (Linker_Options_Switches): Do not process empty linker options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111078 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Ed Schonberg <schonberg@adacore.com>charlet2006-02-151-19/+27
| | | | | | | | | | | | | | | Robert Dewar <dewar@adacore.com> * lib-xref.adb (Get_Type_Reference): For a private type whose full view is an array type, indicate the component type as well, for navigation purposes. (Generate_Reference): Don't consider array ref on LHS to be a case of violating pragma Unreferenced. Do not give Ada 2005 warning except on real reference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111077 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Robert Dewar <dewar@adacore.com>charlet2006-02-151-3/+3
| | | | | | | | | | | * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM): These two cases were generating incorrect output, and if this unit was built with checks on, generated a discriminant mismatch constraint error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111076 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Vincent Celier <celier@adacore.com>charlet2006-02-151-5/+90
| | | | | | | | | | | | * gnatcmd.adb (Rules_Switches): New table (Add_To_Rules_Switches): New procedure (GNATCmd): For command CHECK, put all options following "-rules" in the Rules_Switches table. Append these -rules switches after the -cargs switches. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111075 138bc75d-0d04-0410-961f-82ee72b054a4
* * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M andcharlet2006-02-151-8/+16
| | | | | | | | | | native platforms. (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that finalization can occur normally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111074 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud