diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2018-05-28 08:56:08 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2018-05-28 08:56:08 +0000 |
commit | 72da915b16e6fcd36ae59b99faa4070f97ae59d9 (patch) | |
tree | 1e40aeec5337b0badc559e183ea199a1a9f3b8b0 | |
parent | 184a6ba6e0ca03795058e2ab1f3c29d96601c560 (diff) | |
download | gcc-72da915b16e6fcd36ae59b99faa4070f97ae59d9.zip gcc-72da915b16e6fcd36ae59b99faa4070f97ae59d9.tar.gz gcc-72da915b16e6fcd36ae59b99faa4070f97ae59d9.tar.bz2 |
[Ada] Minor cleanup in repinfo unit
This removes the Truth_Andif_Expr and Truth_Orif_Expr codes for expressions
handled by the repinfo unit, since they are redundant with Truth_And_Expr
and Truth_Or_Expr respectively in this context. No functional changes.
2018-05-28 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* repinfo.ads (TCode): Adjust range.
(Truth_Andif_Expr): Remove.
(Truth_Orif_Expr): Likewise.
(Truth_And_Expr .. Dynamic_Val): Adjust value.
* repinfo.adb (Print_Expr): Remove handling of Truth_{And,Or}if_Expr.
(Rep_Value): Likewise.
* repinfo.h (Truth_Andif_Expr): Remove.
(Truth_Orif_Expr): Likewise.
(Truth_And_Expr .. Dynamic_Val): Adjust value.
* gcc-interface/decl.c (annotate_value) <TRUTH_ANDIF_EXPR>: Fall
through to TRUTH_AND_EXPR case.
<TRUTH_ORIF_EXPR>: Fall through to TRUTH_OR_EXPR case.
From-SVN: r260842
-rw-r--r-- | gcc/ada/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/decl.c | 4 | ||||
-rw-r--r-- | gcc/ada/repinfo.adb | 12 | ||||
-rw-r--r-- | gcc/ada/repinfo.ads | 30 | ||||
-rw-r--r-- | gcc/ada/repinfo.h | 26 |
5 files changed, 43 insertions, 44 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index c179b90..3a9e1dd 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,18 @@ +2018-05-28 Eric Botcazou <ebotcazou@adacore.com> + + * repinfo.ads (TCode): Adjust range. + (Truth_Andif_Expr): Remove. + (Truth_Orif_Expr): Likewise. + (Truth_And_Expr .. Dynamic_Val): Adjust value. + * repinfo.adb (Print_Expr): Remove handling of Truth_{And,Or}if_Expr. + (Rep_Value): Likewise. + * repinfo.h (Truth_Andif_Expr): Remove. + (Truth_Orif_Expr): Likewise. + (Truth_And_Expr .. Dynamic_Val): Adjust value. + * gcc-interface/decl.c (annotate_value) <TRUTH_ANDIF_EXPR>: Fall + through to TRUTH_AND_EXPR case. + <TRUTH_ORIF_EXPR>: Fall through to TRUTH_OR_EXPR case. + 2018-05-28 Ed Schonberg <schonberg@adacore.com> * exp_unst.adb (Visit_Node): For indexed components and attribute diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index 738211f..2fa9582 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -8132,9 +8132,9 @@ annotate_value (tree gnu_size) case MIN_EXPR: tcode = Min_Expr; break; case MAX_EXPR: tcode = Max_Expr; break; case ABS_EXPR: tcode = Abs_Expr; break; - case TRUTH_ANDIF_EXPR: tcode = Truth_Andif_Expr; break; - case TRUTH_ORIF_EXPR: tcode = Truth_Orif_Expr; break; + case TRUTH_ANDIF_EXPR: case TRUTH_AND_EXPR: tcode = Truth_And_Expr; break; + case TRUTH_ORIF_EXPR: case TRUTH_OR_EXPR: tcode = Truth_Or_Expr; break; case TRUTH_XOR_EXPR: tcode = Truth_Xor_Expr; break; case TRUTH_NOT_EXPR: tcode = Truth_Not_Expr; break; diff --git a/gcc/ada/repinfo.adb b/gcc/ada/repinfo.adb index 1fa3f4e..7d283f6 100644 --- a/gcc/ada/repinfo.adb +++ b/gcc/ada/repinfo.adb @@ -621,12 +621,6 @@ package body Repinfo is when Abs_Expr => Unop ("abs "); - when Truth_Andif_Expr => - Binop (" and if "); - - when Truth_Orif_Expr => - Binop (" or if "); - when Truth_And_Expr => Binop (" and "); @@ -1554,12 +1548,6 @@ package body Repinfo is when Abs_Expr => return UI_Abs (V (Node.Op1)); - when Truth_Andif_Expr => - return B (T (Node.Op1) and then T (Node.Op2)); - - when Truth_Orif_Expr => - return B (T (Node.Op1) or else T (Node.Op2)); - when Truth_And_Expr => return B (T (Node.Op1) and then T (Node.Op2)); diff --git a/gcc/ada/repinfo.ads b/gcc/ada/repinfo.ads index c0dd601..a36736b 100644 --- a/gcc/ada/repinfo.ads +++ b/gcc/ada/repinfo.ads @@ -136,7 +136,7 @@ package Repinfo is -- Subtype used for values that can either be a Node_Ref (negative) -- or a value (non-negative) - type TCode is range 0 .. 29; + type TCode is range 0 .. 27; -- Type used on Ada side to represent DEFTREECODE values defined in -- tree.def. Only a subset of these tree codes can actually appear. -- The names are the names from tree.def in Ada casing. @@ -153,24 +153,22 @@ package Repinfo is Trunc_Mod_Expr : constant TCode := 8; -- mod for trunc_div 2 Ceil_Mod_Expr : constant TCode := 9; -- mod for ceil_div 2 Floor_Mod_Expr : constant TCode := 10; -- mod for floor_div 2 - Exact_Div_Expr : constant TCode := 11; -- exact div 2 + Exact_Div_Expr : constant TCode := 11; -- exact division 2 Negate_Expr : constant TCode := 12; -- negation 1 Min_Expr : constant TCode := 13; -- minimum 2 Max_Expr : constant TCode := 14; -- maximum 2 Abs_Expr : constant TCode := 15; -- absolute value 1 - Truth_Andif_Expr : constant TCode := 16; -- Boolean and then 2 - Truth_Orif_Expr : constant TCode := 17; -- Boolean or else 2 - Truth_And_Expr : constant TCode := 18; -- Boolean and 2 - Truth_Or_Expr : constant TCode := 19; -- Boolean or 2 - Truth_Xor_Expr : constant TCode := 20; -- Boolean xor 2 - Truth_Not_Expr : constant TCode := 21; -- Boolean not 1 - Lt_Expr : constant TCode := 22; -- comparison < 2 - Le_Expr : constant TCode := 23; -- comparison <= 2 - Gt_Expr : constant TCode := 24; -- comparison > 2 - Ge_Expr : constant TCode := 25; -- comparison >= 2 - Eq_Expr : constant TCode := 26; -- comparison = 2 - Ne_Expr : constant TCode := 27; -- comparison /= 2 - Bit_And_Expr : constant TCode := 28; -- Binary and 2 + Truth_And_Expr : constant TCode := 16; -- boolean and 2 + Truth_Or_Expr : constant TCode := 17; -- boolean or 2 + Truth_Xor_Expr : constant TCode := 18; -- boolean xor 2 + Truth_Not_Expr : constant TCode := 19; -- boolean not 1 + Lt_Expr : constant TCode := 20; -- comparison < 2 + Le_Expr : constant TCode := 21; -- comparison <= 2 + Gt_Expr : constant TCode := 22; -- comparison > 2 + Ge_Expr : constant TCode := 23; -- comparison >= 2 + Eq_Expr : constant TCode := 24; -- comparison = 2 + Ne_Expr : constant TCode := 25; -- comparison /= 2 + Bit_And_Expr : constant TCode := 26; -- bitwise and 2 -- The following entry is used to represent a discriminant value in -- the tree. It has a special tree code that does not correspond @@ -184,7 +182,7 @@ package Repinfo is -- has a special tree code that does not correspond directly to -- a GCC node. The single operand is an arbitrary index number. - Dynamic_Val : constant TCode := 29; -- dynamic value 1 + Dynamic_Val : constant TCode := 27; -- dynamic value 1 ------------------------ -- The gigi Interface -- diff --git a/gcc/ada/repinfo.h b/gcc/ada/repinfo.h index b35f54f..286dc52 100644 --- a/gcc/ada/repinfo.h +++ b/gcc/ada/repinfo.h @@ -58,20 +58,18 @@ typedef char TCode; #define Min_Expr 13 #define Max_Expr 14 #define Abs_Expr 15 -#define Truth_Andif_Expr 16 -#define Truth_Orif_Expr 17 -#define Truth_And_Expr 18 -#define Truth_Or_Expr 19 -#define Truth_Xor_Expr 20 -#define Truth_Not_Expr 21 -#define Lt_Expr 22 -#define Le_Expr 23 -#define Gt_Expr 24 -#define Ge_Expr 25 -#define Eq_Expr 26 -#define Ne_Expr 27 -#define Bit_And_Expr 28 -#define Dynamic_Val 29 +#define Truth_And_Expr 16 +#define Truth_Or_Expr 17 +#define Truth_Xor_Expr 18 +#define Truth_Not_Expr 19 +#define Lt_Expr 20 +#define Le_Expr 21 +#define Gt_Expr 22 +#define Ge_Expr 23 +#define Eq_Expr 24 +#define Ne_Expr 25 +#define Bit_And_Expr 26 +#define Dynamic_Val 27 /* Creates a node using the tree code defined by Expr and from 1-3 operands as required (unused operands set as shown to No_Uint) Note |