Commit Graph

23 Commits

Author SHA1 Message Date
Axel Naumann
0a9be4bfd1 Install fatal error handler throwing an exception. Yes that is dangerous. 2013-09-09 18:02:53 +02:00
Vassil Vassilev
5873981203 File was renamed. 2013-09-09 17:31:53 +02:00
Vassil Vassilev
0c4a39f10f Handle better the exceptions. 2013-09-07 10:46:54 +02:00
Vassil Vassilev
34d2c33c18 Handle the default interpreter's runtime exception. 2013-09-06 23:47:55 +02:00
Vassil Vassilev
683a11e9e9 Use default cling style for naming classes. 2013-09-06 23:47:55 +02:00
Baozeng Ding
2224bba3a7 Synthesize throwing of exception to handle the null deref. 2013-09-06 23:47:54 +02:00
Vassil Vassilev
f282a9a7b9 Add proper handling of the runtime exception. 2013-09-05 19:08:56 +02:00
Vassil Vassilev
7179804c46 Move the handling of unhandled exceptions in the loop.
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'.
2013-08-27 23:46:41 +02:00
Vassil Vassilev
dc47e5f3b5 The standard said use catch(...) and not catch() 2013-08-27 23:42:03 +02:00
Vassil Vassilev
77b0bb0a30 Try to handle exceptions coming from the JIT.
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.
2013-08-27 23:05:53 +02:00
Axel Naumann
11e71f5c76 Make result evaluation optional again. 2013-06-10 17:12:50 +02:00
Axel Naumann
0c1c22f002 Return action result and Value from all interfaces. Force callers to rpovide them, to make them handle errors etc. 2013-06-07 15:19:51 +02:00
Axel Naumann
dd845ce3d9 We use HAVE_UNISTD_H, so #include config.h which defines it.
git-svn-id: http://root.cern.ch/svn/root/trunk@48369 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-22 13:56:38 +00:00
Vassil Vassilev
0e031fd7c8 We have HAVE_UNISTD_H through LLVM buildsystem.
git-svn-id: http://root.cern.ch/svn/root/trunk@48339 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-18 16:20:34 +00:00
Vassil Vassilev
bac91929b7 "So far so good..." said the falling man...
N-th try. I think now windows will be happy.


git-svn-id: http://root.cern.ch/svn/root/trunk@48322 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-18 10:00:00 +00:00
Vassil Vassilev
1de2e123a0 In our buildsystem nobody defines HAVE_UNISTD_H yet.
git-svn-id: http://root.cern.ch/svn/root/trunk@48320 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-18 09:30:58 +00:00
Vassil Vassilev
6aaa61468b Fix windows.
git-svn-id: http://root.cern.ch/svn/root/trunk@48319 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-18 09:02:46 +00:00
Vassil Vassilev
fe01b22527 Try to Windows for cling standalone.
git-svn-id: http://root.cern.ch/svn/root/trunk@48318 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-17 16:40:33 +00:00
Vassil Vassilev
1ae610b211 Fix savannah #99234.
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
2013-01-17 15:27:14 +00:00
Vassil Vassilev
9881b59a06 Get rid of meta processor options and various improvements.
git-svn-id: http://root.cern.ch/svn/root/trunk@47889 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-06 11:47:24 +00:00
Vassil Vassilev
ad0cfca9a6 Get rid of another use of meta processor option.
git-svn-id: http://root.cern.ch/svn/root/trunk@47885 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-06 10:52:01 +00:00
Vassil Vassilev
fc6f865dfb Use contemporary cling coding style :)
git-svn-id: http://root.cern.ch/svn/root/trunk@47876 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-06 09:54:20 +00:00
Axel Naumann
05ba8a3a07 Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.)
git-svn-id: http://root.cern.ch/svn/root/trunk@45844 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 09:37:39 +00:00