|
| 1 | +2026-06-22 Javier Miranda <miranda@adacore.com> |
| 2 | + |
| 3 | + * par-ch6.adb (P_Subprogram): Add missing support for direct |
| 4 | + attribute definition in abstract subprogram declarations. |
| 5 | + * sem_attr.adb (Check_Hidden_Abstract_Constructor_Call): New |
| 6 | + local subprogram of Analyze_Attribute. |
| 7 | + (Analyze_Attribute) <Attribute_Make>: Add calls to the new local |
| 8 | + subprogram to detect and report wrong calls to abstract constructors; |
| 9 | + minor code restructure. |
| 10 | + * sem_ch3.adb (Process_Full_View): Propagate Needs_Construction from |
| 11 | + the partial view to the full view. |
| 12 | + * sem_ch4.adb (Extended_Primitive_Ops): Add callable constructors to |
| 13 | + the extended primitive operations when available; otherwise, add |
| 14 | + abstract constructors so that we can diagnose wrong calls to them. |
| 15 | + * sem_ch6.adb (Analyze_Direct_Attribute_Definition) <Name_Constructor>: |
| 16 | + add missing support for abstract constructors. Report an error on |
| 17 | + abstract constructors not declared in the visible part of a package. |
| 18 | + (New_Overloaded_Entity): Add support for a private constructor to |
| 19 | + complete a public abstract constructor and link them with the |
| 20 | + Overridden_Operation attribute. |
| 21 | + * sem_ch7.adb (Inspect_Abstract_Constructors_Completion): New subprogram |
| 22 | + that checks if every abstract constructor in the visible part of the |
| 23 | + package has a matching counterpart constructor in its private part. |
| 24 | + (Analyze_Package_Specification): After analysing private declarations, |
| 25 | + call Inspect_Abstract_Constructors_Completion. |
| 26 | + * sem_util.ads (Collect_Constructors): New subprogram that collects |
| 27 | + all non-hidden constructors into two lists: Callable (non-abstract) |
| 28 | + constructors, and abstract constructors. |
| 29 | + * sem_util.adb (Collect_Constructors): Ditto. |
| 30 | + |
| 31 | +2026-06-22 Eric Botcazou <ebotcazou@adacore.com> |
| 32 | + |
| 33 | + * accessibility.adb (Accessibility_Level): Deal with the associated |
| 34 | + entity created during expansion for 'Old attribute references. |
| 35 | + * exp_ch4.ads (Tagged_Membership): New declaration from... |
| 36 | + * exp_ch4.adb (Tagged_Membership): ...here. Retrieve the designated |
| 37 | + types first, if any. Do not retrieve the root type of a CW type for |
| 38 | + the left operand, instead compute a full type for this operand. Do |
| 39 | + not generate a tag equality test in the direct case if both left and |
| 40 | + right operands are of specific tagged type. |
| 41 | + (Expand_N_In): In the anonymous access type case, pass the left |
| 42 | + operand directly to the Accessibility_Level routine. |
| 43 | + * exp_ch6.adb: Add clauses for SCIL_LL package. |
| 44 | + (Expand_Simple_Function_Return): Use an indirect membership test to |
| 45 | + implement the tag check for an anonymous access return designating |
| 46 | + a specific tagged type. |
| 47 | + * sem_ch4.adb (Analyze_Membership_Op): Deal specifically with a |
| 48 | + right operand that denotes a tagged type. |
| 49 | + * sem_res.ads (Valid_Tagged_Conversion): New declaration from... |
| 50 | + * sem_res.adb (Valid_Tagged_Conversion): ...here. |
| 51 | + (Resolve_Membership_Op): Deal specifically with a right operand that |
| 52 | + denotes a tagged type and remove obsolete special case. |
| 53 | + (Valid_Conversion): Adjust calls to Valid_Tagged_Conversion. |
| 54 | + * sem_type.adb (Intersect_Types): Minor tweaks. |
| 55 | + |
1 | 56 | 2026-06-19 Eric Botcazou <ebotcazou@adacore.com> |
2 | 57 |
|
3 | 58 | * exp_ch4.adb (Expand_N_Expression_With_Actions): Create a temporary |
|
0 commit comments