The following list describes how external data maps across the
languages, as well as how mapping is restricted:
- C to C++
- External variables map if: 1) C has constructed reentrancy,
or 2) C++ uses #pragma variable(...,norent) to make
the specific variable non-reentrant.
- C to COBOL
- C and COBOL static external variables do not map to each
other.
- C to PL/I
- If C is non-reentrant, then C and PL/I static external
variables map by name. If the C routine has constructed reentrancy,
the C and PL/I static external variables will map if the C
routine uses #pragma variable(...,norent) to make the specific
variable non-reentrant.
- C++ to COBOL
- C++ and COBOL static external variables do not map to each
other.
- C++ to PL/I
- External variables map if C++ uses #pragma variable(...,norent) to make specific variable non-reentrant.
- COBOL to PL/I
- COBOL and PL/I static external variables do not map to
each other.