exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and Terminated...
2007-04-20 Hristian Kirtchev <kirtchev@adacore.com> Javier Miranda <miranda@adacore.com> Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and Terminated: Add unchecked type conversion from System.Address to System.Tasking.Task_Id when calling the predefined primitive _disp_get_task_id. Disable new Ada 05 accessibility check for JVM.NET targets, which cannot be implemented in a practical way. (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in the sources always references the tag of the actual object. Therefore, if 'Tag is applied in the sources to class-wide interface objects we generate code that displaces "this" to reference the base of the object. (Expand_N_Attribute_Reference, case Size): Return specified size if known to front end. (Expand_N_Attribute_Reference): The expansion of the 'Address attribute has code that displaces the pointer of the object to manage interface types. However this code must not be executed when the prefix is a subprogram. This bug caused the wrong expansion of the internally generated assignment that fills the dispatch table when the primitive is a function returning a class-wide interface type. (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to Set_Attribute_Name for Name_Unaligned_Valid. From-SVN: r125393
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment