IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Indeed if the UserInterface.cpp is compiled without -fno-exceptions I get:
****************** CLING ******************
* Type C++ code and press enter to run it *
* Type .q to exit *
*******************************************
[cling]$ throw 12;
Exception occurred. Recovering...
[cling]$ .q
So the issue is still in the build system, because I built UserInterface.cpp 'by hand'.
The idea is whenever there is an exception cling to be able to recover from it
and continue working. For example:
[cling] throw 12;
shouldn't crash the current session in the interpreter. Now that we have compiled
the UserInterface with exceptions on, I hoped to be able to catch exceptions
coming from the JIT easily, but obviously I am still missing something.
The issue we experienced is that we couldn't pipe the output in the terminal.
The reason is that we were using llvm::outs() which closes explicitly the file
descriptor (thanks Axel for the help debugging).
We introduce our custom stream, which keeps the file descriptor open so that
we can use it in pipes. For debugging purposes, however we use/should use llvm::errs()
The lesson learned:
DONT USE LLVM::OUTS() ANYMORE!
git-svn-id: http://root.cern.ch/svn/root/trunk@48316 27541ba8-7e3a-0410-8455-c3a389f83636