diff mbox series

[Ada] Delete no-longer-used Convert_To_Return_False flag

Message ID 20220530083236.GA210594@adacore.com
State New
Headers show
Series [Ada] Delete no-longer-used Convert_To_Return_False flag | expand

Commit Message

Pierre-Marie de Rodat May 30, 2022, 8:32 a.m. UTC
As a result of other recent changes, the Convert_To_Return_False flag
is never set. The flag can be therefore be deleted.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* exp_ch11.adb (Expand_N_Raise_Expression): Remove
	Convert_To_Return_False test.
	* gen_il-fields.ads: Remove Convert_To_Return_False field.
	* gen_il-gen-gen_nodes.adb: Remove use of
	Convert_To_Return_False field.
	* sinfo.ads: Remove comment describing Convert_To_Return_False
	flag.
diff mbox series

Patch

diff --git a/gcc/ada/exp_ch11.adb b/gcc/ada/exp_ch11.adb
--- a/gcc/ada/exp_ch11.adb
+++ b/gcc/ada/exp_ch11.adb
@@ -1350,37 +1350,19 @@  package body Exp_Ch11 is
       --     in
       --       raise Constraint_Error;
 
-      --  unless the flag Convert_To_Return_False is set, in which case
-      --  the transformation is to:
-
-      --     do
-      --       return False;
-      --     in
-      --       raise Constraint_Error;
-
       --  The raise constraint error can never be executed. It is just a dummy
       --  node that can be labeled with an arbitrary type.
 
       RCE := Make_Raise_Constraint_Error (Loc, Reason => CE_Explicit_Raise);
       Set_Etype (RCE, Typ);
 
-      if Convert_To_Return_False (N) then
-         Rewrite (N,
-           Make_Expression_With_Actions (Loc,
-             Actions     => New_List (
-               Make_Simple_Return_Statement (Loc,
-                 Expression => New_Occurrence_Of (Standard_False, Loc))),
-               Expression => RCE));
-
-      else
-         Rewrite (N,
-           Make_Expression_With_Actions (Loc,
-             Actions     => New_List (
-               Make_Raise_Statement (Loc,
-                 Name       => Name (N),
-                 Expression => Expression (N))),
-               Expression => RCE));
-      end if;
+      Rewrite (N,
+        Make_Expression_With_Actions (Loc,
+          Actions     => New_List (
+            Make_Raise_Statement (Loc,
+              Name       => Name (N),
+              Expression => Expression (N))),
+            Expression => RCE));
 
       Analyze_And_Resolve (N, Typ);
    end Expand_N_Raise_Expression;


diff --git a/gcc/ada/gen_il-fields.ads b/gcc/ada/gen_il-fields.ads
--- a/gcc/ada/gen_il-fields.ads
+++ b/gcc/ada/gen_il-fields.ads
@@ -118,7 +118,6 @@  package Gen_IL.Fields is
       Contract_Test_Cases,
       Controlling_Argument,
       Conversion_OK,
-      Convert_To_Return_False,
       Corresponding_Aspect,
       Corresponding_Body,
       Corresponding_Entry_Body,


diff --git a/gcc/ada/gen_il-gen-gen_nodes.adb b/gcc/ada/gen_il-gen-gen_nodes.adb
--- a/gcc/ada/gen_il-gen-gen_nodes.adb
+++ b/gcc/ada/gen_il-gen-gen_nodes.adb
@@ -523,8 +523,7 @@  begin -- Gen_IL.Gen.Gen_Nodes
 
    Cc (N_Raise_Expression, N_Subexpr,
        (Sy (Name, Node_Id, Default_Empty),
-        Sy (Expression, Node_Id, Default_Empty),
-        Sm (Convert_To_Return_False, Flag)));
+        Sy (Expression, Node_Id, Default_Empty)));
 
    Cc (N_Range, N_Subexpr,
        (Sy (Low_Bound, Node_Id),


diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -1005,12 +1005,6 @@  package Sinfo is
    --    direct conversion of the underlying integer result, with no regard to
    --    the small operand.
 
-   --  Convert_To_Return_False
-   --    Present in N_Raise_Expression nodes that appear in the body of the
-   --    special predicateM function used to test a predicate in the context
-   --    of a membership test, where raise expression results in returning a
-   --    value of False rather than raising an exception.
-
    --  Corresponding_Aspect
    --    Present in N_Pragma node. Used to point back to the source aspect from
    --    the corresponding pragma. This field is Empty for source pragmas.
@@ -6932,7 +6926,6 @@  package Sinfo is
       --  Sloc points to RAISE
       --  Name (always present)
       --  Expression (set to Empty if no expression present)
-      --  Convert_To_Return_False
       --  plus fields for expression
 
       -------------------------------