Page 198 - C-Language
P. 198
expressions with value 0 (6.3.2.3/5).
Source form
• The locations within #pragma directives where header name tokens are recognized (6.4/4).
• The characters, including multibyte characters, other than underscore, unaccented Latin
letters, universal character names, and decimal digits that may appear in identifiers (
6.4.2.1/1).
• The number of significant characters in an identifier (6.4.2.1/5).
• With some exceptions, the manner in which the source characters in an integer character
constant are mapped to execution-set characters (6.4.4.4/2; 6.4.4.4/10).
• The current locale used for computing the value of a wide character constant, and most
other aspects of the conversion for many such constants (6.4.4.4/11).
• Whether differently-prefixed wide string literal tokens can be concatenated and, if so, the
treatment of the resulting multibyte character sequence (6.4.5/5)
• The locale used during translation phase 7 to convert wide string literals to multibyte
character sequences, and their value when the result is not representable in the execution
character set (6.4.5/6).
• The manner in which header names are mapped to file names (6.4.7/2).
Evaluation
• Whether and how floating-point expressions are contracted when FP_CONTRACT is not used (
6.5/8).
• The values of the results of the sizeof and _Alignof operators (6.5.3.4/5).
• The size of the result type of pointer subtraction (6.5.6/9).
• The result of right-shifting a signed integer with a negative value (6.5.7/5).
Runtime behavior
• The extent to which the register keyword is effective (6.7.1/6).
• Whether the type of a bitfield declared as int is the same type as unsigned int or as signed
int (6.7.2/5).
• What types bitfields may take, other than optionally-qualified _Bool, signed int, and unsigned
int; whether bitfields may have atomic types (6.7.2.1/5).
• Aspects of how implementations lay out the storage for bitfields (6.7.2.1/11).
https://riptutorial.com/ 174

