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