clang and gcc use different pragmas to turn off warnings about unknown pragmas *gunshot*