-- pragma No_Component_Reordering applies.
-- No_Return
--- Defined in all entities. Set for subprograms and generic subprograms
--- to which a valid aspect or pragma No_Return applies.
+-- Defined in subprograms and generic subprograms. Set if a valid aspect
+-- or pragma No_Return applies.
-- No_Strict_Aliasing [base type only]
-- Defined in access types. Set to direct the backend to avoid any
-- Materialize_Entity
-- Needs_Debug_Info
-- Never_Set_In_Source
- -- No_Return
-- Overlays_Constant
-- Referenced
-- Referenced_As_LHS
-- Is_Visible_Lib_Unit
-- Is_Wrapper
-- Needs_No_Actuals
+ -- No_Return
-- Requires_Overriding (non-generic case only)
-- Return_Present
-- Returns_By_Ref
Sm (Needs_Activation_Record, Flag),
Sm (Needs_Debug_Info, Flag),
Sm (Never_Set_In_Source, Flag),
- Sm (No_Return, Flag),
Sm (Overlays_Constant, Flag),
Sm (Prev_Entity, Node_Id),
Sm (Referenced, Flag),
Sm (Linker_Section_Pragma, Node_Id),
Sm (Overridden_Operation, Node_Id),
Sm (Protected_Body_Subprogram, Node_Id),
+ Sm (No_Return, Flag),
Sm (Scope_Depth_Value, Unat),
Sm (Static_Call_Helper, Node_Id),
Sm (SPARK_Pragma, Node_Id),
(Sm (Has_Out_Or_In_Out_Parameter, Flag),
Sm (Is_Primitive, Flag),
Sm (Next_Inlined_Subprogram, Node_Id),
+ Sm (No_Return, Flag),
Sm (Overridden_Operation, Node_Id)));
Cc (E_Generic_Function, Generic_Subprogram_Kind,
-- Check that pragma No_Return is obeyed. Don't complain about the
-- implicitly-generated return that is placed at the end.
- if No_Return (Scope_Id)
- and then Kind in E_Procedure | E_Generic_Procedure
+ if Kind in E_Procedure | E_Generic_Procedure
+ and then No_Return (Scope_Id)
and then Comes_From_Source (N)
then
Error_Msg_N