Commit Graph

4138 Commits

Author SHA1 Message Date
Axel Naumann
7f105f4ad5 Assume valid pointers for declare(). 2017-09-13 13:14:06 +02:00
Axel Naumann
89a7a1ead0 Only disable ptr checker, not all AST transformers! 2017-09-13 13:14:06 +02:00
Axel Naumann
5baa770702 Throw an interpreter exception when encountering a dynamic expression error.
Without throwing cling cannot communicate to the caller that the code has failed,
as the user code is currently running when failing the dynamic expression evaluation.
Fixes gROOT->ProcessLine("doesNotExist", &res) not signalling any error through res.
Well, it still does not set res to an error - but at least it now throws.
2017-09-13 13:03:03 +02:00
Axel Naumann
54c413fc2f Remove stray "$". 2017-09-12 15:00:15 +02:00
Axel Naumann
f621b9eff4 Use CLING_VERSION as PROJECT_NUMBER (and thus $projectnumber in footer). 2017-09-10 21:14:11 +02:00
Axel Naumann
8b37b14dc0 Use PROJECT_NUMBER as "revision" info. 2017-09-10 21:14:11 +02:00
Axel Naumann
27bc8a0e1c Follow doxygen.cfg from clang; fixes long paths in file mentions. 2017-09-10 21:14:11 +02:00
Raphael Isemann
84e413a1cb Use unique_ptr to better display ownership in CIFactory::createCI. 2017-09-10 13:59:13 +02:00
Yuki Yamaura
38923cd710 Add support C++1z for Jupyter kernel
When run C++17 kernel in Jupyter notebook cause some errors
due to currently clang-5.0 in https://root.cern.ch/download/cling/ is not
support c++17.
So add support to C++1z for Jupyter kernel and we can try some new
features in Jupyter notebook.

for avoiding following error:

[I 05:46:38.253 NotebookApp] Kernel restarted:
d3413fa0-7046-4b63-912b-a286610eacc1
error: invalid value 'c++17' in '-std=c++17'
note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standard
note: use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and
GNU extensions' standard
note: use 'c++11' for 'ISO C++ 2011 with amendments' standard
note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU
extensions' standard
note: use 'c++14' for 'ISO C++ 2014 with amendments' standard
note: use 'gnu++14' for 'ISO C++ 2014 with amendments and GNU
extensions' standard
note: use 'c++1z' for 'Working draft for ISO C++ 2017' standard
note: use 'gnu++1z' for 'Working draft for ISO C++ 2017 with GNU
extensions' standard
2017-09-06 16:44:07 +02:00
Axel Naumann
4681e8014f Do not diagnose instantiation failures during function lookup.
Fixes an issue for ATLAS, where Property<string>::Property<string&> cannot be instantiated by ROOT.
ROOT is trying to do that because the function is templated, with all template parameters having defaults.
(This "let us instantiate if all template params have defaults" is needed e.g. to see pair::pair() which is sfinae protected.)
2017-09-05 10:59:25 +02:00
Raphael Isemann
7efc518a7e Refactor resource path code into own function.
This is a preparation because we want to ship module configuration
files in the future in the cling resource directory (Clang VFS overlay
files and modulemaps). This means that we will need to know this path
in a few other places (e.g. where we specify the -ivfsoverlayPATH
arguments and potential -fmodule-map-file=PATH args)

It also makes this giant function a bit easier on the eyes.
2017-09-01 18:47:47 +02:00
Axel Naumann
15a4056c56 Whitespace. 2017-08-31 08:44:16 +02:00
Axel Naumann
62bcd0aa3b Use local lock reset state instead of a global stack.
Fixes threading issues: multiple threads storing and restoring mutex state, the
stack being modified concurrently etc.
2017-08-31 08:44:16 +02:00
Axel Naumann
8cfa532b72 Interpreter callback is created after Interpreter ctor. 2017-08-31 08:44:15 +02:00
Axel Naumann
63e3937b23 Add new interface to MultiplexInterpreterCallbacks. 2017-08-31 08:44:15 +02:00
Axel Naumann
4f41d10b0c Inform callback upon invoking functions / static init. 2017-08-31 08:44:15 +02:00
Axel Naumann
2a0b7a6495 Wrap enter/leave user code into RAII. 2017-08-31 08:44:15 +02:00
Axel Naumann
83ba3f0a50 Add callbacks for when cling enters and leaves user code.
Useful for locking / unlocking cling when used in MT context.
2017-08-31 08:44:15 +02:00
Axel Naumann
0f8914316e Rename executeInitOrWrapper to jitInitOrWrapper: it does not execute. 2017-08-31 08:44:15 +02:00
Bertrand Bellenot
cf766f02ee Add comment for VS 2017 2017-08-29 15:21:36 +02:00
Bertrand Bellenot
5d4a7b51a7 Add support for Visual Studio 2017 2017-08-29 15:21:36 +02:00
Vassil Vassilev
9bba715590 Add missing header files. 2017-08-27 18:14:05 +02:00
Philippe Canal
f715135d1c Don't clang-format cling test script.
Since the test script is not a fully compliant C++ file, clang-format can not
(be expected to) follow its unusual conventions/requirements.
2017-08-24 18:59:04 +02:00
Philippe Canal
6c368913e7 clang-format suggestion 2017-08-24 17:03:58 +02:00
Frederich Munch
38c4b902cf Fix registration of other atexit functions during an atexit handler. Recursive registration of atexit handlers is legal and should be handled, not ignored. 2017-08-24 17:03:58 +02:00
Frederich Munch
5c41b2957c Hide members of CXAAtExitElement and make it a callable object. Update iteration to use llvm::reverse and C++11 range based for loop. 2017-08-24 17:03:58 +02:00
Frederich Munch
baa1cba4d3 Store unresolved symbols in an unordered_set; have no need for ordering. 2017-08-24 17:03:58 +02:00
Axel Naumann
8f59d3cb34 Coverity; assert on unhandled future C++ standard. 2017-08-23 01:27:08 +02:00
Axel Naumann
58614e53fd Coverity: add comment that fall-through is intentional. 2017-08-23 00:27:18 +02:00
gouarin
129ce9a5dd fix Clang name in cmake file
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2017-07-23 22:59:34 +02:00
Vassil Vassilev
87cb7eb95d Fix typo. 2017-07-16 13:59:17 +02:00
Frederich Munch
760df2116a Hide DeclCollectorPPAdapter and use DeclCollector for setup. No need for these details to be public. 2017-07-15 10:14:38 +02:00
Frederich Munch
fb2e8fc7a4 Fixes for CERN-LLVM. 2017-07-15 10:14:38 +02:00
Frederich Munch
eba5ccd09a Update DeclCollectorPPAdapter to allow unloading of #undef command. 2017-07-15 10:14:38 +02:00
Frederich Munch
68d2bac1b1 Use final instead of virtual keyword for DeclCollector. 2017-07-15 10:14:38 +02:00
Roman Zulak
4a8d300bb1 When looking for the end of a block comment, really don’t bother with nesting. Finding the first end is good enough, the real parser can warn about any balancing issues. 2017-07-13 10:21:58 +02:00
Roman Zulak
6f5594ab4d Fix block comments greedily looking for the next asterisk. 2017-07-13 10:21:58 +02:00
Vassil Vassilev
91fbccca72 Pull the alt master into the master branch. 2017-07-12 23:14:47 +02:00
Vassil Vassilev
79c5a90fb1 Do not checkout a specific commit. 2017-07-08 21:59:14 +02:00
Bertrand Bellenot
8720965ee5 Dont pass -fPIC flag on Windows (unsupported option) 2017-07-06 16:59:40 +02:00
Bertrand Bellenot
5947e13cb9 Don't run Gnu.C test on Windows... 2017-07-06 16:44:06 +02:00
Frederich Munch
7104363d9e Allow CompilerOptions:: DefaultLanguage to be queried earlier in initialization. 2017-07-06 15:59:08 +02:00
Frederich Munch
b4e11b5b79 Prefer local LangOptions variable rather than CI->getLangOpts(). 2017-07-05 11:29:06 +02:00
Frederich Munch
76a43cc209 Don’t change the C++ version from underneath clang, tell it what is desired. 2017-07-05 11:29:06 +02:00
Frederich Munch
1abc6539a9 Windows: Don’t enable GNU keywords by default. 2017-07-05 11:29:06 +02:00
Frederich Munch
66ba7a896c Formatting. 2017-07-05 11:29:06 +02:00
Vassil Vassilev
6ed7599285 Reimplement the sync procedure. 2017-07-05 10:44:07 +02:00
Bertrand Bellenot
cb658dd0f8 Fix fatal error LNK1120: 1 unresolved externals (Windows)
Remove export symbol causing the following linker error:
cling.exp : error LNK2001: unresolved external symbol "public: void __cdecl clang::Decl::dump(class llvm::raw_ostream &)const " (?dump@Decl@clang@@QEBAXAEAVraw_ostream@llvm@@@Z)
2017-07-05 10:44:07 +02:00
Frederich Munch
808cd70864 UserInterface: Enforce destruction order with TextInputHolder. 2017-07-05 10:29:07 +02:00
Frederich Munch
cdf5c72f1d Fix tests on platforms with __float128 without forcing C++14.
This reverts commit c11224dce0.
2017-07-05 10:00:05 +02:00