OSDN Git Service

2010-10-22 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Oct 2010 09:19:51 +0000 (09:19 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Oct 2010 09:19:51 +0000 (09:19 +0000)
commit701d57a469be1d9ec623d0896a939936df2a0593
treefb2dd57e04140daa06885584791bb5dbdce45d10
parent9a710cc47cebf5267e078f330a6fc52c3906f9cf
2010-10-22  Robert Dewar  <dewar@adacore.com>

* checks.adb (Apply_Predicate_Check): Remove attempt at optimization
when subtype is the same, caused legitimate checks to be missed.
* exp_ch13.adb (Build_Predicate_Function): Use Nearest_Ancestor to get
inheritance from right entity.
* freeze.adb (Freeze_Entity): Use Nearest_Ancestor to freeze in the
derived type case if the ancestor type has predicates.
* sem_aux.ads, sem_aux.adb (Nearest_Ancestor): New function.
* sem_prag.adb (Check_Enabled): Minor code reorganization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165807 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/checks.adb
gcc/ada/exp_ch13.adb
gcc/ada/freeze.adb
gcc/ada/sem_aux.adb
gcc/ada/sem_aux.ads
gcc/ada/sem_prag.adb