It is absolutely not. I'm not sure why you quoted “the standard”, C and C++ have internationally agreed upon ISO standards. They specify exactly what is a valid C or C++ program and what is not, and they specify how compilers should interpret your source code. Of course GCC is aware of the standard.
I have a hard time believing that. I've shown you multiple real-world scenarios where GCC actually produces invalid code because of such violations.
You seem to misunderstand the definition of Undefined Behavior: It doesn't just mean that the behavior is not defined by the standard (that would be unspecified or implementation-defined behavior), undefined behavior means that your compiler isn't required to produce any useful output, and the generated code could do anything.
You absolutely do not want this in your code. You can do everything else right, have correctness proofs for every algorithm in your code base, have all your unit tests pass, if you invoke undefined behavior in your code, all bets are off and the entire program is fundamentally broken.
If you don't care about any of that, that's your decision, but please don't teach these practices to others.