Commit Graph

4723 Commits

Author SHA1 Message Date
Vassil Vassilev
5c5d94f5ac TypeNameContext was moved to DeclaratorContext.
See llvm-mirror/clang@ef699b2164
2021-02-25 20:44:16 +01:00
Vassil Vassilev
4a2cc489a3 Add override keyword and InclusionDirective callback takes extra arg.
See llvm-mirror/clang@ef699b2.
2021-02-25 20:44:16 +01:00
Vassil Vassilev
08814ef1fb addPassesToEmitFile takes an extra argument.
See llvm-mirror/llvm@9ffe073.
2021-02-25 20:44:16 +01:00
Vassil Vassilev
bd580208a7 isExplicitSpecified was refactored into an enum.
See llvm-mirror/clang@7a6d690
2021-02-25 20:44:16 +01:00
Vassil Vassilev
2419680d6b isExplicitSpecified was renamed to hasExplicitSpecifier.
See llvm-mirror/clang@7a6d690.
2021-02-25 20:44:16 +01:00
Vassil Vassilev
99a5da9134 Fix weird whitespace. 2021-02-25 20:44:16 +01:00
Vassil Vassilev
172fcc4c42 The member was hidden in favor of an accessor.
See llvm-mirror/clang@672ad52
2021-02-25 20:44:16 +01:00
Vassil Vassilev
355e9bcfe5 PragmaIntroducerKind was renamed to PragmaIntroducer.
See llvm-mirror/clang@6333880.
2021-02-25 20:44:16 +01:00
Vassil Vassilev
adb3a16dff The PCHGenerator was enhanced to protect against build races.
See llvm-mirror/clang@d28cf14 and llvm-mirror/clang@2d59837.
2021-02-25 20:44:16 +01:00
Vassil Vassilev
0e04207ce2 setBuffer was renamed to replaceBuffer.
See llvm-mirror/clang@5fa94c9
2021-02-25 20:44:16 +01:00
Vassil Vassilev
e1368fcfbc getLocStart was renamed to getBeginLoc and getLocEnd to getEndLoc. 2021-02-25 20:44:16 +01:00
Vassil Vassilev
a498073ef8 Replace the statements only if they differ. 2021-02-25 20:44:16 +01:00
Vassil Vassilev
60bed9429d CompoundStmt::setStmts was reimplemented to save a pointer.
Unfortunately this break external tools such as cling which alters CompoundStmts
to implement its interactive extensions.

We have implemented a patch in clang which brings the old facilities only when
the new interface CompoundStmt::replaceStmts is called.

See llvm-mirror/clang@d0ee47a
2021-02-25 20:44:16 +01:00
Vassil Vassilev
ab1ea2bb02 driver::ArgStringList moved to llvm::opt. 2021-02-25 20:44:16 +01:00
Vassil Vassilev
62891a2537 clang::vfs::getVFSFromYAML moved to llvm. 2021-02-25 20:44:15 +01:00
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