Generally, UB is regarded as being something that has to be avoided, and the current C standard itself lists quite a few examples in appendix J.
However, there are c
In general, it's better to completely avoid it. On the other hand, if your compiler documentation explicitly states that that specific thing that is UB for the standard is instead defined for that compiler, you may exploit it, possibly adding some #ifdef/#error machinery to block the compilation in case another compiler is used.