In working on something else, I was using the target pragmas I added in late
November, and I noticed that I had a thinko in setting some of the options like
-mfriz that aren't bitmasks.  I committed the patch as obvious:

2011-12-30  Michael Meissner  <meiss...@linux.vnet.ibm.com>

        * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko
        in setting options via target #pragma or attribute.

Index: gcc/config/rs6000/rs6000.c
===================================================================
--- gcc/config/rs6000/rs6000.c  (revision 182746)
+++ gcc/config/rs6000/rs6000.c  (working copy)
@@ -27138,7 +27138,7 @@ rs6000_inner_target_options (tree args, 
                    if (strcmp (r, rs6000_opt_vars[i].name) == 0)
                      {
                        size_t j = rs6000_opt_vars[i].global_offset;
-                       ((int *) &global_options)[j] = !invert;
+                       *((int *) ((char *)&global_options + j)) = !invert;
                        error_p = false;
                        break;
                      }


-- 
Michael Meissner, IBM
5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA
meiss...@linux.vnet.ibm.com     fax +1 (978) 399-6899

Reply via email to