399 Commits

Author SHA1 Message Date
Vassil Vassilev
f75cef233f Implement callbacks for the DynamicLibraryManager. 2014-04-14 20:58:15 +02:00
Vassil Vassilev
68a0a45eab Use normalized filenames. 2014-04-14 20:58:13 +02:00
Vassil Vassilev
59c7b7b2d7 Coding convention. 2014-04-14 09:09:00 +02:00
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
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
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
Vassil Vassilev
76f9617076 Doxygen. 2014-04-09 18:36:04 +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
d49c03b10c Files that are .x-ed must be unloadable too. Simplify. 2014-04-09 09:27:08 +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
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
33676c14a9 Implement dump of MacroDirectiveInfo. 2014-03-31 14:03:08 +02:00
Vassil Vassilev
1f25fe3a00 CXX consistency. 2014-03-31 14:03:03 +02:00
Vassil Vassilev
0250ffe457 Fwd declare the clang::DiagnosticsEngine. 2014-03-31 14:03:01 +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
Axel Naumann
e85e30e290 Fix MacOS missing symbol __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEi.
This is triggered by emitting operator<< 'class std::__1::basic_ostream<char,
struct std::__1::char_traits<char> > &(int)' even though its marked as exported
in general. Now that clang and libc++ agree on the handling of exported
templates we can remove our work-around.
2014-03-28 15:51:03 +01:00
Vassil Vassilev
f0fe89669c Fix doxygen typos. Thank you clang. 2014-03-27 11:18:57 +01:00
Axel Naumann
297d6a0019 First step away from SVN versioning. 2014-03-04 19:55:00 +01:00
Axel Naumann
57a84ab394 Move some code around to chop Interpreter() into smaller pieces. 2014-03-04 19:55:00 +01:00
Axel Naumann
baca204185 Simplify cxa_atexit(), first part.
Remove trigger__cxa_atexit(), we will just remap until successful.
Remove unused dso parameter.
Instead of friending just provide a function.
Pass a transaction, the typesafe way.
2014-03-04 19:54:59 +01:00
Axel Naumann
1e86611693 Remove unused function. 2014-03-04 19:54:59 +01:00
Axel Naumann
6b647a89cd Force symbol for ~__trigger__cxa_atexit (ROOT-6074); avoid reserved name. 2014-03-03 18:45:21 +01:00
Vassil Vassilev
c7e7156ce1 Remove Interpreter::getModule. 2014-03-03 15:27:05 +01:00
Vassil Vassilev
8d457e947f StringRef-y. 2014-03-03 15:27:05 +01:00
Vassil Vassilev
15918cd889 Remove unused interface. 2014-03-03 15:27:05 +01:00
Vassil Vassilev
e4383ecf7d Remove unused interface. 2014-03-03 15:27:05 +01:00
Vassil Vassilev
1851604b8c Rename printAST to printDebug. 2014-03-03 15:27:05 +01:00
Vassil Vassilev
c745dcc29c Remove useless flag. 2014-03-03 15:27:04 +01:00
Vassil Vassilev
f29b09e054 Remove .printIR and replace it with smarter debug class reusing the latest state tracker. 2014-03-03 15:27:04 +01:00
Vassil Vassilev
71b05e8321 Use the new CodeGen debug printouts in .storeState 2014-02-27 15:57:11 +01:00
Vassil Vassilev
eea3bf1f3d This should be reimplemented. So far it is a nop. 2014-02-27 12:49:10 +01:00
Axel Naumann
9b678f2829 Allow updating of the MetaProcessor's output stream, to redirect a meta command. 2014-02-25 14:18:01 +01:00
Axel Naumann
c88d5a4f19 More doxygen. 2014-02-21 12:11:56 +01:00
Vassil Vassilev
c92a68efc4 Implement cling::Transaction unique id. 2014-02-20 15:16:59 +01:00
Vassil Vassilev
340461a57a Trailing blanks 2014-02-20 15:16:59 +01:00
Axel Naumann
efb09a4d77 Fix doxygen. 2014-02-20 15:16:58 +01:00
Vassil Vassilev
398e97eb40 If the value is not set (due to errors in the runtime evaluation), return default. 2014-02-20 14:43:05 +01:00
Vassil Vassilev
c992cf3047 Implement reloading on .L
We keep the FileEntry -> Transaction mapping so that next time there is .L
we can figure out that it was already loaded and unload it and reload it again.
2014-02-20 10:36:10 +01:00
Axel Naumann
b27e430c89 Implement setValueNoAlloc() for long double. 2014-02-19 14:55:00 +01:00