noop is declared with manually checked arguments ("t") that prevents any checking of argument completeness. noop can be called with void arguments now.
It is declared that noop has constant zero return value. So noop can be assigned as a pointer now.
Special flag is added which indicates that parsing is inside noop expression. Functions aren't marked as referenced if they are noop parameters. This prevents from template instantiation of function that is used only in __noop expression.
This behavior is the same as MS compiler behavior.
Code in Parse shouldn't be inspecting the AST like this. If you really need different parse rules for the argument of __noop, maybe make it a keyword rather than a builtin?