Message <Context> accepting a non-lvalue array in a subscript operator is an extension to the C89 standard. Description The C89 standard states that one of the operands to the subscript operator must be a pointer. However, the array used in this operator could not be converted to a pointer because it is not an lvalue. Therefore this code does not conform to the C89 standard and may not be accepted by other compilers. Note that the C99 standard allows this because all arrays are converted to pointers, not just lvalue arrays. User Action Be aware of this difference if you plan to port this source to another compiler.