在g ++和clang中忽略了pragma

Tim*_*Tim 7 gcc pragma llvm clang

我想在编译自己的代码时禁用来自库头的C++代码中的特定已知警告.有用于禁用警告的clang和gcc特定方法.这样做的方式几乎完全相同.

对于clang:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-local-typedefs"
#include <library.h>  
#pragma clang diagnostic pop
Run Code Online (Sandbox Code Playgroud)

对于gcc:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#include <library.h>
#pragma GCC diagnostic pop
Run Code Online (Sandbox Code Playgroud)

是否有一种干净的方法可以抑制这些警告,这些警告可以在clang和GCC之间移植?