summaryrefslogtreecommitdiffstats
path: root/llvm/examples/ExceptionDemo/ExceptionDemo.cpp
diff options
context:
space:
mode:
authorGarrison Venn <gvenn.cfe.dev@gmail.com>2011-09-28 10:53:56 +0000
committerGarrison Venn <gvenn.cfe.dev@gmail.com>2011-09-28 10:53:56 +0000
commit56c58ce3d63c272760cf6ce856dabf424b3df5e1 (patch)
tree6979697f123cd63efe96624280f8e0c85f91af11 /llvm/examples/ExceptionDemo/ExceptionDemo.cpp
parent37a4674fdce811561e3c886b9784076e37af7b01 (diff)
downloadbcm5719-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.cpp17
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");
}
OpenPOWER on IntegriCloud