diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 60e915fb204..234e3e8a349 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-12-30 Michael Meissner + + * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko + in setting options via target #pragma or attribute. + 2011-12-30 Anatoly Sokolov * config/bfin/bfin.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 872b757fe70..932bd83902d 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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; }