aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/usage.adb
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2023-02-22 17:00:06 +0100
committerMarc Poulhiès <poulhies@adacore.com>2023-05-23 09:59:06 +0200
commit544d5ff153b3470126cd2c9095617c1c084d418d (patch)
treecbd53567b4ae07c49696680b04676534fe29549e /gcc/ada/usage.adb
parent6efcce36f571da77a7122d3d1ae75739d744fe88 (diff)
downloadgcc-544d5ff153b3470126cd2c9095617c1c084d418d.zip
gcc-544d5ff153b3470126cd2c9095617c1c084d418d.tar.gz
gcc-544d5ff153b3470126cd2c9095617c1c084d418d.tar.bz2
ada: Fix address arithmetic issues in the expanded code
This is most notably the addition of addresses in Expand_Interface_Thunk. There is also a small change to Expand_Dispatching_Call, which was directly accessing a class-wide interface object as a tag, thus giving rise later to unchecked conversions between either the root or the equivalent record type and access types. gcc/ada/ * exp_disp.adb (Expand_Dispatching_Call): In the abstract interface class-wide case, use 'Tag of the object as the controlling tag. (Expand_Interface_Thunk): Perform address arithmetic using operators of System.Storage_Elements.
Diffstat (limited to 'gcc/ada/usage.adb')
0 files changed, 0 insertions, 0 deletions