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

            Bug ID: 18974
           Summary: res=__builtin_setjmp(); -> invalid assembler
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

__builtin_setjmp() only works when we immediately switch on its result and
branch into two different code paths.  If instead we write this kind of code:

    int res = __builtin_setjmp();
    do_this_in_all_cases();

then, at least on x86-64, it produces this kind of assembler for the first
line:

    movq    %rbp, -80(%rbp)
    movq    %rsp, -64(%rbp)
    movq    $".LBB4_-1", -72(%rbp)

where ".LBB4_-1" is a bogus label not defined anywhere in the .s file.  It
fails to assemble, of course.

-- 
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