[llvm-bugs] [Bug 48471] New: ARM interrupt attribute warning incorrect for M-profile

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Dec 10 05:27:04 PST 2020


https://bugs.llvm.org/show_bug.cgi?id=48471

            Bug ID: 48471
           Summary: ARM interrupt attribute warning incorrect for
                    M-profile
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Frontend
          Assignee: unassignedclangbugs at nondot.org
          Reporter: john.brawn at arm.com
                CC: llvm-bugs at lists.llvm.org, neeilans at live.com,
                    richard-llvm at metafoo.co.uk

If you compile the following

  extern void fn(void);
  __attribute__((interrupt)) void example(void) {
    fn();
    return;
  }

with --target=arm-none-eabi -mcpu=cortex-m7 you get

tmp.c:3:3: warning: call to function without interrupt attribute could clobber
interruptee's VFP registers [-Wextra]
  fn();
  ^

This warning is incorrect for M-profile CPUs, as VFP registers are
automatically saved and later restored in M-profile CPUs when entering an
exception (or when a VFP register is modified in an exception handler if lazy
context save is enabled).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20201210/2b2cad41/attachment.html>


More information about the llvm-bugs mailing list