Skip to content

557 contained subroutines are not external#558

Merged
Matthew Hambley (MatthewHambley) merged 2 commits intomainfrom
557_contained_subroutines_are_not_external
Apr 29, 2026
Merged

557 contained subroutines are not external#558
Matthew Hambley (MatthewHambley) merged 2 commits intomainfrom
557_contained_subroutines_are_not_external

Conversation

@hiker
Copy link
Copy Markdown
Collaborator

@hiker Joerg Henrichs (hiker) commented Apr 23, 2026

Prevents subroutines/functions that are 'contained' in another subroutine to be exported as defined external symbols. This is a requirement for Socrates, which has dozen of subroutines which each define their own subroutine nf(...), which atm results in Fab complaining about duplicated symbols.

We already exclude subroutines in modules and interfaces, so it is just a small change to also exclude anything that's an Internal_Subprogram_Part (i.e. it is contained in another program unit).

I also did some cleanup of pylint errors in a test file.

@hiker Joerg Henrichs (hiker) requested review from a team and Matthew Hambley (MatthewHambley) and removed request for a team April 23, 2026 04:29
@hiker Joerg Henrichs (hiker) added the Ready for review Indicating that a PR is ready to be reviewed. label Apr 24, 2026
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As advertised, a straight forward change.

@MatthewHambley Matthew Hambley (MatthewHambley) merged commit 3abf8fc into main Apr 29, 2026
9 checks passed
@MatthewHambley Matthew Hambley (MatthewHambley) deleted the 557_contained_subroutines_are_not_external branch April 29, 2026 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Ready for review Indicating that a PR is ready to be reviewed.

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

2 participants