Skip to content
Snippets Groups Projects
  1. Apr 07, 2023
  2. Apr 06, 2023
    • Jonas Rembser's avatar
      [RF] Avoid using `dynamic_cast` in RooFit JSONParser implementation · 7b1e9929
      Jonas Rembser authored
      This should fix some warnings in the CI:
      
      https://lcgapp-services.cern.ch/root-jenkins/view/ROOT%20Nightly/job/root-nightly-master/LABEL=mac11arm,SPEC=noimt,V=master/lastBuild/parsed_console/
      
      Also, the equality operator is replaced with the free function version
      because this is preferred in C++20.
      7b1e9929
    • Jonas Rembser's avatar
      [RF] Fix warning in RooVectorDataStore::RealFullVector schema evolution · 4c789be9
      Jonas Rembser authored
      This is a follow-up to 82d17fb6, fixing these warnings seen in the
      nightlies (Ubuntu 20.04):
      
      https://lcgapp-services.cern.ch/root-jenkins/view/ROOT%20Nightly/job/root-nightly-master/LABEL=ROOT-ubuntu2004-clang,SPEC=soversion,V=master/lastBuild/parsed_console/
      
      ```
      /home/sftnight/build/night/LABEL/ROOT-ubuntu2004-clang/SPEC/soversion/V/master/build/roofit/roofitcore/G__RooFitCore.cxx:8047:11: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
                if(onfile._vecEL) _vecEL = *onfile._vecEL; \
                ^
      /home/sftnight/build/night/LABEL/ROOT-ubuntu2004-clang/SPEC/soversion/V/master/build/roofit/roofitcore/G__RooFitCore.cxx:8046:7: note: previous statement is here
            if(onfile._vecE) _vecE = *onfile._vecE;    \
            ^
      
      /home/sftnight/build/night/LABEL/ROOT-ubuntu2004-clang/SPEC/soversion/V/master/build/roofit/roofitcore/G__RooFitCore.cxx:8048:11: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
                if(onfile._vecEH) _vecEH = *onfile._vecEH;
                ^
      /home/sftnight/build/night/LABEL/ROOT-ubuntu2004-clang/SPEC/soversion/V/master/build/roofit/roofitcore/G__RooFitCore.cxx:8047:11: note: previous statement is here
                if(onfile._vecEL) _vecEL = *onfile._vecEL; \
                ^
      ```
      4c789be9
    • Axel Naumann's avatar
      b52e2c8e
    • Axel Naumann's avatar
      [cmake] Pass isysroot to clang when determining stdlib incpath: · 3a57d244
      Axel Naumann authored
      isysroot influences where clang will pick up libc++. Without this, and with
      Xcode 14.3, cling will use libc++ from Xcode (or the command line tools) rather
      than stdc++ from the macOS SDK, as clang would normally use. Passing the isysroot
      (which point to the SDK) fixes this.
      
      This solves build errors such as:
      ```
      While building module 'Core':
      While building module 'std' imported from input_line_1:1:
      In file included from <module-includes>:17:
      In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/math.h:309:
      /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:462:1: error: cannot template a using declaration
      using _BoolConstant _LIBCPP_NODEBUG_TYPE = integral_constant<bool, _Val>;
      ^
      /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:462:21: error: C++ requires a type specifier for all declarations
      using _BoolConstant _LIBCPP_NODEBUG_TYPE = integral_constant<bool, _Val>;
                          ^
      /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:462:68: error: use of undeclared identifier '_Val'
      using _BoolConstant _LIBCPP_NODEBUG_TYPE = integral_constant<bool, _Val>;
                                                                         ^
      /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:462:73: error: expected '(' for function-style cast or type construction
      using _BoolConstant _LIBCPP_NODEBUG_TYPE = integral_constant<bool, _Val>;
                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
      ```
      3a57d244
  3. Apr 05, 2023
  4. Apr 04, 2023
  5. Apr 03, 2023
    • Bertrand Bellenot's avatar
      [c++20] Add spaceship operator <=> in TString (#12525) · 6fc4ddc2
      Bertrand Bellenot authored
      * [c++20] Add spaceship operator <=> in TString
      
      In the following code (from `TFormula.cxx`):
      ```
         map< std::pair<TString,Int_t>, pair<TString,TString> > functions;
         pair<TString, Int_t> key = make_pair(funName, dim);
         if (functions.find(key) == functions.end()) {
      ```
      `functions.find(key)` always returns `functions.end()`. Adding the spaceship operator `<=>` in TString fixes the issue.
      This fixes also many failing tests with `std:c++20`
      
      * Use __cpp_impl_three_way_comparison instead of __cplusplus version (thanks Bernhard Manfred Gruber!)
      
      * Apply suggestion from Bernhard Manfred Gruber
      
      * Make sure we only include <compare> with at least std=c++20
      
      * Implement the proper way (avoid hidden friend) thanks Bernhard
      
      * Prevent calling 'operator <=>' recursively
      
      Prevent the following warning on Windows:
      ```
      C:\root-dev\git\master\core\base\inc\TString.h(175,16): warning C5232: in C++20 this comparison calls 'std::strong_ordering operator <=>(const TString &,const TString &)' recursively
      ```
      6fc4ddc2
    • Enrico Guiraud's avatar
      [DF] Fix test for Display and RVec<bool> · 6d727b30
      Enrico Guiraud authored
      The expected output of Display was set to what Display returned,
      but what Display returned was wrong (because of #12597).
      6d727b30
    • Enrico Guiraud's avatar
      [DF] Fix Display of RVec<bool> · ba1e58b4
      Enrico Guiraud authored
      Before this commit, RDisplay forgot to reset the state of the
      collection representation between events.
      
      This fixes #12597.
      ba1e58b4
    • Jonas Rembser's avatar
      [RF] Fix memory leaks from `RooAbsL::getParameters()` · 3f925503
      Jonas Rembser authored
      The implementations of the virtual `RooAbsL::getParameters()` either
      returned an owning of a non-owning pointer, depending on the
      implementation class. RooSubsidiaryL returned a non-owning pointer, and
      the default implementation an owning pointer.
      
      The caller code of course doesn't know what to do with this, resulting
      in memory leaks.
      
      To fix this problem, the interface is suggested to return
      `std::unique_ptr<RooArgSet>`. Changing this interface now is okay
      because it has not been adopted by the users yet (it's from the new test
      statistic classes introduced in ROOT 6.26).
      3f925503
    • Jonas Hahnfeld's avatar
      [ntuple] Avoid warning about possibly uninitialized variable · 20bfd28b
      Jonas Hahnfeld authored
      As noted in commit 538396a8 some weeks ago, Clang 15 warns that the
      variable v may be used uninitialized because it does not understand
      the pointer hackery to read individual bytes.
      20bfd28b
  6. Mar 31, 2023
Loading