2014-07-31 Robert Dewar <dewar@adacore.com>
+ * inline.adb, s-traceb.adb, s-traceb-hpux.adb, memtrack.adb,
+ s-traceb-mastop.adb: Minor reformatting.
+
+2014-07-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Expand_Record_Extension): In ASIS_Mode perform
+ expansion, to handle properly visibility of selected components
+ in instance bodies.
+
+2014-07-31 Robert Dewar <dewar@adacore.com>
+
* par-ch13.adb (Get_Aspect_Specifications): Set Inside_Depends.
* par-ch2.adb (P_Pragma): Set Inside_Depends.
* par-ch4.adb (P_Simple_Expression): Pass Inside_Depends to
begin
-- Expand_Record_Extension is called directly from the semantics, so
-- we must check to see whether expansion is active before proceeding
+ -- Because this affects the visibility of selected components in bodies
+ -- of instances, it must also be called in ASIS mode.
- if not Expander_Active then
+ if not (Expander_Active or ASIS_Mode) then
return;
end if;
---------------------------
function Has_Excluded_Contract return Boolean is
-
function Check_Excluded_Contracts (E : Entity_Id) return Boolean;
-- Return True if the subprogram E has unsupported contracts
+ ------------------------------
+ -- Check_Excluded_Contracts --
+ ------------------------------
+
function Check_Excluded_Contracts (E : Entity_Id) return Boolean is
Items : constant Node_Id := Contract (E);
return False;
end Check_Excluded_Contracts;
+ -- Local declarations
+
Decl : Node_Id;
P_Id : Pragma_Id;
+
+ -- Start of processing for Has_Excluded_Contract
+
begin
if Check_Excluded_Contracts (Spec_Id)
or else Check_Excluded_Contracts (Body_Id)
end if;
Timestamp := System.OS_Primitives.Clock;
- Call_Chain (Tracebk, Max_Call_Stack, Num_Calls,
- Skip_Frames => 2);
+ Call_Chain
+ (Tracebk, Max_Call_Stack, Num_Calls, Skip_Frames => 2);
fputc (Character'Pos ('A'), Gmemfile);
fwrite (Result'Address, Address_Size, 1, Gmemfile);
fwrite (Actual_Size'Address, size_t'Max_Size_In_Storage_Elements, 1,
Gmem_Initialize;
end if;
- Call_Chain (Tracebk, Max_Call_Stack, Num_Calls,
- Skip_Frames => 2);
+ Call_Chain
+ (Tracebk, Max_Call_Stack, Num_Calls, Skip_Frames => 2);
Timestamp := System.OS_Primitives.Clock;
fputc (Character'Pos ('D'), Gmemfile);
fwrite (Addr'Address, Address_Size, 1, Gmemfile);
if Needs_Init then
Gmem_Initialize;
end if;
- Call_Chain (Tracebk, Max_Call_Stack, Num_Calls,
- Skip_Frames => 2);
+ Call_Chain
+ (Tracebk, Max_Call_Stack, Num_Calls, Skip_Frames => 2);
Timestamp := System.OS_Primitives.Clock;
fputc (Character'Pos ('D'), Gmemfile);
fwrite (Addr'Address, Address_Size, 1, Gmemfile);
begin
Call_Chain
(Traceback'Address, Max_Len, Len,
- Exclude_Min, Exclude_Max, Skip_Frames + 1);
- -- Skip one extra frame so we skip the other Call_Chain as well
+ Exclude_Min, Exclude_Max,
+
+ -- Skip one extra frame to skip the other Call_Chain entry as well
+
+ Skip_Frames => Skip_Frames + 1);
end Call_Chain;
end System.Traceback;
begin
Call_Chain
(Traceback'Address, Max_Len, Len,
- Exclude_Min, Exclude_Max, Skip_Frames + 1);
- -- Skip one extra frame so we skip the other Call_Chain as well
+ Exclude_Min, Exclude_Max,
+
+ -- Skip one extra frame to skip the other Call_Chain entry as well
+
+ Skip_Frames => Skip_Frames + 1);
end Call_Chain;
------------------
begin
Call_Chain
(Traceback'Address, Max_Len, Len,
- Exclude_Min, Exclude_Max, Skip_Frames + 1);
- -- Skip one extra frame so we skip the other Call_Chain as well
+ Exclude_Min, Exclude_Max,
+
+ -- Skip one extra frame to skip the other Call_Chain entry as well
+
+ Skip_Frames => Skip_Frames + 1);
end Call_Chain;
end System.Traceback;