Commit Graph

80 Commits

Author SHA1 Message Date
Vassil Vassilev
c92a68efc4 Implement cling::Transaction unique id. 2014-02-20 15:16:59 +01:00
Vassil Vassilev
02757c1176 Add missing enum kind for the dump. 2014-02-10 11:20:57 +01:00
Axel Naumann
44481ace1e Fix license; remove $Id$ version. 2014-01-07 11:14:04 +01:00
Vassil Vassilev
51d27bf1e5 Improve uncaching of unloaded files.
*Merge PreVisitDecl and PreVisitMacro and rename to CollectFilesToUncache.
*Add FID to the transaction storing the memory buffer file ID caused the
transaction.
2013-12-06 12:03:33 +01:00
Vassil Vassilev
3242fa7d30 When we unload we have to cleanup the containers. 2013-11-27 15:46:59 +01:00
Vassil Vassilev
846058e9c0 Nested transactions can be in rolled back state when deleting. 2013-11-27 15:46:59 +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
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
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