From fa5d6c752e9b9bf26be73a5da4e68ff243f0ac32 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 18 Jan 2014 11:18:33 +0100 Subject: [PATCH] re PR target/58944 (bogus -Wunused-macros warnings when compiling Libreoffice) 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. From-SVN: r206750 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/i386-c.c | 9 +++++++++ gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gcc.target/i386/pr58944.c | 6 +----- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 51d6cc6e8e4..82421c7c177 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-01-18 Jakub Jelinek + + 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. + 2014-01-18 Richard Sandiford * jump.c (delete_related_insns): Keep (use (insn))s. diff --git a/gcc/config/i386/i386-c.c b/gcc/config/i386/i386-c.c index ce9ba95ede6..ee83de66471 100644 --- a/gcc/config/i386/i386-c.c +++ b/gcc/config/i386/i386-c.c @@ -460,6 +460,13 @@ ix86_pragma_target_parse (tree args, tree pop_target) (enum fpmath_unit) prev_opt->x_ix86_fpmath, cpp_undef); + /* For the definitions, ensure all newly defined macros are considered + as used for -Wunused-macros. There is no point warning about the + compiler predefined macros. */ + cpp_options *cpp_opts = cpp_get_options (parse_in); + unsigned char saved_warn_unused_macros = cpp_opts->warn_unused_macros; + cpp_opts->warn_unused_macros = 0; + /* Define all of the macros for new options that were just turned on. */ ix86_target_macros_internal (cur_isa & diff_isa, cur_arch, @@ -467,6 +474,8 @@ ix86_pragma_target_parse (tree args, tree pop_target) (enum fpmath_unit) cur_opt->x_ix86_fpmath, cpp_define); + cpp_opts->warn_unused_macros = saved_warn_unused_macros; + return true; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index be4aa901eca..f5766697764 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-01-18 Jakub Jelinek + + PR target/58944 + * gcc.target/i386/pr58944.c: Drop -march=native from dg-options. + Remove dg-prune-output lines. + 2014-01-17 Jakub Jelinek PR middle-end/59706 diff --git a/gcc/testsuite/gcc.target/i386/pr58944.c b/gcc/testsuite/gcc.target/i386/pr58944.c index 8164cf99508..9a92e9b6cec 100644 --- a/gcc/testsuite/gcc.target/i386/pr58944.c +++ b/gcc/testsuite/gcc.target/i386/pr58944.c @@ -1,11 +1,7 @@ /* { dg-do compile } */ -/* { dg-options "-Wunused-macros -march=native" } */ +/* { dg-options "-Wunused-macros" } */ #pragma GCC push_options #pragma GCC target("xsaveopt") void fn1(void) {} #pragma GCC pop_options - -/* { dg-prune-output "macro \"__code_model_" } */ -/* { dg-prune-output "macro \"__XSAVE__\" is not used" } */ -/* { dg-prune-output "macro \"__XSAVEOPT__\" is not used" } */ -- 2.30.2