On Tue, Feb 25, 2020 at 3:03 PM <bill.c.roberts@xxxxxxxxx> wrote: > The annoying part is internal users of the routines. We could always make > a v2 version of the function for internal callers, and leave the old > interfaces intact to work around the warnings, or just pragma them out. > This series pragma's them out. > > diagnostic push has been supported since GCC v4.6. Earlier versions will > warn on this, and the sideffect is that the diagnostic ignored pragma > will be valid for the rest of the file. Clang has similair support thats > been around *at least* since clang 6.0. My inclination (and others are free to disagree) would be to rename the deprecated functions for internal users (and mark them hidden), and add stubs for the old interfaces that call the hidden functions to avoid the need for this pragma. Also, FWIW, there is a push to remove the hidden_def/hidden_proto stuff for LTO, see https://github.com/SELinuxProject/selinux/issues/204, although I don't yet know how that will turn out for libselinux.