58 Commits

Author SHA1 Message Date
Frederich Munch
592e61ba1e Feature to generate precompiled headers. 2017-02-01 13:14:11 +01:00
Frederich Munch
6aa837920e Check initialization is proceeding as expecting.
Don't blindly run through initialization; make sure things are going according to plan.
If not handle it and run destructors without crashing.
Return standard error codes from main.
2017-02-01 13:14:11 +01:00
Frederich Munch
0153f63690 Windows: Make sure to export type_info globals. 2016-12-20 12:59:08 +01:00
Axel Naumann
43fe0be0a0 From Roman Zulak: Flush stdout less (cling). 2016-12-19 13:59:11 +01:00
Bertrand Bellenot
f98f5a0096 Should fix cling.exp : error LNK2001: unresolved external symbol "char const * const cling::valuePrinterInternal::kEmptyCollection" 2016-12-01 17:14:05 +01:00
Roman Zulak
1e004e9d3a Fix printing of collections. Make it impossible for a collection with 1 element to match the string of an empty collection. Avoid checking if comma needs to be added in loop. Make an empty tuple print same as empty collection: '{}'.
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-11-21 12:44:34 +01:00
Bertrand Bellenot
1fe0bf1ad0 Enable stack trace & suppress error dialog on Windows.
Suppressing the error dialog on Windows prevent hangs on build nodes. One can also use an environment variable (Cling_GuiOnAssert) to enable/disable the error dialogs.
2016-08-08 12:14:09 +02:00
Frederich Munch
5a08af54ec llvm::sys::PrintStackTraceOnErrorSignal takes argv[0] as an argument in current llvm. 2016-07-22 12:44:11 +02:00
Frederich Munch
36e5b97051 Fix cling executable when building as shared-library. 2016-07-22 12:44:11 +02:00
Bertrand Bellenot
79c8fc1d7c Build cling.exe on Windows using the CMake object libraries
This allows to export the symbols from the executable, using the next version of CMake (not yet in the git master version of CMake)
2016-07-21 11:59:27 +02:00
Frederich Munch
a054b253d8 Fix CMake projects to link to proper libraries when built as shared library. 2016-07-19 17:59:14 +02:00
Axel Naumann
7e9a74f3e4 Remove remnants of llvm configure/make build system. 2016-07-13 17:16:13 +02:00
Axel Naumann
e01719a2bb Do not strip the binary. Fixes missing symbols on MacOS. 2015-02-17 15:45:15 +01:00
Axel Naumann
45056891ad Link against OrcJIT. 2015-02-11 10:57:46 +01:00
Axel Naumann
9b94d72ac3 No more old JIT. 2015-02-11 10:57:43 +01:00
Vassil Vassilev
3a541b38e0 Add future work to do. 2014-08-14 14:56:43 +02:00
Vassil Vassilev
a415711407 Implement a shebang support in cling. 2014-08-14 14:56:43 +02:00
Vassil Vassilev
7b2c95f7bc Use the file lookup using the include paths to resolve filenames. 2014-08-14 14:56:39 +02:00
Vassil Vassilev
deb8c0d21c If the input is not a file do not prepend .x in front. 2014-08-14 14:56:39 +02:00
Vassil Vassilev
c1bd9c198c clingTagsExtension is gone. 2014-08-14 14:56:34 +02:00
Vassil Vassilev
20c6cd6fae We need libLLVMProfileData. 2014-08-14 14:56:34 +02:00
Philippe Canal
576ca3ca96 Remove trailing spaces 2014-08-13 16:08:36 +02:00
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