blob: af1c3010229f1b929c77157770f9840a9edcbaa4 [file] [log] [blame]
// Build don't link:
// Special g++ Options: -O
// GROUPS passed old-abort
// gcc puts the array into a register, and then the store_bit_field () code
// in expmed.c gets confused when it tries to store zero past the end of the
// register (because the index is past the array bounds). It ends up calling
// store_split_bit_field, which then aborts, because we don't have a split bit
// field.
//
// Seems easiest to detect this case in the front end, i.e. access outside the
// array bounds, and then force the array to be allocated on the stack instead
// of a register.
main()
{
char i[1];
i[1] = 0;
}