diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-29 15:26:18 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-29 15:26:18 +0000 |
commit | 28d5d68f82021e25f4f1b896c23ddf4f7eea2558 (patch) | |
tree | a4934a87437d9d9c541d4ad11fffc49ce2d20e86 | |
parent | 46e32b5e808a1f6150b506f28e3987df38334879 (diff) | |
download | ppe42-gcc-28d5d68f82021e25f4f1b896c23ddf4f7eea2558.tar.gz ppe42-gcc-28d5d68f82021e25f4f1b896c23ddf4f7eea2558.zip |
2014-01-29 Ed Schonberg <schonberg@adacore.com>
* checks.adb: minor clarification.
* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit
search for primitive operations to the entities that immediately
follow the type declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207248 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/checks.adb | 5 | ||||
-rw-r--r-- | gcc/ada/sem_ch7.adb | 9 |
3 files changed, 19 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index c6e15738146..f79ca89b129 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2014-01-29 Ed Schonberg <schonberg@adacore.com> + + * checks.adb: minor clarification. + * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit + search for primitive operations to the entities that immediately + follow the type declaration. + 2014-01-29 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Build_Protected_Entry): Do not call diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb index 826c09bf11f..872c18a5859 100644 --- a/gcc/ada/checks.adb +++ b/gcc/ada/checks.adb @@ -6694,8 +6694,9 @@ package body Checks is if (not Inside_Init_Proc or else SPARK_Mode = On) - -- Do not emit the warning within a conditional expression - -- Why not ??? + -- Do not emit the warning within a conditional expression, + -- where the expression might not be evaluated, and the warning + -- appear as extraneous noise. and then not Within_Case_Or_If_Expression (N) then diff --git a/gcc/ada/sem_ch7.adb b/gcc/ada/sem_ch7.adb index 4b6a6e42482..d0d80ba2b21 100644 --- a/gcc/ada/sem_ch7.adb +++ b/gcc/ada/sem_ch7.adb @@ -1812,6 +1812,15 @@ package body Sem_Ch7 is end if; Next_Entity (Prim_Op); + + -- Derived operations appear immediately after the type + -- declaration (or the following subtype indication for + -- a derived scalar type). Further declarations cannot + -- include inherited operations of the type. + + if Present (Prim_Op) then + exit when Ekind (Prim_Op) not in Overloadable_Kind; + end if; end loop; end if; end if; |