2007-04-06 Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> Bob Duff <duff@adacore.com> Gary Dismukes <dismukes@adacore.com> * errout.adb (Unwind_Internal_Type): Use predicate Is_Access__Protected_Subprogram_Type. * freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant (Freeze_Entity, packed array case): Do not override explicitly set alignment and size clauses. (Freeze_Entity): An entity declared in an outer scope can be frozen if the enclosing subprogram is a child unit body that acts as a spec. (Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type. (Freeze_Record_Type): New Ada 2005 processing for reverse bit order Remove all code for DSP option * layout.adb (Layout_Record_Type): Use First/ Next_Component_Or_Discriminant (Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type, to handle properly the anonymous access case. * sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type for all access attributes, because overload resolution should work the same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This causes the error message for the ambiguous "X'Access = Y'Access" and "X'Unrestricted_Access = Y'Access" and so forth to match. (Resolve_Attribute, case 'Access): Remove use of Original_Access_Type, now that anonymous access to protected operations have their own kind. (Resolve_Attribute): In case of dispatching call check the violation of restriction No_Dispatching_Calls. (Check_Array_Type): Check new -gnatyA array index style option * sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an attempt to derive from a synchronized tagged type. (Analyze_Type_Declaration): If there is a incomplete tagged view of the type, inherit the class-wide type already created, because it may already have been used in a self-referential anonymous access component. (Mentions_T): Recognize self-referential anonymous access components that use (a subtype of) the class-wide type of the enclosing type. (Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass Derived_Type for Prev formal on call to Check_Anonymous_Access_Components rather than Empty. (Make_Incomplete_Type_Declaration): Add test for case where the type has a record extension in deciding whether to create a class-wide type, rather than just checking Tagged_Present. (Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies to stand-alone object declarations as well as component declarations. (Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to prevent accidental overwriting when enclosing package appears in a limited_with_clause. (Array_Type_Declaration): If the component type is an anonymous access, the associated_node for the itype is the type declaration itself. (Add_Interface_Tag_Components): Modified to support concurrent types with abstract interfaces. (Check_Abstract_Interfaces): New subprogram that verifies the ARM rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2). (Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration to complete the decoration of synchronized interface types. Add also a call to Check_Abstract_Interfaces to verify the ARM rules. (Derive_Interface_Subprograms): Modified to support concurrent types with abstract interfaces. (Analyze_Subtype_Indication): Resolve the range with the given subtype mark, rather than delaying the full resolution depending on context. (Analyze_Component_Declaration,Analyze_Interface_Declaration, Analyze_Object_Declaration,Analyze_Subtype_Declaration, Array_Type_Declaration,Build_Derived_Record_Type, Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion, Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type, Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are called only when appropriate. (Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type to private type. (Analyze_Subtype_Declaration): For an access subtype declaration, create an itype reference for the anonymous designated subtype, to prevent scope anonmalies in gigi. (Build_Itype_Reference): New utility, to simplify construction of such references. From-SVN: r123559
| Name |
Last commit
|
Last update |
|---|---|---|
| INSTALL | Loading commit data... | |
| boehm-gc | Loading commit data... | |
| config | Loading commit data... | |
| contrib | Loading commit data... | |
| fixincludes | Loading commit data... | |
| gcc | Loading commit data... | |
| gnattools | Loading commit data... | |
| include | Loading commit data... | |
| intl | Loading commit data... | |
| libada | Loading commit data... | |
| libcpp | Loading commit data... | |
| libdecnumber | Loading commit data... | |
| libffi | Loading commit data... | |
| libgcc | Loading commit data... | |
| libgfortran | Loading commit data... | |
| libgomp | Loading commit data... | |
| libiberty | Loading commit data... | |
| libjava | Loading commit data... | |
| libmudflap | Loading commit data... | |
| libobjc | Loading commit data... | |
| libssp | Loading commit data... | |
| libstdc++-v3 | Loading commit data... | |
| maintainer-scripts | Loading commit data... | |
| zlib | Loading commit data... | |
| ABOUT-NLS | Loading commit data... | |
| COPYING | Loading commit data... | |
| COPYING.LIB | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog.tree-ssa | Loading commit data... | |
| MAINTAINERS | Loading commit data... | |
| Makefile.def | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| Makefile.tpl | Loading commit data... | |
| README | Loading commit data... | |
| README.SCO | Loading commit data... | |
| compile | Loading commit data... | |
| config-ml.in | Loading commit data... | |
| config.guess | Loading commit data... | |
| config.rpath | Loading commit data... | |
| config.sub | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| depcomp | Loading commit data... | |
| install-sh | Loading commit data... | |
| libtool-ldflags | Loading commit data... | |
| libtool.m4 | Loading commit data... | |
| ltcf-c.sh | Loading commit data... | |
| ltcf-cxx.sh | Loading commit data... | |
| ltcf-gcj.sh | Loading commit data... | |
| ltconfig | Loading commit data... | |
| ltmain.sh | Loading commit data... | |
| missing | Loading commit data... | |
| mkdep | Loading commit data... | |
| mkinstalldirs | Loading commit data... | |
| move-if-change | Loading commit data... | |
| symlink-tree | Loading commit data... | |
| ylwrap | Loading commit data... |