1855 Commits

Author SHA1 Message Date
Vassil Vassilev
2c9fe16a56 Remove dead branch. 2014-03-24 14:25:58 +01:00
Vassil Vassilev
80a0e1e56e C++11 noexcept op. 2014-03-24 14:25:58 +01:00
Vassil Vassilev
4d5e607256 Merge unloadTransaction and rollbackTransaction. 2014-03-24 14:25:58 +01:00
Vassil Vassilev
cad76c3090 Reset diags is done in the node eraser. 2014-03-24 14:25:58 +01:00
Vassil Vassilev
b1f4287c67 Reduce includes. 2014-03-24 14:25:58 +01:00
Vassil Vassilev
c6544c49f9 Update test. 2014-03-24 14:25:57 +01:00
Axel Naumann
7390550dfe Add comment explaining (part of) the bootstrap sequencing. 2014-03-23 21:13:54 +01:00
Axel Naumann
b44c7c69c0 MASSIVE reduction in linked libs. Ouch. 2014-03-22 18:39:57 +01:00
Philippe Canal
93ce42bdc3 Preliminary support for template alias.
GetPartiallyDesaguredType now desugar template alias
but does not yet properly propagate the opaque typedef
and thus:

  template <typename T> using myvector = std::vector<T>;
  myvector<Double32_t> vd32d;

  template<class T> using ptr = T*;
  ptr<Double32_t> p3;

Both currently result in the Double32_t being ignored.
2014-03-21 16:57:07 +01:00
Philippe Canal
45895aec23 No longer hide the compiler detail.
The partial desugaring (part of normalization) now strips a typedef
even when it original from std and points to compiler details (__gnu_cxx, etc.).

The cost of this convenience was the fact the same entity could have different
'name' and thus different class even-though they were supposed to be strictly
equivalent. i.e. depending on the way to get to the class it could be name
vector<int*>::iterator or __gnu_cxx::iterator<int*> or std::iterator<int*>.

This different from the case where we have a strictly bidirectional equivalent
between the class and its unique typedef (yes, we are talking about you std::string).

This also different from the case where there is a semantic difference between
the two possible name.  I.e. where an opaque typedef is used.  For example,
vector<Double32_t> and vector<double> and where the 'way' to get to the type[name]
is relevant.
2014-03-21 16:57:07 +01:00
Timur Pocheptsov
3115300308 Protect against recursive definitions (for example,
data members of a type we're already priting - either static data member or "cross-references").
2014-03-21 11:24:58 +01:00
Philippe Canal
8bdb34696e Do not pass on -ffunction-sections.
-ffunction-sections breaks the debugger on some platforms ... and does not help libCling at all.
2014-03-19 22:48:58 +01:00
Vassil Vassilev
68e01b936b Implement FileManager uncaching. 2014-03-19 14:52:21 +01:00
Axel Naumann
931608551b Enforce that cling uses clang with our patches, not a user-provided clang. 2014-03-18 09:18:07 +01:00
Axel Naumann
2699d27626 Add test for ROOT-6124. 2014-03-18 09:12:02 +01:00
CristinaCristescu
6422e03e30 Unloading of functions, enums, globals (ROOT-5701). 2014-03-17 14:48:07 +01:00
Vassil Vassilev
890c1df223 Remove unused variable. 2014-03-17 12:03:02 +01:00
Vassil Vassilev
ff57cb4da0 Collect all functions that we need to delete and delete them 2014-03-15 10:08:24 +01:00
Vassil Vassilev
1aa3c27c06 @_GLOBAL__I_aN can have multiple calls also 2014-03-15 10:08:24 +01:00
Vassil Vassilev
344657830e Add clarification comment. 2014-03-15 10:08:24 +01:00
Axel Naumann
73a285d69a Add tests for ROOT-6137. 2014-03-14 17:31:02 +01:00
Bertrand Bellenot
f74816cfdf Another attempt to fix compilation warnings like: Command line warning D9025: overriding '/EHs' with '/EHs-' 2014-03-14 11:40:55 +01:00
Vassil Vassilev
5d959e9190 Doxygen warning 2014-03-14 10:52:29 +01:00
Vassil Vassilev
1b85e6e20d We may not have incr executor. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
b371e33e23 We may not have code gen. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
1f7d6836f8 Remove the functions after the loop is done. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
fff83003a6 Protect against calling a function with an unexpected signature. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
4e4d39d389 Make it power of 2. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
bb46c353f0 Style consistency. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
0e9ea976e0 Remove unused var. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
b5e6cb8dee Use runFunction for running inits. Let's see whether it imporves LHCb builds 2014-03-14 10:52:29 +01:00
Vassil Vassilev
a54f51cdee Remove dead code. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
b9a4d063d1 Reduce the noise in compareState. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
2323fea34c Collect properly the references and remove orphaned globals due to death of a GV.
Cleanup and optimize the code.
2014-03-14 10:52:29 +01:00
Vassil Vassilev
12f47878bc Invert order, because Dtor_Base calls Dtor_complete. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
f6f4c707d4 Add a dead code removal pass. The test is expected to succeed now.
Removing a GlobalValue from the module might make other values (referenced only
by the one being removed) available for removal. Those should go as well. The
initial implementation is a bit greedy - it removes more: i.e dtors because they
are not referenced (because IncrementalExecutor takes care of them in an custom
way)
2014-03-14 10:52:29 +01:00
Vassil Vassilev
d763cfb137 Remove the members first, because they might need the redecl chain. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
887645367e Pass in codegen. 2014-03-14 10:52:29 +01:00
Vassil Vassilev
c0e918f506 Since we append the extracted decls in the transaction the wrapper must go last.
The reason is it introduces a fake dependency with which the unloaded chokes up.
2014-03-14 10:52:29 +01:00
Vassil Vassilev
66c59788d5 Remove @_GLOBAL__I_a and @__cxx_global_var_init after running them. 2014-03-14 10:52:28 +01:00
Vassil Vassilev
5e5e7e9d1f Improve consistency. IncrementalExecutor should use llvm by default. 2014-03-14 10:52:28 +01:00
Vassil Vassilev
62318fcbc7 80 cols 2014-03-14 10:52:28 +01:00
Vassil Vassilev
6f11ad9b1e Pass in codegen as an entity to be recovered. 2014-03-14 10:52:28 +01:00
Axel Naumann
f30e498afd Try again: fix standalone cling; now verified on Win. 2014-03-10 13:43:01 +01:00
Pere Mato
d92e4dbb1c Fix the build of cling (outside LLVM) after the recent changes in CMake files 2014-03-09 21:51:07 +01:00
Axel Naumann
5634799c7b Typo. 2014-03-09 21:17:01 +01:00
Axel Naumann
f24006695a Try again with CMake-ism: handle empty COMPILE_FLAGS. 2014-03-09 13:34:00 +01:00
Axel Naumann
1ecfebabdb Apparently COMPILE_FLAGS can be empty. 2014-03-09 12:52:59 +01:00
Axel Naumann
4cffcf37a6 And another location for the new dependency. 2014-03-08 19:11:12 +01:00
Axel Naumann
772a9e5036 Add new dependency. 2014-03-08 19:05:02 +01:00