Category
Portability and migration
Purpose
Provides ASCII/NLS support.
When
ASCII is in effect, the compiler performs the following:
- Uses XPLink linkage unless explicitly overwritten by the NOXPLINK
option. Note that the ASCII runtime functions require XPLINK. The
system headers check the __XPLINK__ macro (which is predefined when
the XPLINK option is turned on). The prototypes for the ASCII runtime
functions will not be exposed under NOXPLINK. Specifying the
NOXPLINK option explicitly will prevent you from using the ASCII runtime
functions. ASCII and NOXPLINK are accepted if the source does
not contain the main() function, otherwise, an error
is emitted.
- Uses ISO8859-1 for its default code page rather than IBM-1047
for character constants and string literals.
- Sets a flag in the program control block to indicate that the
compile unit is ASCII.
When NOASCII is in effect, the compiler uses the IBM-1047
code page for character constants and string literals, unless the
code page is affected by other related options; for example, the CONVLIT,
LOCALE, or DEF(__STRING_CODESET__) compiler options.
Syntax

.-NOASCII-.
>>-+-ASCII---+-------------------------------------------------><
Usage
Use the ASCII option and the ASCII
version of the runtime library if your application must process ASCII
data natively at execution time.
Note: You can use EBCDIC instead
of NOASCII. The two names are synonymous. There is no negative form
for EBCDIC, which means that NOEBCDIC is not supported. Since EBCDIC
is the default, there is usually no need to specify it. If you must
specify it, use EBCDIC instead of NOASCII as the former is self-documenting.
Predefined macros
__CHARSET_LIB is defined
to 1 when the ASCII compiler option is in effect and it is defined
to a value of 0 when the NOASCII compiler option is in effect.
Related information
For more information
on the XPLINK compiler option, see XPLINK | NOXPLINK.