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
Axel Naumann
23ec0224db
Const correctness.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47172 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 16:36:04 +00:00
Axel Naumann
716729e5eb
Don't append "const" for rvalues for increased CINT compatibility.
...
Might re-introduce later.
git-svn-id: http://root.cern.ch/svn/root/trunk@47171 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 16:15:35 +00:00
Axel Naumann
909bc42884
[5] now becomes * because we use the wrapper return type.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47170 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 16:13:02 +00:00
Axel Naumann
2f0d47e0b7
Teach the ValuePrinter to print arrays.
...
Accept that Value's type is not the last Expr's type (e.g. const char[5]) but whatever the wrapper returns, (e.g. const char*).
Print StoredValueRefs recursively.
Add mechanism to suppress newlines (improves readability for nested calls)
git-svn-id: http://root.cern.ch/svn/root/trunk@47169 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 16:05:30 +00:00
Axel Naumann
3b59fceed9
Test r47166:
...
return 12;
as alterative to
12;
git-svn-id: http://root.cern.ch/svn/root/trunk@47168 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 14:06:03 +00:00
Axel Naumann
660cbfe820
If the last statement is not an expression, check whether it's a return statement.
...
If it is, remove the implicit-cast-to-void (injected by Sema to heal "return 12" for the original void return type of the wrapper) and adapt the return type of the wrapper to the type of the returned expression. I.e.
void wrap() { return (void)12;}
will be converted to
int wrap() { return 12;}
Don't search for the WrapperFD, the Transaction has it.
git-svn-id: http://root.cern.ch/svn/root/trunk@47166 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 12:55:34 +00:00
Axel Naumann
d1112e3ce5
Get the result type directly from the wrapper function's return type.
...
Do that *after* the tranformers have done their work; they change the result type.
Silence a "return 12" inside a (not yet transformed) void wrapper().
The return type will later be repaired by the ReturnSynthesizer if needed.
git-svn-id: http://root.cern.ch/svn/root/trunk@47165 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 12:53:21 +00:00
Axel Naumann
db8b70b203
Clean up includes / fwd declares.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47164 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 12:51:35 +00:00
Axel Naumann
8416a9183c
Simplify: don't loop over everything to find the WrapperFD but use the one stored in the transaction.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47163 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-11 12:47:05 +00:00
Axel Naumann
1a9a90a836
-E does not exist on MacOS. Apparently exporting all symbols is its default.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47146 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-10 14:14:27 +00:00
Axel Naumann
7118c364f4
unused include
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47145 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-10 11:59:19 +00:00
Axel Naumann
46eb845f6d
* pass whole file content to process(); enables #ifdef
...
* ignore ';' after terminal '}'
git-svn-id: http://root.cern.ch/svn/root/trunk@47136 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-09 10:54:07 +00:00
Philippe Canal
26e040e03f
fix typo
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47087 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-07 05:31:03 +00:00
Philippe Canal
bc63cc3bdd
Correctly test for the result of loadFile
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47084 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-06 22:42:02 +00:00
Axel Naumann
0269fc8b08
Add test for r47002: ValuePrinting of function ptrs.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47003 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-02 13:40:27 +00:00
Axel Naumann
61e2c2a788
Don't run ValuePrinter on unknown QualTypes.
...
Implement type printing for function pointers: just cast them to void*, but do keep the original expression's type so we can print the type correctly.
git-svn-id: http://root.cern.ch/svn/root/trunk@47002 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-02 13:33:59 +00:00
Axel Naumann
32852bd800
Missing curly!
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47001 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-02 12:56:40 +00:00
Axel Naumann
c68930cc52
Make the cxa_atexit replacements more C-like (e.g. don't put them into namespaces).
...
git-svn-id: http://root.cern.ch/svn/root/trunk@46997 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-02 11:51:05 +00:00
Axel Naumann
0b5e5bda73
Export all symbols from the cling binary, such that the JIT can find them.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@46996 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-02 11:50:17 +00:00
Axel Naumann
4e90ca5b42
Hopefully last change to RequiredSymbols: given that they are required by the interpreter runtime they should all be symbols from libclingInterpreter. Move it there.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@46990 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-02 08:11:24 +00:00
Axel Naumann
6035382bb5
Put the symbol requester func into the proper namespace!
...
git-svn-id: http://root.cern.ch/svn/root/trunk@46987 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-01 19:46:32 +00:00
Axel Naumann
0dea9a66f6
Updated location of RequiredSymbols.cpp
...
git-svn-id: http://root.cern.ch/svn/root/trunk@46986 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-01 19:38:15 +00:00
Axel Naumann
bf31a650a9
Fix symbol requesting.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@46983 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-01 19:10:12 +00:00
Axel Naumann
b4a8dcde49
Everyone wants these symbols; for now put the symbol request through static init into UserInterface
...
git-svn-id: http://root.cern.ch/svn/root/trunk@46982 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-01 16:51:59 +00:00
Axel Naumann
ee3b83e48a
Implement unnamed macros:
...
* MetaProcessor::readInputFromFile passes the content to the Interpreter as if typed at the prompt
* they do not get passed to CINT in TCintWithCling
git-svn-id: http://root.cern.ch/svn/root/trunk@46898 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-30 13:40:25 +00:00
Axel Naumann
5bb394667e
Doc fix
...
git-svn-id: http://root.cern.ch/svn/root/trunk@46897 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-30 13:34:09 +00:00
Axel Naumann
a62cc82f24
Pass CompilationResult through
...
* MetaProcessor
* loadFile
* TCintWithCling::ProcessLine().
Second part of fixing #98499 .
Also fix a few dubious "return 0" instead of returnign the indent in MetaProcessor.
git-svn-id: http://root.cern.ch/svn/root/trunk@46873 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-29 14:23:53 +00:00