aboutsummaryrefslogtreecommitdiff
path: root/intl/config.intl.in
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2022-07-03 18:41:56 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2022-07-13 10:01:15 +0000
commit05e91ac1f89dc0b4757ac7e8ffaacd65bcdc4794 (patch)
tree1534578479d1206ee12400292edf6461383b417c /intl/config.intl.in
parentb872d3fe67b54fef84ccafc7d39f1017a68332c2 (diff)
downloadgcc-05e91ac1f89dc0b4757ac7e8ffaacd65bcdc4794.zip
gcc-05e91ac1f89dc0b4757ac7e8ffaacd65bcdc4794.tar.gz
gcc-05e91ac1f89dc0b4757ac7e8ffaacd65bcdc4794.tar.bz2
[Ada] Plug legality loophole for equality operator of untagged record types
In Ada 2012, the RM 4.5.2(9.8) clause prevents an equality operator for an untagged record type from being declared after the type is frozen. While the clause is implemented in GNAT, the implementation has a loophole which lets subprogram bodies that are not the completion of a declaration pass the check without being flagged. gcc/ada/ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Acts_As_Spec earlier if the body is not the completion of a declaration. (Check_Untagged_Equality): Deal with subprogram bodies that are not the completion of a declaration and make sure that they are not flagged when they cause the freezing of the type themselves. Give a warning on the freezing point of the type in more cases. * sem_res.adb (Resolve_Equality_Op): Revert latest change.
Diffstat (limited to 'intl/config.intl.in')
0 files changed, 0 insertions, 0 deletions