From 51e4c4b9dc795be27cdfdc1ce73e3995c94888a3 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Fri, 8 Aug 2008 14:22:51 +0200 Subject: [PATCH] exp_ch4.adb (Expand_Allocator_Expression): add check if null exclusion indicator is present 2008-08-08 Ed Schonberg * exp_ch4.adb (Expand_Allocator_Expression): add check if null exclusion indicator is present From-SVN: r138870 --- gcc/ada/ChangeLog | 17 +++++++++++++++++ gcc/ada/exp_ch4.adb | 5 +++++ 2 files changed, 22 insertions(+) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index be092505283..e275cd38897 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,20 @@ +2008-08-08 Ed Schonberg + + * exp_ch4.adb (Expand_Allocator_Expression): add check if null + exclusion indicator is present + +2008-08-08 Robert Dewar + + * g-comlin.adb: Minor code reorganization + Minor reformatting + + * g-comlin.ads: Minor reformatting + + * s-fileio.adb: Minor reformatting + + * sem_attr.adb: Minor code reorganization (use Nkind_In) + Minor reformatting + 2008-08-06 Samuel Tardieu * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index d0b60f313f7..d4c0407bb0a 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -944,6 +944,11 @@ package body Exp_Ch4 is Rewrite (N, New_Reference_To (Temp, Loc)); Analyze_And_Resolve (N, PtrT); + elsif Is_Access_Type (T) + and then Can_Never_Be_Null (T) + then + Install_Null_Excluding_Check (Exp); + elsif Is_Access_Type (DesigT) and then Nkind (Exp) = N_Allocator and then Nkind (Expression (Exp)) /= N_Qualified_Expression