Throw error when Unicode control character is encountered in source file
It turns out that Unicode control characters (in particular bidirectional control characters) can be exploited to confused compilers on which source program fragments are comments and which are source. This can be used to trick the user into compiling (and potentially running) a program with unintended behavior. It is recommended that compilers throw an error when encountering control characters in a source program.