aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/debug.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-06-11 14:50:22 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-06-11 14:50:22 +0200
commit3e65bfab4abd298b77ed3a91b13ac6bb5c5305bd (patch)
tree310e3b9e3509ccd53bfff9c5037d80d9a745ba8e /gcc/ada/debug.adb
parent0d305ef00438e2a7d3f225d5ff177de43f8514a6 (diff)
downloadgcc-3e65bfab4abd298b77ed3a91b13ac6bb5c5305bd.zip
gcc-3e65bfab4abd298b77ed3a91b13ac6bb5c5305bd.tar.gz
gcc-3e65bfab4abd298b77ed3a91b13ac6bb5c5305bd.tar.bz2
[multiple changes]
2014-06-11 Thomas Quinot <quinot@adacore.com> * freeze.ads: Minor reformatting. * checks.adb (Determine_Range): Do not attempt to determine the range of a deferred constant whose full view has not been seen yet. * sem_res.adb (Resolve): Remove undesirable guard against resolving expressions from expression functions. 2014-06-11 Robert Dewar <dewar@adacore.com> * debug.adb (Debug_Flag_Dot_1): Set to enable fix for anonymous access types. * layout.adb (Layout_Type): Make anonymous access types for subprogram formal types and return types always thin. For now only enabled if -gnatd.1 set. 2014-06-11 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality rule for stream attributes of interface types (RM 13.13.2 (38/3)): subprogram must be a null procedure. From-SVN: r211464
Diffstat (limited to 'gcc/ada/debug.adb')
-rw-r--r--gcc/ada/debug.adb11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb
index eaab4ff..67a3e2b 100644
--- a/gcc/ada/debug.adb
+++ b/gcc/ada/debug.adb
@@ -155,7 +155,7 @@ package body Debug is
-- d8 Force opposite endianness in packed stuff
-- d9 Allow lock free implementation
- -- d.1
+ -- d.1 Activate thin-as-default for subprogram anonymous access types
-- d.2
-- d.3
-- d.4
@@ -733,6 +733,15 @@ package body Debug is
-- d9 This allows lock free implementation for protected objects
-- (see Exp_Ch9).
+ -- d.1 Right now, we have a problem with anonymous access types in the
+ -- context of subprogram formal parameter types and return types. The
+ -- problem occurs when in one place (e.g. the subprogram spec), the
+ -- designated type is unknown (e.g. private) and we choose to use a
+ -- thin pointer representation. Then in another place, we can see the
+ -- full declaration of the type, and choose a fat pointer. The fix is
+ -- to always use thin pointers, but this is causing some other issues,
+ -- so for now, this fix is under control of this debug flag.
+
------------------------------------------
-- Documentation for Binder Debug Flags --
------------------------------------------