From 559f994d4df699cf48c09a747fed35741139b359 Mon Sep 17 00:00:00 2001 From: charlet Date: Wed, 8 Apr 2009 14:25:35 +0000 Subject: 2009-04-08 Robert Dewar * 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 --- gcc/ada/sem_util.adb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/ada/sem_util.adb') 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)))) -- cgit v1.2.1