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

           Summary: [3.0 regression] clang not mapping inline ask errors
                    back to source
           Product: libraries
           Version: 1.0
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: Support Libraries
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


As of Kevin's patch in r141814, we now are not mapping inline assembly errors
back to clang's diagnostic handler.  This prevents us from printing the source
location, and we don't realize that an error occurred, so we continue
compilation.

$ cat t.c
void foo() {
  asm("movl 0(%rax), 0(%edx)");
}
$ clang t.c
<inline asm>:1:16: error: invalid operand for instruction
        movl 0(%rax), 0(%edx)
                      ^~~~~~~
Undefined symbols for architecture x86_64:
  "_main", referenced from:
      start in crt1.10.6.o

This is what we used to get:

$ old-clang t.c
t.c:3:7: error: invalid operand for instruction
  asm("movl 0(%rax), 0(%edx)");
      ^
<inline asm>:1:16: note: instantiated into assembly here
        movl 0(%rax), 0(%edx)
                      ^
1 error generated.


It looks like the bug is in around MCParser/AsmParser.cpp:1269, not passing
diagnostics into the LLVMContext's register diagnostic handler anymore.  This
needs to be fixed for LLVM 3.0

-- 
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to