https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68028

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |lto
                 CC|                            |hubicka at gcc dot gnu.org
          Component|lto                         |target

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
static bool
rs6000_option_override_internal (bool global_init_p)
{
...
  if (main_target_opt)
    {
      if (main_target_opt->x_rs6000_single_float != rs6000_single_float)
        error ("target attribute or pragma changes single precision floating "
               "point");
      if (main_target_opt->x_rs6000_double_float != rs6000_double_float)
        error ("target attribute or pragma changes double precision floating "
               "point");
    }


it looks like -mcpu=... is not allowed to differ from global defaults.  Note
that LTO now passes all "Save" options in function attributes and no longer
passes along -mcpu= to the link-time transparently.

mcpu=
Target RejectNegative Joined Var(rs6000_cpu_index) Init(-1)
Enum(rs6000_cpu_opt_value) Save
-mcpu=  Use features of and schedule code for given CPU

so -mcpu= is 'Save' but appearantly switches additional flags?

Reply via email to