aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/ChangeLog')
-rw-r--r--gcc/ada/ChangeLog21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 475a389..b4ed0d5 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,24 @@
+2019-12-13 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads (Expand_Interface_Thunk): Adding one formal (the
+ interface type).
+ * exp_disp.adb (Expand_Interface_Thunk): Using the added formal
+ to ensure the correct profile of the thunk generated for
+ predefined primitives; in addition, the added formal is also
+ used to perform a check that ensures that the controlling type
+ of the thunk is the one expected by the GCC backend.
+ (Make_Secondary_DT, Register_Primitive): Adding the new formal
+ to the calls to Expand_Interface_Thunk.
+ * exp_ch6.adb (Register_Predefined_DT_Entry): Adding the new
+ formal to the call to Expand_Interface_Thunk.
+ * exp_intr.adb (Expand_Unc_Deallocation): When deallocating a
+ controlled type and the call to unchecked deallocation is
+ performed with a pointer to one of the convered interface types,
+ displace the pointer to the object to reference the base of the
+ object to deallocate its memory.
+ * gcc-interface/trans.c (maybe_make_gnu_thunk): Assert that the
+ controlling type of the thunk is an interface type.
+
2019-12-13 Bob Duff <duff@adacore.com>
* exp_attr.adb (Is_Available): Remove this function, and replace