Vassil Vassilev
6bb29c9130
Consistent argument names.
2014-04-14 09:09:00 +02:00
Vassil Vassilev
ebad01a510
Simplify and extend the dynamic library manager.
...
Now it provides an interface which can lookup library names. It can unload a
library and the implementation of loading and resolving a library name is much
simpler.
The extensions are greatly used by the unloading facilities in cling its users.
2014-04-14 09:09:00 +02:00
Vassil Vassilev
5b49009ec8
Use the canonical paths to the files/libraries to unload.
2014-04-14 09:09:00 +02:00
Vassil Vassilev
0abad4f1ff
Implement an interface for file/librarly lookup, given the interpreter and system inc paths.
2014-04-14 09:09:00 +02:00
Vassil Vassilev
e9b2e010a6
Style.
2014-04-14 09:08:59 +02:00
Vassil Vassilev
c44b4a3803
Move the restore point before the actual unload, i.e exclusive restore point.
...
Thus we can handle the cases where libraries are loaded. That case is tricky
because during library's static initialization, header parsing might occur (resulting
in more decls that need to be unloaded). With the exclusive restore point, we
will undo everything up to it, which implicitly will unload the library and
it's friends.
2014-04-14 09:08:59 +02:00
Vassil Vassilev
0ebd74dcfc
Don't unload decls came from vtable emission.
2014-04-14 09:08:59 +02:00
Timur Pocheptsov
035f23752b
Clean up.
2014-04-14 09:08:59 +02:00
Timur Pocheptsov
cc6ae43942
.namespace command.
2014-04-14 08:55:03 +02:00
Axel Naumann
628618f2b9
Add test for copy ctor and dtor in Value for array-of-structs.
2014-04-11 09:00:01 +02:00
Axel Naumann
1b9910ea28
Fix destruction of array-of-structs.
...
Iterate over the elements, calling the dtor on each.
Requires two more fields in the AllocatedValue to track the array size and
element offset.
Note that this is only implemented for constant size arrays; all others are expected to not be returned (and thus not stored) by value.
2014-04-11 09:00:01 +02:00
Axel Naumann
895e8eaf51
Init member (thanks, valgrind).
2014-04-11 09:00:00 +02:00
Vassil Vassilev
76f9617076
Doxygen.
2014-04-09 18:36:04 +02:00
Pere Mato
b4baf22be7
Fix for ROOT-6194 - ROOT6 build for LHCb seems to have hardcoded dependencies on AFS
2014-04-09 18:19:03 +02:00
Axel Naumann
83722a7084
Include etc/cling headers in PCH; improve dependencies.
2014-04-09 12:08:10 +02:00
Vassil Vassilev
05c66f769b
Style.
2014-04-09 11:19:00 +02:00
Vassil Vassilev
0314a15148
Shorten the unnecessary long interface name.
2014-04-09 11:19:00 +02:00
Vassil Vassilev
522b254345
Move the typedef definition before private section.
2014-04-09 11:19:00 +02:00
Vassil Vassilev
d4da070504
Improve doc style.
2014-04-09 11:18:59 +02:00
Vassil Vassilev
d4299217d4
Improve encapsulation.
2014-04-09 11:18:59 +02:00
Vassil Vassilev
da8237fb86
Use comparison not assignment.
2014-04-09 11:18:59 +02:00
Vassil Vassilev
40b3940666
Adapt to the new (non-const) interface.
2014-04-09 09:27:09 +02:00
Vassil Vassilev
e740840388
Skip removing the system function _Unwind_Resume, needed by the JIT.
2014-04-09 09:27:09 +02:00
Vassil Vassilev
d49c03b10c
Files that are .x-ed must be unloadable too. Simplify.
2014-04-09 09:27:08 +02:00
Vassil Vassilev
a85e45178e
Unload all kinds of decls that came in.
2014-04-04 17:31:57 +02:00
Vassil Vassilev
198e89d305
Run caching before using the cached vars.
2014-04-04 15:22:00 +02:00
Vassil Vassilev
d1a416ddc0
When variadic return stmt doesn't have a return value, invalidate the calculation of the last expr for evaluation.
...
In the same cases we still need to synthesize the setValueNoAlloc, to initialize
the cling::Value to void.
2014-04-04 09:42:07 +02:00
Vassil Vassilev
529088b816
There might be returns without return values.
2014-04-03 13:56:59 +02:00
Vassil Vassilev
1c237c2844
In order to run the void expression we need to put it inside a binary operator.
...
This is the shorthand of syntesizing two statements, which will dramatically
increase the complexity of the implementation.
Now we use setValueToVoid, runExpression
2014-04-02 16:56:58 +02:00
Vassil Vassilev
c868ddfd49
In cases of cling::Value reuse we need to update its settings even if we evaluated void expression.
2014-04-02 16:56:58 +02:00
Vassil Vassilev
76c4024d1d
Polish the implementation. Each pragma equivalent must use different source location.
2014-04-02 15:29:58 +02:00
Axel Naumann
26d409e472
Work around pointer/function cast warning.
2014-04-02 15:29:58 +02:00
Axel Naumann
d80be78891
No vector for time-critical i'faces; use SmallVectorImpl in libCling i'faces.
...
The use of vector forces an allocation for each call, something we don't need to
impose.
SmallVectorImpl doesn't expose the static alloc size; and our interfaces don't
care. Only the actual storage definition needs to define the size, no subsequent
reference.
2014-04-01 18:31:59 +02:00
Axel Naumann
fd71458a5f
Implement cheap move ctor/op=. Member-init order.
2014-04-01 18:31:58 +02:00
Axel Naumann
d00d9e8d54
Simplify; adapt to new Value.
2014-04-01 18:31:58 +02:00
Axel Naumann
93970e8c35
Replace StoredValueRef by Value.
2014-04-01 18:31:58 +02:00
Axel Naumann
de2b4ed039
A "usually" allocation-free cling::Value (ROOT-6075).
2014-04-01 18:31:57 +02:00
Vassil Vassilev
234bfb7770
Simplify some of the changes due to the new diag mapping.
2014-04-01 17:09:58 +02:00
Vassil Vassilev
ffc9fe50b5
Disable useless warnings only for the wrapper functions.
...
We simulate programatically:
void __cling_Unique {
#pragma push
#pragma ... ignore ...
{code}
#pragma pop
}
2014-04-01 17:09:58 +02:00
Vassil Vassilev
f9f6c937d3
Remove from the last to the first from the DeclContext
2014-04-01 17:09:58 +02:00
Vassil Vassilev
ab9dad6917
Soft reset the diagnostics in the LH, too.
2014-04-01 10:57:58 +02:00
Vassil Vassilev
1b6c52abf0
Implement removal of ClassTemplatePartialSpecializationDecls. Disable an assert, which doesn't seem to exist in clang.git.
2014-04-01 10:57:58 +02:00
Vassil Vassilev
b303728d76
Add to cmake.
2014-03-31 16:53:55 +02:00
Vassil Vassilev
ab58d03cba
Add known failures section.
2014-03-31 16:53:55 +02:00
Vassil Vassilev
8b485436fb
Preprocess the file before looking for expected-error substrings. This helps in tests which have multiple RUN lines and define a macro in them.
2014-03-31 16:53:55 +02:00
Axel Naumann
bbf4a3588f
Update to XCode 5.1; e.g. ignore type of std::string::c_str().
2014-03-31 15:15:57 +02:00
Axel Naumann
700a647a2a
Support new name of std::string in libc++.
2014-03-31 15:15:57 +02:00
Vassil Vassilev
68221520fc
Silence a warning.
2014-03-31 14:03:09 +02:00
Vassil Vassilev
14dc0c1c99
Silence a warning.
2014-03-31 14:03:09 +02:00
Vassil Vassilev
666437108e
Replace .U with .undo
2014-03-31 14:03:09 +02:00