Adds a JIT based exception handling example to the examples directory.
authorGarrison Venn <gvenn.cfe.dev@gmail.com>
Tue, 9 Feb 2010 23:22:43 +0000 (23:22 +0000)
committerGarrison Venn <gvenn.cfe.dev@gmail.com>
Tue, 9 Feb 2010 23:22:43 +0000 (23:22 +0000)
commita2c2f1ae849c8091ca8eabfb21eea7947c180c18
treef02436e064c4c3e10b254f382e66cb21b256f868
parentd0bc7f060ece77c670794ef60f7052e2ff1847c9
Adds a JIT based exception handling example to the examples directory.
Both zero cost example domain specific, and C++ foreign exception handling are
shown. The example's documentation fully explains how to run the example.

Notes:

1)   The code uses an extremely simple type info model.
2)   Only a single landing pad is used per unwind edge
     (one call to llvm.eh.selector)
3)   llvm.eh.selector support for filter arguments is not given.
4)   llvm.eh.typeid.for is not used.
5)   Forced unwind behavior is not supported.
6)   Very little if any error handling is given.
7)   __attribute__((__aligned__)) is used.
8)   The code uses parts from the llvm compiler-rt project and
     the llvm Kaleidoscope example.
9)   The code has not been ported or tested on WINDOWS.
10)  The code was not tested with a cmake build.
11)  The code was tested for a debug build on 32bit X86 CentOS LINUX,
     and both a debug and release build on OS X 10.6.2 (64bit).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95723 91177308-0d34-0410-b5e6-96231b3b80d8
examples/CMakeLists.txt
examples/ExceptionDemo/CMakeLists.txt [new file with mode: 0644]
examples/ExceptionDemo/ExceptionDemo.cpp [new file with mode: 0644]
examples/ExceptionDemo/Makefile [new file with mode: 0644]
examples/Makefile