diff options
author | Bob Duff <duff@adacore.com> | 2024-05-28 12:19:51 -0400 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2024-06-20 10:50:57 +0200 |
commit | a688a0281946b1cc11333ca548db031a9aa0e9fd (patch) | |
tree | 7ecfcacc8b3f13223d48088dd7b4bd26589eebf7 /gcc/ada/validsw.adb | |
parent | 36bd57330f9b8f06206c909af53cd8b3ca6f6bed (diff) | |
download | gcc-a688a0281946b1cc11333ca548db031a9aa0e9fd.zip gcc-a688a0281946b1cc11333ca548db031a9aa0e9fd.tar.gz gcc-a688a0281946b1cc11333ca548db031a9aa0e9fd.tar.bz2 |
ada: Rewrite generic formal/actual matching
...in preparation for implementing type inference for generic
parameters.
The main change is to do the "matching" computation early, and produce a
*constant* data structure (Gen_Assocs_Rec) to represent the matching
between each triple of unanalyzed formal, analyzed formal, and
corresponding actual. This will allow us to look at that data structure
more than once, which will be necessary for type inference.
Matching_Actual is removed; Match_Assocs is added.
Other changes include removal of global variables, splitting out
processing into subprograms, adding assertions, comment corrections,
and other general cleanups.
gcc/ada/
* expander.ads: Minor comment fixes.
* nlists.ads: Misc comment improvements.
* sem_aux.ads (First_Discriminant): Improve comment.
* sem_ch12.adb: Misc cleanups.
(Associations): New package containing type Gen_Assocs_Rec
to represent matchings, and function Match_Assocs to create the
Gen_Assocs_Rec constant.
(Analyze_Associations): Call Match_Assocs, and other major
changes related to that.
* sem_ch12.ads: Minor comment fixes.
* sem_ch3.adb: Minor comment fixes.
Diffstat (limited to 'gcc/ada/validsw.adb')
0 files changed, 0 insertions, 0 deletions