Add predicates on subtypes E and N. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * einfo-utils.ads, einfo-utils.adb: Add predicates on subtypes E and N. Change some parameters to use the unpredicated subtypes, because they sometimes return e.g. Empty. Note that N_Entity_Id has a predicate; Entity_Id does not. * exp_tss.adb (Base_Init_Proc): Use Entity_Id instead of E, because otherwise we fail the predicate. We shouldn't be referring to single-letter names from far away anyway. * sem_aux.adb (Is_Derived_Type): Likewise. * sem_res.adb (Is_Definite_Access_Type): Use N_Entity_Id for predicate. * types.ads (Entity_Id): Add comment explaining the difference between Entity_Id and N_Entity_Id.