Several compilers did bounds checking on arrays over the years, but the only one I can think of that still has it as an option (you might have to built it with the option) is TCC.
With all the damage that recent security holes in C code have cause where buffer overflows played a big role, maybe it is time to think about bounds checking arrays.
Best,
Kyle