diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2023-02-01 20:41:49 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2023-05-26 09:29:17 +0200 |
commit | 4f591201821b4e236f79486fa3ae881a8b2d5212 (patch) | |
tree | f8b7f9f68ac3552b34b3afa29232129d780d13b3 /gcc | |
parent | deba689502bb274e94f5a37a96d3fe582041e3b1 (diff) | |
download | gcc-4f591201821b4e236f79486fa3ae881a8b2d5212.zip gcc-4f591201821b4e236f79486fa3ae881a8b2d5212.tar.gz gcc-4f591201821b4e236f79486fa3ae881a8b2d5212.tar.bz2 |
ada: Tune detection of expression functions within a declare expression
Code cleanup; semantics is unaffected.
gcc/ada/
* sem_ch4.adb (Check_Action_OK): Replace low-level test with a
high-level routine.
* sem_ch13.adb (Is_Predicate_Static): Likewise.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/sem_ch13.adb | 2 | ||||
-rw-r--r-- | gcc/ada/sem_ch4.adb | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index b13af26..958b26e 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -14261,7 +14261,7 @@ package body Sem_Ch13 is -- transformed into just "(S /= 0)", which would appear to be -- a predicate-static expression (and therefore legal). - if Original_Node (Expr) /= Expr then + if Is_Rewrite_Substitution (Expr) then -- Emit warnings for predicates that are always True or always False -- and were not originally expressed as Boolean literals. diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index a85c988..c8bb99b 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -2371,11 +2371,11 @@ package body Sem_Ch4 is if not Comes_From_Source (N) or else not Comes_From_Source (A) then -- If, for example, an (illegal) expression function is - -- transformed into a"vanilla" function then we don't want to + -- transformed into a "vanilla" function then we don't want to -- allow it just because Comes_From_Source is now False. So look -- at the Original_Node. - if A /= Original_Node (A) then + if Is_Rewrite_Substitution (A) then Check_Action_OK (Original_Node (A)); end if; |