------- Comment #30 from rguenth at gcc dot gnu dot org 2007-03-09 11:11 ------- Well, the only problem with V_C_E is that if you assert on the range of the base type like
if (V_C_E <X'Base> (y) > 5) abort(); that you still want VRP to infer that V_C_E <X'Base> (y) is <= 5 after this check (to eliminate further checks). I believe this will not automatically happen at the moment because V_C_E <X'Base> (y) will not have the same ssa name assigned for evey occurance. But of course we will never know until the Ada FE people finally fix their frontend. All the mess would be way easier if the FE would not expose the subtypes to the middle-end... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26797