C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)

When MIGRATION_CHECK is specified, no object file is produced by NMCPLUS, CPPCOMP,
or c89. The listing, if enabled, itemizes the functions called from the VERSION2 library that
are not supported in VERSION3.
On OSS environment, a listing is produced only if you also specify -Wnosuppress.
Diagnostics are also sent to stderr.
On Guardian environment, a listing is produced by default unless you also specify NOLIST
on the command line. The listing is directed to the hometerm unless an OUT file is specified.
MIGRATION_CHECK must be used with the VERSION2 command-line directive. If it is used
with VERSION1 or VERSION3 (or if no version is specified), this error is output to the home
terminal and to the compilation listing if it is enabled:
***Error: MIGRATION_CHECK option only allowed with version2.
The source code to be analyzed must be error-free, valid VERSION2 C++ source.
No migration check is available for migrating from VERSION1 to VERSION3.
Required source code changes might be either trivial or significant in migrating from VERSION2
to VERSION3.
For example, many components available in the VERSION2 library are also available in
VERSION3, sometimes by different name. Some components don’t exist in VERSION3, but
many of these can be easily built using VERSION3 components.
Examples
To run a migration check in the OSS environment:
c89 -Wversion2 -Wmigration_check -Wnosuppress myprog.cpp
To run a migration check in the G-series Guardian environment:
nmcplus / in myprogc, out $s.#list / ; version2, migration_check
To run a migration check in the H-series or J-series Guardian environment:
cppcomp / in myprogc, out $s.#list / ; version2, migration_check
MIGRATION_CHECK 32TO64
MIGRATION_CHECK 32TO64 enables additional compiler diagnostics. These warnings detect
valid C/C++ code that potentially works in an unexpected fashion when code designed for ILP32
is compiled using the LP64 data model.
Usage Guidelines
This command-line directive is supported only in TNS/E compilers running on H06.24/J06.13
RVU and later versions. On OSS and Windows environment, the compiling option is
-Wmigration_check=32to64.
MIGRATION_CHECK 32TO64 is a command-line directive that must be entered on the compiler
RUN command line but not in the source text. For more information, see “LP64 Data Model”
(page 391).
MULTIBYTE_CHAR
The MULTIBYTE_CHAR pragma directs the native mode C/C++ compiler to support multibyte
characters in source code, specifically in comments, string literals, and character constants. When
MULTIBYTE_CHAR is specified, the compiler issues a warning if an invalid multibyte character is
detected. Currently SJIS is the only multibyte character set supported.
MULTIBYTE_CHAR
218 Compiler Pragmas