725 Commits

Author SHA1 Message Date
Baozeng Ding
8e17b5e93e Report the null deref warning through diagnostic engine. 2013-07-27 20:43:03 +02:00
Vassil Vassilev
6b26c3a415 Add the new diagnostic as a patch. 2013-07-27 20:43:00 +02:00
Philippe Canal
eef395f046 Add missing re-attach nested transaction to parent after a reset in beginTransaction.
This fix the assert failure:
   endTransaction(cling::Transaction*) const: Assertion `T->getState() == Transaction::kCollecting' failed.
2013-07-27 02:01:03 +02:00
Vassil Vassilev
5b2655d120 Add testcases. 2013-07-21 15:16:57 +02:00
Baozeng Ding
9ee3398603 Implement the callback that warns the user on null ptr deref. 2013-07-21 15:16:57 +02:00
Philippe Canal
80d57d9c93 80 columns. 2013-07-18 10:36:45 +02:00
Axel Naumann
7849f4e7f1 Fix assert 2013-07-17 09:03:49 +02:00
Philippe Canal
871f2df4a1 Improve the input line validator handling of quoted strings.
For example those are now properly accepted (because the content
of the string is now ignored):

TFile *_file0 = TFile::Open("http://root.cern.ch/files/atlasFlushed.root");
n.SetName(" ( ");
2013-07-17 00:04:55 +02:00
Vassil Vassilev
fc7d1879da Replace Decl** with the more accurate Transaction**.
Add output Transaction parameter to Interpreter::parse.
2013-07-15 12:58:54 +02:00
Vassil Vassilev
3c101956d8 Add proper initialization. 2013-07-15 08:46:51 +02:00
Baozeng Ding
8d657b2b71 It wasn't Baozeng's fault I committed the old instead of the newest patch. 2013-07-15 08:15:53 +02:00
Vassil Vassilev
dd06cb6fca Spelling. 2013-07-14 23:00:52 +02:00
Vassil Vassilev
bc6a51340b Fix the wrong include filename. 2013-07-14 22:40:51 +02:00
Baozeng Ding
e02eb39090 Add null deref ptr transformer, which instruments the llvm::IR to protect user code at the prompt accidentally dereferencing a null ptr.
Tests coming soon.
2013-07-14 22:27:52 +02:00
Vassil Vassilev
a11bd8bd49 Add useful comment. 2013-07-10 14:20:08 +02:00
Vassil Vassilev
90203e1d43 Alphabetic order. 2013-07-10 14:20:08 +02:00
Axel Naumann
1459fc6235 Disable asserts until whetever triggers them gets fixed. 2013-06-28 14:07:13 +02:00
Axel Naumann
0c74a310d8 Rebase to master/HEAD; split commitTransaction(); select needed parts in emitAllDecls(). 2013-06-28 00:33:17 +02:00
Axel Naumann
07ee17e09b Use new interface 2013-06-28 00:33:17 +02:00
Axel Naumann
a2bb0b2b46 codegen() really does emitAllDecls(); use new IncrementalParser interfaces. 2013-06-28 00:33:17 +02:00
Axel Naumann
0e6302f92c Split CodeGen and UsedAttr from commitTransaction into separate functionw. 2013-06-28 00:33:16 +02:00
Axel Naumann
e87cf60d9e Set UsedAttr instead of LangOpt.EmtiAllDecls (temporary implementation) 2013-06-28 00:33:16 +02:00
Baozeng Ding
1c2f34afd1 Baozeng Ding - Split the transformers into two kinds: AST and IR
The AST transformers should be run *before* codegen, whereas the IR transformers
should be run *after*
2013-06-26 20:57:05 +02:00
Vassil Vassilev
cc609ad618 Add missing protection. 2013-06-26 16:18:26 +02:00
Vassil Vassilev
dbdb2d09c6 Typo. 2013-06-26 16:18:26 +02:00
Vassil Vassilev
b00e66a0c2 Add missing separator. 2013-06-26 16:18:25 +02:00
Vassil Vassilev
65ce06c373 NDEBUG stands for NO DEBUG... 2013-06-26 16:18:25 +02:00
Vassil Vassilev
cb3f3c3bae Remove the lazy (fishy) initialization of the cling's execution context. 2013-06-25 09:30:36 +02:00
Vassil Vassilev
0ff9231adc Don't set the module in Interpreter::codegen. This is leftover from the cherrypick. 2013-06-25 09:30:35 +02:00
Vassil Vassilev
7e5846924a Do not make the new transaction coming from the static initializer nested. If the transaction was nested make the current active the parent on commit. 2013-06-25 09:30:35 +02:00
Vassil Vassilev
2f3cdedfde Use the std::deque to implement the first and last transaction accessors. 2013-06-25 09:30:35 +02:00
Vassil Vassilev
f54ad7450e Move the late creation of the container up. Implement sanity check for decl uniqueness when in debug mode. 2013-06-25 09:30:35 +02:00
Vassil Vassilev
777a44ad37 Define operator== and operator!= for DelayCallInfo. 2013-06-25 09:30:35 +02:00
Vassil Vassilev
49321363f7 Define NDEBUG for consistency with llvm and clang, when building ROOT in debug mode. 2013-06-25 09:30:35 +02:00
Vassil Vassilev
ef0c731ecb Add method removing nested transactions. Move reset implementation in the cpp file. 2013-06-25 09:30:34 +02:00
Vassil Vassilev
816b721f80 Open the transaction to collect declarations coming from the dynamic expressions. 2013-06-25 09:30:34 +02:00
Vassil Vassilev
93d0d81de2 The null DGR is a marker for nested transactions. Instead using isNull DGR protected interface append, push back the marker in the decls queue. 2013-06-25 09:30:34 +02:00
Vassil Vassilev
bc1117d95a The transaction could be in state rolled back as well. 2013-06-25 09:30:34 +02:00
Vassil Vassilev
1ee8915aa6 Since we enforced very strict policy when declarations should be added to a transaction we have corner cases which need to be handled. For example in the transaction transformers there could be template instantiations happening and the transaction should be open and expecting decls. 2013-06-25 09:30:34 +02:00
Vassil Vassilev
0818c453ad Add an assertion at deletion time to ensure all the transactions were committed. 2013-06-25 09:30:33 +02:00
Vassil Vassilev
0decfa6d8d Move the asserts up and make the append() append only if the transaction is in state collecting. 2013-06-25 09:30:33 +02:00
Vassil Vassilev
894407a314 Check on deletion if all the transactions were committed. 2013-06-25 09:30:33 +02:00
Vassil Vassilev
65f672f802 Add clarification comment. 2013-06-25 09:30:33 +02:00
Vassil Vassilev
1f91c16265 Transform to proper assertions. 2013-06-25 09:30:33 +02:00
Vassil Vassilev
0fbca300d4 When codegenning a transaction we must set the active module in codegen to the given one.
Add an assertion checking if there is codegen.
2013-06-25 09:30:32 +02:00
Vassil Vassilev
6604b6b763 Some transactions don't have a wrapper. 2013-06-25 09:30:32 +02:00
Vassil Vassilev
52c25a3f40 Construct execution context only if there is codegen enabled. 2013-06-25 09:30:32 +02:00
Vassil Vassilev
78ea68614a Fix syntax errors in the test.
I DO NOT STILL UNDERSTAND HOW THAT WAS HIDDEN BY CLING's TESTSUITE. We should
investigate seriously these issues.
2013-06-25 09:30:32 +02:00
Vassil Vassilev
92098d2046 Add XFAILing test, exposing issue ROOT-5248. 2013-06-25 09:30:31 +02:00
Vassil Vassilev
ebd1976bf3 No Constness and semi needed anymore. 2013-06-25 09:30:31 +02:00