[Ada] Fix uninitialized out parameter in s-regpat.adb

2019-12-18  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

	* libgnat/s-regpat.adb (Parse_Literal, Parse_Piece): Ensure
	Expr_Flags is always fully initialized.

From-SVN: r279517
This commit is contained in:
Arnaud Charlet 2019-12-18 07:16:17 +00:00 committed by Pierre-Marie de Rodat
parent 19f0436b8f
commit c7e3d0694b
2 changed files with 9 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2019-12-18 Arnaud Charlet <charlet@adacore.com>
* libgnat/s-regpat.adb (Parse_Literal, Parse_Piece): Ensure
Expr_Flags is always fully initialized.
2019-12-18 Arnaud Charlet <charlet@adacore.com>
* libgnat/s-atopar.ads, libgnat/s-atopex.ads (Atomic_Type): Can

View File

@ -1558,7 +1558,8 @@ package body System.Regpat is
Has_Special_Operator : Boolean := False;
begin
Parse_Pos := Parse_Pos - 1; -- Look at current character
Expr_Flags := Worst_Expression; -- Ensure Expr_Flags is initialized
Parse_Pos := Parse_Pos - 1; -- Look at current character
IP :=
Emit_Node
@ -1684,11 +1685,8 @@ package body System.Regpat is
begin
Parse_Atom (New_Flags, IP);
if IP = 0 then
return;
end if;
if Parse_Pos > Parse_End
if IP = 0
or else Parse_Pos > Parse_End
or else not Is_Mult (Parse_Pos)
then
Expr_Flags := New_Flags;