re PR target/58944 (bogus -Wunused-macros warnings when compiling Libreoffice)
authorJakub Jelinek <jakub@redhat.com>
Sat, 18 Jan 2014 10:18:33 +0000 (11:18 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sat, 18 Jan 2014 10:18:33 +0000 (11:18 +0100)
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
gcc/config/i386/i386-c.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr58944.c

index 51d6cc6e8e4c50bdcf8ca65d8b19a22a7172cd06..82421c7c177d5e7f8113cc9cd2d1f0afc85a0283 100644 (file)
@@ -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.
index ce9ba95ede6a1f585ce45330562d85ad1746573e..ee83de66471ab9a60c3472668807343a494b41b0 100644 (file)
@@ -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;
 }
 \f
index be4aa901eca3377cc3a7ca1331525232e0294ae5..f57666977647c91eeaa692e55ed5d6ff89571f83 100644 (file)
@@ -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
index 8164cf995085753c7812fd4778ca93c0abdd6b07..9a92e9b6cec2cb5ca5d68926a7f95e5daab70f57 100644 (file)
@@ -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" } */