aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2024-12-05 16:59:36 +0100
committerMarc Poulhiès <dkm@gcc.gnu.org>2025-01-03 16:39:14 +0100
commitd9a51b704fe521fecb2e77931226c8e8798a9910 (patch)
tree59d009d0301b141870f6f96d4a46fab523be61cc /gcc/ada
parent9c73f9dcca3b7ed29dd80afea0196729630973be (diff)
downloadgcc-d9a51b704fe521fecb2e77931226c8e8798a9910.zip
gcc-d9a51b704fe521fecb2e77931226c8e8798a9910.tar.gz
gcc-d9a51b704fe521fecb2e77931226c8e8798a9910.tar.bz2
ada: Remove extra checks for raising a constraint error
Routine Is_OK_Static_Expression itself calls Raises_Constraint_Error, so there is no need to call both of these routines in a row. Code cleanup; semantics is unaffected. gcc/ada/ChangeLog: * sem_attr.adb (Check_Array_Type): Remove extra call. * sem_util.adb (Static_Boolean): Likewise.
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/sem_attr.adb4
-rw-r--r--gcc/ada/sem_util.adb12
2 files changed, 3 insertions, 13 deletions
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb
index 6eb04b2..7295784 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -1994,9 +1994,7 @@ package body Sem_Attr is
Resolve (E1, Any_Integer);
Set_Etype (E1, Standard_Integer);
- if not Is_OK_Static_Expression (E1)
- or else Raises_Constraint_Error (E1)
- then
+ if not Is_OK_Static_Expression (E1) then
Flag_Non_Static_Expr
("expression for dimension must be static!", E1);
Error_Attr;
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index bd798d7..c1af228 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -28232,11 +28232,7 @@ package body Sem_Util is
end if;
if Is_OK_Static_Expression (N) then
- if not Raises_Constraint_Error (N) then
- return Expr_Value (N);
- else
- return No_Uint;
- end if;
+ return Expr_Value (N);
elsif Etype (N) = Any_Type then
return No_Uint;
@@ -28264,11 +28260,7 @@ package body Sem_Util is
end if;
if Is_OK_Static_Expression (N) then
- if not Raises_Constraint_Error (N) then
- return Expr_Value (N);
- else
- return No_Uint;
- end if;
+ return Expr_Value (N);
elsif Etype (N) = Any_Type then
return No_Uint;