• Frédéric Pierret (fepitre)'s avatar
    gcc-common.h: Update for GCC 10 · c7527373
    Frédéric Pierret (fepitre) authored
    Remove "params.h" include, which has been dropped in GCC 10.
    
    Remove is_a_helper() macro, which is now defined in gimple.h, as seen
    when running './scripts/gcc-plugin.sh g++ g++ gcc':
    
    In file included from <stdin>:1:
    ./gcc-plugins/gcc-common.h:852:13: error: redefinition of ‘static bool is_a_helper<T>::test(U*) [with U = const gimple; T = const ggoto*]’
      852 | inline bool is_a_helper<const ggoto *>::test(const_gimple gs)
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from ./gcc-plugins/gcc-common.h:125,
                     from <stdin>:1:
    /usr/lib/gcc/x86_64-redhat-linux/10/plugin/include/gimple.h:1037:1: note: ‘static bool is_a_helper<T>::test(U*) [with U = const gimple; T = const ggoto*]’ previously declared here
     1037 | is_a_helper <const ggoto *>::test (const gimple *gs)
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Add -Wno-format-diag to scripts/gcc-plugins/Makefile to avoid
    meaningless warnings from error() formats used by plugins:
    
    scripts/gcc-plugins/structleak_plugin.c: In function ‘int plugin_init(plugin_name_args*, plugin_gcc_version*)’:
    scripts/gcc-plugins/structleak_plugin.c:253:12: warning: unquoted sequence of 2 consecutive punctuation characters ‘'-’ in format [-Wformat-diag]
      253 |   error(G_("unknown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key);
          |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Signed-off-by: default avatarFrédéric Pierret (fepitre) <frederic.pierret@qubes-os.org>
    Link: https://lore.kernel.org/r/20200407113259.270172-1-frederic.pierret@qubes-os.org
    [kees: include -Wno-format-diag for plugin builds]
    Signed-off-by: default avatarKees Cook <keescook@chromium.org>
    c7527373
gcc-common.h 23.7 KB