メモの日々


2020年07月16日(木) [長年日記]

[dev][c][c++] コードの一部分でGCCの警告を抑制する

GCCでコードの一部分に対してだけ警告を抑制するにはDiagnostic Pragmasを使える。

以下の例では変数bに対して警告が抑制されている。

#include <iostream>

int main()
{
  int a;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable"
  int b;
#pragma GCC diagnostic pop
  int c;
  std::cout << "hello" << std::endl;
}
% g++ -Wall warn.cpp
warn.cpp: In function ‘int main()’:
warn.cpp:5:7: warning: unused variable ‘a’ [-Wunused-variable]
   int a;
       ^
warn.cpp:10:7: warning: unused variable ‘c’ [-Wunused-variable]
   int c;
       ^