(c) It is able to recognize violations of the standard that are not specifically called errors, reports such violations to the user, and prevents execution of the program. 

(d) It handles each violation that is specifically called an error in one of the following ways. 

1. It states in its documentation that the error is not reported. 

2. It reports during program preparation that the error is possible or inevitable; in the presence of such a report, the processor is able to continue further processing and is able to refuse execution, at the user's option. 

3. It reports during program preparation that the error occurred; in the presence of such an error, the processor terminates execution. When an error occurs within a statement, the statement does not complete execution. 

(e) It is able to process as an error any use of an extension or of an implementation-dependent feature. 

(D It is accompanied by a document that contains the following. 

1. A definition of all implementation-defined features. 

2. A section that describes all errors that are not reported (see d.1, above). If an extension makes use of a condition that is specified by the standard to be an error and thus the error is not reported, then the document must state that the error is not reported. 

3. A section that describes all extensions supported by the implementation. 

