diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-08 14:25:35 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-08 14:25:35 +0000 |
commit | 559f994d4df699cf48c09a747fed35741139b359 (patch) | |
tree | 0d29d2c6b65a09fbeeb31495ce6c38799285dab9 /gcc/ada/sem_util.adb | |
parent | 9a8bed72207df60c60e93fa558732318951a8a96 (diff) | |
download | gcc-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.adb | 5 |
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)))) |