2354 Commits

Author SHA1 Message Date
manasij7479
a53c908fba Precompute end iterator, use std::strinf in some cases 2014-08-14 14:56:43 +02:00
manasij7479
ae925d97b5 Consider EnumConstant names unavailable for using decls 2014-08-14 14:56:43 +02:00
manasij7479
88974c3d1c Improved comments and documentation of ForwardDeclPrinter 2014-08-14 14:56:42 +02:00
manasij7479
9a2c90daea Do not generate forward declarations for deleted functions, causes redefinition 2014-08-14 14:56:42 +02:00
manasij7479
be50b9c359 Write skip information to the file skiplog, do not skip all using decls 2014-08-14 14:56:42 +02:00
manasij7479
517dc045db Bypassed sys/types.h issue, fixed enum constants in default args 2014-08-14 14:56:42 +02:00
Vassil Vassilev
a6a229792c No need to create an extra external sema source. 2014-08-14 14:56:42 +02:00
Vassil Vassilev
42b28d2758 Initial work on callback chaining. We can mostly chain InterpreterCallbacks now. 2014-08-14 14:56:42 +02:00
Vassil Vassilev
578d1848d5 Turn on the AutoloadingTransform only on transactions containing fwd decl entries. 2014-08-14 14:56:42 +02:00
Vassil Vassilev
561980e92d Decend into DeclContexts in general. 2014-08-14 14:56:42 +02:00
Vassil Vassilev
7238b2eb7b Autoloading is enabled by default. 2014-08-14 14:56:42 +02:00
Vassil Vassilev
bf85ae0480 Use std::unique_ptr instead of llvm::OwningPtr. 2014-08-14 14:56:42 +02:00
Vassil Vassilev
283d83585d Insert a pinpoint dummy decl in the forward decl map allowing easy skimming.
If the first decl of the produced cling::Transaction is no the pinpoint then
we don't bother to do any fixups of any sort.
2014-08-14 14:56:42 +02:00
Vassil Vassilev
0fce732232 Decend also in TemplateDecls. 2014-08-14 14:56:42 +02:00
Vassil Vassilev
44e4c85765 Add an early exit check if there is no annotate attribute. 2014-08-14 14:56:42 +02:00
Vassil Vassilev
ccf7651c37 Add a early exit case. 2014-08-14 14:56:42 +02:00
Vassil Vassilev
51de445b1f Remove the workaround to emphasize the problem. 2014-08-14 14:56:42 +02:00
manasij7479
5eaa25c6a0 Do not change the AST for printing extern, do not display initializers for extern globals 2014-08-14 14:56:42 +02:00
manasij7479
13bba4ed13 Do not modify the QualType to get unqualified name-string 2014-08-14 14:56:42 +02:00
manasij7479
25ec21d7e0 Properly handle typedef of function pointers 2014-08-14 14:56:42 +02:00
manasij7479
8095fb2728 Temporarily skip TypeAliasTemplateDecl s, until problem with enable_if is solved 2014-08-14 14:56:42 +02:00
manasij7479
dda142b9cf Measures for skipping decls which depend on previously skipped decls 2014-08-14 14:56:42 +02:00
Vassil Vassilev
bfef6b414d Add file info and authors. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
76d8ba8ecc Cleanup only the relevant entries. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
05befaefa4 Remove useless includes. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
724735b188 Typo. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
ce4883fda7 Inline and simplify ctor and remove dtor. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
9f8923f8f5 Remove redundant includes. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
6b70d2d424 Do not decend into stmts, we care only about decls. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
a11109b780 Use Traverse* instead of Visit* when using the RecursiveASTVisitor. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
1707d9de35 Visit recursively all decls. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
5303c61014 Iterate over all declarations. Ends up asserting in EnumDecl annotation syntax. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
835c1e3cbf Simplify code. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
737a2c7f39 Shorten code. Make it more readable. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
ee6ed354b1 Indents. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
369b0ffb5c Iterate only on the top-level decls. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
800be68dff Indents. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
0d95a43186 Turn if stmt in assert. Must not happen. 2014-08-14 14:56:41 +02:00
Vassil Vassilev
8e51516f5b Use recursive ast visitor to cleanup the default args. 2014-08-14 14:56:41 +02:00
manasij7479
3503d9ccba Skip using directives referring to empty namespaces 2014-08-14 14:56:41 +02:00
manasij7479
f04aeaae26 Use a stream stack instead of a single stream, fixes Empty Namespace issue 2014-08-14 14:56:40 +02:00
manasij7479
7b99ddcfa1 Skip decls using names from defs like typedef struct {} structName 2014-08-14 14:56:40 +02:00
manasij7479
620fc072d0 Fixes empty annotation issue, with getSpellingLoc 2014-08-14 14:56:40 +02:00
manasij7479
6f08ab3b98 Do NOT skip attribues when class is not fully defined 2014-08-14 14:56:40 +02:00
manasij7479
eb84b553e1 Print fwd decls for full class template specializations, and printStats for ForwardDeclPrinter 2014-08-14 14:56:40 +02:00
Vassil Vassilev
dd554c2d6e Use #include instead of real files.
If we use real files cling would .x them and run a function named after the file.
In our case it is missing and would issue useless warnings.
2014-08-14 14:56:40 +02:00
Vassil Vassilev
8a8651a8d0 Implement diagnostic report in missing .x function to call. 2014-08-14 14:56:40 +02:00
Vassil Vassilev
5d6297b821 Adapt to the new invocation. 2014-08-14 14:56:40 +02:00
Vassil Vassilev
7ecb829baa Move the test at its right place 2014-08-14 14:56:40 +02:00
Vassil Vassilev
c51df6e215 The invocation changed, follow the changes. 2014-08-14 14:56:40 +02:00