Next: Pragma No_Strict_Aliasing, Previous: Pragma No_Inline, Up: Implementation Defined Pragmas [Contents][Index]
Syntax:
pragma No_Return (procedure_LOCAL_NAME {, procedure_LOCAL_NAME});
Each procedure_LOCAL_NAME
argument must refer to one or more procedure
declarations in the current declarative part. A procedure to which this
pragma is applied may not contain any explicit return
statements.
In addition, if the procedure contains any implicit returns from falling
off the end of a statement sequence, then execution of that implicit
return will cause Program_Error to be raised.
One use of this pragma is to identify procedures whose only purpose is to raise an exception. Another use of this pragma is to suppress incorrect warnings about missing returns in functions, where the last statement of a function statement sequence is a call to such a procedure.
Note that in Ada 2005 mode, this pragma is part of the language. It is available in all earlier versions of Ada as an implementation-defined pragma.