aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/debug.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/debug.adb')
-rw-r--r--gcc/ada/debug.adb10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb
index 3dbf3a7b..9daa011 100644
--- a/gcc/ada/debug.adb
+++ b/gcc/ada/debug.adb
@@ -180,7 +180,7 @@ package body Debug is
-- d_M Ignore Source_File_Name and Source_File_Name_Project pragmas
-- d_N
-- d_O
- -- d_P
+ -- d_P Enable runtime check for null prefix of prefixed subprogram call
-- d_Q
-- d_R For LLVM, dump the representation of records
-- d_S
@@ -1040,6 +1040,14 @@ package body Debug is
-- it is checked, and the progress of the recursive trace through
-- elaboration calls at compile time.
+ -- d_P For prefixed subprogram calls with an access-type prefix, generate
+ -- a null-excluding runtime check on the prefix, even when the called
+ -- subprogram has a first access parameter that does not exclude null
+ -- (that is the case only for class-wide parameter, as controlling
+ -- parameters are automatically null-excluding). In such a case,
+ -- P.Proc is equivalent to Proc(P.all'Access); see RM 6.4(9.1/5).
+ -- This includes a dereference, and thus a null check.
+
-- d_R In the LLVM backend, output the internal representation of
-- each record