Vassil Vassilev
f9b132160d
Allow unloaded/rolledback transactions to be returned even not empty in the pool.
2013-10-29 21:19:55 +01:00
Vassil Vassilev
f2761f407c
Move the removal of the wrapper first, because the iterator gets invalidated.
2013-10-29 20:19:27 +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
45af08a167
Spell out that we want only one wrapper per transaction.
2013-09-10 15:41:01 +02:00
Vassil Vassilev
c35e529cd6
Remove unused code.
2013-09-10 15:41:01 +02:00
Axel Naumann
1a69f792c4
Add newline; (some?) fwd decls do not have one.
2013-08-30 18:08:55 +02:00
Vassil Vassilev
a6f245a8b4
Don't play smart* use proper empty str as default arg.
2013-08-28 16:44:01 +02:00
Vassil Vassilev
2e97001848
Print the decls coming from deserialization, too.
2013-08-28 16:44:01 +02:00
Vassil Vassilev
53d4cbc184
There is no need of checking the size of the transaction.
2013-08-28 16:44:00 +02:00
Vassil Vassilev
2b67326e17
Fix getters, ending up in infinite recursion...
2013-08-28 16:44:00 +02:00
Vassil Vassilev
d7c785b0b2
Implement pretty print of DelayCallInfo. Constify.
2013-08-28 16:44:00 +02:00
Vassil Vassilev
476e36c348
Add another sanity check. It will cry whenever we extend the enum.
2013-08-28 16:44:00 +02:00
Vassil Vassilev
0ed039355a
The ASTContext is a ref.
2013-08-28 16:43:58 +02:00
Vassil Vassilev
c3f2c31583
Use the ASTContext stored in the Transaction.
2013-08-28 16:43:58 +02:00
Paul Russo
63cb406f2f
Add support for TClingCallFunc function wrappers to transactions.
2013-08-28 03:46:06 +02:00
Vassil Vassilev
e8e2932892
Loosen the asserts due to not well-enough-understood behavior in clang. Maybe it's a bug or it is a feature.
2013-08-08 15:01:54 +02:00
Vassil Vassilev
a571d69951
Finally: enable the asserts that assure very conservative integrity checks.
2013-08-08 15:01:53 +02:00
Vassil Vassilev
01314c9d78
Transaction takes and stores the ASTContext, otherwise it is too much of an effort to get it from the DeclQueue, which might contain null DGRs.
2013-08-04 18:44:55 +02:00
Vassil Vassilev
1460ff875b
Enhance debug printout.
2013-08-04 18:44:55 +02:00
Vassil Vassilev
a8c9e880e9
Transactions that triggered deserialization shouldn't be considered as empty, because logically they are not and because ROOT needs the callbacks to be fired.
2013-08-02 17:34:57 +02:00
Vassil Vassilev
4a473f5043
Improve debug printout.
2013-08-02 17:34:56 +02:00
Vassil Vassilev
4230a3cc6c
Remove redundant transaction state.
2013-08-02 17:34:56 +02:00
Vassil Vassilev
cb27a8c694
Since we have the transaction pool we can afford to construct the decl collection non-lazy. This is because we know that this will be reused.
2013-08-02 17:34:56 +02:00
Vassil Vassilev
c03e35696e
Add more brief transaction structure printout for debugging purposes.
2013-08-02 17:34:56 +02:00
Vassil Vassilev
abeaf4b6d7
Fix an issue with deleting the nested transaction marker. Improve style.
2013-08-02 17:34:55 +02:00
Vassil Vassilev
8de890ee52
Add default constructor and move the initialization in a separate routine.
2013-08-02 17:34:55 +02:00
Vassil Vassilev
63f1ce5082
Outline method.
2013-08-02 17:34:55 +02:00
Vassil Vassilev
5db0612527
Remove unused code.
2013-08-02 17:34:55 +02:00
Vassil Vassilev
e628be3746
There can be duplicates coming from HandleVTable interface.
...
It is possible to have duplicate calls to HandleVTable with the same
declaration, because each time Sema believes a vtable is used it emits
that callback.
For reference (clang::CodeGen::CodeGenModule::EmitVTable).
2013-08-02 17:34:54 +02:00
Axel Naumann
1459fc6235
Disable asserts until whetever triggers them gets fixed.
2013-06-28 14:07:13 +02:00
Vassil Vassilev
dbdb2d09c6
Typo.
2013-06-26 16:18:26 +02:00
Vassil Vassilev
65ce06c373
NDEBUG stands for NO DEBUG...
2013-06-26 16:18:25 +02:00
Vassil Vassilev
f54ad7450e
Move the late creation of the container up. Implement sanity check for decl uniqueness when in debug mode.
2013-06-25 09:30:35 +02:00
Vassil Vassilev
ef0c731ecb
Add method removing nested transactions. Move reset implementation in the cpp file.
2013-06-25 09:30:34 +02:00
Vassil Vassilev
1ee8915aa6
Since we enforced very strict policy when declarations should be added to a transaction we have corner cases which need to be handled. For example in the transaction transformers there could be template instantiations happening and the transaction should be open and expecting decls.
2013-06-25 09:30:34 +02:00
Vassil Vassilev
0decfa6d8d
Move the asserts up and make the append() append only if the transaction is in state collecting.
2013-06-25 09:30:33 +02:00
Vassil Vassilev
894407a314
Check on deletion if all the transactions were committed.
2013-06-25 09:30:33 +02:00
Vassil Vassilev
1f91c16265
Transform to proper assertions.
2013-06-25 09:30:33 +02:00
Axel Naumann
70695fe2be
Update to clang/llvm r179269 (llvm vendor branch r49215):
...
Parser::Scope versus Sema::DeclContext are now checked for cross-vailidity.
Emit the TU-transaction explicitly instead of relying on a first transaction.
The typename extraction now takes a stream instead of a string to write to.
The llvm::Linker has much reduced functionality; use llvm::sys::Path instead to find dynamic libraries.
git-svn-id: http://root.cern.ch/svn/root/trunk@49325 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-24 16:28:08 +00:00
Vassil Vassilev
343a649e42
Reorder enum. Add enum constant for the size, fix a wrong condition in an assert.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@49320 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-24 15:04:09 +00:00
Vassil Vassilev
8e5a3dba7b
Imporve the printout of Transactions.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@49313 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-24 12:51:09 +00:00
Vassil Vassilev
852606b028
Reuse the empty nested transactions too.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@49307 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-24 09:57:30 +00:00
Vassil Vassilev
ec7bc1e519
Move the set of llvm::Module from the Transaction ctor to commitTransaction.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@49295 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-23 21:36:41 +00:00
Axel Naumann
0b74b33cec
80 cols.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@49168 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-10 06:51:46 +00:00
Axel Naumann
60cf742050
Don't extract the single decl if the DGR isNull.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@49151 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-09 15:35:38 +00:00
Vassil Vassilev
10de41a757
Remove unused code. Move the relevant comments at the right place.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@49139 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-09 08:47:47 +00:00
Vassil Vassilev
564659c170
Fix a misnomer.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@49125 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-08 14:35:35 +00:00
Vassil Vassilev
df0dc16c07
Make cling::Transaction cheaper to construct. Lazy-create the container of the
...
nested transactions.
Now sizeof(cling::Transaction()) == 56.
git-svn-id: http://root.cern.ch/svn/root/trunk@49124 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-08 14:27:57 +00:00
Vassil Vassilev
bfd62ec517
The Transaction coming from the TransactionRAII object must be committed after
...
parser's state has been reverted, because it may induce parsing. This then would
result into an invalid parser state.
git-svn-id: http://root.cern.ch/svn/root/trunk@49120 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-08 10:16:01 +00:00
Axel Naumann
09a871365f
Grammar...
...
git-svn-id: http://root.cern.ch/svn/root/trunk@49110 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-06 16:59:22 +00:00