Commit Graph

4608 Commits

Author SHA1 Message Date
Vassil Vassilev
14c4b6c575 Add support for c++2a. 2021-02-25 20:44:15 +01:00
Vassil Vassilev
b3238e5f1c LookupFile takes an extra optional argument. 2021-02-25 20:44:15 +01:00
Vassil Vassilev
f960a3520d Various ASTImporter import interfaces return llvm::Expected. 2021-02-25 20:44:15 +01:00
Vassil Vassilev
8d3b178cca Import does not have a return result anymore.
See llvm-mirror/clang@1e1ffe5
2021-02-25 20:44:15 +01:00
Vassil Vassilev
bb63ee191f The constructor does not take a bool IsOutputBinary anymore.
See llvm-mirror/clang@0475b9e2
2021-02-25 20:44:15 +01:00
Vassil Vassilev
1a5b0a95f3 ForRedeclaration is split in two: {ForVisible,ForExternal}Redeclaration.
ForVisibleRedeclaration does not try to deserialize content from module files.
It should be used for efficiency and when we are sure that what we look up is
in the present TU and it does not make sense to ask the module files.

See llvm-mirror/clang@6bbe311
2021-02-25 20:44:15 +01:00
Vassil Vassilev
71218c74c1 CudaGpuBinaryFileNames was renamed to CudaGpuBinaryFileName.
llvm-mirror/clang@f828172bcf tells it is a NFC.
2021-02-25 20:44:15 +01:00
Vassil Vassilev
419d51346c EmitSummaryIndex was renamed to PrepareForThinLTO 2021-02-25 20:44:15 +01:00
Vassil Vassilev
7f30da6043 createAddDiscriminatorsPass went into llvm/Transforms/Utils.h 2021-02-25 20:44:15 +01:00
Vassil Vassilev
a16da5735b BuildDeclRefExpr returns a DeclRefExpr instead of StmtResult. 2021-02-25 20:44:15 +01:00
Vassil Vassilev
f6e74124ea CodeGenOptions.h moved from Frontend to Basic. 2021-02-25 20:44:15 +01:00
Simeon Ehrig
e47bb75f9f Allows to configure CUDA sm level for Cling CUDA tests
- the CUDA sm level can be set via CLING_TEST_CUDA_SM_LEVEL
environment variable (e.g. "35"), before running the tests
2021-02-18 09:29:04 +01:00
Pratyush Das
960127f33a Drop Python 2 support
lit cannot be installed as a standalone package using pip on macOS when
using Python 2.
2021-02-16 22:29:03 +01:00
Pratyush Das
e978660f35 Remove dependence on svn
LLVM repository has migrated from svn to git
2021-02-16 22:29:03 +01:00
Simeon Ehrig
da1bb78f3d Apply Axel's suggestion for PR "Fixed cling argumenent --cuda-path"
- see: https://github.com/root-project/root/pull/6707
2021-02-10 15:18:14 +01:00
Simeon Ehrig
d00b927467 cling interpreter: add prefix to error messages, only in CUDA mode 2021-02-10 15:18:14 +01:00
Simeon Ehrig
b2bfd6e19f Extend the cling-test to deal with CUDA SDKs that are not in the default location
- To enable the CUDA test, lit detects the `libcudart.so` in
`LD_LIBRARY_PATH`. Now lit also set the CUDA SDK root of
`libcudart.so` as cling parameter (`--cuda-path`) in the tests.
- Pass through the environment variable `CUDA_VISIBLE_DEVICES`.
2021-02-10 15:18:14 +01:00
Simeon Ehrig
fde7a55926 Bugfix for argument --cuda-path in ptx compiler
- now the custom path of `--cuda-path` is correctly set in the ptx
compiler, allowing the use of CUDA SDK's which are not installed on
in the default location
2021-02-10 15:18:14 +01:00
Simeon Ehrig
d08ecbd65b Make Incremental CUDA Device Compiler Interface public
- make public that it is accessible via gCling object during the Cling
runtime.
2021-02-10 15:18:14 +01:00
Simeon Ehrig
b8e245ac4f Add prefix to the diagnostic engine
- add the prefix "cling" (normal interpreter error) or
"cling-ptx" (ptx interpreter -> just in CUDA mode) to every
interpreter error message

- example before:
error: cannot find CUDA installation.  Provide its path via --cuda-path, or pass -nocudainc to build without CUDA includes.
error: cannot find libdevice for sm_20. Provide path to different CUDA installation via --cuda-path, or pass -nocudalib to build without linking with libdevice.
error: cannot find CUDA installation.  Provide its path via --cuda-path, or pass -nocudainc to build without CUDA includes.

- example after:
cling: error: cannot find CUDA installation.  Provide its path via --cuda-path, or pass -nocudainc to build without CUDA includes.
cling-ptx: error: cannot find libdevice for sm_20. Provide path to different CUDA installation via --cuda-path, or pass -nocudalib to build without linking with libdevice.
cling-ptx: error: cannot find CUDA installation.  Provide its path via --cuda-path, or pass -nocudainc to build without CUDA includes.
2021-02-10 15:18:14 +01:00
Jonas Hahnfeld
c7558a2c0d Reset function sections before JITting
This makes all functions end up in the same text section, which is
important for TCling on macOS to catch exceptions from constructors:
Stack unwinding requires information about program addresses to find
out which objects to destroy and what code should be called to handle
the exception. These addresses are relocated against a single __text
section when loading the produced MachO binary, which breaks if the
call sites of global constructors end up in a separate init section.

Fixes ROOT-10703 and ROOT-10962
2021-02-10 15:18:14 +01:00
Jonas Hahnfeld
173de1db30 Enable test for exceptions 2021-02-10 15:18:14 +01:00
Vassil Vassilev
f66a1970b9 Update cling release procedure. 2021-02-10 15:18:14 +01:00
Vassil Vassilev
212496526d Add a cling 0.8 announcement. 2021-01-11 14:44:05 +01:00
Vassil Vassilev
ec93a776d5 Bump cling version to 0.9~dev. 2021-01-11 13:44:07 +01:00
Vassil Vassilev
3407406efa Prepare for releasing cling v0.8 2021-01-11 13:44:07 +01:00
Javier Lopez-Gomez
c054ac2840 added missing include in cling/test/CodeUnloading/DeclShadowing.C 2020-12-16 18:29:03 +01:00
Vassil Vassilev
ad5bcb1ce5 Fix memory leaks when resolving symbols.
This was seen in an experimental branch of cmssw.
2020-12-15 16:59:06 +01:00
Javier Lopez-Gomez
904796d2bb New interface to export Cling run-time configuration bits.
This commit allows the user to enable/disable specific interpreter capabilities
without requiring to `#include` the heavier weight `Interpreter.h` (that also
has dependencies on llvm).

The only feature covered at the moment is definition shadowing.

Closes cling issue #360.
2020-12-14 10:29:04 +01:00
Javier Lopez-Gomez
0bc89e8172 DynamicLookup: avoid printing internal expression representation for non-debug builds
As discussed in the associated JIRA ticket, this information is of no utility for the end user and will only be included in Debug builds.

Fixes ROOT-7199.
2020-12-14 09:14:07 +01:00
Henry Schreiner
3d789b131a cmake: clad config failures shown on CMake 3.14+ 2020-11-17 10:44:06 +01:00
Javier Lopez-Gomez
e84dc544fc DefinitionShadower: allow shadowing of non-user-defined declarations (#6571)
* [cling] DefinitionShadower: allow shadowing of non-user-defined declarations

These changes allow the DefinitionShadower to shadow declarations
whose first definition was possibly in a system header.
This solves the problem of declaring a variable 'data' that might conflict
with 'std::data' (by allowing std::data to be shadowed).

* [cling] DefinitionShadower: fix handling of variable templates
2020-11-10 12:29:06 +01:00
Pratyush Das
d0d29079a5 Fix Github Actions CI for PRs
cpt should clone the repository containing the changes, not the main
repository.
2020-11-02 19:59:07 +01:00
Pratyush Das
a59a79eefc Use Github Actions for CI. 2020-11-02 08:14:09 +01:00
Pratyush Das
a2ed863649 Fix cloning a fresh cling
We need the cloned directory to always be named cling
2020-11-02 08:14:08 +01:00
Pratyush Das
cb6178da2b New flag --cling-branch to specify particular cling branch
Motivated by the need to clone the PR branch for CI in Github Actions.
The earlier "branch/branches" tag did not allow binaries to be created.
2020-11-02 08:14:08 +01:00
Axel Naumann
e0ec1c7f85 Force char-signedness of host. Fixes #6465. 2020-10-22 21:14:08 +02:00
Vassil Vassilev
4f26582330 Merge the build steps for msvc and unix. 2020-10-12 10:59:09 +02:00
Axel Naumann
856f8e92f8 Survive NNS not being a namespace. 2020-10-07 17:44:10 +02:00
Philippe Canal
758b053e64 cling:clad sync windows config with unix 2020-09-16 23:44:07 +02:00
Vassil Vassilev
6a98af7e48 Debug win 2020-09-16 23:44:07 +02:00
Vassil Vassilev
d35e45f431 Bump clad version to v0.7.
The new release includes some improvements:
  * Implement hessian matrices via the clad::jacobian interface.

See more at: https://github.com/vgvassilev/clad/blob/v0.7/docs/ReleaseNotes.md

This patch should be the last part of the fix for ROOT-10886.
2020-09-16 23:44:07 +02:00
Philippe Canal
8e0b7158b1 Tell clad where to find LLVM.
This is needed to fix ROOT-10886 in conjunction with
https://github.com/vgvassilev/clad/pull/170.
2020-09-11 21:14:07 +02:00
Sylvain Corlay
dcc486834b Add missing windows-include.
Fixes https://github.com/root-project/cling/issues/352
2020-09-09 09:59:06 +02:00
Axel Naumann
4203690c46 Adjust to changed clang::ExceptionSpecificationType. 2020-09-08 17:44:06 +02:00
Axel Naumann
7e6762da4f Remove statement about "policy restrictions" wrt repos (NFC);
addresses https://github.com/root-project/cling/issues/307
2020-09-02 10:29:05 +02:00
Vassil Vassilev
b88b2346c4 Fix boost_iostreams. 2020-08-24 09:29:09 +02:00
Vassil Vassilev
0c9fd59c66 Do not include all headers as submodules as some are disjoint sets.
boost_align and boost_python have umbrella header design, however we cannot
use that specifier because then it warns about all the rest of boost not being
part of the particular module.

This patch just adds align.hpp and python.hpp in the module. This may lead to
some duplicates which we will hunt down and fix if needed. The patch should fix
cmssw.
2020-08-24 09:29:09 +02:00
Vaibhav Garg
570a82c807 Fix MathCore.pcm build on Windows 2020-08-24 08:14:07 +02:00
Vassil Vassilev
547d597ebb Bump version to 0.8~dev. 2020-08-22 12:29:08 +02:00