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
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
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
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
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
Axel Naumann
700a647a2a
Support new name of std::string in libc++.
2014-03-31 15:15:57 +02:00
Vassil Vassilev
96319aa30f
Implement .U FileName.
2014-03-31 14:03:08 +02:00
Vassil Vassilev
33676c14a9
Implement dump of MacroDirectiveInfo.
2014-03-31 14:03:08 +02:00
Vassil Vassilev
3e7f2aa7aa
If -verify specified don't apply any custom diagnostic mappings.
2014-03-31 14:03:07 +02:00
Vassil Vassilev
4b0b984d63
Use the proper arguments to remove items.
2014-03-31 14:03:06 +02:00
Vassil Vassilev
3dd8d2e900
The CompilerInvocation is the owner of the DiagnosticOptions, all the rest point to them.
...
It used some default diagnostic options, which are different from the ones that
come from the driver passing the invocation options.
2014-03-31 14:03:06 +02:00
Vassil Vassilev
4d53e0fd33
Access sema internals and revert the list of unused decls.
2014-03-31 14:03:05 +02:00
Vassil Vassilev
33ece80d2b
Move renaming.
2014-03-31 14:03:04 +02:00
Vassil Vassilev
230638b648
Rename the class to smth more meaningful.
2014-03-31 14:03:04 +02:00
Vassil Vassilev
d87e58b4f5
Simplify.
2014-03-31 14:03:03 +02:00
Vassil Vassilev
5e6b8590be
Do not leak the diagnostics engine.
2014-03-31 14:03:03 +02:00
Vassil Vassilev
1f25fe3a00
CXX consistency.
2014-03-31 14:03:03 +02:00
Vassil Vassilev
73113c2c4b
Reduce includes.
2014-03-31 14:03:02 +02:00
Vassil Vassilev
d86e86086f
Use better, more accurate include.
2014-03-31 14:03:02 +02:00
Vassil Vassilev
5e3a83bd3b
Set the ignored diags before the driver does parse from args.
...
This allows the driver to override our custom diagnostics if the user wants any
special treatment.
2014-03-31 14:03:01 +02:00
Vassil Vassilev
59b980dd69
Don't recreate the diagnosic client, just set it to the tweaked instance.
2014-03-31 14:03:00 +02:00
Vassil Vassilev
d28bc43cd1
Suppress warnings coming from system headers.
2014-03-31 14:02:59 +02:00
Vassil Vassilev
d1a8efcd55
Implement soft reset of the diagnostics engine.
2014-03-31 14:02:59 +02:00
Axel Naumann
ba642a2869
Be more precise when comparing compilation and runtime libc++.
...
For instance XCode 5.1 braught a libc++ that was sufficiently different to cause havok
all over the place. Thus ABI_VERSION is clearly not enough.
2014-03-29 15:38:56 +01:00