Move WARN macro to header, fix WARN macro.