+2017-01-19 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
+ Emit GNAT encodings for object renamings involving record components
+ whose normalized bit offset is not null.
+ * uintp.h (UI_No_Uint): Declare.
+
+2017-01-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the
+ statements within an element iterator loop are only analyzed
+ agter the loop is rewritten. Within a generic the analysis must
+ be performed in any case to complete name capture.
+
+2017-01-19 Bob Duff <duff@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Check for ignored pragmas first,
+ before checking for unrecognized pragmas.
+ Initialize Pname on its declarations; that's always good style.
+
2017-01-19 Claire Dross <dross@adacore.com>
* exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the
-- expanded).
-- In other cases in GNATprove mode then we want to analyze the loop
- -- body now, since no rewriting will occur.
+ -- body now, since no rewriting will occur. Within a generic the
+ -- GNATprove mode is irrelevant, we must analyze the generic for
+ -- non-local name capture.
if Present (Iter)
and then Present (Iterator_Specification (Iter))
then
if GNATprove_Mode
and then Is_Iterator_Over_Array (Iterator_Specification (Iter))
+ and then not Inside_A_Generic
then
null;
Loc : constant Source_Ptr := Sloc (N);
Prag_Id : Pragma_Id;
- Pname : Name_Id;
+ Pname : Name_Id := Pragma_Name (N);
-- Name of the source pragma, or name of the corresponding aspect for
-- pragmas which originate in a source aspect. In the latter case, the
-- name may be different from the pragma name.
Check_Restriction_No_Use_Of_Pragma (N);
- -- Deal with unrecognized pragma
+ -- Ignore pragma if Ignore_Pragma applies
- Pname := Pragma_Name (N);
+ if Get_Name_Table_Boolean3 (Pname) then
+ return;
+ end if;
+
+ -- Deal with unrecognized pragma
if not Is_Pragma_Name (Pname) then
if Warn_On_Unrecognized_Pragma then
return;
end if;
- -- Ignore pragma if Ignore_Pragma applies
-
- if Get_Name_Table_Boolean3 (Pname) then
- return;
- end if;
-
-- Here to start processing for recognized pragma
Prag_Id := Get_Pragma_Id (Pname);