gcc: Characters implementation

1 
1 4.4 Characters
1 ==============
1 
1    * 'The number of bits in a byte (C90 3.4, C99 and C11 3.6).'
1 
1      Determined by ABI.
1 
1    * 'The values of the members of the execution character set (C90, C99
1      and C11 5.2.1).'
1 
1      Determined by ABI.
1 
1    * 'The unique value of the member of the execution character set
1      produced for each of the standard alphabetic escape sequences (C90,
1      C99 and C11 5.2.2).'
1 
1      Determined by ABI.
1 
1    * 'The value of a 'char' object into which has been stored any
1      character other than a member of the basic execution character set
1      (C90 6.1.2.5, C99 and C11 6.2.5).'
1 
1      Determined by ABI.
1 
1    * 'Which of 'signed char' or 'unsigned char' has the same range,
1      representation, and behavior as "plain" 'char' (C90 6.1.2.5, C90
1      6.2.1.1, C99 and C11 6.2.5, C99 and C11 6.3.1.1).'
1 
1      Determined by ABI.  The options '-funsigned-char' and
11      '-fsigned-char' change the default.  ⇒Options Controlling C
      Dialect C Dialect Options.
1 
1    * 'The mapping of members of the source character set (in character
1      constants and string literals) to members of the execution
1      character set (C90 6.1.3.4, C99 and C11 6.4.4.4, C90, C99 and C11
1      5.1.1.2).'
1 
1      Determined by ABI.
1 
1    * 'The value of an integer character constant containing more than
1      one character or containing a character or escape sequence that
1      does not map to a single-byte execution character (C90 6.1.3.4, C99
1      and C11 6.4.4.4).'
1 
11      ⇒Implementation-defined behavior (cpp)Implementation-defined
      behavior.
1 
1    * 'The value of a wide character constant containing more than one
1      multibyte character or a single multibyte character that maps to
1      multiple members of the extended execution character set, or
1      containing a multibyte character or escape sequence not represented
1      in the extended execution character set (C90 6.1.3.4, C99 and C11
1      6.4.4.4).'
1 
11      ⇒Implementation-defined behavior (cpp)Implementation-defined
      behavior.
1 
1    * 'The current locale used to convert a wide character constant
1      consisting of a single multibyte character that maps to a member of
1      the extended execution character set into a corresponding wide
1      character code (C90 6.1.3.4, C99 and C11 6.4.4.4).'
1 
11      ⇒Implementation-defined behavior (cpp)Implementation-defined
      behavior.
1 
1    * 'Whether differently-prefixed wide string literal tokens can be
1      concatenated and, if so, the treatment of the resulting multibyte
1      character sequence (C11 6.4.5).'
1 
1      Such tokens may not be concatenated.
1 
1    * 'The current locale used to convert a wide string literal into
1      corresponding wide character codes (C90 6.1.4, C99 and C11 6.4.5).'
1 
11      ⇒Implementation-defined behavior (cpp)Implementation-defined
      behavior.
1 
1    * 'The value of a string literal containing a multibyte character or
1      escape sequence not represented in the execution character set (C90
1      6.1.4, C99 and C11 6.4.5).'
1 
11      ⇒Implementation-defined behavior (cpp)Implementation-defined
      behavior.
1 
1    * 'The encoding of any of 'wchar_t', 'char16_t', and 'char32_t' where
1      the corresponding standard encoding macro ('__STDC_ISO_10646__',
1      '__STDC_UTF_16__', or '__STDC_UTF_32__') is not defined (C11
1      6.10.8.2).'
1 
11      ⇒Implementation-defined behavior (cpp)Implementation-defined
      behavior.  'char16_t' and 'char32_t' literals are always encoded in
1      UTF-16 and UTF-32 respectively.
1