Fix PR #220 Regression - Urgent #256
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR #220 introduced a regression. It entered subprogram parameters into
the symbol table before processing their declaration causing the
processing of a subprogram specification to fail.
The fault was found by the regression caused to PR #245 but could could happen if a subprogram body was declared without a separate declaration (perfectly legal to do this in Ada).
The problem of symbols missing from the symbol that PR #220 was designed to fix was due to not processing a subprogram's specification prior to processing its body, if it had no separate declaration.
This change removes the code from PR 220 and ensures a
subprogram specification is processed before its body.
I have run the regression tests on this branch and the results as for the main branch and as best I can tell the golden results are not significantly different, the summaries being identical.