|
|
|
— An array subscript is out of range, even if an object is apparently accessible with the given subscript (as in the lvalue expression a[1][7] given the declaration int a[4][5] ) (6.5.6). — The result of subtracting two pointers is not representable in an object of type ptrdiff_t (6.5.6). — An expression is shifted by a negative number or by an amount greater than or equal to the width of the promoted expression (6.5.7). — An expression having signed promoted type is left-shifted and either the value of the expression is negative or the result of shifting would be not be representable in the — Pointers that do not point to the same aggregate or union (nor just beyond the same array object) are compared using relational operators (6.5.8). — An object is assigned to an inexactly overlapping object or to an exactly overlapping object with incompatible type (6.5.16.1). — An expression that is required to be an integer constant expression does not have an integer type; has operands that are not integer constants, enumeration constants, sizeof expressions whose results are integer constants, or immediately-cast floating constants; or contains casts (outside operands to sizeof operators) other than conversions of arithmetic types to integer types (6.6). — A constant expression in an initializer is not, or does not evaluate to, one of the following: an arithmetic constant expression, a null pointer constant, an address — An arithmetic constant expression does not have arithmetic type; has operands that are not integer constants, floating constants, enumeration constants, character sizeof expressions; or contains casts (outside operands to sizeof operators) other than conversions of arithmetic types to arithmetic types (6.6). — The value of an object is accessed by an array-subscript [] , member-access . or −> , address & , or indirection * operator or a pointer cast in creating an address constant (6.6). — An identifier for an object is declared with no linkage and the type of the object is incomplete after its declarator, or after its init-declarator if it has an initializer (6.7). — A function is declared at block scope with an explicit storage-class specifier other than extern (6.7.1). — A structure or union is defined as containing no named members (6.7.2.1). §J.2 Portability issues 495 |