399 Commits

Author SHA1 Message Date
Vassil Vassilev
384196310c Improve style. 2013-12-06 12:03:32 +01:00
Axel Naumann
a1e922c839 Remove stray ; 2013-12-04 20:37:59 +01:00
Axel Naumann
0eb9ac042f Make full qualification an option.
Allows GetPartiallyDesugaredType() and GetFullyQualifiedName() to share functionality.
2013-12-04 19:09:59 +01:00
Axel Naumann
97987030f5 Move several TypeName functions from MetaUtils to cling/Utils.
They were once identical but then got bug fixed out of sync.
Moved routines:

GetFullyQualifiedLocalType()
GetFullyQualifiedType()
CreateNestedNameSpecifier()
CreateNestedNameSpecifierForScopeOf()
GetFullyQualifiedTypeNNS()
2013-12-04 19:09:59 +01:00
Axel Naumann
67f5e5bf64 Add option to disable rollback. Handle missing ExecEngine. 2013-12-02 13:53:30 +01:00
Fons Rademakers
523b65eb7b Make sure _LIBCPP_EXTERN_TEMPLATE is not defined (used by libc++).
The default definition of this macro causes extern template
symbols to be undefined when running with cling. It has been fixed in
the meanwhile in the libc++ sources but the libc++ that ships with OSX 10.9
still has this macro defined. For the discussion on this see:
http://clang-developers.42468.n3.nabble.com/LIBCPP-INLINE-VISIBILITY-and-std-string-length-td4030879.html
and
http://www.mail-archive.com/cfe-commits@cs.uiuc.edu/msg79202.html
2013-11-27 12:49:00 +01:00
CristinaCristescu
49a39b3deb Fix warnings from Macros. 2013-11-26 15:18:57 +01:00
Vassil Vassilev
d74740df1d Size doesn't make sense for a transaction. Iteration doesn't cause side effects anymore. 2013-11-25 17:32:56 +01:00
Vassil Vassilev
a0912520ee Reduce the hacky-ness of the state collector setup.
The second compilerInstance doesn't need to collect anything, thus we don't
need to attach it to the PP.
2013-11-25 13:56:02 +01:00
CristinaCristescu
1d06b2725b Workaround multiple DeclCollector instances. 2013-11-25 13:56:02 +01:00
CristinaCristescu
d6e2f85d1c Fix and improve macro error recovery. 2013-11-25 13:56:02 +01:00
CristinaCristescu
5d42bd5e8c Improvements on Macro removal. 2013-11-25 13:56:02 +01:00
CristinaCristescu
46f07198b0 Add comments and fix trailing spaces. 2013-11-25 13:56:01 +01:00
CristinaCristescu
85b4232729 Revert macro def for error recovery. 2013-11-25 13:56:01 +01:00
CristinaCristescu
0490caaa99 Macro recovery 2013-11-25 13:56:00 +01:00
Philippe Canal
c423ae3bc8 Add LookupHelper::findDataMember to retrive a field or variable. 2013-11-19 04:37:11 +01:00
Vassil Vassilev
dfcb11ad0b Document a parameter. 2013-11-15 16:10:02 +01:00
Vassil Vassilev
d70c1702dc Ignore the noise coming from the lazily-created builtins. 2013-11-14 15:24:03 +01:00
Philippe Canal
388271f9e9 Add cling::LookupHelper::findFunctionTemplate
Given a context and a name (and a constness), return the corresponding
function template decl.
2013-11-13 19:46:00 +01:00
Bertrand Bellenot
d9f80eb51b Use canonicalized absolute pathname
This should fix Jira #ROOT-5636 Be more precise on whether a shared library was loaded
2013-11-11 12:19:59 +01:00
Philippe Canal
6f87119b4b Add LookupHelper::findAnyFunction 2013-11-02 13:55:02 +01:00
Axel Naumann
ceaa2ce579 Add documentation. 2013-10-31 12:59:55 +01:00
Vassil Vassilev
91c54bda2e Add more handy interface that takes a number of transactions to be rolled back. 2013-10-29 20:19:25 +01:00
Vassil Vassilev
69eb1a59a6 Enforce integrity of getGlobalAddress, too. 2013-10-29 20:19:19 +01:00
Vassil Vassilev
a97a2811c9 maybeMangleDeclName should take GlobalDecl. This enforces integrity. 2013-10-29 20:19:17 +01:00
Vassil Vassilev
bd34a1ca16 Erase takes iterator and sets the wrapper fd to 0 if the wrapper is being erased. 2013-10-29 20:19:14 +01:00
Vassil Vassilev
aa5ae69f10 Make the function static. 2013-10-29 20:19:13 +01:00
Vassil Vassilev
f1e156daa4 Construct the mangle context upon each call. It is cheap to construct. And makes the call independent and static-ready :) 2013-10-29 20:19:12 +01:00
Axel Naumann
11f9065caa Misseplled oxygen tag. 2013-10-28 10:57:00 +01:00
Vassil Vassilev
082f3feab4 Dump the llvm::Module too. 2013-10-14 09:11:40 +02:00
Axel Naumann
5706d4bdef Workaround broken JIT exceptions, use longjmp instead. 2013-10-03 09:54:00 +02:00
Axel Naumann
790c34b4f4 Change in option sort order in llvm head. 2013-09-26 17:54:19 +02:00
Vassil Vassilev
8ffa2e2d8b Fix the doxygen only. 2013-09-26 09:42:57 +02:00
Vassil Vassilev
9a2b9913ce Fix doxygen warnings 2013-09-26 09:27:58 +02:00
Philippe Canal
e9376dd7a6 Re-add missing (at least on C+11) header file.
cstdlib is required for std::getenv.
2013-09-25 01:44:55 +02:00
Vassil Vassilev
f1a128f825 Reduce the amount of #included files. 2013-09-24 12:07:07 +02:00
Vassil Vassilev
f7a0987ac9 Move dynamic library handling in separate class. 2013-09-24 12:07:06 +02:00
Vassil Vassilev
9d87f9b56e Move dynamic library handling in separate class. 2013-09-24 12:07:05 +02:00
Vassil Vassilev
0421df1d22 Cleanup the temporary files. 2013-09-24 12:07:04 +02:00
Vassil Vassilev
19181a1392 Move the ExecutionContext-specific parts from the Interpreter. 2013-09-20 10:12:57 +02:00
Philippe Canal
4f81441b51 Add missing #include <cstdlib> 2013-09-19 23:55:55 +02:00
Vassil Vassilev
b74f068aaf Temporary fix to the build. This will be factored out by our future DynamicLibraryManager. 2013-09-18 21:08:54 +02:00
Vassil Vassilev
26a3abe1db Reset the cache only if there is a fileentry associated with it.
This avoids removing the cache of the virual file, wrapping the memory buffers
in cling.
2013-09-18 20:33:07 +02:00
Vassil Vassilev
b4f912f8c5 We don't need to keep track of the .L-ed files. The implementation of TCling is very raw and I bet we can improve it a lot. 2013-09-18 20:33:06 +02:00
Vassil Vassilev
cc13c4c79c Publish the useful helper class. 2013-09-18 20:33:05 +02:00
Vassil Vassilev
6f569a1aaa Move the implementation in an interpreter-independent object.
We don't need the intepreter to store clang's state. We can use a separate object
for that which allows to be reused.

Provide *much* shorter and cleaner implementation.
2013-09-18 20:33:05 +02:00
Vassil Vassilev
16243be584 Add getter and silence a warning. 2013-09-13 15:18:57 +02:00
Vassil Vassilev
5c7a283759 Synthesizing if(DeclRefExpr) throw requires cling to be run with rtti.
Fix that problem by introducing an indirection - a compiled function that throws.
2013-09-11 23:11:57 +02:00
Vassil Vassilev
b4e0eca21f Add trampoline that will help avoid running without -no-rtti. 2013-09-11 23:11:57 +02:00
Axel Naumann
4222ba870d Add more rationale as to how this exception is different from others. 2013-09-11 09:14:56 +02:00