CristinaCristescu
9cff82d107
Enable Pointer validity check for loadFile and process (user code).
2016-04-22 21:14:07 +02:00
CristinaCristescu
ac18e69a68
Create option for disabling the Pointer check in cling::Interpreter::declare.
...
To improve performance we limit the use of the Pointer validity check
and remove it from cling::Interpreter::declare.
To do this we introduce a Compilation Option which is used by the
ASTTransformer through Transaction.
2016-04-22 21:14:07 +02:00
Axel Naumann
6f3a95eef2
Doxygen.
2016-04-22 12:29:14 +02:00
CristinaCristescu
60a1b6bca4
Remove redundant test for CXXThisExpr in NullDeref.
2016-04-22 11:44:51 +02:00
CristinaCristescu
afdb4e75a7
Memory leak due to undeleted pointer.
2016-04-21 19:14:47 +02:00
Axel Naumann
8e5514f5b5
Only inject pointer checks if we run.
...
Fixes an issue visible on Ubuntu, where we deserialize a pointer check call from the PCH, that now has completely bogus (deserialized) pointers to Expr and Sema.
2016-04-21 19:14:47 +02:00
Oliver Freyermuth
304529ba41
MultiplexInterpreterCallbacks: Also multiplex the PrintStackTrace through here.
2016-04-21 19:14:47 +02:00
Oliver Freyermuth
271a0a1829
ExceptionRTTI: Only do dereferencing of Interpreter / Sema if pointer is really nullptr / invalid.
...
This fixes the crash on startup / during static initialization.
The Interpreter-argument given to cling_runtime_internal_throwIfInvalidPointer during
static initialization is not yet valid.
Only dereferencing in case an error was really diagnosed is also more efficient.
2016-04-21 19:14:47 +02:00
Axel Naumann
cec046a44f
Dump stack trace when throwing a null deref exception.
2016-04-21 19:14:47 +02:00
Axel Naumann
50bfb01db7
NullDerefProtectionTransformer is not a WrapperTransformer anymore.
2016-04-21 19:14:47 +02:00
Axel Naumann
dc32ab8e73
Use /dev/random, some kernels skip writing to /dev/null.
2016-04-21 19:14:47 +02:00
Axel Naumann
6c3bb2daef
Refinements: use std::array+find, comments, func names.
2016-04-21 19:14:47 +02:00
CristinaCristescu
6dc84b0f29
Improve performance of address validation of interpreted code.
2016-04-21 19:14:47 +02:00
Axel Naumann
061da2fd5b
Simplify and fix Makefile (append instead of subst), still ROOT-8111.
2016-04-21 19:14:47 +02:00
Axel Naumann
739a3c962c
Fix decl / impl noexcept mismatch; throw() -> noexcept.
2016-04-21 19:14:47 +02:00
Vassil Vassilev
c3480a086c
The decl shouldn't be more 'lax' than the one in base.
2016-04-21 19:14:47 +02:00
Axel Naumann
2a78137bf1
Remove -fno-rtti / -fno-exception for ExceptionRTTI, also in Module.mk.
2016-04-21 19:14:47 +02:00
Axel Naumann
bb7b60959b
Sort the source files closer to alphabetical order.
2016-04-11 12:14:17 +02:00
Axel Naumann
ea41f5b87e
Split Exception.cpp into a part that does and does not need RTTI.
...
ROOT needs to dynamic_cast a std::exception to an InterpreterException - that only works if the latter has rtti.
2016-04-11 12:14:17 +02:00
Axel Naumann
177ac81d74
Formatting, mention tools/Jupyter/kernel subdir.
2016-04-09 11:29:07 +02:00
Jan Christoph Uhde
a558c4cf02
Check for existing libclingJupyter, not whether it's executable.
2016-04-09 11:14:06 +02:00
Axel Naumann
434d039331
Add python2 compat as suggested by @hellpanderrr in Issue #1 .
2016-04-09 10:59:14 +02:00
Axel Naumann
ac3d7022f0
Update required symbol cling_runtime_internal_throwIfInvalidPointer.
2016-04-09 10:44:32 +02:00
Axel Naumann
5c0001659b
Bind Jupyter to MetaProcessor instead of Interpreter.
2016-04-08 16:59:08 +02:00
CristinaCristescu
1cb874532b
Correct DiagnoseIfInterpreterException in iterpreter.
2016-04-08 15:44:11 +02:00
CristinaCristescu
0fb177cbf2
Do not check null deref for static data members calls.
2016-04-08 15:44:11 +02:00
CristinaCristescu
fc500ad68e
Reduce I/O operations caused by the check of address validity.
2016-04-08 15:44:11 +02:00
CristinaCristescu
1bd499bb15
Fix bug - check only for function arguments of pointer types.
2016-04-08 15:44:11 +02:00
CristinaCristescu
0059a81ac3
In Visitor of PointerCheckInjector use Traverse not Visit.
2016-04-08 15:44:11 +02:00
CristinaCristescu
1472015449
Create function member of IncrementalParser for setting the transformers.
...
The transformers have to be set later in the initialization for 2 reasons:
- to avoid the null deref check before the check pointer function is declared
in the RuntimeUniverse;
- to avoid useless checks.
2016-04-08 15:44:11 +02:00
CristinaCristescu
31af5359b1
Use RecursiveASTVisitor instead of StmtVistor in NullDeref transformer.
...
The Stmt visitor does not allow for Decl visiting.
2016-04-08 15:44:11 +02:00
CristinaCristescu
89a06892df
Constexpr cannot be checked for null derefrencing.
...
Constexpr are checked at compile time, and there is no need to check at run-time.
Thus we will not descend into visiting expresions which are constexpr.
2016-04-08 15:44:11 +02:00
CristinaCristescu
8cd5175dd7
Add the null derefrencing transformer to the AST transformers.
...
Checking all cases will be beneficial if it does not compromise
stability and performance.
2016-04-08 15:44:11 +02:00
Axel Naumann
9d13663e83
Fix warning unsigned/signed comparison.
2016-04-01 20:59:07 +02:00
Axel Naumann
438427127f
Fix warning: unused return value of write()
2016-04-01 16:14:10 +02:00
Axel Naumann
ca24eff6a0
Remove dupe directory.
2016-04-01 16:14:10 +02:00
Axel Naumann
3354c15777
Update to current output, URL.
2016-04-01 10:44:15 +02:00
Axel Naumann
b6d55f06f7
Comment out demo of cling::Jupyter::pushOutput().
2016-03-31 21:14:06 +02:00
Axel Naumann
5021042a26
Formatting.
2016-03-31 14:59:13 +02:00
Axel Naumann
6d3070de94
No exceptions in the (old) JIT of cling on powerpc64 either.
2016-03-31 10:29:07 +02:00
Axel Naumann
6d5b15306b
XFAIL should be "arm64,aarch64", not "arm".
2016-03-31 09:44:06 +02:00
Axel Naumann
ac05121825
The (old) llvm JIT in cling does not support exceptions on either ARM64 not AARCH64.
2016-03-31 09:44:06 +02:00
Axel Naumann
f1d245da6a
Clarify where the error comes from (cling!).
2016-03-30 12:44:14 +02:00
Axel Naumann
3c31044732
Do not rely on debug output. Fix code.
2016-03-30 12:44:14 +02:00
Vassil Vassilev
fce9772fd5
Fix cling build instructions.
2016-03-29 14:59:04 +02:00
Pere Mato
1c1db3c3c9
Changed to avoid wanings when using Xcode >= 7.3
2016-03-24 11:59:43 +01:00
CristinaCristescu
b9a2d80235
Diagnose Interpreter exceptions.
...
Enable the TInterpreter to diagnose InterpreterExceptions so that
they can be caught and diagnose from outside ROOT. For that
InterpreterException derives from std::exception.
2016-03-23 14:29:11 +01:00
Paul Seyfert
8fe8f2f4ad
disable grep colors, fixes ROOT-8056
2016-03-21 09:59:25 +01:00
Axel Naumann
0d827a761a
Add test for ROOT-7837.
2016-03-04 21:29:05 +01:00
Philippe Canal
f8a9fdcfc7
In AutoSynthesizer handle the case of try-catch function [ROOT-8034].
...
Example of try-catch function:
void function_with_try_block()
try
{
// try block body
}
catch (...)
{
// catch block body
}
2016-03-03 19:29:13 +01:00