According to Section 1 of Annex J of [[ISO/IEC 9899:1999]], the behavior a program is unspecified in the circumstances outlined the table below. The "Practice" column in the table identifies the coding practice(s) that address the specific case of unspecified behavior (USB).
USB |
Description |
Practice |
---|---|---|
1 |
The manner and timing of static initialization. |
|
2 |
The termination status returned to the hosted environment if the return type of |
|
3 |
The behavior of the display device if a printing character is written when the active position is at the final position of a line. |
|
4 |
The behavior of the display device if a backspace character is written when the active position is at the initial position of a line. |
|
5 |
The behavior of the display device if a horizontal tab character is written when the active position is at or past the last defined horizontal tabulation position. |
|
6 |
The behavior of the display device if a vertical tab character is written when the active position is at or past the last defined vertical tabulation position. |
|
7 |
How an extended source character that does not correspond to a universal character name counts toward the significant initial characters in an external identifier. |
|
8 |
Many aspects of the representations of types. |
|
9 |
The value of padding bytes when storing values in structures or unions. |
|
10 |
The value of a union member other than the last one stored into. |
|
11 |
The representation used when storing a value in an object that has more than one object representation for that value. |
|
12 |
The values of any padding bits in integer representations. |
|
13 |
Whether certain operators can generate negative zeros and whether a negative zero becomes a normal zero when stored in an object. |
|
14 |
Whether two string literals result in distinct arrays. |
|
15 |
The order in which subexpressions are evaluated and the order in which side effects take place, except as specified for the function-call |
|
16 |
The order in which the function designator, arguments, and subexpressions within the arguments are evaluated in a function call. |
|
17 |
The order of side effects among compound literal initialization list expressions. |
|
18 |
The order in which the operands of an assignment operator are evaluated. |
|
19 |
The alignment of the addressable storage unit allocated to hold a bit-field. |
|
20 |
Whether a call to an inline function uses the inline definition or the external definition of the function. |
|
21 |
Whether or not a size expression is evaluated when it is part of the operand of a |
|
22 |
The order in which any side effects occur among the initialization list expressions in an initializer. |
|
23 |
The layout of storage for function parameters. |
|
24 |
When a fully expanded macro replacement list contains a function-like macro name as its last preprocessing token and the next preprocessing token from the source file is a |
|
25 |
The order in which |
|
26 |
Whether |
|
27 |
The state of the floating-point status flags when execution passes from a part of the program translated with |
|
28 |
The order in which |
|
29 |
Whether |
|
30 |
The results of the |
|
31 |
The result of rounding when the value is out of range. |
|
32 |
Whether |
|
33 |
Whether |
|
34 |
The hexadecimal digit before the decimal point when a non-normalized floating-point number is printed with an |
|
35 |
The value of the file position indicator after a successful call to the |
|
36 |
The details of the value stored by the |
|
37 |
The details of the value returned by the |
|
38 |
Whether the |
|
39 |
The order and contiguity of storage allocated by successive calls to the |
|
40 |
The amount of storage allocated by a successful call to the |
|
41 |
Which of two elements that compare as equal is matched by the |
|
42 |
The order of two elements that compare as equal in an array sorted by the |
|
43 |
The encoding of the calendar time returned by the |
|
44 |
The characters stored by the |
|
45 |
The conversion state after an encoding error occurs. |
|
46 |
The resulting value when the "invalid" floating-point exception is raised during IEC 60559 floating to integer conversion. |
|
47 |
Whether conversion of non-integer IEC 60559 floating values to integer raises the "inexact" floating-point exception. |
|
48 |
The exponent value stored by |
|
49 |
The numeric result returned by the |
|
50 |
The sign of one part of the complex result of several math functions for certain exceptional values in IEC 60559 compatible implementations. |
|