aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-tests.cc
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2022-04-13 16:27:59 +0000
committerPierre-Marie de Rodat <derodat@adacore.com>2022-05-19 14:05:31 +0000
commit8a03acaace9544249583e630153e73d53ccfaec7 (patch)
treef7895b37741485d2512a7eaafc7f919a3e40b203 /gcc/gimple-range-tests.cc
parenteff70bcc1f1e808e3cc253a8452b7849329d549a (diff)
downloadgcc-8a03acaace9544249583e630153e73d53ccfaec7.zip
gcc-8a03acaace9544249583e630153e73d53ccfaec7.tar.gz
gcc-8a03acaace9544249583e630153e73d53ccfaec7.tar.bz2
[Ada] Wrong interface dynamic dispatch via access parameter
When the prefix of an Access attribute is an explicit dereference of an access parameter (or a renaming of such a dereference, or a subcomponent of such a dereference), the context is a general access type to a class-wide interface type, and an accessibility check must be generated, the frontend silently skips generating an implicit type conversion to force the displacement of the pointer to reference the secondary dispatch table. gcc/ada/ * exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New subprogram which factorizes code. (Expand_N_Attribute_Reference): Call the new subprogram to add the missing implicit interface type conversion.
Diffstat (limited to 'gcc/gimple-range-tests.cc')
0 files changed, 0 insertions, 0 deletions