Fix thinko in setting target options
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Fri, 30 Dec 2011 23:39:47 +0000 (23:39 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Fri, 30 Dec 2011 23:39:47 +0000 (23:39 +0000)
From-SVN: r182747

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 60e915f..234e3e8 100644 (file)
@@ -1,3 +1,8 @@
+2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko
+       in setting options via target #pragma or attribute.
+
 2011-12-30  Anatoly Sokolov  <aesok@post.ru>
 
        * config/bfin/bfin.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
index 872b757..932bd83 100644 (file)
@@ -27138,7 +27138,7 @@ rs6000_inner_target_options (tree args, bool attr_p)
                    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;
                      }