Report Statement
  
    
    
     
   
   Formal Definition
  
   A statement that displays a message. 
  
   Simplified Syntax
  
   report string; 
  
   report string severity severity_level; 
  
   Description
  
   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). 
  
   Examples
  
   Example 1 
  
   while counter <= 100 loop 
     if counter > 50 
       then report 
   "the counter is over 50"; 
     end if; 
     . . . 
   end loop; 
  
     
   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). 
  
   Important Notes
  
  
    
 
    |