Axel Naumann
ee70e6bee3
tryCode only makes sense if a shared library is tried.
...
Fixes "cond jump dep on uninit var" / cling test failure.
git-svn-id: http://root.cern.ch/svn/root/trunk@47345 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-16 13:39:09 +00:00
Axel Naumann
0f6a4cc921
Doxygen is unhappy about the hash.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47344 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-16 13:27:49 +00:00
Axel Naumann
5491fc88b6
Use the full path name to the shared library when registering it, not just "libGPad".
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47342 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-16 11:30:31 +00:00
Vassil Vassilev
20180ac047
Temporarily!? publish the parser.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47340 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 23:51:52 +00:00
Axel Naumann
28dc13c51e
Don't try to #include a file for which we know it's a dynamic library (that just failed to load) or a bitcode file.
...
Fixes bug #98798 .
Print error message from loader ("cling::Interpreter::tryLinker(): .../libFoo.so: undefined symbol: bar") on dlopen failure.
git-svn-id: http://root.cern.ch/svn/root/trunk@47339 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 21:36:41 +00:00
Axel Naumann
7d5ed9e511
Define result of ExecutionContext::executeFunction().
...
Return it all the way through Interpreter.
Fixes bug #98837 .
git-svn-id: http://root.cern.ch/svn/root/trunk@47337 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 20:55:43 +00:00
Paul Russo
f8b1205d19
Use the DestroyTemplateIdAnnotationsRAIIObj to cleanup
...
template ids after a parse.
git-svn-id: http://root.cern.ch/svn/root/trunk@47335 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 20:19:21 +00:00
Axel Naumann
a5ab389c14
These meta commands request a dump of the current file*s*: use plural.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47334 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 19:59:26 +00:00
Axel Naumann
226b360b15
Rename LoadLibResult constants to start with 'k'.
...
Enable kLoadLibExists case in TCintWithCling.
Collect statistics about loaded files.
Give access to that through .file; rename SourceManager dump to fileEx.
Documentation.
(Sorry, should have been three patches.)
git-svn-id: http://root.cern.ch/svn/root/trunk@47330 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 18:23:11 +00:00
Axel Naumann
6379c2a21d
Use the proper extention and you will be applied.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47328 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 18:11:08 +00:00
Axel Naumann
e8d7963b97
Split dumping and extraction of IncludePaths (aka HeaderSearchOpts).
...
Call it like this:
SmallVector<std::string, 100> inclPaths;
interp->GetIncludePaths(inclPaths, false, true);
to get the include paths prefixed with -I, but no system onclude paths.
Mark include paths supplied via AddIncludePath() as IsUserSupplied.
git-svn-id: http://root.cern.ch/svn/root/trunk@47325 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 17:07:44 +00:00
Axel Naumann
d5f237f819
Move "library load result" enum to the other enum.
...
Make tryLinker a member function now that it uses the collection of loaded libraries.
Implement "was alreday loaded" as possible loadLibrary() result.
git-svn-id: http://root.cern.ch/svn/root/trunk@47324 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 16:41:30 +00:00
Vassil Vassilev
3b037537f4
The test symbol provider should react on empty lookup result (Thus avoid the ambiguity coming from the extra call put in clang for autoloading).
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47323 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 16:41:10 +00:00
Axel Naumann
956567cf9e
Make DynamicLibrary sortable.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47322 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 16:39:23 +00:00
Axel Naumann
8616cc7bea
Split loadFile() into two and we have a new interface loadLibrary()!
...
Prepare new result "library was alreday loaded" - will be implemented if we actually need it.
git-svn-id: http://root.cern.ch/svn/root/trunk@47319 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 14:50:59 +00:00
Vassil Vassilev
b7beb7fabe
That part of the patch is in separate patch now.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47317 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 14:25:02 +00:00
Vassil Vassilev
e57bbc6e10
Patch allowing if the found decl is fwd declare it asks the autoloader to try to find full one.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47301 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 01:42:17 +00:00
Vassil Vassilev
c3c5d1e11a
Use separate parser for our string-based lookup. This in general is safer because
...
we don't need pin-point precision while we recover the lookup parser from lookup.
git-svn-id: http://root.cern.ch/svn/root/trunk@47298 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 00:11:14 +00:00
Vassil Vassilev
8c3ce66b05
Patch allowing clang to interact with multiple parsers recursively.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47296 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 00:08:23 +00:00
Vassil Vassilev
d83f3a9bec
Needed changes in clang to support *almost* autoloading.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47294 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 00:05:43 +00:00
Paul Russo
ecbd7d40af
Sigh, fix revision v47289, it should have been
...
the type lowering fix, but instead it was the
template id cleanup fix.
git-svn-id: http://root.cern.ch/svn/root/trunk@47292 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 23:08:01 +00:00
Vassil Vassilev
29b9270e50
Remove unused code.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47291 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 22:07:42 +00:00
Vassil Vassilev
76975bf2da
Improve cling's transaction model. For now a bit hackish because it doesn't
...
actually support proper nesting of transactions.
(begin|end)Transaction return the transaction began or ended, which simplifies
interaction in case of nested transactions (coming from the autoloading)
Implement new function which transforms the single-linked list into a vector of
transactions for debugging purposes only.
git-svn-id: http://root.cern.ch/svn/root/trunk@47290 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 22:06:58 +00:00
Paul Russo
418d601061
Change this to a diff of only interpreter/llvm/src
...
to make EC happy.
git-svn-id: http://root.cern.ch/svn/root/trunk@47289 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 21:39:10 +00:00
Paul Russo
afe62b76cb
Use CodeGen to lower an AST type to a LLVM type.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47285 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 21:23:31 +00:00
Vassil Vassilev
d49cd5c090
The parent of a nested thansaction is definitely not itself.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47284 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 20:29:57 +00:00
Axel Naumann
b288115cb2
Forgot Unix/DynamicLibrary.inc again...
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47275 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 16:02:59 +00:00
Axel Naumann
5fb988d5bc
Fix check for "had been loaded"; Windows.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47271 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 15:33:26 +00:00
Axel Naumann
785d0248b6
Test step one of patch series.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47269 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 15:03:52 +00:00
Axel Naumann
6ed50f2718
Forgot Unix/DynamicLibrary.inc
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47264 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 14:39:48 +00:00
Axel Naumann
4cc0b70524
Fix Windows, hopefully.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47261 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 13:49:01 +00:00
Axel Naumann
deec25c0aa
Add unload; test on Windows.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47260 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 13:05:10 +00:00
Vassil Vassilev
9fbe6096c9
Add some support for nested transactions, needed by the upcoming patch of the
...
autoloading. There we need to subparse some content that naturally should end up
as nested transaction.
git-svn-id: http://root.cern.ch/svn/root/trunk@47247 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 23:52:30 +00:00
Axel Naumann
0ab4535b91
Windows: almost there.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47244 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 21:21:17 +00:00
Axel Naumann
7c5a1820ae
Fix Windows, third try, grr.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47243 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 20:49:01 +00:00
Axel Naumann
e3bc7e42c5
Fix Windows, second try.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47242 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 20:35:39 +00:00
Axel Naumann
f04332f04f
Fix Unix!
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47241 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 20:26:58 +00:00
Axel Naumann
e47c55ce19
Fix Windows, first try.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47240 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 20:18:16 +00:00
Axel Naumann
d4ce7682f2
Temporarily put to-be-removed SearchForAddressOfSpecialSymbol.cpp back int CMakeLists as patch only empties it.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47239 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 19:28:50 +00:00
Axel Naumann
156d1b9b91
Test new dynamic library code layout on all platforms.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47237 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 19:14:45 +00:00
Axel Naumann
169edbd5a0
Complain for typedefs inside functions.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47204 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-12 17:49:48 +00:00
Axel Naumann
d94e4aae9c
Don't #include Type.h in ValuePrinterInfo.h - this will be needed at runtime, too.
...
Instead just allocate enough data member space to store a QualType (asserting that it really is enough), and cast to and from as needed.
Ugly but it works, and it's sufficiently internal.
git-svn-id: http://root.cern.ch/svn/root/trunk@47191 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-12 14:58:49 +00:00
Axel Naumann
45adbab8dc
Convert away from pointer before converting to T.
...
Repairs code for T == double.
git-svn-id: http://root.cern.ch/svn/root/trunk@47184 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-12 11:49:08 +00:00
Axel Naumann
394e5abae3
Refine case of invalid value: print the address of the value object.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47180 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-12 10:33:15 +00:00
Axel Naumann
f39792a8c9
Implement StoredValueRef::dump() using the ValuePrinter.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47179 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-12 10:27:50 +00:00
Axel Naumann
340e954bbe
ValuePrinterInfo doesn't need to store the Expr but the QualType; shortens signatures.
...
Factor out StoredValueRef streaming, expose so it can later be used by StoreValueRef::dump().
git-svn-id: http://root.cern.ch/svn/root/trunk@47178 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-12 10:27:13 +00:00
Axel Naumann
e2378406a1
Array printing refinements (needed by r47175, oops.)
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47176 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 17:18:15 +00:00
Axel Naumann
f0f33b18b4
Test array printing
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47175 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 17:17:27 +00:00
Axel Naumann
d0e7ca647f
Determine the resType from the function decl.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47174 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 17:06:00 +00:00
Axel Naumann
bb0cacfb13
More rvalue-const removal
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47173 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 16:38:14 +00:00