Append_Char : Character := ' ') return Name_Id;
-- Build a name in the form of Prefix__Selector, with an optional
-- character appended. This is used for internal subprograms generated
- -- for operations of protected types, including barrier functions. In
- -- order to simplify the work of the debugger, the prefix includes the
- -- characters PT. For the subprograms generated for entry bodies and
- -- entry barriers, the generated name includes a sequence number that
- -- makes names unique in the presence of entry overloading. This is
- -- necessary because entry body procedures and barrier functions all
- -- have the same signature.
+ -- for operations of protected types, including barrier functions.
+ -- For the subprograms generated for entry bodies and entry barriers,
+ -- the generated name includes a sequence number that makes names
+ -- unique in the presence of entry overloading. This is necessary
+ -- because entry body procedures and barrier functions all have the
+ -- same signature.
procedure Build_Simple_Entry_Call
(N : Node_Id;
Loc : Source_Ptr) return Node_Id
is
begin
+ Set_Needs_Debug_Info (Def_Id);
return Make_Function_Specification (Loc,
Defining_Unit_Name => Def_Id,
Parameter_Specifications => New_List (
P : Entity_Id;
begin
+ Set_Needs_Debug_Info (Def_Id);
P := Make_Defining_Identifier (Loc, Name_uP);
if Present (Ent_Id) then
Name_Len := Name_Len - 1;
end if;
- Name_Buffer (Name_Len + 1) := 'P';
- Name_Buffer (Name_Len + 2) := 'T';
- Name_Buffer (Name_Len + 3) := '_';
- Name_Buffer (Name_Len + 4) := '_';
+ Name_Buffer (Name_Len + 1) := '_';
+ Name_Buffer (Name_Len + 2) := '_';
- Name_Len := Name_Len + 4;
+ Name_Len := Name_Len + 2;
for J in 1 .. Select_Len loop
Name_Len := Name_Len + 1;
Name_Buffer (Name_Len) := Select_Buffer (J);
-- calls from other operations on the same object. The locking operation
-- simply acquires the lock, and then calls the non-locking version.
-- The names of all of these have a prefix constructed from the name of
- -- the type, the string "PT", and a suffix which is P or N, depending on
- -- whether this is the protected/non-locking version of the operation.
+ -- the type, and a suffix which is P or N, depending on whether this is
+ -- the protected/non-locking version of the operation.
-- Operations generated for protected entries follow the same encoding.
-- Each entry results in two suprograms: a procedure that holds the
-- the following operations are created:
- -- lockPT_getN
- -- lockPT_getP,
+ -- lock_getN
+ -- lock_getP,
- -- lockPT_setN
- -- lockPT_setP
+ -- lock_setN
+ -- lock_setP
- -- lockPT_update1sE
- -- lockPT_udpate2sB
+ -- lock_update1sE
+ -- lock_udpate2sB
----------------------------------------------------
-- Conversion between Entities and External Names --