[fix] preprocessor errors on clang ghc 7.6.3