Commit Graph

45 Commits

Author SHA1 Message Date
CristinaCristescu
0381b517c1 Glue the cling tab completion to ROOT. 2016-07-18 14:29:13 +02:00
CristinaCristescu
cc5da51f21 Cling patch for code completion. 2016-07-18 14:29:13 +02:00
CristinaCristescu
95e3dcf8ef Check for invalid pointer address access. 2015-12-15 20:24:16 +01:00
Axel Naumann
923b4ce39b Also strip the "runtime" part of the Interpreter exception here. 2015-12-15 20:24:16 +01:00
CristinaCristescu
1d46fe88d8 Remove runtime namespace from NullDerefException and rename RuntimeException.h to Exception.h.
(cherry picked from commit 234da8bfedce8661c2b8bc50f72632c240c4dfd8)
2015-12-15 20:24:16 +01:00
CristinaCristescu
8ab37ec3d6 Enable Baozeng Ding's NullDeref protection for ROOT; use exceptions.
The function HandleInterpreterException catches the NullDerefException.
Remove pre-exception longjmp code.
2015-12-15 20:24:15 +01:00
Vassil Vassilev
96b189e8d7 Remove new lines. 2015-12-15 20:24:15 +01:00
Axel Naumann
faf2b44a0d Tell which language is enabled (ROOT-7090). 2015-02-21 23:15:27 +01:00
Vassil Vassilev
22f891e9be llvm::OwningPtr to std::unique_ptr. 2014-08-14 14:56:38 +02:00
Philippe Canal
576ca3ca96 Remove trailing spaces 2014-08-13 16:08:36 +02:00
Axel Naumann
0f77b4ff1b Less mem leaks. 2014-07-01 16:10:07 +02:00
Axel Naumann
93970e8c35 Replace StoredValueRef by Value. 2014-04-01 18:31:58 +02:00
Axel Naumann
c36da12a79 Disable history if envvar CLING_NOHISTORY is set - for fixed memory address. 2014-02-06 17:40:54 +01:00
CristinaCristescu
6296b84ab3 Changes to redirection. 2014-01-15 12:02:03 +01:00
CristinaCristescu
0ec0ba48b6 Change redirection from Interpreter to MetaProcessor. 2014-01-15 12:02:03 +01:00
Axel Naumann
44481ace1e Fix license; remove $Id$ version. 2014-01-07 11:14:04 +01:00
Axel Naumann
5706d4bdef Workaround broken JIT exceptions, use longjmp instead. 2013-10-03 09:54:00 +02:00
Axel Naumann
95c14596f0 Fix small string / $HOME mess. 2013-09-26 17:54:18 +02:00
Axel Naumann
6c0e0a2103 Reimplement GetUserHomeDirectory(). 2013-09-26 17:54:16 +02:00
Axel Naumann
37e58b7dba Typo 2013-09-11 10:11:04 +02:00
Axel Naumann
3a8534d285 Improve exception reporting. 2013-09-11 09:41:52 +02:00
Axel Naumann
0782d4d515 Make CompilationException public, (also) use new cling runtime exception as base. 2013-09-09 18:02:53 +02:00
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