aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhjuvan Lacambre <lacambre@adacore.com>2019-12-16 10:33:13 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2019-12-16 10:33:13 +0000
commit4efe11c6bcb6ba19745e98fae8887e3b4a978965 (patch)
tree684207ad09fe1e130a7cfa5d945a4191734e8ee8
parentd6c7e020cffa8570c77e80da755c8963034657fb (diff)
downloadgcc-4efe11c6bcb6ba19745e98fae8887e3b4a978965.zip
gcc-4efe11c6bcb6ba19745e98fae8887e3b4a978965.tar.gz
gcc-4efe11c6bcb6ba19745e98fae8887e3b4a978965.tar.bz2
[Ada] Validate_Access_Subprogram_Instance: check if not null types match
2019-12-16 Ghjuvan Lacambre <lacambre@adacore.com> gcc/ada/ * sem_ch12.adb (Validate_Access_Subprogram_Instance): Add Can_Never_Be_Null checks. From-SVN: r279413
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/sem_ch12.adb6
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 58517e6..f110a9b 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2019-12-16 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * sem_ch12.adb (Validate_Access_Subprogram_Instance): Add
+ Can_Never_Be_Null checks.
+
2019-12-16 Eric Botcazou <ebotcazou@adacore.com>
* doc/gnat_rm/implementation_defined_pragmas.rst (VFA): Document
diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
index d405297..5b7ce93 100644
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -12303,6 +12303,12 @@ package body Sem_Ch12 is
Error_Msg_NE
("actual for formal & must have convention %", Actual, Gen_T);
end if;
+
+ if Can_Never_Be_Null (A_Gen_T) /= Can_Never_Be_Null (Act_T) then
+ Error_Msg_NE
+ ("non null exclusion of actual and formal & do not match",
+ Actual, Gen_T);
+ end if;
end Validate_Access_Subprogram_Instance;
-----------------------------------