llvm.org GIT mirror llvm / 113aa86
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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140695 91177308-0d34-0410-b5e6-96231b3b80d8 Garrison Venn 7 years ago
1 changed file(s) with 9 addition(s) and 8 deletion(s). Raw diff Collapse all Expand all
3939 //
4040 // Cases -1 and 7 are caught by a C++ test harness where the validity of
4141 // of a C++ catch(...) clause catching a generated exception with a
42 // type info type of 7 is questionable.
42 // type info type of 7 is explained by: example in rules 1.6.4 in
43 // http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (v1.22)
4344 //
4445 // This code uses code from the llvm compiler-rt project and the llvm
4546 // Kaleidoscope project.
8586 #endif
8687
8788 // System C++ ABI unwind types from:
88 // http://refspecs.freestandards.org/abi-eh-1.21.html
89 // http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (v1.22)
8990
9091 extern "C" {
9192
16621663 exc.what());
16631664 }
16641665 catch (...) {
1665 // Catch all exceptions including our generated ones. I'm not sure
1666 // why this latter functionality should work, as it seems that
1667 // our exceptions should be foreign to C++ (the _Unwind_Exception::
1668 // exception_class should be different from the one used by C++), and
1669 // therefore C++ should ignore the generated exceptions.
1670
1666 // Catch all exceptions including our generated ones. This latter
1667 // functionality works according to the example in rules 1.6.4 of
1668 // http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (v1.22),
1669 // given that these will be exceptions foreign to C++
1670 // (the _Unwind_Exception::exception_class should be different from
1671 // the one used by C++).
16711672 fprintf(stderr,
16721673 "\nrunExceptionThrow(...):In C++ catch all.\n");
16731674 }