Does the X86 backend (or any other backend) correctly implement support for __builtin_setjmp and __builtin_longjmp?<br>I don't get the correct result when I compile and run the following code with clang.<br><br># clang foo.c -O3; ./a.out<br>

<br>#include <stdio.h><br>void *buf[20];<br>void __attribute__((noinline))<br>foo (void)<br>{<br>  __builtin_longjmp (buf, 1);<br>}<br><br>int<br>main (int argc, char** argv)<br>{<br>  if (__builtin_setjmp (buf))<br>

    {<br>      printf("return\n");<br>      return 0;<br>    }<br><br>  printf("call foo\n");<br>    foo ();<br><br>  return 1;<br>}<br><br>