-- Discriminated_Size --
------------------------
- function Discriminated_Size (Comp : Entity_Id) return Boolean
- is
+ function Discriminated_Size (Comp : Entity_Id) return Boolean is
Typ : constant Entity_Id := Etype (Comp);
Index : Node_Id;
function Non_Static_Bound (Bound : Node_Id) return Boolean;
- -- Check whether the bound of an index is non-static and does
- -- denote a discriminant, in which case any protected object of
- -- the type will have a non-static size.
+ -- Check whether the bound of an index is non-static and does denote
+ -- a discriminant, in which case any protected object of the type
+ -- will have a non-static size.
----------------------
-- Non_Static_Bound --
return False;
elsif Is_Entity_Name (Bound)
- and then Present (Discriminal_Link (Entity (Bound)))
+ and then Present (Discriminal_Link (Entity (Bound)))
then
return False;
end if;
end Non_Static_Bound;
+ -- Start of processing for Discriminated_Size
+
begin
if not Is_Array_Type (Typ) then
return False;
Status := -1;
else
- -- Send a Ctrl-C to the process first. This way, if the
- -- launched process is a "sh" or "cmd", the child processes
- -- will get terminated as well. Otherwise, terminating the
- -- main process brutally will leave the children running.
- --
- -- Note: special characters are sent to the terminal to generate
- -- the signal, so this needs to be done while the file descriptors
- -- are still open.
+ -- Send a Ctrl-C to the process first. This way, if the launched
+ -- process is a "sh" or "cmd", the child processes will get
+ -- terminated as well. Otherwise, terminating the main process
+ -- brutally will leave the children running.
+
+ -- Note: special characters are sent to the terminal to generate the
+ -- signal, so this needs to be done while the file descriptors are
+ -- still open (it used to be after the closes and that was wrong).
Interrupt (Descriptor);
delay (0.05);