diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-01-24 12:42:21 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-01-24 12:42:21 +0100 |
commit | 4437ea95cc8a9fd845e435527565718e566fa937 (patch) | |
tree | da28149745069d119abcad62d4b023f3ec9ba2d2 | |
parent | 8e9140681f2eeb666ff96692197cfddcf7882cf4 (diff) | |
download | gcc-4437ea95cc8a9fd845e435527565718e566fa937.zip gcc-4437ea95cc8a9fd845e435527565718e566fa937.tar.gz gcc-4437ea95cc8a9fd845e435527565718e566fa937.tar.bz2 |
[multiple changes]
2014-01-24 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Input_Output): Add missing error check
for junk operand.
* sem_util.adb (Is_Refined_State): Add defense against junk
tree from error.
2014-01-24 Pascal Obry <obry@adacore.com>
* projects.texi: Removes Build_Slaves attribute documentation.
From-SVN: r207027
-rw-r--r-- | gcc/ada/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/ada/projects.texi | 3 | ||||
-rw-r--r-- | gcc/ada/sem_prag.adb | 4 | ||||
-rw-r--r-- | gcc/ada/sem_util.adb | 6 |
4 files changed, 19 insertions, 5 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 4b3c213..b553c17 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,14 @@ +2014-01-24 Robert Dewar <dewar@adacore.com> + + * sem_prag.adb (Analyze_Input_Output): Add missing error check + for junk operand. + * sem_util.adb (Is_Refined_State): Add defense against junk + tree from error. + +2014-01-24 Pascal Obry <obry@adacore.com> + + * projects.texi: Removes Build_Slaves attribute documentation. + 2014-01-23 Robert Dewar <dewar@adacore.com> * opt.adb (Register_Opt_Config_Switches): Save SPARK_Mode_Pragma diff --git a/gcc/ada/projects.texi b/gcc/ada/projects.texi index 0236ba2..bb06787 100644 --- a/gcc/ada/projects.texi +++ b/gcc/ada/projects.texi @@ -4963,10 +4963,7 @@ invoking @code{gnatpp} for the source. @itemize @bullet -@item @b{Build_Slaves}: list -Value is the list of machine names that are to be used in distributed -compilation. @item @b{Root_Dir}: single diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index cffae57..15679a4 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -783,9 +783,9 @@ package body Sem_Prag is Item_Id := Entity_Of (Item); - Record_Possible_Body_Reference (Item, Item_Id); - if Present (Item_Id) then + Record_Possible_Body_Reference (Item, Item_Id); + if Ekind_In (Item_Id, E_Abstract_State, E_In_Parameter, E_In_Out_Parameter, diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 9a8428d..dc6a495 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -3723,6 +3723,12 @@ package body Sem_Util is else Item_Id := Entity_Of (Item); + -- Defend against junk + + if No (Item_Id) then + return False; + end if; + return Ekind (Item_Id) = E_Abstract_State and then Has_Visible_Refinement (Item_Id); |