Commit Graph

263 Commits

Author SHA1 Message Date
Vassil Vassilev
a833661f08 Fix failing test. 2014-07-25 13:18:01 +02:00
manasij7479
662262e3ac Rename SetAutoloadCallback to EnableAutoloading 2014-07-22 14:52:04 +02:00
manasij7479
03e5ef7668 Prevent printing non-fixed enums Remove skipping of system headers Also, do not print default template arguments if they do not have a name. 2014-07-22 14:52:04 +02:00
manasij7479
a812b2cd1d Added a function to attach the AutoloadCallback automatically 2014-07-22 14:52:03 +02:00
manasij7479
083ab88d81 Modified test to include a function with a default arg 2014-07-22 14:52:03 +02:00
manasij7479
e7a196dcbd Transformation-Callback Pipeline for Decls needing special handling (when defining after being forward declared.)
New state in Interpreter (AutoloadingStateInfo) containing a map.
AutoloadingTransform adapted to push required decls into this map.
AutoloadCallback adapted to be called when a file is included (but before being parsed)
(done by enabling PPCallbacks and overriding InclusionDirective method)
m_PPCallbacks changed from OwningPtr to a normal pointer as an workaround for double free bug.
Default template arguments as a POC example usage of this pileline.

Test:
AutoForwarding.C now passes because of this commit.

Extra:
Re-enabled the printing of class template default arguments when generating fwd declarations.
Forward declprinter now looks up the SourceManager for file name instead of directly printing the Argument.
2014-07-22 14:52:02 +02:00
manasij7479
2e3e929a41 Skip functions and vars with nested types and new failing enum tests 2014-07-22 14:52:02 +02:00
Axel Naumann
41d9497052 Test that #pragma diagnoistics does not cause problems. 2014-07-01 14:44:04 +02:00
Vassil Vassilev
1fd7010509 Remove the XFAIL, the test doesn't fail anymore. 2014-06-24 11:26:57 +02:00
Manasij Mukherjee
f474d63079 Generation of forward declarations of top level decls in an input file.
Consists of:
  ForwardDeclPrinter, adapted from clang::DeclPrinter
  Interpterer::GenerateAutoloadingMap for invoking the functionality
  It has hardcoded checks to prevent ForwardDeclPrinter from visiting decls from
standard library files. This restriction will be lifted after the
issues specifyed in the tests are fixed.
  Test cases for code which FowrardDeclPrinter can not deal with properly
2014-06-23 14:37:03 +02:00
Vassil Vassilev
de2d2ee714 Adapt tests for the newly produced diagnostics. 2014-06-10 15:24:01 +02:00
manasij7479
983abbe17b split out failing stl test 2014-06-10 15:24:01 +02:00
manasij7479
297d005617 other fixes 2014-06-10 15:24:01 +02:00
manasij7479
236172318f removed ctags tests 2014-06-10 15:24:01 +02:00
Vassil Vassilev
f5250400d4 Remove the junk I accidentally committed. 2014-06-05 17:38:59 +02:00
manasij7479
46d8d76d80 modified tests
(cherry picked from commit 77316a2838c5037feff8091bb5c0919bc59d6b16)
2014-06-04 10:06:03 +02:00
manasij7479
0a0da4f26d enum test for template
(cherry picked from commit ce717aac63c7bd29e836106e255df98b23c4fdb3)
2014-06-04 10:06:02 +02:00
manasij7479
c7e56b7ea1 enum test for C++11 enum class, does not have C enums yet
(cherry picked from commit 9b7d0c5260f79b321b8b21b3c19da3e8c507aa11)
2014-06-04 10:06:01 +02:00
manasij7479
cee01f1a13 added a function and a trait util from stl
(cherry picked from commit 2ea8127e629ee26a48bbaeda8da935dbe04d7ebe)
2014-06-04 10:06:00 +02:00
manasij7479
58a58d2ed1 added some stl forward decls
(cherry picked from commit 365737c218defce09bbceca2119f396236564c99)
2014-06-04 10:06:00 +02:00
manasij7479
01a4bf5e5b Initial tests for verifying forward declarations
(cherry picked from commit c9b5a07d5cd83100862e067ccff189e10c666f9b)
2014-06-04 10:06:00 +02:00
Vassil Vassilev
56b5dc86dd Obey coding rules and indentation. 2014-06-04 09:20:15 +02:00
manasij7479
024b16df11 Init TagsExtension Module, for extending cling to provide interactive hints
AutoloadCallback: Implementing InterpreterCallbacks to attach the module to cling
   The main focus is on overriding LookupObject so that the information about
   lookup failures are obtained from clang.
   The type of the name is not taken into consideration for now.

TagManager: To manage and lookup information from various sorts of tag files.
   Currently a TagManager object is owned by the callback system.
   This may change in future.

Wrapper: As a base class for handling particular types of tagfiles.
   The TagManager maintains a container of Wrappers.

CtagsFileWrapper: Implementing a wrapper for ctags.
   This class is responsible for generating a tagfile from a given path or list of files.
   It also performs lookups in the file generated by it.

And a few simple file system utils to complement llvm::sys::fs and path utilities
2014-06-04 09:20:14 +02:00
Axel Naumann
b91c987027 Fix value printing for functions. Needs test! 2014-05-28 18:09:57 +02:00
Axel Naumann
39ed28c03e Void has no address. 2014-05-26 17:37:57 +02:00
Vassil Vassilev
6e9cd68cb2 Construct a library call example. The full reflection-based call still to come. 2014-05-23 12:36:01 +02:00
Vassil Vassilev
6d8b154f7f Fix broken by constrution test. 2014-05-23 12:36:01 +02:00
Vassil Vassilev
73752eff5e Bring to more up-to-date an xfailure. 2014-05-23 12:36:01 +02:00
Vassil Vassilev
ec31eb9db8 Test value printing of template constructs 2014-05-22 11:13:55 +02:00
Bertrand Bellenot
2b34bf819e Update cling test using .help to match the new help format 2014-05-21 17:18:57 +02:00
Vassil Vassilev
c86fbc27b9 Rewire the dumping on cling::Value to its new implementation.
Dump cling::Value within setNoAlloc routines because this is its lifespan,
otherwise gets deleted if nobody requested it. I.e it was created only for
value printing purposes.

Dump cling::Value outside setWithAlloc because the actual value is not put inside
until the call to ::new finishes, thus we need to do it outside, i.e in EvaluateInternal.

Switch on the ValueExtraction synthesizer even when 'just' value printing. We
depend on it. Must be factored out properly in one class.

Stop attaching the value printing template magic, which didn't work in some cases.

Update the ref file, because now there is better type information.

Adapt the user-defined printout functions (TDatime).
2014-05-18 18:08:58 +02:00
Vassil Vassilev
250dbcf655 Collapse the tests into one. 2014-05-18 18:08:58 +02:00
Philippe Canal
d1e545b60d In Partial desugar add support for array type 2014-05-14 09:03:56 +02:00
Vassil Vassilev
cefb472b5f Update the test to more generically 'detect' the version. 2014-05-09 15:28:06 +02:00
Lukas Vacek
1346b05af4 Adding test for ROOT-6244 (test_exec_in_same_dir.C) 2014-05-02 19:01:01 +02:00
Vassil Vassilev
9b4ea193c0 If cling::Value is provided turn result evaluation on. 2014-04-14 09:09:01 +02:00
Axel Naumann
628618f2b9 Add test for copy ctor and dtor in Value for array-of-structs. 2014-04-11 09:00:01 +02:00
Vassil Vassilev
d1a416ddc0 When variadic return stmt doesn't have a return value, invalidate the calculation of the last expr for evaluation.
In the same cases we still need to synthesize the setValueNoAlloc, to initialize
the cling::Value to void.
2014-04-04 09:42:07 +02:00
Vassil Vassilev
c868ddfd49 In cases of cling::Value reuse we need to update its settings even if we evaluated void expression. 2014-04-02 16:56:58 +02:00
Axel Naumann
d00d9e8d54 Simplify; adapt to new Value. 2014-04-01 18:31:58 +02:00
Vassil Vassilev
234bfb7770 Simplify some of the changes due to the new diag mapping. 2014-04-01 17:09:58 +02:00
Vassil Vassilev
ab58d03cba Add known failures section. 2014-03-31 16:53:55 +02:00
Vassil Vassilev
8b485436fb Preprocess the file before looking for expected-error substrings. This helps in tests which have multiple RUN lines and define a macro in them. 2014-03-31 16:53:55 +02:00
Axel Naumann
bbf4a3588f Update to XCode 5.1; e.g. ignore type of std::string::c_str(). 2014-03-31 15:15:57 +02:00
Vassil Vassilev
68221520fc Silence a warning. 2014-03-31 14:03:09 +02:00
Vassil Vassilev
14dc0c1c99 Silence a warning. 2014-03-31 14:03:09 +02:00
Vassil Vassilev
666437108e Replace .U with .undo 2014-03-31 14:03:09 +02:00
Vassil Vassilev
40195aa864 Cosmetics. 2014-03-31 14:03:06 +02:00
Vassil Vassilev
d7d4674f4e Increase verbosity of the output 2014-03-31 14:03:05 +02:00
Vassil Vassilev
2f9ba97a53 We need internal isystem. 2014-03-31 14:03:05 +02:00