diff --git a/test/CFrontend/2003-08-06-BuiltinSetjmpLongjmp.c.tr b/test/CFrontend/2003-08-06-BuiltinSetjmpLongjmp.c.tr new file mode 100644 index 00000000000..abc5bf3b8b1 --- /dev/null +++ b/test/CFrontend/2003-08-06-BuiltinSetjmpLongjmp.c.tr @@ -0,0 +1,14 @@ +/* RUN: llvmgcc -xc %s -c -o - | dis | not grep __builtin_ + * + * __builtin_longjmp/setjmp should get transformed into llvm.setjmp/longjmp + * just like explicit setjmp/longjmp calls are. + */ + +void jumpaway(int *ptr) { + __builtin_longjmp(ptr,1); +} + +int main(void) { + __builtin_setjmp(0); + jumpaway(0); +}