diff options
author | Garrison Venn <gvenn.cfe.dev@gmail.com> | 2011-09-28 10:53:56 +0000 |
---|---|---|
committer | Garrison Venn <gvenn.cfe.dev@gmail.com> | 2011-09-28 10:53:56 +0000 |
commit | 56c58ce3d63c272760cf6ce856dabf424b3df5e1 (patch) | |
tree | 6979697f123cd63efe96624280f8e0c85f91af11 /llvm/examples/ExceptionDemo/ExceptionDemo.cpp | |
parent | 37a4674fdce811561e3c886b9784076e37af7b01 (diff) | |
download | bcm5719-llvm-56c58ce3d63c272760cf6ce856dabf424b3df5e1.tar.gz bcm5719-llvm-56c58ce3d63c272760cf6ce856dabf424b3df5e1.zip |
Changed comments on foreign C++ exceptions (generated with type info 7),
handling with references to
http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (r 1.22).
llvm-svn: 140695
Diffstat (limited to 'llvm/examples/ExceptionDemo/ExceptionDemo.cpp')
-rw-r--r-- | llvm/examples/ExceptionDemo/ExceptionDemo.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/llvm/examples/ExceptionDemo/ExceptionDemo.cpp b/llvm/examples/ExceptionDemo/ExceptionDemo.cpp index 07465bbfb14..20516a783b9 100644 --- a/llvm/examples/ExceptionDemo/ExceptionDemo.cpp +++ b/llvm/examples/ExceptionDemo/ExceptionDemo.cpp @@ -40,7 +40,8 @@ // // Cases -1 and 7 are caught by a C++ test harness where the validity of // of a C++ catch(...) clause catching a generated exception with a -// type info type of 7 is questionable. +// type info type of 7 is explained by: example in rules 1.6.4 in +// http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (v1.22) // // This code uses code from the llvm compiler-rt project and the llvm // Kaleidoscope project. @@ -86,7 +87,7 @@ #endif // System C++ ABI unwind types from: -// http://refspecs.freestandards.org/abi-eh-1.21.html +// http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (v1.22) extern "C" { @@ -1663,12 +1664,12 @@ void runExceptionThrow(llvm::ExecutionEngine *engine, exc.what()); } catch (...) { - // Catch all exceptions including our generated ones. I'm not sure - // why this latter functionality should work, as it seems that - // our exceptions should be foreign to C++ (the _Unwind_Exception:: - // exception_class should be different from the one used by C++), and - // therefore C++ should ignore the generated exceptions. - + // Catch all exceptions including our generated ones. This latter + // functionality works according to the example in rules 1.6.4 of + // http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (v1.22), + // given that these will be exceptions foreign to C++ + // (the _Unwind_Exception::exception_class should be different from + // the one used by C++). fprintf(stderr, "\nrunExceptionThrow(...):In C++ catch all.\n"); } |