------- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-10-16 17:26 ------- [Thanks for elaborating on your position.]
> check_pointer_types_r is wrong but so is Ada assuming that integer types are > not compatible (read the full bug report which I reported in the first place): > "The integer_type's are not compatible by defined by the front-end, why?" My understanding is that type compatibility is purely a front-end business, so there is not really a notion of being right or wrong here. The middle-end should be able to cope with either situation. > See this is where Ada becomes wrong with respect to generic and gimple where > it needs integer types which have the same PRECISION, UNSIGNEDness, and SIZE > are consided compatible types (so are their POINTERs). Could you point me at where this requirement is documented? The Ada front-end contains this comment (misc.c:560): ??? We may also want to generalize to considering lots of integer types compatible, but we need to understand the effects of alias sets first. > For Kenner here, Generic and Gimple have the same type system which is partly > described above. Yes this is not documented but should be. This again is an > Ada bug not doing what the middle-end generic and gimple expects to happen. I think the issue is orthogonal to the discussion on the type systems of GENERIC and GIMPLE. The front-end generates a correct GENERIC tree AFAICS so the gimplifier should be able to deal with it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17793