aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_util.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-06-14 14:51:24 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-06-14 14:51:24 +0200
commit001c7783c467b58d6107b6cf5e4d9b101c4d80dc (patch)
tree572b42099456bca62d54cc5fb472058475deca85 /gcc/ada/sem_util.adb
parentee81cbe97718536484b0b623ff875d4a3fabbce0 (diff)
downloadgcc-001c7783c467b58d6107b6cf5e4d9b101c4d80dc.zip
gcc-001c7783c467b58d6107b6cf5e4d9b101c4d80dc.tar.gz
gcc-001c7783c467b58d6107b6cf5e4d9b101c4d80dc.tar.bz2
[multiple changes]
2010-06-14 Ed Schonberg <schonberg@adacore.com> * sem_util (Is_VMS_Operator): New predicate to determine whether an operator is an intrinsic operator declared in the DEC system extension. * sem_res.adb (Resolve_Logical_Op): operation is legal on signed types if the operator is a VMS intrinsic. * sem_eval.adb (Eval_Logical_Op): Operation is legal and be constant-folded if the operands are signed and the operator is a VMS intrinsic. 2010-06-14 Robert Dewar <dewar@adacore.com> * g-socket.adb, gnatcmd.adb: Minor reformatting From-SVN: r160734
Diffstat (limited to 'gcc/ada/sem_util.adb')
-rw-r--r--gcc/ada/sem_util.adb11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index ffcc28e..1cfa423 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -7045,6 +7045,17 @@ package body Sem_Util is
and then Get_Name_String (Chars (T)) = "valuetype";
end Is_Value_Type;
+ ---------------------
+ -- Is_VMS_Operator --
+ ---------------------
+
+ function Is_VMS_Operator (Op : Entity_Id) return Boolean is
+ begin
+ return Ekind (Op) = E_Function
+ and then Is_Intrinsic_Subprogram (Op)
+ and then Scope (Op) = System_Aux_Id;
+ end Is_VMS_Operator;
+
-----------------
-- Is_Delegate --
-----------------