[PATCH] Avoid -Wunused-macros warning for #pragma GCC target added macros (PR target/58944)
Sat Jan 18 10:07:00 GMT 2014
On Fri, Jan 17, 2014 at 8:58 PM, Jakub Jelinek <email@example.com> wrote:
> It makes no sense to warn about unused macros that weren't defined
> by the user, but the compiler instead injected them, the user
> has no control on them.
> For macros predefined at the beginning of the CU we don't get warnings
> because they don't match MAIN_FILE_P, but macros added for #pragma GCC target
> get location_t from the location of the pragma (and without libcpp hacks
> that could possibly slow down preprocessing I don't see how to get around
> it), so the following hack seems to be easiest. All newly created macros
> when -Wunused-macros isn't on are initialized with macro->used = true,
> and never warned about for this warning, so this patch just arranges for
> all the cpp_define calls from #pragma GCC target to set that.
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
> 2014-01-17 Jakub Jelinek <firstname.lastname@example.org>
> PR target/58944
> * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
> clear cpp_get_options (parse_in)->warn_unused_macros for
> ix86_target_macros_internal with cpp_define.
> * gcc.target/i386/pr58944.c: Drop -march=native from dg-options.
> Remove dg-prune-output lines.
More information about the Gcc-patches