Commit Graph

36 Commits

Author SHA1 Message Date
manasij7479
297d005617 other fixes 2014-06-10 15:24:01 +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
Lukas Vacek
ce008b07fc Fix input files processing (cling foo.c should work now) 2014-05-02 19:01:01 +02:00
Axel Naumann
93970e8c35 Replace StoredValueRef by Value. 2014-04-01 18:31:58 +02:00
Axel Naumann
b3f0aa4120 Add new llvm lib dependencies. 2014-03-28 16:52:55 +01:00
Axel Naumann
e7982e022d Clean linked libs. 2014-03-08 19:05:02 +01:00
Axel Naumann
70144ff4d8 Export symbols so dlsym() can find them. 2014-03-08 18:47:10 +01:00
Axel Naumann
61d2ec4e7a Export symbols for the JIT. 2014-03-08 18:47:10 +01:00
Axel Naumann
363e6162ca Do not strip symbols; we need them for the JIT. 2014-02-18 17:08:57 +01:00
Axel Naumann
8aedeca69c Refer to license in CMake files. 2014-01-07 12:02:58 +01:00
Axel Naumann
44481ace1e Fix license; remove $Id$ version. 2014-01-07 11:14:04 +01:00
Axel Naumann
5da6e646a5 Correct licenses in Makefiles. 2014-01-07 11:13:56 +01:00
Axel Naumann
f5470e4942 Add llvm option library. 2013-09-30 22:55:55 +02:00
Vassil Vassilev
5285fb909e Indents. 2013-08-07 17:58:57 +02:00
Vassil Vassilev
247f775f1d Return result of the process should be if there were diagnostics issued, that weren't recovered. 2013-08-07 17:58:57 +02:00
Vassil Vassilev
9a362ba643 In the case where we run cling -verify we must check whether it issued errors and return unhappiness as an exit code from the process. This is helpful for cling's test suite, because this gives the suite chance to understand that something went wrong.
The implementation is a bit hackish since the implementation of the
VerifyDiagnosticsConsumer requires EndSourceFile call to perform all necessary
checks. This means that we need to force it before Interpreter's dtor has done
it so that we still could have chance to set the return result of main. Then
we need to call artificially BeginSourceFile because the interpreter expects
balanced BeginSourceFile/EndSourceFils calls.
2013-08-07 17:58:56 +02:00
Vassil Vassilev
fee4a226ba Don't create an extra user interface object when in interactive mode. 2013-08-07 17:58:56 +02:00
Axel Naumann
11e71f5c76 Make result evaluation optional again. 2013-06-10 17:12:50 +02:00
Axel Naumann
0c1c22f002 Return action result and Value from all interfaces. Force callers to rpovide them, to make them handle errors etc. 2013-06-07 15:19:51 +02:00
Axel Naumann
7b728b7ba2 Update to the lib list of llvm's / clang's trunk. 2013-05-15 16:36:13 +02:00
Axel Naumann
eed7249efd Update dependencies - changes in llvm trunk.
git-svn-id: http://root.cern.ch/svn/root/trunk@49354 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-25 16:41:54 +00: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
Fons Rademakers
fc0d43ea2e From Pere:
changes needed from introduction of cling and removal of cint.
There are still some problems, that will be fixed asap.


git-svn-id: http://root.cern.ch/svn/root/trunk@48027 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-13 17:22:52 +00:00
Vassil Vassilev
a86f9fcff7 My bad that shouldn't ended up in the trunk at all
git-svn-id: http://root.cern.ch/svn/root/trunk@47629 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-26 14:08:10 +00:00
Vassil Vassilev
55e9e20bf8 Silence a warning.
git-svn-id: http://root.cern.ch/svn/root/trunk@47626 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-26 13:45:32 +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
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
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
Vassil Vassilev
583aceae08 In interactive mode act as a compiler - return !=0 if there were errors.
git-svn-id: http://root.cern.ch/svn/root/trunk@46869 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-29 10:24:14 +00:00
Vassil Vassilev
e979b92b16 Return 1 if the VerifyDiagnosticConsumer finds errors (eg. something seen but not
expected or expected but not seen).
Note this is going to break some of the tests, because there are some issues
with the way cling uses the VerifyDiagnosticClient.


git-svn-id: http://root.cern.ch/svn/root/trunk@46832 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-26 14:27:54 +00:00
Vassil Vassilev
3bba03cf9f *The JIT is configured to compile with RTTI so when we #include the SymbolResolverCallback
it looks for typeinfo of the InterpreterCallbacks (compiled with fno-rtti).

*Move the SymbolResolverCallback into InterpreterCallbacks.(h,cpp). Ideally it is 
used only in the testsuite so we could hack in the build system to build the 
SymbolResolverCallback with fno-rtti and include just the header file but that's
for later.
*Set the symbol resolver callback in enableDynamicLookup for now.
*Clear up the logic behind InterpreterExternalSemaSource and InterpreterCallbacks.
*Now the DynamicIDHandler derives from InterpreterExternalSemaSource.
*Adapt the testsuite to the change.
*Request the InterpreterCallback constructor to be put in the binary.


git-svn-id: http://root.cern.ch/svn/root/trunk@46435 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-10 13:00:17 +00:00
Vassil Vassilev
9cc45252ae Use more meaningful names - irrelevant for the users, priceless for developers.
git-svn-id: http://root.cern.ch/svn/root/trunk@46210 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-27 08:51:01 +00:00
Axel Naumann
268a844e25 Re-apply r45839; got lost during move of cling
git-svn-id: http://root.cern.ch/svn/root/trunk@45870 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 15:35:00 +00:00
Axel Naumann
286910cee0 Reapply Vassil's r45838 which got lost during the move of cint/cling to interpreter/
git-svn-id: http://root.cern.ch/svn/root/trunk@45868 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 15:27:17 +00:00
Axel Naumann
3be68d4894 Create binary with exports on cygwin.
git-svn-id: http://root.cern.ch/svn/root/trunk@45866 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 15:01:12 +00:00
Axel Naumann
05ba8a3a07 Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.)
git-svn-id: http://root.cern.ch/svn/root/trunk@45844 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 09:37:39 +00:00