It is possible to nest Cobol-IT programs together in the same source module.
The -fstatic-call directive tell the compiler that all calls are considered static, ie all programs are in the same executable module.
The -fnull-param directive tells the compiler to add a null parameter to end of a call statement.
When the two directives were used together and the nested programs appeared in the source code error the following error was reported:
/tmp/cob12742_5.c: In function <source module>:
/tmp/cob12742_5.c:179:5: error: too many arguments to function <called module>
(*(int *) (b_10)) = routine (b_19, NULL, NULL);
/tmp/cob12742_5.c:35:5: note: declared here
int routine (unsigned char *);
<source module>: - name of the source module that is being compiled.
<called module>: - name of a nest program that has been called.
Full article: https://portal.microfocus.com/s/article/KM000011682