2815 Commits

Author SHA1 Message Date
Elisavet Sakellari
4ac0a10a3e Added test for MultipleInterpreters, and some changes. 2016-01-14 20:44:14 +01:00
Elisavet Sakellari
8f51dd1617 Remove default values in IncrementalParser functions 2016-01-14 20:44:14 +01:00
Elisavet Sakellari
b0bdcf4c56 First commit for the Multiple Interpreters. 2016-01-14 20:44:14 +01:00
Elisavet Sakellari
ee92892ad4 First commit for the Multiple Interpreters 2016-01-14 20:44:14 +01:00
CristinaCristescu
8495dc7dd8 Cosmetics of NullDerefProtectionTransformer + isDeclCandidate CXXMemberCallExpr case.
If we have a CXXMemberCallExpr we do not check the arguments of the call,
we only check the callee.
2016-01-14 20:44:14 +01:00
CristinaCristescu
b5594df690 Refactor NullDerefProtectionTransformer.
The class NodeContext was removed since collecting individual Stmts
is not necessary, due to the change of how the visiting of one
single Stmt is done, which now recurses on the children of the Stmt.
Thus, the AST is changed directly by the VisitX methods.

VisitCompoundStmt is not necessary since the CompoundStmt derives from
Stmt and the collection of Stmt of the CompounStmt is visited
through the children visitation.

VisitCXXMemberCallExpr is now covered by the recursive visiting in the
VisitCallExpr method.
2016-01-14 20:44:14 +01:00
CristinaCristescu
94dd1ea523 Visit Stmt children for null deref check.
The previous version of the Null deref visitor was defaulting to
VisitStmt when the Stmt type was unknown, thus allowing for some
types of Stmt X for which a VisitX was not implemented to default
to VisitStmt and not check the content of it. In order to check
any type of Stmt for possible subexpressions which contain s Stmt
that derefrences a Null, the VisitStmt was extended to check its
children.

Only the Stmt types, X, which directly containing a null deref expression
have an explicit VisitX with the exception of CXXMemberCallExpr,
because this type would otherwise default to VisitCallExpr which has
a different check for its structure.
2016-01-14 20:44:14 +01:00
Axel Naumann
abf65cb689 Typo. 2016-01-13 10:14:06 +01:00
Axel Naumann
62ea6ec80a Do not rely on init_list intricacies. 2016-01-13 09:59:04 +01:00
Axel Naumann
1044052eed Range-based for loop requires type for loop variable. 2016-01-13 09:59:04 +01:00
CristinaCristescu
932860cbb2 Replace AST node with node containing NullDeref check and fix NullDeref/Iterator.C test.
Initially the NullDerefProtectionTransformer was prepending a
If statement before the possible Null derefrencing. This was
chenged by a runtime function call which included the check
for Null and invalid address memory, but was replacing the
whole AST node so the parent node of the Expr type would disappear,
resulting in a wrong AST. The correct solution was to replace the
SubExpr of the Expr that contained a possible Null derefrencing.
This was done by using the specific setters for each Expr type
that is detailed in the NullDeref Visiting.
2016-01-12 15:14:08 +01:00
Axel Naumann
d60d4e76be Two missing CMake vars for lit.cfg. 2016-01-12 12:27:43 +01:00
Axel Naumann
b6c236f345 Find doxygen.intro. 2016-01-12 11:29:12 +01:00
CristinaCristescu
44aa4a6180 Add parameter description to avoid warning generation. 2016-01-07 16:29:07 +01:00
Axel Naumann
2670c5e923 Mention Jupyter. Now that we have root-mirror/cling.git, use that as the default repo. 2016-01-07 16:14:07 +01:00
Axel Naumann
51faf8c1fd Enable doxygen target for CMake. 2016-01-05 09:14:07 +01:00
Axel Naumann
5c22ebb509 Do not print invalid memory. 2016-01-04 17:44:24 +01:00
Axel Naumann
a4a3ebbb41 Fix expectation to match (correct) reality. 2016-01-02 20:48:01 +01:00
Axel Naumann
ba8e6b2834 Add install dir to cling include path; move -DCLING_VERSION.
The latter fixes CMake cling tests.
2016-01-02 20:48:01 +01:00
Philippe Canal
a11b9e384e Fix cling::utils::GetPartiallyDesugaredTypeImpl for C++14.
Fix cases (seen in roottest/cling/typedef/assertTypedefIter.C) where
a template parameter is an expression that is actually part of a
template parameter pack.  In this case we need to peek into the pack.
2016-01-02 20:48:01 +01:00
Axel Naumann
7644a681de Add missing #include, reported by 0xACE. 2015-12-20 23:59:05 +01:00
CristinaCristescu
d557ed9506 Doxygen compliant comment. 2015-12-18 14:29:05 +01:00
CristinaCristescu
e89f3d6e32 Remove injected ifstmt for invalid derefrencing.
The previous invalid refrence transformer injected if stmt for checking the argument derefrenced.
Now we return a runtime call that checks for validiting for derefrencing and injects the call
into the AST replacing the node where the deref happens with a call to the runtime function.
2015-12-18 14:29:04 +01:00
CristinaCristescu
5d6f86f805 Invalid referrencing runtime call casted to appropriate type. 2015-12-18 14:29:04 +01:00
CristinaCristescu
b8d475fd0c Add invalid deref tests. 2015-12-18 12:44:09 +01:00
CristinaCristescu
21b342105b Comment explaining function argument const cast. 2015-12-18 12:44:09 +01:00
CristinaCristescu
c5a42b19af Invalid referrencing runtime call casted to appropriate type. 2015-12-18 12:44:09 +01:00
Axel Naumann
a70623e7e3 Add dependency needed for DiagnosticCommonKinds.inc. 2015-12-18 10:15:18 +01:00
Axel Naumann
2023eac193 Put LINK_LIBS back, they are used by ROOT. 2015-12-16 20:29:22 +01:00
Axel Naumann
5c750a2c4c Replace debug path by proper error message. 2015-12-16 20:29:22 +01:00
Axel Naumann
0e7ddc74dc Add proper header. 2015-12-16 20:29:22 +01:00
Axel Naumann
de11680d8a We need process(): code can be decls or exprs. 2015-12-16 20:29:22 +01:00
Axel Naumann
f917ad872a Use evaluate(); process prints the value. 2015-12-16 20:29:22 +01:00
Axel Naumann
83fd5ac7d8 Fix linker invocatin. 2015-12-16 20:29:22 +01:00
Axel Naumann
ccf1075b83 Typos. 2015-12-16 20:29:22 +01:00
Axel Naumann
2217faef8e Also pass the MIME type length. 2015-12-16 20:29:22 +01:00
Axel Naumann
9888227456 Stringify eval result; use pipe fd. 2015-12-16 20:29:22 +01:00
Axel Naumann
e74f919b6e Code completion interfaces (though no real implementation yet). 2015-12-16 20:29:22 +01:00
Axel Naumann
da85321c42 Implement pushing of MIME data to Jupyter. 2015-12-16 20:29:22 +01:00
Axel Naumann
ebf4ef2588 Remove more debug output. 2015-12-16 20:29:22 +01:00
Axel Naumann
636ca85a0e Add destruction of Interpreter. 2015-12-16 20:29:22 +01:00
Axel Naumann
feaedbc9f4 Remove debug output. 2015-12-16 20:29:22 +01:00
Axel Naumann
774997ccc2 Debug: print interpreter address. Provide temporary dummy eval. 2015-12-16 20:29:22 +01:00
Axel Naumann
2f2c2151c0 Jupyter kernel support dylib. 2015-12-16 20:29:22 +01:00
Axel Naumann
6eac3e3159 Define dependencies! 2015-12-16 20:29:22 +01:00
Axel Naumann
473e16a131 Remove non-existing "cling-headers" dependency. 2015-12-16 20:29:22 +01:00
Axel Naumann
dec6519991 Add Jupyter lib. 2015-12-16 20:29:22 +01:00
Axel Naumann
f1bf5f1a55 As agreed by Min, change license to that of cling. 2015-12-16 20:29:22 +01:00
Axel Naumann
66b7181bbb Use custom, non-decaying c_void_p as restype. 2015-12-16 20:29:22 +01:00
Axel Naumann
0511668144 set_next_input payload destroys processing of execute_result! 2015-12-16 20:29:22 +01:00