aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-01-18 11:18:33 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2014-01-18 11:18:33 +0100
commitfa5d6c752e9b9bf26be73a5da4e68ff243f0ac32 (patch)
tree1bad4adf41de31070d1b4764e799d69e1deff463
parent04da56800d7dab3b3aee10b742328efc49ff3a4a (diff)
downloadgcc-fa5d6c752e9b9bf26be73a5da4e68ff243f0ac32.zip
gcc-fa5d6c752e9b9bf26be73a5da4e68ff243f0ac32.tar.gz
gcc-fa5d6c752e9b9bf26be73a5da4e68ff243f0ac32.tar.bz2
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
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386-c.c9
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/i386/pr58944.c6
4 files changed, 23 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 51d6cc6..82421c7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2014-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ 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 <rdsandiford@googlemail.com>
* 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 ce9ba95..ee83de6 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 be4aa90..f576669 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2014-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/58944
+ * gcc.target/i386/pr58944.c: Drop -march=native from dg-options.
+ Remove dg-prune-output lines.
+
2014-01-17 Jakub Jelinek <jakub@redhat.com>
PR middle-end/59706
diff --git a/gcc/testsuite/gcc.target/i386/pr58944.c b/gcc/testsuite/gcc.target/i386/pr58944.c
index 8164cf9..9a92e9b 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" } */