Jeffrey A Law wrote: > I wouldn't have a problem with non-canonical bounds if there were > no way to get a value into an object which is outside the > bounds. But if we can get values into the object which are outside > those bounds, then either the bounds are incorrect or the program > is invalid. >
I would classify this as a gimplification bug, as the starting program is correct, but the GIMPLE form is not. GIMPLE was introduced for reducing the complexity of the specific of each language, so I think that the types should also be translated to a canonical form. Sebastian