Since TYPE_SIZE was converted to use bitsizetype, which has extra bits of precision, applying TREE_OVERFLOW to it is no longer useful. It does not overflow when it should. We must use TYPE_SIZE_UNIT instead now. There is one place in the Ada front end that has this problem.
I don't know enough about the Ada front end to construct a testcase to demonstrate the problem. I am also at the moment unable to build the Ada front end in order to prove that my patch works. See also PR 21105 (C front end) and PR 23426 (C++ front end) for related problems. -- Summary: latent bug with array type size check Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: wilson at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23427