[llvm-bugs] [Bug 45403] New: __builtin_longjmp/__builtin_setjmp don't work with -O

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Apr 2 11:10:29 PDT 2020


            Bug ID: 45403
           Summary: __builtin_longjmp/__builtin_setjmp don't work with -O
           Product: new-bugs
           Version: 9.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: hjl.tools at gmail.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org,
                    xiang1.zhang at intel.com

void *buf[5];

extern void abort (void);

void raise0(void)
  __builtin_longjmp (buf, 1);

int execute(int cmd)
  int last = 0;

  if (__builtin_setjmp (buf) == 0)
    while (1)
        last = 1;
        raise0 ();

  if (last == 0)
    return 0;
    return cmd;

int main(void)
  if (execute (1) == 0)
    abort ();

  return 0;

[hjl at gnu-tgl-1 i386]$ clang -o /tmp/x cet-sjlj-1.c -O2 
[hjl at gnu-tgl-1 i386]$ /tmp/x
Aborted (core dumped)
[hjl at gnu-tgl-1 i386]$ gcc -o /tmp/x cet-sjlj-1.c -O2
[hjl at gnu-tgl-1 i386]$ /tmp/x
[hjl at gnu-tgl-1 i386]$

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/20200402/4bb177b1/attachment.html>

More information about the llvm-bugs mailing list