sem_ch6.ads, [...] (Analyze_Subprogram_Declaration): A null procedure cannot be…
sem_ch6.ads, [...] (Analyze_Subprogram_Declaration): A null procedure cannot be a protected operation (it is a basic_declaration... 2006-10-31 Ed Schonberg <schonberg@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> Bob Duff <duff@adacore.com> * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null procedure cannot be a protected operation (it is a basic_declaration, not a subprogram_declaration). (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_ Subp. Add logic for entry processing. (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity. Determine whether an entry or subprogram of a protected or task type override an inherited primitive of an implemented interface. (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding. Update the actual used in calls to Check_Overriding_Indicator. (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit, generate the proper reference to the parent unit, for cross-reference. (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with Is_Formal. Add -gnatd.l --Use Ada 95 semantics for limited function returns, (Add_Extra_Formal): Revise procedure to allow passing in associated entity, scope, and name suffix, and handle setting of the new Extra_Formals field. (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to pass new parameters. Add support for adding the new extra access formal for functions whose calls are treated as build-in-place. (Analyze_A_Return_Statement): Correct casing in error message. Move Pop_Scope to after Analyze_Function_Return, because an extended return statement really is a full-fledged scope. Otherwise, visibility doesn't work right. Correct use of "\" for continuation messages. (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than evilly trying to call Analyze_Object_Declaration directly. Otherwise, the node doesn't get properly marked as analyzed. (Analyze_Subprogram_Body): If subprogram is a function that returns an anonymous access type that denotes a task, build a Master Entity for it. (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify proper usage of null exclusion in a result definition. (Process_Formals): Code cleanup and new error message. (Process_Formals): Detect incorrect application of null exclusion to non-access types. (Conforming_Types): Handle conformance between [sub]types and itypes generated for entities that have null exclusions applied to them. (Maybe_Primitive_Operation): Add an additional type retrieval when the base type is an access subtype. This case arrises with null exclusions. (New_Overloaded_Entity): Do not remove the overriden entity from the homonym chain if it corresponds with an abstract interface primitive. (Process_Formals): Replace membership test agains Incomplete_Kind with a call to the synthesized predicate Is_Incomplete_Type. (Analyze_Subprogram_Body): Check wrong placement of abstract interface primitives. (Analyze_Subprogram_Declaration): Check that abstract interface primitives are abstract or null. (Analyze_Subprogram_Specification): Remove previous check for abstract interfaces because it was not complete. (Has_Interface_Formals): Removed. From-SVN: r118304
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment