summaryrefslogtreecommitdiff
path: root/gcc/ada/sem_util.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-08 14:25:35 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-08 14:25:35 +0000
commit559f994d4df699cf48c09a747fed35741139b359 (patch)
tree0d29d2c6b65a09fbeeb31495ce6c38799285dab9 /gcc/ada/sem_util.adb
parent9a8bed72207df60c60e93fa558732318951a8a96 (diff)
downloadgcc-559f994d4df699cf48c09a747fed35741139b359.tar.gz
2009-04-08 Robert Dewar <dewar@adacore.com>
* sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate properly in the presence of Remote_Types or Remote_Call_Interface. * sem_util.adb: Add comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145739 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_util.adb')
-rw-r--r--gcc/ada/sem_util.adb5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 9f43f2f7315..4876303f0a0 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -6802,6 +6802,11 @@ package body Sem_Util is
and then Present (Etype (Orig_Node))
and then Is_Access_Type (Etype (Orig_Node))
then
+ -- Note that if the prefix is an explicit dereference that does not
+ -- come from source, we must check for a rewritten function call in
+ -- prefixed notation before other forms of rewriting, to prevent a
+ -- compiler crash.
+
return
(Nkind (Orig_Node) = N_Function_Call
and then not Is_Access_Constant (Etype (Prefix (N))))