| ISO Standard: | “The number of bits in a byte (C90 3.4, C99 3.6).” |
| Implementation: | 8. |
| ISO Standard: | “The values of the members of the execution character set (C90 and
C99 5.2.1).” |
| ISO Standard: | “The unique value of the member of the execution character set
produced for each of the standard alphabetic escape sequences (C90 and
C99 5.2.2).” |
| Implementation: | The execution character set is ASCII. |
| ISO Standard: | “The value of a char object into which has been stored any character
other than a member of the basic execution character set (C90 6.1.2.5,
C99 6.2.5).” |
| Implementation: | The value of the char object is the 8-bit binary representation of
the character in the source character set. That is, no translation is
done. |
| ISO Standard: | “Which of signed char or unsigned char has the same range,
representation, and behavior as “plain” char (C90 6.1.2.5, C90 6.2.1.1,
C99 6.2.5, C99 6.3.1.1).” |
| Implementation: | By default on PIC32M, signed char is functionally equivalent to plain
char. |
| ISO Standard: | “The mapping of members of the source character set (in character
constants and string literals) to members of the execution character set
(C90 6.1.3.4, C99 6.4.4.4, C90 and C99 5.1.1.2).” |
| Implementation: | The binary representation of the source character set is preserved to
the execution character set. |
| ISO Standard: | “The value of an integer character constant containing more than one
character or containing a character or escape sequence that does not map
to a single-byte execution character (C90 6.1.3.4, C99
6.4.4.4).” |
| Implementation: | The compiler determines the value for a multi-character character
constant one character at a time. The previous value is shifted left by
eight, and the bit pattern of the next character is masked in. The final
result is of type int. If the result is larger than can
be represented by an int, a warning diagnostic is
issued and the value truncated to int size. |
| ISO Standard: | “The value of a wide character constant containing more than one
multibyte character, or containing a multibyte character or escape
sequence not represented in the extended execution character set (C90
6.1.3.4, C99 6.4.4.4).” |
| Implementation: | See previous. |
| ISO Standard: | “The current locale used to convert a wide character constant
consisting of a single multibyte character that maps to a member of the
extended execution character set into a corresponding wide character
code (C90 6.1.3.4, C99 6.4.4.4).” |
| Implementation: | LC_ALL |
| ISO Standard: | “The current locale used to convert a wide string literal into
corresponding wide character codes (C90 6.1.4, C99 6.4.5).” |
| Implementation: | LC_ALL |
| ISO Standard: | “The value of a string literal containing a multibyte character or
escape sequence not represented in the execution character set (C90
6.1.4, C99 6.4.5).” |
| Implementation: | The binary representation of the characters is preserved from the
source character set. |