Files
clang-p2996/lldb/test/functionalities/longjmp/main.c
Ashok Thirumurthi 1db108972b Updates TestLongjump to ensure that compiler optimizations don't affect the
mapping of source to assembly so that the same test script can be used
with more compilers.

Patch by Andy Kaylor!

Also marks the LLDB test of template parameters as xfail on icc.

llvm-svn: 187600
2013-08-01 18:52:01 +00:00

32 lines
746 B
C

//===-- main.c --------------------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include <setjmp.h>
#include <stdio.h>
#include <time.h>
jmp_buf j;
void do_jump(void)
{
// We can't let the compiler know this will always happen or it might make
// optimizations that break our test.
if (!clock())
longjmp(j, 1); // non-local goto
}
int main (void)
{
if (setjmp(j) == 0)
do_jump();
else
return 0; // destination of longjmp
return 1;
}