Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Llvm16 #185

Closed
wants to merge 284 commits into from
Closed

Llvm16 #185

wants to merge 284 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Sep 11, 2023

  1. [DF] Reduce duration "helpers" unit test

    by reducing the number of events by a factor 100 for:
    - ProgressHelper_Existence_ST
    - ProgressHelper_Existence_MT
    - ProgressHelper_existence_singleTTreeInput
    
    and by removing jitting in favor of compilation where possible.
    The coverage is the same as before.
    dpiparo committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    d606722 View commit details
    Browse the repository at this point in the history
  2. [DF] Reduce duration of concurrency unit test

    by about two orders of magnitude (150 s --> 1s) by using a
    reasonable number of threads throughout the battery of tests
    (in some cases the machine could be heavily overcommitted) and
    by eliminating the RDF jitting, which happens sequentially.
    dpiparo committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    d4f699a View commit details
    Browse the repository at this point in the history
  3. [DF] Reduce duration of "simple" unit test

    by a factor ~2x (100s -> 50s)by eliminating jitting in favor of
    fully compiled RDF instances where possible, i.e. w/o reducing
    test coverage.
    dpiparo committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    88d11e4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    62deeb1 View commit details
    Browse the repository at this point in the history
  5. [DF][10484] Cleanup after exception during evt loop

    This commit reorganizes the RLoopManager::Run function, encapsulating
    the cleanup of the RDF nodes in the destructor of a class in order to
    profit from RAII and perform all necessary operations even if the event
    loop is interrupted by an exception.
    dpiparo committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    6214280 View commit details
    Browse the repository at this point in the history
  6. [RF] Test cleanup after exception in an evt loop

    Add a unit test for the cleanup happening after the event loop is
    interrupted by an exception.
    Moreover, adapt two existing unit tests to the new implementation of
    RLoopManager::Run. The two tests relied on a faulty behaviour of RDF,
    which allowed to trigger subsequent event loops by dereferencing
    RResultPtr's instances and trapping the exception thrown during the
    event loop in a try-catch block.
    dpiparo committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    8f3d1f3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8a51c0b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3b83c3d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    c0d9da9 View commit details
    Browse the repository at this point in the history
  10. [RF] Limit maximum number of thread blocks in RooFit CUDA code

    The number of thread blocks in kernel calls should not be excessively
    large, it's sufficient if it's in the order of the number of streaming
    multiprocessors.
    
    In particular, this circumvents a problem with the NLL reduction kernels
    with grid sizes larger than 512.
    
    With this change, there are potentially less threads than events when
    summing likelihoods, so in the NLL reduction kernels, each thread also
    has to reduce a few elements in a loop.
    
    Closes root-project#13603.
    guitargeek committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    567cba8 View commit details
    Browse the repository at this point in the history
  11. [RF] Consistent RooCmdArg names for all RooFit::Import() overloads

    There are different overloads of `RooFit::Import()` for importing
    different object types to RooFit dataset classes.
    
    However, they return a `RooCmdArg` that is named after the type of the
    imported object. That causes some inconsistencies. For example, if you
    import a map of `std::unique_ptr<RooDataHist>`, the name will be
    different than for `RooDataHist*` because there is a special overload
    for the latter.
    
    It is better to fixup this inconsistency, and then disentangle the
    different types in the functions that consume these `RooFit::Import()`
    command arguments.
    
    This caused some trouble when importing RooDataHists into a combined
    dataset, which is why this fix is coming now.
    
    These changes are covered by the tutorial tests.
    guitargeek committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    8181b7d View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b9d6616 View commit details
    Browse the repository at this point in the history
  13. [RF] Support expressions with complex numbers in RooClassFactory

    This is to enable support for expressions representing the complicated
    amplitudes in partial wave analysis.
    guitargeek committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    e3f3a1f View commit details
    Browse the repository at this point in the history
  14. [RF] Use std::string instead of C-style strings in RooClassFactory

    This should preserve backwards compatibility, because `const char*`
    implicitly casts to `std::string`.
    guitargeek committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    b01408a View commit details
    Browse the repository at this point in the history
  15. [RF] Don't recompile when requesting the same class instance twice

    If you call `makePdfInstance` or `makeFunctionInstance` twice in a row
    with the same arguments, the RooClassFactory should not have to
    recompile anything.
    
    This is particularly important to support the jupyter notebook workflow,
    where the same cell might be run several times.
    
    In fact, before this commit, calling the `makeClassInstance` function
    twice in a row with the same arguments resulted in a crash.
    guitargeek committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    0a0bcaa View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2023

  1. Configuration menu
    Copy the full SHA
    4ebc357 View commit details
    Browse the repository at this point in the history
  2. [Math] Respawn genvector tests

    because they accidentally dropped out from the building and testing
    process during the migration to CMake.
    Minimal changes to the code were applied to let them run,
    respecting the original coding style.
    dpiparo committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    4b2df16 View commit details
    Browse the repository at this point in the history
  3. [http] adjust timer interval depending on the load

    If there are no requests are processed during last 500 attempts,
    timer switch to the slow mode with 100 ms period.
    But immediately switched back to fast mode if new if new requests are
    processed.
    linev committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    cb86a11 View commit details
    Browse the repository at this point in the history
  4. [webwindow] let use http server processing thread for widgets

    This is very special mode will be used only for the python,
    which creates special thread for events processing.
    And this thread is changing with the time
    linev committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    8d1d9d4 View commit details
    Browse the repository at this point in the history
  5. [webgui] let use TWebCanvas also without connection

    It is intermediate state when web window is shown,
    but no active connection is established.
    At such moment canvas->Update() was not updating objects - like
    invoking THStack::BuildPrimitives() to introduce all necessary
    histograms. Therefore create artificial batch connection which
    do exactly same job as active web window connection - but does not
    send any data.
    
    Also improve timer handling in TWebCanvas. Instead of
    enabling/disabling this timer just use fast or slow mode - changing
    intervals
    
    Instead
    linev committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    bc9d21a View commit details
    Browse the repository at this point in the history
  6. [webgui] always checks callbacks processing in web window

    Internally web window has special checks for thread id - when it
    assigned. With external events processing such thread is not set
    linev committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    73da3aa View commit details
    Browse the repository at this point in the history
  7. [webgui] immediately assign main thread in python case

    In such special mode web canvas or any other web components created
    from the main python thread - which stored at the moment when
    web win manager created. Callback only from this thread are allowed -
    all other threads has to be ignored.
    linev committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    70d03dc View commit details
    Browse the repository at this point in the history
  8. [pyroot] in case of web display update web canvas in EventInputHook

    This function called regularly from interactive python session
    and can be used for proper update of the active canvas
    linev committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    972cf90 View commit details
    Browse the repository at this point in the history
  9. [webcanvas] correctly check first normal connection

    Now first connection in list is batch connection,
    used for async update.
    linev committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    03dd288 View commit details
    Browse the repository at this point in the history
  10. [RF] Give example for multiple categories plot in rf501_simultaneouspdf

    Also, throw an exception with a helpful error message if the user
    attempts to use `RooFit::Slice()` with a comma-separates list of
    category states, which is not supported.
    
    This addresses a question on the forum:
    https://root-forum.cern.ch/t/plotting-two-categories-of-simultaneous-fit-in-a-single-plot/56250
    guitargeek committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    ea666a2 View commit details
    Browse the repository at this point in the history
  11. [jsroot] dev 12/09/2023

    Fix axis labels tilt
    Fix THStack update
    Support e1hist combination of draw options
    th1 render order of filled area and markers
    linev committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    917b19c View commit details
    Browse the repository at this point in the history
  12. [TMVA] Remove dependency on torch.onnx submodule

    As seen in pytorch/pytorch#82628. This removes the
    `TypeError: 'torch._C.Node' object is not subscriptable` error.
    vepadulano committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    c1dbe06 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2023

  1. [rootx] Remove "core developers" from splash window:

    We do not show this anymore, and this requires complex operations and
    - in its current implementation - a working ROOT build as part of the
    version update.
    Axel-Naumann committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    9b2b237 View commit details
    Browse the repository at this point in the history
  2. [core,cmake,build] Define ROOT version in header:

    This simplifies the release procedure: no more bootstrapping, no more
    running of scripts; the source is the source.
    
    Given that the source now has the authoritative version number for
    releases (unlike for dev branches, of course) the ROOT package version
    is now determined from that header, rather than git describe which is
    less reliable.
    
    The updated release procedure will appear at https://root.cern/for_developers/release_checklist/
    Axel-Naumann committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    13b0706 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f45f2c2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7c72f78 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f4a2971 View commit details
    Browse the repository at this point in the history
  6. [minuit2] pick up ROOT version from ROOTConfig-version.cmake:

    build/version_number is gone.
    Axel-Naumann committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    8ce465c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5c43684 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2023

  1. Configuration menu
    Copy the full SHA
    9c3558a View commit details
    Browse the repository at this point in the history
  2. [RF][PyROOT] Avoid boolean operators on numpy arrays in unit test

    The `n_in_range` reference value in the unit test
    `roodataset_numpy.TestRooDataSetNumpy.test_ignoring_out_of_range`
    apparently doesn't get computed right on some 32 platforms.
    
    I can't reproduce the problem, but I'm sure it will be fixed by avoiding
    the use of the operators `&` and `|` with numpy arrays. Just doing a
    manual loop in Python should be more platform independent.
    
    Closes root-project#12162.
    guitargeek committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    2b3dd4f View commit details
    Browse the repository at this point in the history
  3. [Doc] Reformulate Doxy doc not to trigger a compiler warning

    which is `root/net/net/src/TNetFile.cxx:19:29: warning: '/*' within
    block comment [-Wcomment]` on clang on macos 13.5.1
    dpiparo committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    ca43bce View commit details
    Browse the repository at this point in the history
  4. [math] Don't incl. "Math/Error.h" and "Math/Util.h" in Minuit2 headers

    The "Math/Error.h" header is not shipped with standalone Minuit2.
    
    It is not a perfect solution to just ship it with Minuit2, because the
    Error.h header behaves differently depending on the
    `MATHCORE_STANDALONE` macro being defined or not. The code would only
    work correctly if the user defines the `MATHCORE_STANDALONE` herself in
    the user code that uses standalone Minuit2, which would be annoying.
    
    Instead, this commit proposes another solution to the problem: for all
    headers also used in Minuit2 standalone, MathCore
    moves the definitions of all functions that use `Math/Error.h` out of
    the header files in the cxx files. Like this, the `Math/Error.h` is only
    a build dependency of standalone Minuit2, and the user doesn't need to
    define the `MATHCORE_STANDALONE` macro for it to work.
    
    Including the "Math/Util.h" header needs to be avoided for similar
    reasons (it's about another preprocessor macro related to `veccore`).
    guitargeek committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    160d396 View commit details
    Browse the repository at this point in the history
  5. [tmva][pymva] Use .h5 file instead of .keras

    Go back to use .h5 files instead of .keras due to a problem in Keras loading .keras files on MacOS ARM (see https://github.com/keras-team/keras/issues/18278 )
    lmoneta committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    7793c20 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0139f28 View commit details
    Browse the repository at this point in the history
  7. [tmva][pymva] Do not disable tensorflow eager execution on MacoS

    Disbaling it causes an interference with multiprocessing and a restart of the process after it is endeded. This fixes the timeout of the PyKeras tests on MacOS.
    
    This commits apply also some small fixes/improvements  on the deletetion of some TMVA objects.
    lmoneta committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    8b005a0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    08e9192 View commit details
    Browse the repository at this point in the history
  9. [tmva][sofie] Add in RSofieReader support for multiple inputs and cus…

    …tom operators
    
    To add the custom operator the function Load is added in RSofieReader
    
    Fix also the Keras parsing tests to use RSofieReader
    
    Add also a function to print the output tensors in RModel
    lmoneta committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    ead7963 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    352c353 View commit details
    Browse the repository at this point in the history
  11. [tmva][pymva] Use less events on testPyKerasRegression

    Reduce number of events to avoid timeout of the test. Do this separtly for MAcOSX, since we cannot disable there eager execution
    lmoneta committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    1c5d7af View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2023

  1. [RF] Fix skipping of zero weights in tests statistic caching

    There was an evil hack in `RooAbsOptTestStatistic`:
    
    ```c++
    _dataClone->cacheArgs(this,_cachedNodes,_normSet,!_funcClone->getAttribute("BinnedLikelihood")) ;
    ```
    
    The final parameter determins if zero weights should be skipped when
    recalculating the caches. Indeed, for the NLL case, this corresponds to
    the BinnedLikelihood attrribute being present or not, but it broke the
    other test statistics for which zero weights should not be skipped at
    all.
    
    This commit suggests a safer way to manage this with a new
    `RooAbOptTestStatistic::_skipZeroWeights` flag.
    
    In particular, this change fixed a bug that got uncovered during a forum
    discussion:
    
    https://root-forum.cern.ch/t/failing-chi2-fit/56309/3
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    a7008eb View commit details
    Browse the repository at this point in the history
  2. [RF] Make extended fit default of RooAbsPdf::fitChi2() same as in fitTo

    It is confusing to the users that the chi2 fit is by default not
    extended, even if the pdf is extended. Because this is what happens in
    normal likelihood fits.
    
    This commit makes that behavior consistent and explains it in the
    release notes.
    
    Also, a new error message is added for the case you forcing a non
    extended fit on a pdf that must be extended, because this is guaranteed
    to give wrong results.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    1df034b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2e12da4 View commit details
    Browse the repository at this point in the history
  4. [RF] Don't recommend direct use of RooChi2Var in RooPlot documentation

    The test statistic classes should not be used directly, but always via
    the `createNLL()` (or in this case `createChi2()`) wrapper.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    1fd6bfd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    408feb3 View commit details
    Browse the repository at this point in the history
  6. [RF] Explain behavior of Extended() command in fitTo() and chi2FitTo()

    This commit improves the documentation of `RooAbsPdf::fitTo()` and
    `RooAbsReal::chi2FitTo()` by adding a more detailed explanation of the
    `Extended()` command argument.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    b22c152 View commit details
    Browse the repository at this point in the history
  7. [RF] Added a few getters and setters

    cburgard authored and guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    807e256 View commit details
    Browse the repository at this point in the history
  8. [RF][HS3] Added methods to automatically transform variables

    Also, renamed "bounds" to "edges" for data export.
    cburgard authored and guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    38a30c2 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6e9a07f View commit details
    Browse the repository at this point in the history
  10. [RF][HS3] Allow for non-exact matching in unit tests - off by default

    This is useful for debugging, but off by default.
    cburgard authored and guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    b03e65a View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    282b41c View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    11d4ea7 View commit details
    Browse the repository at this point in the history
  13. [RF] Use Minuit2 in testHS3SimultaneousFit

    The fit results of Minuit2 are less random, and therefore we can tighten
    the test tolerance.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    592b124 View commit details
    Browse the repository at this point in the history
  14. [RF] Avoid fitting empty dataset in testRooAbsPdf unit tests

    Fitting empty datasets doesn't give you a well-defined likelihood, and
    Minuit2 would actually explicitly print errors that would cause the test
    to fail.
    
    It's better to actually simulate non-empty toy datasets for fitting.
    Then, the unit tests will also pass when Minuit2 will be the default in
    the future.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    75146cc View commit details
    Browse the repository at this point in the history
  15. [RF] Fix inconsistency in RooMinimizer about minimizer type

    This is a potential problem:
    
    ```c++
       setMinimizerType(type);
       _theFitter->Config().SetMinimizer(type, alg);
    ```
    
    The call to `setMinimizerType()` will set a default
    minimizer if `type` is empty. This default minimizer is right now the
    same as in general ROOT, but if RooFit would have a different default,
    the default minimizer of the RooMinimizer and the internal `_theFitter`
    would become out of sync, as `SetMinimizer(type)` takes the ROOT
    default if type is empty, not the RooMinimizer default.
    
    The better approach is this:
    
    ```c++
       setMinimizerType(type);
       _theFitter->Config().SetMinimizer(_cfg.minimizerType.c_str(), alg);
    ```
    
    First, `setMinimizerType(type)` sets the minimizer type in
    `_cfg.minimizerType`, and then this information is taken to set the
    minimizer of the `ROOT::Fitter`.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    16bb01f View commit details
    Browse the repository at this point in the history
  16. [RF][HS3] Store reference norm. set of RooAddPdf also in an attribute

    By storing the reference normalization set also in an attribute, one
    gets the JSON IO for the `_refCoefNorm` for free, because attributes are
    always covered by the JSON IO.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    6385744 View commit details
    Browse the repository at this point in the history
  17. [RF] Add flag to define RooExponential in the standard exp(-c*x) way

    In particular, this is used for the RooFit HS3 import and export.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    a03076e View commit details
    Browse the repository at this point in the history
  18. [RF] Format code of RooExponential and RooLognormal

    As these classes are changed quite a bit by the previous and next
    commits, it is a good time to format them now.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    9cb2aab View commit details
    Browse the repository at this point in the history
  19. [RF] Add flag to define RooLognormal in the standard way

    Add a flag to define the RooLognormal with `mu` and `sigma` instead of
    their exponentiated values.
    
    In particular, this is used for the RooFit HS3 import and export.
    guitargeek committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    4de48ca View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    12d8a75 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    e1c1002 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2023

  1. Configuration menu
    Copy the full SHA
    8c9f8bf View commit details
    Browse the repository at this point in the history
  2. [RF] Remove multi-range chi-square fit logic from RooAbsPdf

    Almost a year ago, I fixed the support for comma-separated normalization
    ranges for pdfs, e.g. `pdf.setNormRange("range1,range2")` was fixed also
    for RooAddPdfs.
    
    As a result, the logic for multi-range likelihood fits was removed from
    `createNLL()`, because the multi-range fit didn't have to be treated as
    a special case anymore.
    
    The same applies also to chi-square fits. In fact, the reason why the
    `RooChi2Var` constructor and `RooAbsReal::createChi2()` methods had a
    `RooAbsPdf` overload was *only* this workaround! For regular
    RooAbsReals, the workaround was not necessary, because there is no
    normalization.
    
    Therefore, quite a few functions were removed in this commit.
    
    The multi-range chi2 fit is now also validated by the multi-range fit
    unit test in `testRooAbsPdf`.
    
    This is a follow-up to PR root-project#11455 (commit fa10523 in particular),
    where the same change was already make for regular likelihoods.
    guitargeek committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    889beb3 View commit details
    Browse the repository at this point in the history
  3. [RF] Avoid separate RooXYChi2Var constructors for pdfs and functions

    It can be checked at runtime if a given `RooAbsReal` is a pdf or not.
    Like this, we also don't need a separate override of
    `createChi2(RooDataSet &)` in RooAbsPdf.
    guitargeek committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    1b892b1 View commit details
    Browse the repository at this point in the history
  4. [RF] Support NumCPU() and Range() in createChi2() for RooDataSets

    This is achieved in the same was as in `createNLL()`, by forwarding the
    configuration options to the `RooAbsOptTestStatistic` base class.
    guitargeek committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    c9bbb99 View commit details
    Browse the repository at this point in the history
  5. [RF] Bugfix in RooDataSet::reduce() by also copying the stored errors

    After adding support for subrange fits with the `RooXYChi2Var`, it
    initially didn't work because the y-value errors were missing in the
    dataset. This is because `RooDataSet::reduce()` is not copying the
    errors over to the reduced dataset, which is a bug.
    
    Fortunately, there is a straighforward solution. To create the reduced
    `RooDataSet`, it now doesn't use some buggy private constructor (that is
    now removed), but instead the trusty `RooAbsData::emptyClone()` method,
    for which I fixed the problem with the errors not being copied already
    some time ago.
    guitargeek committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    6426d90 View commit details
    Browse the repository at this point in the history
  6. [pyroot] Add dependency on dataframe for rtensor test.

    This should fix some of the failures observed for builds without rdataframe
    lmoneta committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    acc2849 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d0b9ee3 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2023

  1. Add TCanvas::IsUpdated() method

    It inform that Update() or UpdateAsync() methods were called.
    Will be used in iPython to implement graphics update functionality
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    9fb6731 View commit details
    Browse the repository at this point in the history
  2. [ipython] implement Update of canvas drawing

    Keep list of display handles for TCanvas and if Update called -
    try to update it. Works for jsroot and png display
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    40842c7 View commit details
    Browse the repository at this point in the history
  3. [rcanvas] add IsUpdated() flag, required for iPython

    Fix problem with IsShown() - also should be set in batch mode
    Provide GetUID() method, which will be used in iPython
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    b3ae186 View commit details
    Browse the repository at this point in the history
  4. [ipython] support RCnavas.Update()

    Handle same as for TCanvas.
    Use RCanvas::GetUID() for canvas identifier.
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    4f7854d View commit details
    Browse the repository at this point in the history
  5. [ipython] use TWebCanvas for canvas rendering

    This class provides all necessary functionality for web-based
    display, including handling of stacks, stats, styles, colors and so on
    
    Adjust layout of the div element - use 'relative' position to preserve
    dimension of the JSROOT drawings.
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    dfd8a8a View commit details
    Browse the repository at this point in the history
  6. [ipython] fix canvas width/height usage

    Use GetWindowWidth()/GetWindowHeight() methods to get configured drawing
    dimension, do not swap width/height parameters
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    0b8fc4b View commit details
    Browse the repository at this point in the history
  7. [webgui] use actual canvas size as pdf page size

    When producing pdf document, set page size to maximal canvas size.
    Also include margins into page size to let normally embed complete
    canvas per page.
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    0e78f9c View commit details
    Browse the repository at this point in the history
  8. [jsroot] 7.5.pre 19/09/2023

    Preliminary 7.5.0 release for ROOT 6.30
    Improve build legend functionality, provide as context menu command
    Fix toggling of hist draw options
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    5df0ef8 View commit details
    Browse the repository at this point in the history
  9. [jsroot] 7.5.pre 19/09/2023 with grayscale support

    Add support of grayscale flag in the canvas
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    98e9e74 View commit details
    Browse the repository at this point in the history
  10. Provide correct TCanvas::Draw and TPad::Draw for web canvas

    Instead direct call of Paint() call UpdateAsync()
    Prevent Paint() when calling TCanvas::SetGrayscale
    linev committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    8b7aa49 View commit details
    Browse the repository at this point in the history
  11. [cmake] Replace FindOracle.cmake:

    Nicer to distribute a BSD licensed version.
    The file `COPYING-CMAKE-SCRIPTS` is missing virtually worldwide,
    not even CMake includes it: https://gitlab.kitware.com/search?search=COPYING-CMAKE-SCRIPTS&nav_source=navbar&project_id=541&group_id=415&search_code=true&repository_ref=master
    Axel-Naumann committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    57a5c9a View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2023

  1. [PyROOT] Make building with Python 2 optional

    In preparation for a future removal of Python 2 support, add the
    `pyroot-python2` cmake build option (OFF by default). Users who really need
    Python 2 support can still get it, but warn them that it will be removed in a
    future ROOT release.
    vepadulano committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    f7594a3 View commit details
    Browse the repository at this point in the history
  2. [RF] Implement Offset("bin") also for RooDataSet fits

    Fully implement the `Offset("bin")` feature also for RooDataSet, both
    with CPU/CUDA BatchMode and the legacy tests statistics.
    
    This is done now by introducing a new element in the computation graph:
    an "offset pdf" that is created as a RooHistPdf from the observed data,
    and it is used to get the counterterm in each bin.
    
    It was validated with the `rf614` tutorial that this binwise offsetting
    is indeed fixing the convergense problems that the simple offsetting by
    the initial NLL value can't fix.
    
    Closes root-project#11965.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    afd622c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    acd7618 View commit details
    Browse the repository at this point in the history
  4. [RF] Fix logic error in RooAbsPdf where Offset() was ignored in fitTo()

    There was a little bug in `fitTo()` when the new modular test statistics
    got implemented in fe6935b. If the `ModularL` command is not passed,
    the offsetting flag should be forwarded to `createNLL()`, because only
    for the new test statistics the offsetting is done in the minimizer
    only.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    a680f0a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1c4e1af View commit details
    Browse the repository at this point in the history
  6. [RF] Remove RooFitCommon library and use gSystem->TempDirectory()

    The  RooFitCommon library only contained one single function to create a
    temporary directory `/tmp/roofit/` that was not even platform
    independed.
    
    This commit suggests to use `gSystem->TempDirectory()` instead, and
    prefix the temporary files with `roofit_` so there is no need for
    creating another subdirectory.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    1a7f63f View commit details
    Browse the repository at this point in the history
  7. [RF] Don't preprocess const-term optimization flag in fitTo()

    We can avoid the const-term-optimization in BatchMode or `codegen`
    simply by overriding the relevant function in the wrapper classes.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    a23595b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    fb64189 View commit details
    Browse the repository at this point in the history
  9. [RF] Avoid code duplication in likelihood and chi2 fitting

    The function that steered the chi2 minimization had almost the exact
    same implementation as the one steering the likelihood fits. It would be
    better is the chi2 fits also use the same function as the likelihood
    fits, which is implemented in this PR.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    e58055c View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    256dd33 View commit details
    Browse the repository at this point in the history
  11. [RF] Fix all typos in RooFit source code

    This was done with the help of this very useful tool:
    https://github.com/crate-ci/typos
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    e8bdfaf View commit details
    Browse the repository at this point in the history
  12. [RF] Add config flag to set minimizer in stressRooFit/HistFactory

    This config parameter was already present for `stressRooStats`, and this
    commit also adds it for `stressRooFit` and `stressHistFactory`.
    
    The default minimizer is hardcoded to `Minuit`, not `Minuit2`.
    
    Furthermore, the code is modernized a bit, for example by using raw
    string literals and `int` instead of `Int_t`.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    cdc6830 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    bd562e1 View commit details
    Browse the repository at this point in the history
  14. [RF] Slighlty loosen arbitrary precision parameter in testHistFactory

    This is to make the test also pass when using Minuit2, where the post fit
    parameters differ by a tiny bit, pushing one of the precision parameters
    over the edge by 3 percent.
    
    To have a bit of a margin, the relevant precision constants are
    increased by 10 percent.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    eb622bf View commit details
    Browse the repository at this point in the history
  15. [RF] Always use Minuit1 for contour plot tutorials

    The contour implementation in Minuit2 doesn't work for these RooFit
    tutorials yet.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    8a1d41f View commit details
    Browse the repository at this point in the history
  16. [RF] Loosen comparision precision in testHypoTestInvResult

    For the estimated error on the upper limit, we need to loosen the
    tolerance because it is determined on-the-fly with a fit, and not read
    as a data member like the comment in the test said before.
    
    Withg the default minimizer changing from Minuit to Minuit2, the results
    are slightly different and caused this test to fail.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    1dcd853 View commit details
    Browse the repository at this point in the history
  17. [math] Make Minuit2 the default minimizer in ROOT Math if available

    Most people prefer Minuit2 nowadays, especially RooFit users, as some of
    the more complicated fits don't converge with the old Minuit
    implementation.
    
    In case ROOT was built without Minuit2 enabled, the default falls back
    to `Minuit`.
    
    Also, since there is a "default default" already hardcoded in
    `MinimizerOptions.cxx`, it is not necessary to specify another "default
    default" in the default `.rootrc`. The corresponding line is commented
    out.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    6866a57 View commit details
    Browse the repository at this point in the history
  18. [cmake] Option roofit_multiprocess requires option minuit2

    The RooFit gradient multiprocessing depends on Minuit2 at compile time.
    Therefore, building with `roofti_multiprocess=ON` should imply
    `minuit2=ON`, giving a warning if the user defined `minuit2=OFF`.
    
    Then, Minuit2 should only be added as a dependency to RooFitCore if
    `roofit_multiprocess` is switched on.
    guitargeek committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    3acc0e6 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2023

  1. [mathmore] Remove license-incompatible KelvinFunctions.

    Part of ROOT-10992
    Axel-Naumann committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    f54c828 View commit details
    Browse the repository at this point in the history
  2. Do not evaluate dependent immediate invocations

    We deferred the evaluation of dependent immediate invocations in https://reviews.llvm.org/D119375 until instantiation.
    We should also not consider them referenced from a non-consteval context.
    
    Fixes: llvm/llvm-project#55601
    
    ```
    template<typename T>
    class Bar {
      consteval static T x() { return 5; }
     public:
      Bar() : a(x()) {}
    
     private:
      int a;
    };
    
    Bar<int> g();
    ```
    Is now accepted by clang. Previously it errored with: `cannot take address of consteval function 'x' outside of an immediate invocation  Bar() : a(x()) {}`
    
    Differential Revision: https://reviews.llvm.org/D132031
    
    ---
    
    Fixes root-project#13698, a problem
    with the new C++ headers from the new macOS SDK.
    usx95 authored and dpiparo committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    6627da7 View commit details
    Browse the repository at this point in the history
  3. [RF] Include gsl_integration.h in RooFitMore instead of copy-pasting

    Include `gsl_integration.h` in RooFitMore instead of copy-pasting code
    from gsl. The linking is done in the same was as in
    `math/mathmore/CMakeLists.txt`.
    
    This should add no additional dependency compilcations, because
    RooFitMore already linked against MathMore, which requires GSL to be
    present.
    guitargeek committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    85a962f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6245f4f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fb567b4 View commit details
    Browse the repository at this point in the history
  6. [jsroot] dev 21/09/2023 with fixes

    1. TText/TLatex scaling to pad size
    2. Handle TAxis with ndiv = 0
    3. TGraph B draw option - proper bar width
    4. Correctly use fixed label font size in TLegend, not always autoscale
    5. Adjust columns width in TLegend to content
    6. Correctly store defs when create image
    
    Fixes root-project#13693
    linev committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    14338c8 View commit details
    Browse the repository at this point in the history
  7. [Build] Fix implicit comp. warning on MacOS

    when using llvm 15. The warning was "implicit truncation from 'int'
    to a one-bit wide bit-field changes value from 1 to -1
    [-Wsingle-bit-bitfield-constant-conversion]"
    dpiparo committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    e188c8f View commit details
    Browse the repository at this point in the history
  8. [Build] Do not link libgtest twice

    when bulding ctest executables.
    dpiparo committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    1831ce6 View commit details
    Browse the repository at this point in the history
  9. [Build] Remove flags causing warnings on MacOS

    when llvm 15 is used: -single_module and -bind_at_load.
    Once removed, they also do not cause problems to macos 11 and 12.
    dpiparo committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    1d5baf0 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2023

  1. [cmake] Turn everything with incompatible licenses off by default:

    The default should be a ROOT binary that respects its license; any
    build that creates GPLed binaries should be an active decision.
    
    Affected are uses of fftw3, gsl, Pythia 8, and unuran (all GPL), as well as Pythia 6 which does not seem to have a license.
    Axel-Naumann committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    ebe6694 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f4f8133 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8730c47 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a0cc580 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6570c5d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8af5160 View commit details
    Browse the repository at this point in the history
  7. Add tests for TGraph::Sort

    siliataider authored and vepadulano committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    26f2b5f View commit details
    Browse the repository at this point in the history
  8. [RF] Introduce new EvalBackend() option for createNLL() and fitTo()

    The new `EvalBackend()` option will replace the `BatchMode()` option,
    which is kept for backwards compatibility. However, a warning is printed
    when one passes the `BatchMode()` option.
    
    There are also versions of this new option that don't use string
    arguments, like `EvalBackend::Cuda()`, such that one can ensure at
    compile-time that a valid backend is used. this is helpful for unit
    tests, but not necessarily meant for the end user.
    guitargeek committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    b272e50 View commit details
    Browse the repository at this point in the history
  9. [RF] Clean up createNLL() and fitTo() docs and interfaces

    * Remove duplicated explanations of likelihood options from `fitTo()`.
      Instead, just link to `createNLL()`.
    
    * Improve documentation with explicit explanations of input and output
      parametrs.
    
    * Rename the `virtual` overloads of `fitTo()` and `createNLL()` that are taking
      only a RooLinkedList to `fitToImpl()` and `createNLLImpl()`. This
      avoids confusing doxygen with different overloads, and thus ensures
      that everytime we are referencing `createNLL()` and `fitTo()` in the
      docs, it will link to the highest-level user interface: the templated
      functions that can either take a single RooLinkedList or an arbitrary
      number of command arguments.
    
    * Explicitly write in the docs which functions need to be overridden
      when you want to customize likelihood creation or fitting behaviour.
      This will be useful for the few RooFit-based frameworks that actually
      do such a thing.
    
    * Replace `///` with `/**` to denote doxygen comment blocks.
      This is done because otherwise, doxygen did not detect correctly in
      some circumstances what is the scope of the comment block.
    guitargeek committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    9c6ed73 View commit details
    Browse the repository at this point in the history
  10. [RF] Explain new EvalBackend() command argument in documentation

    Add explanation on all the possible `EvalBackend()` choices for the
    likelihood:
    
     * legacy
    
     * cpu
    
     * cuda
    
     * codegen
    
     * codegen_no_grad
    guitargeek committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    ece77ec View commit details
    Browse the repository at this point in the history
  11. [RF] Implement the EvalBackend("codegen_no_grad") option

    This is done by adding a new constructor flag to the RooFuncWrapper
    whether the gradient should be compiled or not.
    guitargeek committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    dae23db View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2023

  1. Configuration menu
    Copy the full SHA
    b9d6ebc View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2023

  1. [TMVA] Do not run CNN tutorial if imt not specified

    if imt is not specified, this tutorial should not be run as a
    test.
    dpiparo committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    1046dc6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dc9d47b View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2023

  1. Configuration menu
    Copy the full SHA
    ceef062 View commit details
    Browse the repository at this point in the history
  2. [hist] Fix license for TGraphSmooth (NFC):

    After consultation with Christian Stratowa, the intent was to use the same license as
    that of ROOT. Given the commit 041f9ed
    which sets the (c) to Fons+Rene, the copyright for Christian must end around that time
    that Christian has donated the code to Fons&Rene. Use consistent header for .h and .cxx.
    Axel-Naumann committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    fd2a14f View commit details
    Browse the repository at this point in the history
  3. [win32gdk] Remove unused relocatable; gcompat.h:

    They are GPLed (unlike the rest); our build has
    `#undef ENABLE_RELOCATABLE` in `graf2d/win32gdk/gdk/src/iconv/config.h`.
    gcompat.h is not included anywhere.
    
    So there is just no reason to keep these.
    Axel-Naumann committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    f4a23f7 View commit details
    Browse the repository at this point in the history
  4. [jsroot] 7.5.pre 22/09/2023 with TProfile3D support

    1. Support TProfile3D
    2. Support scaling of special fill patterns
    linev committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    b832604 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    297dbde View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2023

  1. Configuration menu
    Copy the full SHA
    548422f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cae93d9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fdd8807 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6905629 View commit details
    Browse the repository at this point in the history
  5. [RF][HS3] Don't automatically set BinnedLikelihood on HF model import

    The JSON import of HistFactory models was always setting the
    "BinnedLikelihood" attribute to trigger the binned likelihood
    optimization in the fit.
    
    That's generally a good thing, however it can create backwards
    compatibility issues. For older HistFactory models that don't use the
    binned likelihood optimization by default, it comes as a surprise to the
    user that the definition of the likelihood is suddenly different.
    
    This commit suggests to not hardcode the `BinnedLikelihood` attribute in the
    HistFactory JSON IO, but instead rely on the the regular JSON IO of
    RooAbsArg attributes to make sure that the attribute is only set in the
    imported workspace if it was also set in the original workspace.
    
    Other changes in this commit:
    
      * Some RooAbsArg names in the HS3 HistFactory import are also changed
        to reflect the old HistFactory implementation
    
      * Variables in the code are renamed to avoid one-letter variable names
    guitargeek committed Sep 26, 2023
    Configuration menu
    Copy the full SHA
    30177a3 View commit details
    Browse the repository at this point in the history
  6. [RF][HS3][HF] Backwards compatible way of dealing with bin widths

    The bin width modifiers are handled separately from the other modifiers
    in the HistFactory JSON IO. However, do detect them, we can't just check
    for the RooBinWidthFunction type here, because prior to ROOT 6.26, the
    multiplication with the inverse bin width was done in a different way
    (like a normfactor with a RooRealVar, but it was stored in the dataset).
    Fortunately, the name was similar, so we can match the modifier name.
    guitargeek committed Sep 26, 2023
    Configuration menu
    Copy the full SHA
    d7baa44 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2023

  1. [pythia8] Fix license of TPythia8Decayer (NFC):

    as per request by Peter Hristov, ALICE.
    Axel-Naumann committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    e251a3a View commit details
    Browse the repository at this point in the history
  2. [cmake] Make unfold optional so it can be disabled:

    It is GPL licensed and ROOT binaries must not have it enabled.
    Axel-Naumann committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    3d87d7d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    14d9b02 View commit details
    Browse the repository at this point in the history
  4. [jsroot] 7.5.pre 26/09/2023

    1. Fix AXIS draw option - do not draw hist title
    2. Fix scaling of custom labels - factor 0.6666 as in TGaxis:1504
    linev committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    ce56b72 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8eb4d23 View commit details
    Browse the repository at this point in the history
  6. [webcanvas] fix first connection index

    Only first client allowed to change some values in the canvas.
    But now first connection has index 1 - while index 0 is for batch.
    linev committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    d25bf79 View commit details
    Browse the repository at this point in the history
  7. [webcanvas] highlight active pad only optionally, off by default

    Can be changed in the options menu
    Make looking similar as with native ROOT
    linev committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    5af4b57 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d5d820e View commit details
    Browse the repository at this point in the history
  9. [canvas] protect TPad::DrawFrame if gPad == nullptr

    If by chance gPad is nullptr, method will crash
    linev committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    0d355cf View commit details
    Browse the repository at this point in the history
  10. [webcanvas] use only first frame in the pad

    Any others (or duplication) will be excluded from the web drawings
    linev committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    cbb4cfe View commit details
    Browse the repository at this point in the history
  11. [jsroot] 7.5.pre 27/09/2023 with axis/palette fixes

    1. Allow negative labels offsets on axis
    2. Provide extra gaps for labels as it done in ROOT
    3. Copy Z axis attributes to palette before drawing
    4. Shrink axis labels
    5. Small fix in col drawing
    linev committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    aa3bff2 View commit details
    Browse the repository at this point in the history
  12. [math] Early return of minimum state when using simplex with no params

    This avoids the problems when running simplex with zero parameters
    reported in root-project#6775.
    guitargeek committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    6e556ce View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2023

  1. [jsroot] 7.5.pre 28/09/2023 with TPaletteAxis fixes

    1. Properly redirect context menu commands to histogram Z axis
    2. When moving palette - send updates back to the server
    3. Improve HierarchyPainter Draw/Expand/Unexpand context menu commands
    linev committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    ef2ff08 View commit details
    Browse the repository at this point in the history
  2. Append to the xml_veto list instead of (re-)creating it

    Prevent running xml tests when xml is disabled, suppressing the following test failures:
    ```
    TEST FAILURES:
    971:tutorial-xml-DOMParsePerson
    972:tutorial-xml-DOMRecursive
    973:tutorial-xml-SAXHandler
    ```
    bellenot committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    41a40b3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a345367 View commit details
    Browse the repository at this point in the history
  4. [RF] Update to latest xRooFit (root-project#13717)

    * update xRooFit to latest version
    
    * declare ROOT::Experimental::XRooFit namespace for ROOT's copy of xRooFit
    
    * fix namespace alias
    
    * address PR comments
    
    * [RF] Improvements to `xroofit` documentation structure
    
      * Add a new `xroofit` group to the RooFit documentation
    
      * Add semicolons behind the `NAMESPACE` macros. They have no effect on
        the C++ compilier, but macros without trailing semicolons confuse
        doxygen
    
      * Add the `xRooNode` and `xRooNLLVar` classes to the `xroofit`
        documentation group. Other xroofit classes might also go there, but
        I don't know which ones should really be public. So I only added
        these two to give and example.
    
      * Move RooBrowser documentation to xRooBrowser. Now that xRooFit is
        considered part as the experimental user interface, this is fine to
        do. Like this, doxygen can associate the actual xRooBrowser
        implementation with the docs.
    
      * Rename `RooFit::Detail::XRooFit` namespace to
        `ROOT::Experimental::XRooFit` instad of using namespace alias.
        Again, this is done to not confuse doxygen.
    
    To build the documentation quickly, edit the
    `documentation/doxygen/makeinput.sh` directory and comment out all
    subdirectories except for `roofit`. Call `make` in the doxygen
    directory. Type `y` if it should ask you to overwrite some files in the
    end. The xRooFit documentation will end up in the
    `~/rootdoc/html/group__xroofit.html` directory.
    
    * address some typos
    will-cern authored Sep 28, 2023
    Configuration menu
    Copy the full SHA
    090ccec View commit details
    Browse the repository at this point in the history
  5. [webgui] Allows direct callbacks processing in python

    When python non-interactive session runs, there is no any possibility
    to call callbacks in main thread. Therefore let allow process callbacks
    directly from the place where data queue is filled.
    linev committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    91177c3 View commit details
    Browse the repository at this point in the history
  6. [pyroot] set external events processing only in non interactive mode

    In interactive python mode processing events always runs from main
    thread and performed regularly - no special settings are required then
    linev committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    2fbeb5f View commit details
    Browse the repository at this point in the history
  7. [pyroot] make Mac and Linux events handling similar

    In non-interactive mode one have to run events from special thread,
    in interactive it should be enough to use input hook
    linev committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    06b86c3 View commit details
    Browse the repository at this point in the history
  8. [http] show warning about changing main thread only when gDebug > 0

    It is intended behavior that processing thread may change in python.
    Therefore display such message only if debug is enabled
    linev committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    5898c8f View commit details
    Browse the repository at this point in the history
  9. [CMake] Use find_package(XRootD) and not XROOTD (case sensitivity)

    With this change, the reproducer provided in root-project#12631 works for me, while
    it indeed fails to find `xrootd` in the configuration step without this
    commit.
    
    Closes root-project#12631.
    guitargeek committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    733d246 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2023

  1. [geom] Don't use -fabi-version=6 when compiling geom/vecgeom with G…

    …CC (root-project#13751)
    
    The `-fabi-version=6` flag was added to the compilation of
    `geom/vecgeom` in ded69d0 without any explanation.
    
    But recently, it caused some compilation problems with `std::unique-ptr`
    in newer GCC versions.
    
    Simple reproducer:
    ```c++
      #include <memory>
    
     int main() { std::unique_ptr<int>(nullptr); }
    ```
    Compile with `g++ -fabi-version=6 -o test test.cpp`, using GCC 13.2.
    
    So the implementation of `std::unique_ptr` in the standard library
    version that comes with gcc 13.2.1 is incompatible with that (super old)
    gcc abi version.
    
    Since it's not clear why this flag is there to begin with, I suggest to
    remove it so it doesn't cause further problems.
    
    The ABI version 6 is very old anyway (it came with GCC 4.7 in 2012).
    
    Closes root-project#12315.
    guitargeek authored Sep 29, 2023
    Configuration menu
    Copy the full SHA
    a86bf73 View commit details
    Browse the repository at this point in the history
  2. Fixed how VDT would be used.

    Switched to using the VDT::VDT imported target to set up the build of
    ROOTVecOps, RooBatchCompute and TMVA. Then made all the necessary changes
    in SearchInstalledSoftware.cmake to make that work.
    krasznaa authored and dpiparo committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    5473c5c View commit details
    Browse the repository at this point in the history
  3. Made the test build against the build directory set CMAKE_PREFIX_PATH…

    … correctly.
    
    So that headers/libraries in the build directory could be found
    correctly.
    krasznaa authored and dpiparo committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    62dcea6 View commit details
    Browse the repository at this point in the history
  4. Revert "[pyroot] make Mac and Linux events handling similar"

    This revert is in place because python scripts now hang whenever
    the ROOT module is imported on macos 12, 13 and 14.
    
    This reverts commit 06b86c3.
    dpiparo committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    4a58864 View commit details
    Browse the repository at this point in the history
  5. Revert "[CMake] Use find_package(XRootD) and not XROOTD (case sen…

    …sitivity)"
    
    This reverts commit 733d246.
    guitargeek committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    2a9b7df View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    27e3ee1 View commit details
    Browse the repository at this point in the history
  7. [core] Add rpath on MacOS in compiledata.sh

    The generated compiler invocation in TSystem::CompileMacro doesn't add the
    `-rpath` option. The output of `root-config --libs` contains that option on
    MacOS, so we should also have it here. Extend the flags passed to the compiler
    defined in `compiledata.sh` so it gets generated at configuration time. This
    should fix errors seen in MacOS 14 when loading a shared library obtained
    via ACLiC.
    
    Co-authored-by: Philippe Canal <pcanal@fnal.gov>
    2 people authored and dpiparo committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    26bb17c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4838068 View commit details
    Browse the repository at this point in the history
  9. [graf2d] Remove asimagexml, pixmap from AfterImage: incompat license

    They were used by load_xml2ASImage to load xml to asimage. Almost not used.
    couet authored Sep 29, 2023
    Configuration menu
    Copy the full SHA
    8c2b448 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    76f7346 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    95487cd View commit details
    Browse the repository at this point in the history
  12. [webcanv] reduce debug output when exec many lines

    Happens when moving complete TGraph.
    linev committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    0c4a255 View commit details
    Browse the repository at this point in the history
  13. [webcanv] correctly mark pad as having special objects

    Also when special objects appears in graph or hist list of primitives
    linev committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    da798de View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    759b659 View commit details
    Browse the repository at this point in the history
  15. [CMake] Remove N-1 identical link statements

    of the libxxhash.a library when building libCore.so
    dpiparo committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    c5b00f0 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    c633080 View commit details
    Browse the repository at this point in the history
  17. [DF] Add a test for the FromNumpy fix

    martamaja10 authored and dpiparo committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    c6b118c View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2023

  1. [Testing] Significantly reduce duration of legacy tutorials

    ran every time by the CI and testing TThread, without reducing
    coverage.
    dpiparo committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    eedc1da View commit details
    Browse the repository at this point in the history
  2. [tmva] Remove direct dataframe dependency

    libTMVA does not need to depend explicitly on RDataFrame. It is used only in
    the template function AsTensor and in the header files of the BatchGenerator used from Python
    
    remove lib dependency
    lmoneta authored and dpiparo committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    40cfc5b View commit details
    Browse the repository at this point in the history
  3. [tmva] Veto tutorial/keras on macos

    Do not run in CI the tutorial/keras on macos because we cannot disable eager execution on tensorflow. This causes timeout in the tutorials
    lmoneta authored and dpiparo committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    1e39844 View commit details
    Browse the repository at this point in the history
  4. [tmva] Make library libTMVAUtils

    lmoneta authored and dpiparo committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    76e4705 View commit details
    Browse the repository at this point in the history
  5. Add unittest for TDirectoryFile destructor

    With the reproducer described in
    root-project#13691. The test *must* link
    to some library that is not automatically ignored when loading PCMs in
    TCling::RegisterModule in order to trigger the segfault.
    vepadulano committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    3a9d2ca View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    aaf6278 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6b3b5a3 View commit details
    Browse the repository at this point in the history
  8. [TMVA] Remove Keras Regression test from the battery

    on Macos because it always fails due to the slowness of the tool
    on the platform.
    dpiparo committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    bfb6ff0 View commit details
    Browse the repository at this point in the history
  9. [CMake] Slightly refactor code

    to make it more readable.
    dpiparo committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    1a0a848 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2023

  1. [cmake] Only add a move_header_XYZ target if there are headers:

    ninja rightfully said:
    ```
    ninja explain: output core/newdelete/move_header_core_newdelete of phony edge with no inputs doesn't exist
    ninja explain: core/newdelete/move_header_core_newdelete is dirty
    ninja explain: move_headers is dirty
    ```
    
    which likely triggered MSBUILD to re-run the move-headers target (during roottest).
    This might fix it, and in general gets rid of useless "rebuilds" of move_headers.
    Axel-Naumann committed Oct 1, 2023
    Configuration menu
    Copy the full SHA
    2aa4742 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7b2e909 View commit details
    Browse the repository at this point in the history
  3. [base] TROOT: rely on etc/gitinfo.txt rather than RGitCommit.h:

    This prevents TROOT.cxx from being rebuilt everytime the commit changes.
    Instead, use gitinfo.txt
    Axel-Naumann committed Oct 1, 2023
    Configuration menu
    Copy the full SHA
    5be58e5 View commit details
    Browse the repository at this point in the history
  4. [config,proofd] Rely on etc/gitinfo.txt to determine version info:

    This isn't needed at compiletime; using the text file prevents rebuilding /
    having to maintain `RGitCommit.h`.
    Axel-Naumann committed Oct 1, 2023
    Configuration menu
    Copy the full SHA
    da1a28a View commit details
    Browse the repository at this point in the history
  5. [cmake,foundation] Do not generate RGitCommit.h but etc/gitinfo.txt:

    Deprecate the use of `RGitCommit.h`: it triggers rebuilds where the git info
    is in fact not needed at compiletime; all uses are replaced by parsing
    `gitinfo.txt`.
    
    Instead, create `etc/gitinfo.txt` even if the source directory is not a git
    repo. This only works for releases (even `ROOT_PATCH_VERSION`), where the
    tag and the branch can be determined from the version numbers.
    Axel-Naumann committed Oct 1, 2023
    Configuration menu
    Copy the full SHA
    52ac8a0 View commit details
    Browse the repository at this point in the history
  6. [build] Do not include etc/gitinfo.txt in source tarball:

    It can be generated at buildtime.
    Axel-Naumann committed Oct 1, 2023
    Configuration menu
    Copy the full SHA
    fe92f17 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2d856d2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f1a88a5 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3739d59 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    744dcde View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2023

  1. Configuration menu
    Copy the full SHA
    035f893 View commit details
    Browse the repository at this point in the history
  2. [math] Support TComplex arithmetic operations with any possible type

    Generalize the arithmetic operator overloads of TComplex to general
    arithmetic types with templates.
    
    I'm using some `enable_if` for arithmetic types only, so we can be sure
    that nothing unexpected will happen for non-arithmetic types that
    implement arithmetic operators with `double` themselves.
    
    Closes root-project#13730.
    guitargeek committed Oct 2, 2023
    Configuration menu
    Copy the full SHA
    fa46203 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3c1c78a View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2023

  1. Configuration menu
    Copy the full SHA
    d2f549b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    06a9a55 View commit details
    Browse the repository at this point in the history
  3. Fix potential crash of the rreader test on Windows (root-project#13782)

    * Fix potential crash of the rreader test on Windows
    
    Delete the `TFile` pointers, preventing a potential crash in `TROOT::CloseFiles()` when trying to call the `Close()` method on `TWebSocket`/`TWebFile` via the interpreter `CallFunc_Exec` on Windows (visble with LLVM 16)
    
    * Use `std::unique_ptr` instead of deleting the pointers (thanks Jonas)
    bellenot authored Oct 3, 2023
    Configuration menu
    Copy the full SHA
    6ee27eb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    94b4557 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6ac8f0a View commit details
    Browse the repository at this point in the history
  6. Add the TWebFile::Close(Option_t *option) method

    This is needed to properly close and delete the socket when closing the file in `TROOT::CloseFiles()`, preventing a potential issue when trying to close the socket afterwards
    bellenot committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    3e9c971 View commit details
    Browse the repository at this point in the history
  7. [cling] Emit const variables only once (root-project#13614)

    Otherwise they are emitted as internal and we get double-construction
    and -destruction on the same memory address due to the way we promote
    internal declarations in KeepLocalGVPass.
    
    According to upstream tests, the de-duplication doesn't work on Windows
    (yet), but I think this problem is severe enough to fix it on the other
    platforms sooner rather than later.
    
    Fixes root-project#13429
    hahnjo authored Oct 3, 2023
    Configuration menu
    Copy the full SHA
    2dc5786 View commit details
    Browse the repository at this point in the history
  8. [metacling] Lock TCling::CheckClassTemplate

    Public interface creating an interpreter transaction, needs locking.
    vepadulano committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    0fd78c1 View commit details
    Browse the repository at this point in the history
  9. [df] Clarify usage of OnPartialResult callbacks

    * Change name of the RLoopManager data member that stores callbacks registered via RResultPtr::OnPartialResult.
    * Be more specific in the docs.
    vepadulano committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    e76de54 View commit details
    Browse the repository at this point in the history
  10. [df] Avoid clearing sample callbacks after event loop

    Sample callbacks can be registered by an RAction or an RDefinePerSample
    instance. In both cases, the lifetime of the callback is tied to the lifetime of
    the object itself. Avoid eager clearing of the callbacks so to not interfer with
    the normal functioning.
    vepadulano committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    eb911c6 View commit details
    Browse the repository at this point in the history
  11. [df] Add test for cloning actions with DefinePerSample

    This is a reproducer test for some sporadic CI failures, e.g.
    
    ```python
    ========================================================================== FAILURES ===========================================================================
    _______________________________________________________ TestDefinePerSample.test_definepersample_simple _______________________________________________________
    
    self = <check_definepersample.TestDefinePerSample object at 0x13e0c6190>, connection = <Client: 'tcp://127.0.0.1:55253' processes=2 threads=2, memory=4.00 GiB>
    
        def test_definepersample_simple(self, connection):
            """
            Test DefinePerSample operation on three samples using a predefined
            string of operations.
            """
    
            df = Dask.RDataFrame(self.maintreename, self.filenames, daskclient=connection)
    
            # Associate a number to each sample
            definepersample_code = """
            if(rdfsampleinfo_.Contains(\"{}\")) return 1;
            else if (rdfsampleinfo_.Contains(\"{}\")) return 2;
            else if (rdfsampleinfo_.Contains(\"{}\")) return 3;
            else return 0;
            """.format(*self.samples)
    
            df1 = df.DefinePerSample("sampleid", definepersample_code)
    
            # Filter by the sample number. Each filtered dataframe should contain
            # 10 entries, equal to the number of entries per sample
            samplescounts = [df1.Filter("sampleid == {}".format(id)).Count() for id in [1, 2, 3]]
    
            for count in samplescounts:
    >           assert count.GetValue() == 10
    E           AssertionError
    
    check_definepersample.py:62: AssertionError
    -------------------------------------------------------------------- Captured stderr setup --------------------------------------------------------------------
    RDataFrame::Run: event loop was interrupted
    2023-09-08 14:51:57,002 - distributed.worker - WARNING - Compute Failed
    Key:       dask_mapper-a92ac090-9407-4849-921a-d187ceffd3ed
    Function:  dask_mapper
    args:      (EmptySourceRange(exec_id=ExecutionIdentifier(rdf_uuid=UUID('5d67c0a7-58f4-488d-8e44-bb5aa0fac480'), graph_uuid=UUID('69353465-0a90-4eef-b101-a1eb93f0c13a')), id=0, start=0, end=50))
    kwargs:    {}
    Exception: "RuntimeError('C++ exception thrown:\\n\\truntime_error: Graph was applied to a mix of scalar values and collections. This is not supported.')"
    ```
    
    Which is due to Dask assigning two tasks to the same worker for the test with
    the DefinePeSample calls. The Count operation would fail to report the correct
    amount of entries due to the fact that the DefinePerSample callback was
    previously deleted at the end of every event loop, specifically at the end of
    the first task's event loop. Consequently, when the second task starts and it
    picks up the same RDataFrame to clone the action, the DefinePerSample would
    never be actually called.
    vepadulano committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    d56150a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    7eed7ec View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    07872d9 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2023

  1. Configuration menu
    Copy the full SHA
    0983b37 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e8941e7 View commit details
    Browse the repository at this point in the history
  3. [interpreter] Require LLVM 16

    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    7729241 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2682b62 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    167a2c6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d087ea8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    eb06264 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    26e810b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4547571 View commit details
    Browse the repository at this point in the history
  10. [cling] Adapt arguments for updated APIs

    Forwarding data (differently) or passing trivial parameters.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    d57c7c3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    550fbff View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    e771adb View commit details
    Browse the repository at this point in the history
  13. [cling] SubstDefaultTemplateArgumentIfAvailable

    ... takes an additional vector for canonical arguments.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    ae0be65 View commit details
    Browse the repository at this point in the history
  14. [cling] MultiLevelTemplateArgumentList

    ... takes a Decl and a boolean argument Final.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    5219855 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    ae42517 View commit details
    Browse the repository at this point in the history
  16. [cling] Adapt and heavily simplify ClingJITLinkMemoryManager

    Now we can just inherit from InProcessMemoryManager and override the
    deallocate() method.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    51e0c61 View commit details
    Browse the repository at this point in the history
  17. [cling] Lexer does not expose getLangOpts() anymore

    Store a reference ourselves. Also Lexer::isIdentifierBodyChar() was
    renamed to Lexer::isAsciiIdentifierContinueChar().
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    cf48788 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    974ec61 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    1641e9f View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    ffed3db View commit details
    Browse the repository at this point in the history
  21. [cling] Remove PMBuilder members

    These two fields don't exist anymore in LLVM 16.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    68615b5 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    01234a2 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    a4e12c7 View commit details
    Browse the repository at this point in the history
  24. [cling] Don't print name of EnumDecl if there is none

    The function overload without PrintingPolicy is not available in
    LLVM 16, see https://reviews.llvm.org/D134813.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    968ae84 View commit details
    Browse the repository at this point in the history
  25. [cling] Adapt to updated forgetDecl signature

    The GlobalDecl parameter wasn't used since quite some time.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    351cd26 View commit details
    Browse the repository at this point in the history
  26. [cling] Remove extension of legacy pass manager

    adjustPassManager was only used for a few backends, such as AMDGPU
    and NVPTX, but not on the CPU architectures we care about.
    The DiscriminatorsPass was also removed upstream Clang, see commit
    llvm/llvm-project@2978d02681.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    78b7dcf View commit details
    Browse the repository at this point in the history
  27. [cling] Update handling of ElaboratedType in GetFullyQualifiedType

    In LLVM 16, we now get ElaboratedType far more often, but they don't
    have all namespace qualifiers we need. This fixes the build of the
    RooFitCore module, but many other places are likely affected as well.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    ccc0332 View commit details
    Browse the repository at this point in the history
  28. [cling] Update registration of atexit handlers

    GenericLLVMIRPlatformSupport now declares atexit, which leads to a
    duplicate symbol error during startup and fails the transaction.
    Completely switch to the provided infrastructure and just override
    the helpers to register the functions with our Interpreter.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    3aafd3f View commit details
    Browse the repository at this point in the history
  29. [cling] Handle UsingType in GetPartiallyDesugaredType

    According to llvm/llvm-project@af27466c50,
    it is used to represent types pulled in with a using declaration, for
    example `using std::error_code; error_code x;`.
    
    This fixes the build of the ROOTTMVASofie module on macOS where this
    was causing `std::size_t` not be fully desugared to `unsigned long`
    at first to later end up with two identical classes in a list that
    must not have duplicates.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    2ecf3f2 View commit details
    Browse the repository at this point in the history
  30. [cling] Handle ElaboratedType in ReSubstTemplateArg

    In LLVM 16, we get ElaboratedType's in TemplateArgument's and need
    to recurse into them. This fixes the handling of Double32_t in the
    test roottest-root-io-double32-make.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    bc5fb71 View commit details
    Browse the repository at this point in the history
  31. [win64] Disable Cling optimizations

    With the upgrade to LLVM 16, we again have test failures due to crashes
    and output ordering compared to the reference files.
    
    This reverts commit 47277df.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    77f54af View commit details
    Browse the repository at this point in the history
  32. [TCling] Prepend drive letter to absolute path

    This seems to be required with LLVM 16 on Windows and fixes
    roottest/root/meta/callfunc/assertUnload.C
    bellenot authored and hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    7d2314d View commit details
    Browse the repository at this point in the history
  33. [cling] Avoid unloading Decls not found in DeclContext

    This fixes roottest/root/meta/tuple/exec_configtype_unload.C on Windows.
    
    Co-authored-by: Bertrand Bellenot <Bertrand.Bellenot@cern.ch>
    hahnjo and bellenot committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    8ed973e View commit details
    Browse the repository at this point in the history
  34. [cling] Fix preprocessor option parsing

    Exclude options::DXCOption to avoid confusing the parser with the
    second -E option.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    f315199 View commit details
    Browse the repository at this point in the history
  35. [cling] Expect normalized alias option offload_device_only

    See also commit de84bfc during the previous LLVM upgrade...
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    9a8f5f0 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    93be030 View commit details
    Browse the repository at this point in the history
  37. Update expected template names in TClingMethodInfoTests.cxx

    LLVM now fully qualifies template template parameters when printing,
    since commit llvm/llvm-project@5fb3f43778
    As pointed out in that message, this makes it consistent with type
    parameters, so add an additional test (Yd1) that would have already
    passed with LLVM 13.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    bfc2ab7 View commit details
    Browse the repository at this point in the history
  38. [cling] Remove elaborated keyword from output checks

    LLVM 16 honors how the declarations were written, without the class
    or struct keywords.
    hahnjo committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    f30e958 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    9844bd8 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    6ac259a View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    1d2c584 View commit details
    Browse the repository at this point in the history