===================================================================
@@ -215,14 +215,17 @@ package body Ch6 is
-- already been given, so no need to give another message here.
-- An overriding indicator is allowed for subprogram declarations,
- -- bodies, renamings, stubs, and instantiations. The test against
- -- Pf_Decl_Pbod is added to account for the case of subprograms
- -- declared in a protected type, where only subprogram declarations
- -- and bodies can occur.
+ -- bodies (including subunits), renamings, stubs, and
+ -- instantiations. The test against Pf_Decl_Pbod is added to account
+ -- for the case of subprograms declared in a protected type, where
+ -- only subprogram declarations and bodies can occur. The Pf_Pbod
+ -- case is for subunits.
if Pf_Flags /= Pf_Decl_Gins_Pbod_Rnam_Stub
and then
Pf_Flags /= Pf_Decl_Pbod
+ and then
+ Pf_Flags /= Pf_Pbod
then
Error_Msg_SC ("overriding indicator not allowed here!");
===================================================================
@@ -1028,7 +1028,11 @@ package body Ch10 is
Ignore (Tok_Semicolon);
- if Token = Tok_Function or else Token = Tok_Procedure then
+ if Token = Tok_Function
+ or else Token = Tok_Not
+ or else Token = Tok_Overriding
+ or else Token = Tok_Procedure
+ then
Body_Node := P_Subprogram (Pf_Pbod);
elsif Token = Tok_Package then