https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113428
--- Comment #4 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- /* { dg-warning {cast to pointer from integer of different size} "" { target *-*-* } .-2 } */ I'm guessing it's this that's causing the problem because int and int* are the same size on 32-bit targets. So would changing the test to: - int arr[20]; + char arr[20]; be enough? AFAIK we don't have any targets with 8-bit pointers.