A statement that displays a message.
report string severity severity_level;
The report statement is
very much similar to assertion statement.
The main difference is that the message is displayed
unconditionally. Its main purpose is to help in the debugging process.
The expression specified in the report
clause must be of predefined type STRING, and it is a message
that will be reported when the assertion violation occurred.
If the severity clause is
present, it must specify an expression of predefined type
SEVERITY_LEVEL, which determines the severity level of the assertion
violation. The SEVERITY_LEVEL type is specified in the STANDARD
package and contains following values: NOTE, WARNING, ERROR, and
FAILURE. If the severity
clause is omitted in a report statement it is implicitly assumed to
be NOTE (unlike in an assertion statement, where the default is ERROR).
while counter <= 100 loop
if counter > 50
"the counter is over 50";
. . .
Whatever happens inside the loop, if the value of counter is greater
than 50 it will be reported by the listed message. The severity
clause is omitted here because the selected level is the same as the
default one (NOTE).