i can go over array bound
You "can" in the sense that it doesn't affect the well-formedness of the program and thus won't necessitate the compiler to issue a diagnostic message. Despite not being required to, if a compiler is able to detect the bug, then it is allowed to warn the programmer.
However if you do this, then the behaviour of the program will be undefined. That means that nothing about the behaviour of the program is guaranteed by the language. Undefined behaviour is detrimental to the usefulness of the program and its avoidance is extremely important.
As such: Do not access an array out of bounds! It's a bad thing to do.
Is that something new in a compiler
"New" is relative. At least version 4.7.1 of GCC is able to detect this, and it was released about 9 years ago. Clang 3.0.0 is likewise able to detect it and it was released about 10 years ago.
how can i disable or enable it?
Compilers generally provide options to enable and disable specific warnings. The warning message that you quoted states which warning option has enabled it.
[-Warray-bounds]
I recommend to not disable the warning, and to fix the bug when ever you see this warning.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…