aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2021-11-29 18:12:47 +0000
committerPierre-Marie de Rodat <derodat@adacore.com>2022-01-06 17:11:31 +0000
commitbfbb8de66079be551f08cdab38cafa766bb29e78 (patch)
tree7919ecc7cf1cd2ee947d2667ec2777fa684901c6 /gcc/go
parent2a3652640b612c1e7619dfa10c096f3adc750b41 (diff)
downloadgcc-bfbb8de66079be551f08cdab38cafa766bb29e78.zip
gcc-bfbb8de66079be551f08cdab38cafa766bb29e78.tar.gz
gcc-bfbb8de66079be551f08cdab38cafa766bb29e78.tar.bz2
[Ada] Crash in class-wide pre/postconditions
gcc/ada/ * contracts.adb (Restore_Original_Selected_Component): New subprogram that traverses a preanalyzed expression searching for dispatching calls to functions whose original node was a selected component, and replacing them with their original node. This functionality is required because the preanalyis of dispatching calls using the Object.Operation notation transforms such calls, and we need the original condition to properly inherit and extend the condition expression on tagged type derivations. This functionality was previously provided by the routine Install_Original_Selected_Component (as part of inheriting conditions); now it is performed as part of the preanalysis of the condition, thus avoiding repeatedly installing and restoring such nodes. (Install_Original_Selected_Component): Removed. (Restore_Dispatching_Calls): Removed.
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions