Commit 865234bf by Eric Botcazou Committed by Pierre-Marie de Rodat

[Ada] Fix strange warning when using Ada.Iterator_Interface

The back-end was recently changed to issue more -Wuninitialized warnings
on Out parameters and this has caught a case related to
Ada.Iterator_Interface.: This patchlet simply kills this uninteresting
warning.

2018-10-09  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* exp_disp.adb (Make_Disp_Asynchronous_Select_Spec): Set
	Warnings_Off on the B out parameter.

gcc/testsuite/

	* gnat.dg/warn17.adb: New testcase.

From-SVN: r264977
parent fd40a157
2018-10-09 Eric Botcazou <ebotcazou@adacore.com>
* exp_disp.adb (Make_Disp_Asynchronous_Select_Spec): Set
Warnings_Off on the B out parameter.
2018-10-09 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads: Small comment fix.
2018-10-09 Eric Botcazou <ebotcazou@adacore.com>
......
......@@ -2487,9 +2487,10 @@ package body Exp_Disp is
(Typ : Entity_Id) return Node_Id
is
Loc : constant Source_Ptr := Sloc (Typ);
Def_Id : constant Node_Id :=
Def_Id : constant Entity_Id :=
Make_Defining_Identifier (Loc,
Name_uDisp_Asynchronous_Select);
B_Id : constant Entity_Id := Make_Defining_Identifier (Loc, Name_uB);
Params : constant List_Id := New_List;
begin
......@@ -2501,6 +2502,9 @@ package body Exp_Disp is
-- B : out Dummy_Communication_Block; -- Communication block dummy
-- F : out Boolean; -- Status flag
-- The B parameter may be left uninitialized
Set_Warnings_Off (B_Id);
Append_List_To (Params, New_List (
Make_Parameter_Specification (Loc,
......@@ -2518,7 +2522,7 @@ package body Exp_Disp is
Parameter_Type => New_Occurrence_Of (RTE (RE_Address), Loc)),
Make_Parameter_Specification (Loc,
Defining_Identifier => Make_Defining_Identifier (Loc, Name_uB),
Defining_Identifier => B_Id,
Parameter_Type =>
New_Occurrence_Of (RTE (RE_Dummy_Communication_Block), Loc),
Out_Present => True),
......
2018-10-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/warn17.adb: New testcase.
2018-10-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/inline14.adb, gnat.dg/inline14_pkg.adb,
gnat.dg/inline14_pkg.ads: New testcase.
......
-- { dg-do compile }
-- { dg-options "-Wall" }
with Ada.Iterator_Interfaces;
procedure Warn17 is
type Cursor is null record;
function Has_Element (Position : Cursor) return Boolean;
function Has_Element (Position : Cursor) return Boolean is (True);
package My_Iterator is
new Ada.Iterator_Interfaces (Cursor, Has_Element);
type Iterator is abstract new My_Iterator.Forward_Iterator with null record;
pragma Unreferenced (Iterator);
begin
null;
end Warn17;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment