Error_Msg_BC -- CODEFIX
("keyword BODY expected here '[see file name']");
Restore_Scan_State (Scan_State);
- Set_Unit (Comp_Unit_Node, P_Package (Pf_Pbod_Pexp));
+ Set_Unit (Comp_Unit_Node, P_Package (Pf_Pbod_Expf));
else
Restore_Scan_State (Scan_State);
- Set_Unit (Comp_Unit_Node, P_Package (Pf_Decl_Gins_Pbod_Rnam_Pexp));
+ Set_Unit (Comp_Unit_Node, P_Package (Pf_Decl_Gins_Pbod_Rnam_Expf));
end if;
elsif Token = Tok_Generic then
elsif Token in Tok_Function | Tok_Not | Tok_Overriding | Tok_Procedure
then
- Set_Unit (Comp_Unit_Node, P_Subprogram (Pf_Decl_Gins_Pbod_Rnam_Pexp));
+ Set_Unit (Comp_Unit_Node, P_Subprogram (Pf_Decl_Gins_Pbod_Rnam_Expf));
-- A little bit of an error recovery check here. If we just scanned
-- a subprogram declaration (as indicated by an SIS entry being
Ignore (Tok_Semicolon);
if Token in Tok_Function | Tok_Not | Tok_Overriding | Tok_Procedure then
- Body_Node := P_Subprogram (Pf_Pbod_Pexp);
+ Body_Node := P_Subprogram (Pf_Pbod_Expf);
elsif Token = Tok_Package then
- Body_Node := P_Package (Pf_Pbod_Pexp);
+ Body_Node := P_Package (Pf_Pbod_Expf);
elsif Token = Tok_Protected then
Scan; -- past PROTECTED
| Tok_Procedure
=>
Check_Bad_Layout;
- Append (P_Subprogram (Pf_Decl_Gins_Pbod_Rnam_Stub_Pexp), Decls);
+ Append (P_Subprogram (Pf_Decl_Gins_Pbod_Rnam_Stub_Expf), Decls);
when Tok_For =>
Check_Bad_Layout;
Error_Msg_SC ("\unit must be compiled with -gnat05 switch");
Token := Tok_Overriding;
- Append (P_Subprogram (Pf_Decl_Gins_Pbod_Rnam_Stub_Pexp), Decls);
+ Append (P_Subprogram (Pf_Decl_Gins_Pbod_Rnam_Stub_Expf), Decls);
-- Normal case, no overriding, or overriding followed by colon
when Tok_Package =>
Check_Bad_Layout;
- Append (P_Package (Pf_Decl_Gins_Pbod_Rnam_Stub_Pexp), Decls);
+ Append (P_Package (Pf_Decl_Gins_Pbod_Rnam_Stub_Expf), Decls);
when Tok_Pragma =>
-- If we see a pragma and In_Statements is true, we want to let
-- declarations and bodies can occur. The Pf_Pbod case is for
-- subunits.
- if Pf_Flags /= Pf_Decl_Gins_Pbod_Rnam_Stub_Pexp
+ if Pf_Flags /= Pf_Decl_Gins_Pbod_Rnam_Stub_Expf
and then
- Pf_Flags /= Pf_Decl_Pbod_Pexp
+ Pf_Flags /= Pf_Decl_Pbod_Expf
and then
- Pf_Flags /= Pf_Pbod_Pexp
+ Pf_Flags /= Pf_Pbod_Expf
then
Error_Msg_SC ("overriding indicator not allowed here!");
then
-- Check expression function allowed here
- if not Pf_Flags.Pexp then
+ if not Pf_Flags.Expf then
Error_Msg_SC ("expression function not allowed here!");
end if;
-- Case of package body. Note that we demand a package body if that
-- is the only possibility (even if the BODY keyword is not present)
- if Token = Tok_Body or else Pf_Flags = Pf_Pbod_Pexp then
+ if Token = Tok_Body or else Pf_Flags = Pf_Pbod_Expf then
if not Pf_Flags.Pbod then
Error_Msg_SC ("package body cannot appear here!");
end if;
Set_Must_Not_Override (Decl, Not_Overriding);
elsif Token in Tok_Function | Tok_Procedure then
- Decl := P_Subprogram (Pf_Decl_Pexp);
+ Decl := P_Subprogram (Pf_Decl_Expf);
Set_Must_Override (Specification (Decl), Is_Overriding);
Set_Must_Not_Override (Specification (Decl), Not_Overriding);
when Tok_Function
| Tok_Procedure
=>
- Result := P_Subprogram (Pf_Decl_Pexp);
+ Result := P_Subprogram (Pf_Decl_Expf);
exit;
when Tok_Identifier =>
or else
Token = Tok_Not or else Bad_Spelling_Of (Tok_Not)
then
- Append (P_Subprogram (Pf_Decl_Pbod_Pexp), Item_List);
+ Append (P_Subprogram (Pf_Decl_Pbod_Expf), Item_List);
elsif Token = Tok_Pragma or else Bad_Spelling_Of (Tok_Pragma) then
P_Pragmas_Opt (Item_List);
Pbod : Boolean; -- True if proper body OK
Rnam : Boolean; -- True if renaming declaration OK
Stub : Boolean; -- True if body stub OK
- Pexp : Boolean; -- True if parameterized expression OK
+ Expf : Boolean; -- True if expression function OK
end record;
pragma Pack (Pf_Rec);
function T return Boolean renames True;
function F return Boolean renames False;
- Pf_Decl_Gins_Pbod_Rnam_Stub_Pexp : constant Pf_Rec := (F, T, T, T, T, T, T);
- Pf_Decl_Pexp : constant Pf_Rec := (F, T, F, F, F, F, T);
- Pf_Decl_Gins_Pbod_Rnam_Pexp : constant Pf_Rec := (F, T, T, T, T, F, T);
- Pf_Decl_Pbod_Pexp : constant Pf_Rec := (F, T, F, T, F, F, T);
- Pf_Pbod_Pexp : constant Pf_Rec := (F, F, F, T, F, F, T);
+ Pf_Decl_Gins_Pbod_Rnam_Stub_Expf : constant Pf_Rec := (F, T, T, T, T, T, T);
+ Pf_Decl_Expf : constant Pf_Rec := (F, T, F, F, F, F, T);
+ Pf_Decl_Gins_Pbod_Rnam_Expf : constant Pf_Rec := (F, T, T, T, T, F, T);
+ Pf_Decl_Pbod_Expf : constant Pf_Rec := (F, T, F, T, F, F, T);
+ Pf_Pbod_Expf : constant Pf_Rec := (F, F, F, T, F, F, T);
Pf_Spcn : constant Pf_Rec := (T, F, F, F, F, F, F);
-- The above are the only allowed values of Pf_Rec arguments