aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorGaius Mulley <gaiusmod2@gmail.com>2024-05-21 15:46:46 +0100
committerGaius Mulley <gaiusmod2@gmail.com>2024-05-21 15:46:46 +0100
commit20e6f36771df7e3a8857628dd367eecfe77ba4fc (patch)
treebb0019c3160de5d6f92eb1ff6cb0ede7aeadd589 /gcc/cp
parent49c87d22535ac4f8aacf088b3f462861c26cacb4 (diff)
downloadgcc-20e6f36771df7e3a8857628dd367eecfe77ba4fc.zip
gcc-20e6f36771df7e3a8857628dd367eecfe77ba4fc.tar.gz
gcc-20e6f36771df7e3a8857628dd367eecfe77ba4fc.tar.bz2
modula2: use groups in the type resolver of the bootstrap tool mc
This patch introduces groups to maintain the lists used when resolving types in the bootstrap tool mc. The groups and type resolver are very similar to that used in cc1gm2. Specifically the resolver uses the group to detect any change to any element in any list within a group. This is much cleaner and safer than the previous list length comparisons. gcc/m2/ChangeLog: * Make-lang.in (MC_EXTENDED_OPAQUE): New definition. * mc-boot/GDynamicStrings.cc: Rebuild. * mc-boot/GDynamicStrings.h: Rebuild. * mc-boot/Galists.cc: Rebuild. * mc-boot/Galists.h: Rebuild. * mc-boot/Gdecl.cc: Rebuild. * mc/alists.def (equalList): New procedure. * mc/alists.mod (equalList): New procedure implementation. * mc/decl.mod (group): New type. (freeGroup): New variable. (globalGroup): Ditto. (todoQ): Remove declaration and prefix all occurances with globalGroup^. (partialQ): Ditto. (doneQ): Ditto. (newGroup): New procedure. (initGroup): Ditto. (killGroup): Ditto. (dupGroup): Ditto. (equalGroup): Ditto. (topologicallyOut): Rewrite. Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
Diffstat (limited to 'gcc/cp')
0 files changed, 0 insertions, 0 deletions