-ffixed-xxx -fcall-used-xxx and -fcall-saved-xxx are processed before
init_regs() is called, and that function calls CONDITIONAL_REGISTER_USAGE.  If
that macro changes the registers available (for example, to generate an ABI
variant), then it cannot tell whether or not a register's usage model has been
changed on the command-line.

This manifests itself, for example, on ARM when -mfpu=vfpv3 -mfloat-abi=hard
-fcall-used-s16 -fcall-used-s17 does change the callee-saved register set.

Not sure if this is a regression over older compilers.


-- 
           Summary: -ffixed-xxx etc processed too early
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rearnsha at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43476

Reply via email to