[LLVMbugs] [Bug 9397] New: wrong source location for inline asm from macro

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Mar 3 16:21:41 PST 2011


http://llvm.org/bugs/show_bug.cgi?id=9397

           Summary: wrong source location for inline asm from macro
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: nlewycky at google.com
                CC: llvmbugs at cs.uiuc.edu


ffmpeg is a rich vein of wonder. The problem boils down to this testcase:

  #define asm_code_block\
          "add $8*1, -88(%rsp)\n\t"
  void test() {
    __asm__ ("mov %eax, %ebx\n\t"
  asm_code_block
            );
  }

on which clang delivers the right error in the wrong place:

  inlineasm.c:5:29: error: ambiguous instructions require an explicit suffix
        (could be 'addb', 'addw', 'addl', or 'addq')
    __asm__ ("mov %eax, %ebx\n\t"
                              ^
  <inline asm>:2:2: note: instantiated into assembly here
          add $8*1, -88(%rsp)
          ^
  1 error generated.

Yes, I really wanted it to point at the text from the macro expansion. A macro
backtrace would be okay too.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list