5175 Commits

Author SHA1 Message Date
Sara Bellei
7f3ede672b Improve the documentation to align better to the cling repository. 2022-11-19 08:44:03 +01:00
Axel Naumann
c88ce22326 Xcode 14 warns about -undefined dynamic_lookup; simply suppress:
"suppress" ignores any unresolved symbol. This requires flat_namespace,
see man ld.
2022-11-11 23:44:03 +01:00
Guilherme Amadio
086229fd34 Accept only true values for CLING_PROFILE and CLING_DEBUG
This implementation of ConvertEnvValueToBool uses const char* as
input intentionally in order to be able to accept nullptr for when
environment variables are not set, but also because using something
like std::string would require bringing in several extra headers.
2022-11-10 09:44:07 +01:00
Guilherme Amadio
13f82d17fe Disable optimizations and keep frame pointer when debugging 2022-11-10 09:44:07 +01:00
Vassil Vassilev
f2dfbff122 Change the theme with a better looking one. 2022-11-03 10:59:05 +01:00
Duncan Ogilvie
d25f2b9e53 Fix ClingTargets.cmake not being installed
The property CLING_HAS_EXPORTS seems to be a leftover, there are no references to it in the codebase.
2022-10-25 15:29:06 +02:00
Duncan Ogilvie
f9e0cd9e9e Fix the build on MSVC
Closes https://github.com/root-project/cling/issues/454
2022-10-25 15:29:06 +02:00
Vassil Vassilev
a3805bb26d Bump clad version to v1.0.
This new release includes some improvements:
  * Add support for pushforward- and pullback-style functions
  * More supported constructs in forward and reverse mode
  * Forward mode support for CUDA programs
  * AD-based Floating Point Error Estimation Framework
  * Integration with Enzyme

See more at: https://github.com/vgvassilev/clad/blob/v1.0/docs/internalDocs/ReleaseNotes.md
2022-10-15 10:59:05 +02:00
Vassil Vassilev
db6637f8dc Move the docs in the parent folder as in clang.
Adjust a few options to make the docs locally buildable.
2022-10-14 18:59:06 +02:00
Vassil Vassilev
8fce36a483 Move interpreter/docs into interpreter/cling/docs
This was done by a mistake when porting a PR from root-project/cling
2022-10-14 16:14:06 +02:00
Vassil Vassilev
5e93b60c99 Enable the Sphinx doc system for Cling 2022-10-13 18:44:07 +02:00
Vassil Vassilev
2e6dee514f gcc12's regex header file relies on a std::vector<int> instance, export it.
The C++ modules marks the std::vector<int> instantiation as not visible because
it came from the `regex` header file which we did not explicitly include.

root-project/root@a785402 introduces checks if certain declaration is visible
in dictionary generation time which was intending to semantically improve the
coherence by what the user "allowed" (or requested) rootcling to see vs what
it can see globally. While this model works well it seems to not work for
template instantiations as they won't be re-instantiated with visible modifier.

This patch works around the current issue seen with libstdc++ 12 but a better
solution would be to implement a finer grained control over the implicit template
instatiations when generating a dictionary.

Fixes root-project/root#11329
2022-10-04 20:14:06 +02:00
saisoma123
4c32554d73 Fixed some line break issues 2022-09-26 19:44:03 +02:00
saisoma123
e302c39be6 More splitting lines for getting rid of E501 error 2022-09-26 19:44:03 +02:00
Baidyanath Kundu
6cabc7a8f8 Fix long long error in findBuiltinType 2022-09-20 15:14:04 +02:00
Sergey Linev
6dd621f4d3 add override qualifier for ColoredOutput methods 2022-08-31 09:14:04 +02:00
saisoma123
94d8408264 Added checks if both normal and build tags 2022-08-13 19:59:04 +02:00
saisoma123
03ec045b69 Renamed packaging variables 2022-08-13 19:59:04 +02:00
saisoma123
8f55fb4e49 Added old names since change was made in another pull request 2022-08-13 19:59:04 +02:00
saisoma123
c31a7bfdd3 Added a build option for last-stable and current-dev. I added this option because it was listed as an improvement that could be made to the CPT on the meta issue list. These options are nice to have because sometimes the user might just want to build Cling and not package it, for fast testing and usage. 2022-08-13 19:59:04 +02:00
Jonas Hahnfeld
b1db1932ef Try to avoid crashes in llvm::identify_magic (#11174)
The overload taking a path opens the file and then mmap its contents.
This can cause bus errors when another process truncates the file
while we are trying to read it. Instead just read the first 1024 bytes,
which should be enough for identify_magic to do its work.
2022-08-12 14:29:05 +02:00
saisoma123
1495b97174 Split long lines to get rid of E501 error 2022-08-04 16:29:04 +02:00
saisoma123
047162c130 Used wget function to replace 3 subprocess calls and fixed up download_llvm_binary function. 2022-08-03 09:14:07 +02:00
Surya Somayyajula
094c81e288 Removed 2 globals and implemented them with parameter passing [skip-ci] (#11058)
Implemented CPT_SRC_DIR and REVISION with parameter passing
2022-07-30 07:59:06 +02:00
saisoma123
0b684e39da Got rid of build option, will develop later 2022-07-28 16:44:04 +02:00
saisoma123
50447f7987 Added option for number of cores used during make operation 2022-07-28 16:44:04 +02:00
saisoma123
4853af7820 Added indentation and spacing as well as fixing variable references 2022-07-28 16:44:04 +02:00
saisoma123
f513f1cb8a Added code to check if both tag and tab_build options are used. I also changed the xor to or now. 2022-07-28 16:44:04 +02:00
saisoma123
11d4f27364 Squashed previous commits as other changes were not intended for this branch. This commit adds build options for the platform tags. 2022-07-28 16:44:04 +02:00
saisoma123
e4f0fba78f Replaced workdir with srcdir in extract_tar calls in download_llvm_binary function 2022-07-28 16:44:04 +02:00
saisoma123
f1f0fc1e24 Created new extract_tar function to extract tar files. Replaced tar subprocess calls with new function call and also replaced pythonic tar extractions with new function call. 2022-07-28 16:44:04 +02:00
Jonas Hahnfeld
52fdb631cf Use logical operators for boolean operands (#10787)
This addresses a warning of recent Clang versions about the "use of
bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]".
2022-07-27 11:44:07 +02:00
saisoma123
6f44b45ad3 Added extra spacing between functions to get rid of E302 error code. This is necessary for getting the code to be flake8 compliant. 2022-07-18 12:44:05 +02:00
Surya Somayyajula
b1ef074c09 Added skip-cleanup flags for check-requirements and create-dev-env [skip-ci] (#10960)
Added skip-cleanup flags for create-dev-env.
This would instruct the cpt to build cling, clang, and llvm, without
deleting the build area, as the cpt normally would delete the build
area due to the use of memory running out when linking, because
of too many build subprocesses.
2022-07-17 13:14:03 +02:00
saisoma123
1890a4f39f Added indentation for visual indent. Makes the code more flake8 compliant. 2022-07-17 08:59:06 +02:00
saisoma123
0a8571da4e Fixed invalid escape characters. This makes the code more flake8 compliant. 2022-07-17 08:59:06 +02:00
saisoma123
afc77bf839 Added extra whitespace around operators. This will make code more flake8 compliant. 2022-07-17 08:59:06 +02:00
saisoma123
3feec559a9 Added new dependent arguments, specifically llvm_tar and llvm_binary as well as llvm_tar and llvm_url. I added these dependent arguments because they were listed as a rewrite step for the argument parser in the meta-issue list. Also, it wouldn't make sense to download both the LLVM binary and tar. I also added the tar and url dependency because there was a binary and url dependency. 2022-07-16 18:59:03 +02:00
Surya Somayyajula
39738dc98f Fixed argument nomenclature [skip-ci] (#10936) 2022-07-15 11:59:07 +02:00
saisoma123
a1a8a9d149 Fixed formatting and made new helper function for setting llvm_flags 2022-06-28 18:29:04 +02:00
saisoma123
f7fdcf6773 Formatting changes 2022-06-28 18:29:04 +02:00
saisoma123
476a7d13fa Forgot extra plus sign 2022-06-28 18:29:04 +02:00
saisoma123
13013617fe Added verbose flag to the llvm_flags variable, if the verbose option is called 2022-06-28 18:29:04 +02:00
saisoma123
f5402eefab Added verbose flag to the llvm_flags variable 2022-06-28 18:29:04 +02:00
saisoma123
cabadcf6f4 Edited verbose output flag 2022-06-28 18:29:04 +02:00
saisoma123
3bd9d02ab1 Added new starting point for cpt.py.
Added new main block because this was mentioned in the meta issue
list (#406 in cling) as one of the rewrite steps. This also allows for
the main code to be run as opposed to running the main code plus the
function defintions.
2022-06-28 18:29:04 +02:00
saisoma123
1fee0d4b10 This fixes the undefined llvm_flag error when the --last-stable option is called. I added a download_llvm_binary function call, which sets the llvm_flags. 2022-06-15 15:14:02 +02:00
saisoma123
717eea7c47 Added cmakeDir for Windows 2022-06-11 20:44:02 +02:00
Enrico Guiraud
5f0c2a38ae Remove unused include of "llvm/Config/config.h"
Including that header from cling breaks building ROOT with
external llvm and clang (which is needed e.g. for the conda
package): `config.h` is not avaiable in that scenario.
2022-06-08 15:14:03 +02:00
Guilherme Amadio
bbc1089732 Add support for profiling/debugging interpreted/JITted code
This commit builds on previous work for getting GDB support for JITted
and interpreted code working in cling. It adds a JIT event listener as
well to create perf map files to allow profiling of interpreted/JITted
code with cling.

The functionality provided is disabled by default. The interface to
enable it has been chosen to be via environment variables to allow both
interpreted code in the prompt as well as linked code to be able to
optionally enable debugging/profiling. Using ld.so as example, where
LD_DEBUG and LD_PROFILE exist, we chose CLING_DEBUG and CLING_PROFILE
to enable these features. For the moment, setting these variables to
anything enables the feature. Later on, if support for oprofile is
added, for example, it may be better to enable specific JIT event
listeners depending on the value of the variables, for example with
CLING_PROFILE=perf or CLING_PROFILE=oprofile, respectively.
2022-06-07 21:59:05 +02:00