aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_eval.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-10-19 12:54:58 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-10-19 12:54:58 +0200
commit437f8c1ebec7789abe617b29a710f08327e8003b (patch)
treef03d632e82e86c7949808d54ba85b59adc07b8d1 /gcc/ada/sem_eval.adb
parente606088aa9a3e732484cf7b701dc1e59e3bd9f69 (diff)
downloadgcc-437f8c1ebec7789abe617b29a710f08327e8003b.zip
gcc-437f8c1ebec7789abe617b29a710f08327e8003b.tar.gz
gcc-437f8c1ebec7789abe617b29a710f08327e8003b.tar.bz2
[multiple changes]
2010-10-19 Robert Dewar <dewar@adacore.com> * sem_eval.adb: Minor reformatting. 2010-10-19 Tristan Gingold <gingold@adacore.com> * exp_ch4.adb (Expand_N_And_Op, Expand_N_Or_Op, Expand_N_Xor_Op): Call Expand_Intrinsic_Call if the function is intrinsic. * exp_intr_adb (Expand_Binary_Operator): Handle VMS case for logical binary operator on the unsigned_quadword record. * exp_intr.ads (Expand_Intrinsic_Call): Update comments. 2010-10-19 Geert Bosch <bosch@adacore.com> * gnat_rm.texi (pragma Float_Representation): Fix typo. 2010-10-19 Arnaud Charlet <charlet@adacore.com> * switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateE. * fe.h (Exception_Extra_Info): Declare. * usage.adb (usage): Add -gnateE doc. * checks.adb (Install_Null_Excluding_Check): Use better sloc. * sem_util.adb (Insert_Explicit_Dereference): Ditto. * gnat_ugn.texi: Document -gnateE switch. * a-except.adb (Set_Exception_C_Msg): New parameter Column. * a-except-2005.adb (Set_Exception_C_Msg): New parameter Column. (Raise_Constraint_Error_Msg): Ditto. (Image): New helper function. (Rcheck_00_Ext, Rcheck_05_Ext, Rcheck_12_Ext): New procedure with more detailed exception information. Adjust calls to Set_Exception_C_Msg and Raise_Constraint_Error_Msg. * a-exexda.adb (Set_Exception_C_Msg): New parameter Column. * opt.ads (Exception_Extra_Info): New flag. * gcc-interface/utils.c (gnat_raise_decls_ext): New. * gcc-interface/utils2.c (build_call_raise_range, build_call_raise_column): New functions. * gcc-interface/gigi.h (exception_info_kind, gnat_raise_decls_ext, build_call_raise_range, build_call_raise_column): Declare. gcc-interface/trans.c (build_raise_check): New function. (gigi): Initialize gnat_raise_decls_ext. (gnat_to_gnu): Add initial support for -gnateE switch. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r165696
Diffstat (limited to 'gcc/ada/sem_eval.adb')
-rw-r--r--gcc/ada/sem_eval.adb15
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ada/sem_eval.adb b/gcc/ada/sem_eval.adb
index 0b324b6..5891cc6 100644
--- a/gcc/ada/sem_eval.adb
+++ b/gcc/ada/sem_eval.adb
@@ -4548,6 +4548,8 @@ package body Sem_Eval is
T2 : Entity_Id) return Boolean
is
begin
+ -- Scalar types
+
if Is_Scalar_Type (T1) then
-- Definitely compatible if we match
@@ -4606,10 +4608,19 @@ package body Sem_Eval is
end;
end if;
+ -- Access types
+
elsif Is_Access_Type (T1) then
return not Is_Constrained (T2)
- or else Subtypes_Statically_Match
- (Designated_Type (T1), Designated_Type (T2));
+ or else Subtypes_Statically_Match
+ (Designated_Type (T1), Designated_Type (T2));
+
+ -- Also check that null exclusion matches (AI05-0086-1)
+ -- commented out because this causes many mail test failures ???
+
+ -- and then Can_Never_Be_Null (T1) = Can_Never_Be_Null (T2);
+
+ -- All other cases
else
return (Is_Composite_Type (T1) and then not Is_Constrained (T2))