Commit Graph

2886 Commits

Author SHA1 Message Date
Danilo Piparo
c07e92e42d Add test for empty tuple. 2016-02-04 15:29:16 +01:00
CristinaCristescu
4dd9c812d8 Synthesize InvalidPointerCheck call to take function parameters.
Creating the call for the cling invalid check function required that
the function have a const void *, thus a cast was injected.
Also renamed some of the variable to be more specific and
self-explanatory.
2016-02-04 09:59:06 +01:00
Axel Naumann
692dd6d7ee Use typical sub-llvm path. 2016-02-02 23:14:06 +01:00
Axel Naumann
8621eb091a Simplify regex; #includes; std::. 2016-02-02 20:59:04 +01:00
Axel Naumann
8843128773 Clarify the Jupyter kernel install procedure. 2016-02-02 20:14:09 +01:00
Axel Naumann
95bba98231 Remove unused LICENSE file (kernel uses LICENSE from cling). 2016-02-02 20:14:09 +01:00
Danilo Piparo
90fe0e262e Add to cling value printing capabilities for std::tuple and std::pair. 2016-02-02 12:59:25 +01:00
Axel Naumann
5587ae57e6 Test for ROOT-7918. 2016-01-31 21:29:07 +01:00
Axel Naumann
6a4196e7c8 Do not assume int as underlying enum type (ROOT-7918). 2016-01-31 21:29:07 +01:00
Philippe Canal
7bcebf40ad Fix fatal typo.
The closing of the anonymous namespace was conditional (only if NDEBUG was not defined)
2016-01-28 22:59:07 +01:00
Axel Naumann
0e2029a0e4 Fix ROOT-7837 by silencing diagnostics.
Still assert if the failure is not because of an unparsable type name.
2016-01-28 20:44:08 +01:00
Axel Naumann
ba2d25f20a No diags! Really do iter deref. User fwd decl. 2016-01-28 15:12:50 +01:00
CristinaCristescu
0329828fd8 Add tests for cling NullDeref.
If stmt testing and checking that the execution is stopped after
a null deref warning.
2016-01-28 15:12:50 +01:00
CristinaCristescu
6ade14763f Replaced the PointerCheckInjector's std::map data member with a llvm::DenseMap for efficiency reasons. 2016-01-28 15:12:50 +01:00
Axel Naumann
5fb064400f Add test for ROOT-7426. 2016-01-28 15:12:50 +01:00
Axel Naumann
83ca41354e Disable access checks for value printing (ROOT-7426). 2016-01-16 20:29:05 +01:00
Axel Naumann
fd8be83d46 Revert unintentional add. 2016-01-14 20:59:08 +01:00
Elisavet Sakellari
e6487af04a Forgot to remove commented code 2016-01-14 20:44:14 +01:00
Elisavet Sakellari
ef6320070f Additional minor changes 2016-01-14 20:44:14 +01:00
Elisavet Sakellari
e9f1240015 Small change in ASTImportSource.cpp 2016-01-14 20:44:14 +01:00
Elisavet Sakellari
01a4526fc6 Edited test for Multiple Interps, and added some fixes 2016-01-14 20:44:14 +01:00
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