Atmel CAVR-4 Manuale Utente
CAVR-4
Part 2. Compiler reference
Implementation-defined behavior
257
See Locale, page 71.
Bits per character in execution character set (5.2.4.2.1)
The number of bits in a character is represented by the manifest constant
CHAR_BIT
. The
standard include file
limits.h
defines
CHAR_BIT
as 8.
Mapping of characters (6.1.3.4)
The mapping of members of the source character set (in character and string literals) to
members of the execution character set is made in a one-to-one way. In other words, the
same representation value is used for each member in the character sets except for the
escape sequences listed in the ISO standard.
members of the execution character set is made in a one-to-one way. In other words, the
same representation value is used for each member in the character sets except for the
escape sequences listed in the ISO standard.
Unrepresented character constants (6.1.3.4)
The value of an integer character constant that contains a character or escape sequence
not represented in the basic execution character set or in the extended character set for
a wide character constant generates a diagnostic message, and will be truncated to fit the
execution character set.
not represented in the basic execution character set or in the extended character set for
a wide character constant generates a diagnostic message, and will be truncated to fit the
execution character set.
Character constant with more than one character (6.1.3.4)
An integer character constant that contains more than one character will be treated as an
integer constant. The value will be calculated by treating the leftmost character as the
most significant character, and the rightmost character as the least significant character,
in an integer constant. A diagnostic message will be issued if the value cannot be
represented in an integer constant.
integer constant. The value will be calculated by treating the leftmost character as the
most significant character, and the rightmost character as the least significant character,
in an integer constant. A diagnostic message will be issued if the value cannot be
represented in an integer constant.
A wide character constant that contains more than one multibyte character generates a
diagnostic message.
diagnostic message.
Converting multibyte characters (6.1.3.4)
The only locale supported—that is, the only locale supplied with the IAR C/C++
Compiler—is the ‘C’ locale. If you use the command line option
Compiler—is the ‘C’ locale. If you use the command line option
--enable_multibytes
, the IAR DLIB Library will support multibyte characters if
you add a locale with multibyte support or a multibyte character scanner to the library.
The IAR CLIB Library does not support multibyte characters.
The IAR CLIB Library does not support multibyte characters.
See Locale, page 71.
Range of 'plain' char (6.2.1.1)
A ‘plain’
char
has the same range as an
unsigned
char
.