Vassil Vassilev
63f1ce5082
Outline method.
2013-08-02 17:34:55 +02:00
Vassil Vassilev
f841f0bc8d
Add extra assert enforcing integrity.
2013-08-02 17:34:55 +02:00
Vassil Vassilev
5db0612527
Remove unused code.
2013-08-02 17:34:55 +02:00
Vassil Vassilev
e628be3746
There can be duplicates coming from HandleVTable interface.
...
It is possible to have duplicate calls to HandleVTable with the same
declaration, because each time Sema believes a vtable is used it emits
that callback.
For reference (clang::CodeGen::CodeGenModule::EmitVTable).
2013-08-02 17:34:54 +02:00
Vassil Vassilev
48984bc835
Simplify commitTransaction by moving the running of inits in the caller.
...
Temporarily we create a nested transaction instead of delegating that to the
caller to decide. This should be fixed soon.
2013-08-02 17:34:54 +02:00
Vassil Vassilev
c61a2f5695
Make use of the new NDEBUG define. Offload the extra work only when in debug mode.
2013-08-02 17:34:54 +02:00
Vassil Vassilev
32f1010977
Make if-checks asserts, because those cases are not expected anymore.
2013-08-02 17:34:54 +02:00
Vassil Vassilev
059b031f4d
Simplify the code and enforce stricter rules.
2013-08-02 17:34:54 +02:00
Bertrand Bellenot
ef5b723bef
Allow to build out of source on cygwin/gcc
2013-08-02 12:09:56 +02:00
Vassil Vassilev
285dcca31a
Try fix cling on fedora.
2013-08-02 09:09:54 +02:00
Vassil Vassilev
9e735eb8b0
Be even more precise - c++ reference guide says that getchar is in cstdio.
2013-08-01 22:58:52 +02:00
Vassil Vassilev
469daffc65
Use some tricks to adjust the source location of the diagnostic.
2013-08-01 22:47:58 +02:00
Baozeng Ding
9189379bbf
Use isatty first, before getchar()
2013-08-01 22:47:58 +02:00
Baozeng Ding
02735d3dcf
Add source location to the null deref warning. Place the asterisks next to the type as in the rest of cling.
2013-08-01 22:47:58 +02:00
Vassil Vassilev
6910f4ed36
Fix typo.
2013-07-27 20:43:03 +02:00
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