[LLVMbugs] [Bug 18974] New: res=__builtin_setjmp(); -> invalid assembler

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Feb 26 06:32:15 PST 2014


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: unassignedclangbugs at nondot.org
          Reporter: arigo at tunes.org
                CC: llvmbugs at cs.uiuc.edu
    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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140226/53fd6e0b/attachment.html>


More information about the llvm-bugs mailing list