it does do bounds checks if you -fsanitize=bounds, in gcc at least
(and msvc is stuck on partial c11 support to this day, so imo, i don't quite think it's a fair target when comparing things to new features anyway)