diff options
author | Javier Miranda <miranda@adacore.com> | 2022-02-15 18:39:42 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-05-13 08:04:33 +0000 |
commit | 18e278727e1a0430f50e878dbfadb35dae54baff (patch) | |
tree | 8c820be7b8f3304863de8038754601f6263b1c35 /gcc/gimple-range-path.cc | |
parent | fafccfbf77ac245c7fa77c06e4ae001009c3425e (diff) | |
download | gcc-18e278727e1a0430f50e878dbfadb35dae54baff.zip gcc-18e278727e1a0430f50e878dbfadb35dae54baff.tar.gz gcc-18e278727e1a0430f50e878dbfadb35dae54baff.tar.bz2 |
[Ada] Wrong address for class-wide interface access conversion
The compiler generates wrong code on instantiations of package
Address_To_Access_Conversions when the generic formal is a class-wide
interface type; this causes wrong dispatching calls when the
access-to-class-wide-interface object returned by To_Pointer is used to
dispatch a call.
gcc/ada/
* exp_attr.adb (Expand_N_Attribute_Reference): The expansion of
'Address in a call to an instantiation of the implicit
subprogram To_Pointer with a class-wide interface type target
requires adding an implicit type conversion to force
displacement of the "this" pointer.
Diffstat (limited to 'gcc/gimple-range-path.cc')
0 files changed, 0 insertions, 0 deletions