Author Arfrever
Recipients Arfrever, eryksun, ezio.melotti, haypo, pitrou, serhiy.storchaka
Date 2016-11-06.16:52:48
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1478451169.54.0.215521431033.issue19569@psf.upfronthosting.co.za>
In-reply-to
Content
GCC supports pragmas to locally control warnings.
https://gcc.gnu.org/onlinedocs/gcc-6.2.0/gcc/Diagnostic-Pragmas.html

Example:
====================================
__attribute__((__deprecated__)) int some_deprecated_function(void)
{
  return 0;
};

void some_function(void)
{
  int x, y;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
  x = some_deprecated_function();
#pragma GCC diagnostic pop
  y = x + 1;
} 

int main(int argc, char** argv)
{
  return 0;
}
====================================
In the above example, call to some_deprecated_function() does not trigger deprecation warning.


'#pragma GCC diagnostic push' and '#pragma GCC diagnostic pop' are supported since GCC 4.6.0.
https://gcc.gnu.org/gcc-4.6/changes.html

'#pragma GCC diagnostic ignored' is documented in documentation of GCC since 4.2.0.


Clang supposedly supports both '#pragma GCC diagnostic ...' and '#pragma clang diagnostic ...':
http://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas
History
Date User Action Args
2016-11-06 16:52:49Arfreversetrecipients: + Arfrever, pitrou, haypo, ezio.melotti, serhiy.storchaka, eryksun
2016-11-06 16:52:49Arfreversetmessageid: <1478451169.54.0.215521431033.issue19569@psf.upfronthosting.co.za>
2016-11-06 16:52:49Arfreverlinkissue19569 messages
2016-11-06 16:52:48Arfrevercreate