https://github.com/root-project/root

sort by:
Revision Author Date Message Commit Date
51dc846 io: Avoid infinite recursion in TFile::Open This fixes #15590 23 May 2024, 17:56:10 UTC
27b1cd2 fBits read: preserve kIsOnHeap, always set kNotDeleted. Rather than reading from the file the value of kIsOnHeap, preserve the value that was calculated at object creation time (i.e. in the current execution). For example, for an embedded object (inside an object created on the heap or stack), the bit always need to be off (i.e. it can never be explicitly deleted) 20 December 2023, 18:00:17 UTC
90412fa [PyROOT] Only forward some tp_flags The pyobj's tp_flags can have a number of other bits set, for example Py_TPFLAGS_HEAPTYPE and Py_TPFLAGS_BASETYPE. Only forward the two bits for Py_TPFLAGS_HAVE_GC and (since Python 3.11) Py_TPFLAGS_MANAGED_DICT. This fixes test failures seen with a Debug build on Fedora 38, but likely affecting all builds against Python 3.11. 31 October 2023, 22:27:00 UTC
9c19ac6 [PyROOT] Fixes for garbage collection in Python 3.11 According to the list of changes in Python 3.11: https://docs.python.org/3.11/whatsnew/3.11.html types defined with the Py_TPFLAGS_HAVE_GC flag set but with no traverse function (PyTypeObject.tp_traverse) will cause an error. The above is true for a few types that are defined in cppyy. This commit removes the aforementioned flag from those type definitions with no traverse function. It also sets the right flags for the nonified object type; this fixes the teardown GC crashes observed when the internal memory management of ROOT was involved (e.g. the garbage collection of a tree that belongs to a file). 31 October 2023, 22:27:00 UTC
be94ae9 [PyROOT] Py_TYPE is changed to an inline static function in Py3.11 As mentioned in the Python docs: https://docs.python.org/3.11/whatsnew/3.11.html Already available upstream in: https://github.com/wlav/CPyCppyy/commit/a8f41df0618f40ecc9a2a0b5a51fd12ddf2e6673 31 October 2023, 22:27:00 UTC
149c9a6 [PyROOT] Prevent cast error when calling PyTuple_SET_ITEM in 3.11 PyTuple_SET_ITEM ends up calling _PyObject_CAST(nullptr) which causes "error: invalid cast from type 'std::nullptr_t' to type 'const PyObject*' {aka 'const _object*'} 31 October 2023, 22:27:00 UTC
07d090c [TPython] PySys_SetArgv is deprecated in 3.11 We should use the new PyConfig API of the Python Initialization Configuration instead. See: https://docs.python.org/3.11/whatsnew/3.11.html#id7 31 October 2023, 22:27:00 UTC
89c8263 [PyROOT] code.h must not be included directly in 3.11 It has been moved to Include/cpython, and it is included by Python.h. See: https://docs.python.org/3.11/whatsnew/3.11.html 31 October 2023, 22:27:00 UTC
1b8f16c io: Do not turn on automatically MustClean for TDirectory 21 August 2023, 16:48:14 UTC
acd257b Delete the object held by gROOT after we reset the globals. For example this allows unique_ptr to be deleted first and thus inform TROOT if need be. Fix #13462 16 August 2023, 22:45:30 UTC
8cd1e9d Fix long long error in findBuiltinType 07 June 2023, 14:16:29 UTC
e92a604 [skip-ci] with the new doxygen the doc footer was corrupted (#12885) (cherry picked from commit d05fe4830381c2ebd435ae8111be3807802ccbbf) 26 May 2023, 12:08:48 UTC
969466b TTreeCache::FillBuffer extent internal code doc 23 May 2023, 23:58:07 UTC
afc71f6 TTreeCache: handle binary search failure 23 May 2023, 23:58:07 UTC
0c46522 TTree::Cache Use binary search instead of linear search for first basket. On an extreme example: 15,272,928 entries 152,739 baskets (and as many clusters) 10,000 Actual TTreeCache buffer size (minimum allowed) 8,442 estimated buffer size of TTreeCache (1.5 times compressed buffer size) 400 bytes per baskets 100 entries per baskets (i.e. per clusters) 25 number of cluster per TTreeCache buffer for single branch with default size. 1 float per entry (reading a single branch). we gain 20% run time on a call to `Tree::Draw` 23 May 2023, 23:58:07 UTC
d279821 TTreeCache correct place cache (avoid O(N^2) behavior Prior to this change, the cache of which basket to start the search on would restart from the first basket at each cluster iteration (i.e. for filling the cache with with clusters) On an extreme example: 15,272,928 entries 152,739 baskets (and as many clusters) 10,000 Actual TTreeCache buffer size (minimum allowed) 8,442 estimated buffer size of TTreeCache (1.5 times compressed buffer size) 400 bytes per baskets 100 entries per baskets (i.e. per clusters) 25 number of cluster per TTreeCache buffer for single branch with default size. 1 float per entry (reading a single branch). This ends up repairing the performance of a simple `TTree::Draw` of a single branch from 1 hour back down to 7s (performance seem in v6.12). This correct an issue introduced by commit 73f6223d0c9 first since in v6.14/00 This fixes #12649 23 May 2023, 23:58:07 UTC
2cfd159 Always enable cache in TTreePlayer unless explicitly disabled. Previously depending whether the TTreeCache was globally enabled or disabled and whether fAutoFlush was set or not, the TTreeCache would be enabled or not. In particular no longer rely on TTree::Streamer setting fCacheSize to an estimated value when the TTreeCache is disabled globally (The old code lead to the cache being enabled even-though it was disabled). Note/Reminder: `TTreePlayer::Process` (and hence `TTree::Draw`) does not rely on the global setting on whether the cache should be used or not and only respect an explicit disabling of the cache for the specific `TTree` being used. 23 May 2023, 23:58:07 UTC
6804611 Add TTree::EnableCache 23 May 2023, 23:58:07 UTC
ebf6fab TTree::GetCacheAutoSize factor out size calculation 23 May 2023, 23:58:07 UTC
ff35104 TreeCache fallback size should not use cacheFactor 23 May 2023, 23:58:07 UTC
2e81322 [cmake] Correct typo in REFLEX_GENERATE_DICTIONARY. This corrects the content of 6efc1684a62d37ccfa582cbbe3605995201ea7cb [cmake] Protect against empty COMPILE_DEFINITIONS in genreflex command 25 April 2023, 12:31:22 UTC
1b9fa6c [cmake] Protect against empty COMPILE_DEFINITIONS in genreflex command This applies the change made to ROOT_GENERATE_DICTIONARY in the main branch commit 08ab7e0306 to GENREFLEX_GENERATE_DICTIONARY. This commit in conjunction with 08ab7e0306 fixes #11312. See commit 08ab7e0306 and issue #11312 for more details on the issue and solution. 25 April 2023, 12:31:22 UTC
efbd5b1 [cmake] Protect against empty `COMPILE_DEFINITIONS` in rootcint command In the `rootcint` command defined in `RootMacros.cmake`, the `COMPILE_DEFINITIONS` from the target are forwarded as compiler flags. The `COMPILE_DEFINITIONS` are stored in the `module_defs` variable with a generator expression: ``` set(module_defs $<TARGET_PROPERTY:${ARG_MODULE},COMPILE_DEFINITIONS>) ``` Then, the definitions are added to the rootcint command with this expression: ``` "$<$<BOOL:${module_defs}>:-D$<JOIN:${module_defs},;-D>>" ``` This code was almost copied exactly from the CMake documentation example: https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html In particular, the `BOOL` check makes sure that the if the target property is empty, we will not get a bare `-D` with nothing after it, corrupting the rootcint command. However, there is no protextion against the case where the `COMPILE_DEFINITIONS` target property is not empty, but its elements are empty strings! This happened to me in my recent build. Instead of trying to figure out where the empty strings are added to the `COMPILE_DEFINITIONS`, it is better to also protect against empty target property elements in the CMake generator expressions, which is implemented in this commit. 25 April 2023, 12:31:22 UTC
14ee1f8 TTree Bulk IO prevent leak of ready-to-reuse basket 09 December 2022, 18:26:21 UTC
36e4b2c TBranch::GetEntriesSerialized avoid leaking TBaskets This applies fixes that were introduce to GetBulkEntries in 61c9927f1ab and 60ad1481a66 09 December 2022, 18:26:21 UTC
c8b5a6f TTreeReaderArrayBase::CreateProxy Improve numerical type matching. This applies the change similar to 16f11e363c5 and 53a610fa2de that were done on TTreeReaderValue to the array case. In particular it properly handle the double/Double32_t, float/Float16_t, Long64_t, char/signed char 'spurrious' difference/rejection. 08 December 2022, 00:14:51 UTC
ea662d4 Avoid TPad::fFrame double delete when read from file This fixes #11747 As seen in https://github.com/cms-sw/cmssw/issues/40091 the code in `TPad::Close`: ``` if (fPrimitives) fPrimitives->Clear(); if (fView) { if (!ROOT::Detail::HasBeenDeleted(fView)) delete fView; fView = nullptr; } if (fFrame) { if (!ROOT::Detail::HasBeenDeleted(fFrame)) delete fFrame; fFrame = nullptr; } ``` is failing in the case of reading a pad from a file in at least some circumstances. `TPad::Streamer` explicit set the bit `kCanDelete` on all objects in the list of primitives, thus including the view and the frame which have their `kCanDelete` bit explicitly reset elsewhere (in the code run during the initial creation of the frame and view). This means that avoiding the a double deletion (the first is now during the `fPrimitives->Clear()`) relies on the heuristic of `HasBeenDeleted` to work properly, at least in the case seen in cmssw above) it does not and lead to crash. 07 December 2022, 17:36:51 UTC
0793449 Add Rint as a dependency of rootcling `TCling.cxx`’s `RegisterCxxModules` loads explicitly several modules including `Core`, `Rint` and `RIO`. When executing rootcling (for example for G__Net.cxx) *before* `G__Rint.cxx` was created and thus before `lib/Rint.pcm` was properly created, a default `lib/Rint.pcm` is auto-generated and registered as one of the dependencies. Later the real `lib/Rint.pcm` is created is creation date is later than other `pcm` than depends-on/uses it’s creation time. For example: ``` $ ls -lart lib/Net.pcm lib/MultiProc.pcm lib/Imt.pcm lib/MathCore.pcm lib/Rint.pcm -rw-r--r-- 1 pcanal pcanal 1158548 Nov 10 20:26 lib/Net.pcm -rw-r--r-- 1 pcanal pcanal 1278392 Nov 10 20:27 lib/MultiProc.pcm -rw-r--r-- 1 pcanal pcanal 2032752 Nov 10 20:27 lib/Imt.pcm -rw-r--r-- 1 pcanal pcanal 12911448 Nov 10 20:27 lib/MathCore.pcm -rw-r--r-- 1 pcanal pcanal 444724 Nov 10 20:35 lib/Rint.pcm ``` then later uses of those `pcm` leads to the (mis-worded) error message: ``` <<< cling interactive line includer >>>: fatal error: module file '/home/neel/Desktop/Root/build/lib/Rint.pcm' is out of date and needs to be rebuilt: could not read module signature <<< cling interactive line includer >>>: note: imported by module 'MathCore' in '/home/neel/Desktop/Root/build/lib/MathCore.pcm' Error: Module 'MathCore.pcm' failed to load. Error: Error loading the default rootcling header files. make[2]: *** [math/mathmore/CMakeFiles/G__MathMore.dir/build.make:130: math/mathmore/G__MathMore.cxx] Error 1 ``` See the related circumstances in https://root-forum.cern.ch/t/wsl-build-from-source-error-rint-pcm-is-out-of-date-cannot-read-module-signature/47564/39 The stack trace that was triggers the auto-generation of `Rint.pcm` at /home/pcanal/root_working/code/master/interpreter/llvm/src/tools/clang/lib/Sema/SemaModule.cpp:325 at /home/pcanal/root_working/code/master/interpreter/cling/lib/Interpreter/Interpreter.cpp:908 at /home/pcanal/root_working/code/master/interpreter/cling/lib/Interpreter/Interpreter.cpp:872 at /home/pcanal/root_working/code/master/core/metacling/src/TCling.cxx:1590 11 November 2022, 22:36:31 UTC
ab29766 Fix datasource_arrow.cxx test Explicitly include `arrow/testing/builder.h` to make sure ArrayFromVector is available. Probably it was being included implicitly before. 31 October 2022, 16:12:28 UTC
d065613 [core] Guard gInterpreterMutex in TClingClassInfo::IsEnum Fixes https://github.com/root-project/root/issues/11515 This method leads to contention in some specific scenarios (see linked issue). Co-authored-by: Philippe Canal <pcanal@fnal.gov> 20 October 2022, 20:03:05 UTC
dadead0 Revert "Revert "[cxxmodules] Allow submodules to contain headers which may be missing."" ROOT 6.24 only requires C++11 and we want to continue supporting the likes of GCC 4.8.5 (on CentOS 7) and GCC 5.4.0 (on Ubuntu 16.04). This reverts commit 44a0c8dcc3e47b3bc7d9677f940384d63074fd97. 17 October 2022, 15:18:10 UTC
44a0c8d Revert "[cxxmodules] Allow submodules to contain headers which may be missing." This reverts commit f4ea5ad76c74671ebbdfb64fdaeffb986811420d. We do not need to support gcc 4.8 anymore. 15 October 2022, 08:52:28 UTC
23aed3a fix display of items in TBrowser that have checkbox against them on mac (with cocoa) 12 October 2022, 14:03:41 UTC
6f9ce10 Add support for Bulk I/O with SetClusterPrefetch This fixes #8962 The code pattern is similar to 0987896c2d8d49a0e5723ee2ac792eb33fa3ee34 Add infrastructure for sharing memory in a TBuffer. 11 October 2022, 20:17:09 UTC
e76c52d [relnotes] Fix formatting. 05 October 2022, 13:57:30 UTC
1da840d Force storing of StreamerInfo for nested non-split but memberwise streamed collection. This fix #11436 04 October 2022, 15:48:58 UTC
d22ce31 "Update ROOT version files to v6.24/09." 29 September 2022, 13:10:36 UTC
7290057 "Update ROOT version files to v6.24/08." 29 September 2022, 13:03:06 UTC
f24e78d [ReleaseNotes] 6.24/08. 29 September 2022, 12:51:32 UTC
788980c Fix #11383 (deadlock at initialization) (#11384) Previously if a message (for example warning of duplicate dictionary) happened during intialization, it would trigger the initialization of gROOT and could trigger a nested Warning. for example due to the duplicate rootmap file entry and would cause a dead lock (recursiverly taking the non recursive lock GetErrorMutex(). 20 September 2022, 16:43:21 UTC
b4e5105 Putting in sync the materials implementation file with the master. 05 September 2022, 14:23:30 UTC
11db70b [geom] Fix for mixture creation based on repeating elements. (#11293) (cherry picked from commit 84f2c40f67d09e07847b8ea3de469743a6c0ebcd) 05 September 2022, 14:23:30 UTC
7ed3d54 cling: Improve support for expression in template re-substitution. This addresses the issue described in #11259. In particular it handles the case where the template parameter is a value. i.e. in the inner template of ``` __and_<is_constructible<_Rb_tree_iterator<pair<const unsigned int,string> >,const _Rb_tree_iterator<pair<const unsigned int,string> >&>,is_constructible<bool,const bool&> > ``` 02 September 2022, 03:24:43 UTC
18b47dc TTreeReaderArray: add support for Double32_t and Float16_t 02 September 2022, 03:23:13 UTC
6470225 TDataType: add builtins for Double32_t and Float16_t 02 September 2022, 03:23:13 UTC
a8c4d8e Fix to compute radiation length on call TGeoMixture::ComputeDerivedQuantities() (#11115) (#11141) cherry-picked from cd992545ae 09 August 2022, 11:51:33 UTC
39ac404 Update the freetype library from 2.6.1 to 2.12.1 This fixes the graphics with the latest Visual Studio 2022 (17.2) 08 August 2022, 06:45:45 UTC
dac6fdf Fix computation of the radiation length and nuclear interaction lengt… (#11060) (#11103) * Fix computation of the radiation length and nuclear interaction length when ROOT uses G4 units * Fix computation of the radiation length and nuclear interaction length when ROOT uses G4 units (cherry picked from commit 103bb7e4d930b4921debceec6ad7d418bacae4fc) Co-authored-by: MarkusFrankATcernch <MarkusFrankATcernch@users.noreply.github.com> 03 August 2022, 19:29:18 UTC
6188dfc Fix bug in TLatex::Copy method TAttLine::Copy was using wrong cast for target object. As a result, line attributes were overwriting some base TObject members 08 July 2022, 06:02:23 UTC
b5aa8fd Minor Geometry optimization [v6-24] (#10641) * Return node created in AddNode call * Allow skipping of voxelization in CloseGeometry call 24 May 2022, 15:05:41 UTC
c33b413 [cxxmodules] Reduce the amount of header duplications in the modules. This resolves a merging bug with libstdc++12. Fixes root-project/root#10478 Backport includes the following commit: [cxxmodules] Fix std.modulemap for older GCC (#10529) The header bits/utility.h only exists since libstdc++-12. (cherry picked from commits e88d533f1c79754dae892249818f53d0155e88fa and 2750395660c5c8c3ae617a18fefd27193587ec79) 17 May 2022, 15:13:27 UTC
ecf00e2 [cling] Do not throw CompilationExceptions on Apple M1 (#10564) See https://github.com/root-project/root/issues/7541 for details. Closes #10548 11 May 2022, 15:34:48 UTC
ab069fc stdpair: Don't reuse of emulated StreamerInfo (when having compiled info) Also: don't read past the end of the array of StreamerInfo (the indices start at -1) 28 April 2022, 19:01:05 UTC
6d8801b Add missing 'continue' to actually enable cache in StdLen 12 April 2022, 14:40:17 UTC
3ec9414 Split static init and lambda decl. Hopefully this does not increase the number of statics 12 April 2022, 14:40:16 UTC
9b40937 TClassEdit: simplify and reduce cost of static initialization. 12 April 2022, 14:40:16 UTC
3b8d825 TClassEdit: make usage of static cache container thread safe. This should fix issue #10353. 12 April 2022, 14:40:15 UTC
f22a1bf [math] Remove unused variables to fix build warnings on `mac12arm` 12 April 2022, 07:45:17 UTC
b143a04 [cling] Remove unused variables to fix build warnings on `mac11arm` 12 April 2022, 07:45:17 UTC
3c21b04 [NFC] Simplify code in TListOfEnums 06 April 2022, 15:50:38 UTC
613c085 Remove unnecessary trailing semi-colon 06 April 2022, 15:50:38 UTC
59405bf CollectionProxy: pass pair hint to R__CreateValue 06 April 2022, 15:50:38 UTC
ee73b35 Avoid reading pass the end of the StreamerInfo container. This was happening when, inadvertently, StreamerInfo were created multiple times and then immeditately deleted (for map<enumtype_without_dict, somethinelse>) 06 April 2022, 15:50:38 UTC
a2cd94b TGenCollectionProxy init: fail if the value's StreamerInfo is not there. This happened in a user case where the container (map) for a pair of an enum, which had not dictionary and something else that did have a dictionary. 06 April 2022, 15:50:38 UTC
c8b7fc6 TBufferFile: create StreamerInfo only if needed. In the 'root_serialization' use case, we ended in TBufferFile::WriteClassBuffer with no StreamerInfo created yet for the TClass for `std::vector<float>` and thus go into the branch that creates the StreamerInfo ... However, at least in that case, the call to `BuildRealData` induced the creation of the StreamerInfo but the code in `TBufferFile::WriteClassBuffer` did not notice and thus create a second one and tried to register it in the same slot. (The actual negative side effect was only an error message and a memory leak). 06 April 2022, 15:50:38 UTC
e6a004f Do the pair TClass StreamerInfo refresh only when needed 06 April 2022, 15:50:38 UTC
9db66f4 TClass: clear fLastReadInfo, fCurrentInfo when deleting TStreamerInfos 06 April 2022, 15:50:38 UTC
ae28b2e pair: Also treat unordered map 06 April 2022, 15:50:38 UTC
881426a Don't put class' enum in rootpcm global list of enums 06 April 2022, 15:50:38 UTC
32f7ab5 TProtoClass::FillTClass: Create a ListEnumsWithLock when needed 06 April 2022, 15:50:38 UTC
eb9b9fa When resetting a pair's StreamerInfo inform all collection proxies 06 April 2022, 15:50:38 UTC
dc249b1 TGenCollectionProxy: add missing nullptr protection 06 April 2022, 15:50:38 UTC
d4cbf0e Add missing TListOfEnums::FindObject. We already had TListOfEnumsWithLock but TListOfEnums::FindObject is used by rootcling 06 April 2022, 15:50:38 UTC
8617d35 io: Correct offset passed from SyntheticPair to StreamerInfo. This was a fatal typo in 96784051cc6 pair: properly update StreamerInfo. 06 April 2022, 15:50:38 UTC
e78077a rootcling: record Enum used by classes and collection. When encountering a data member of a class that is a enum or if it is use in a map or multimap, record the enum in the rootpcm. 06 April 2022, 15:50:38 UTC
8c43dd3 TStreamerInfo::Clear, also reset TStreamerElement's offset 06 April 2022, 15:50:38 UTC
98c79ba When loading a TClass for map, also update the pair's TClass. This is done also for multimap. 06 April 2022, 15:50:38 UTC
0327c93 rootpcm: Read enums before class to get the correct underlying type. 06 April 2022, 15:50:38 UTC
4b08829 [cling] Do not ACLiC-link against (non-existent) libcrypto: macOS12 moves some libs into binary blobs, they cannot be linked against. Instead, rely on whoever needs it to dlopen it, but do not ask ACLiC to link against it. Fixes ArgumentPassingCompiled_C.so on macOS 12. 24 March 2022, 06:42:36 UTC
5409404 [cling] Do not ACLiC-link against (non-existent) libssl: macOS12 moves some libs into binary blobs, they cannot be linked against. Instead, rely on whoever needs it to dlopen it, but do not ask ACLiC to link against it. Fixes ArgumentPassingCompiled_C.so on macOS 12. 24 March 2022, 06:42:36 UTC
04d8d27 [CMake][9793] Fix RPATH when linking with XCode Python on MacOS As found here: https://gitlab.kitware.com/cmake/cmake/-/issues/21947 we need to specify: target_link_options(target-name PRIVATE ${Python3_LINK_OPTIONS}) so that libROOTTPython and libPyMVA are linked with the right RPATH, when linking against the XCode Python(3) on MacOS(11,12). Otherwise, the following error appears when loading the libraries: cling::DynamicLibraryManager::loadLibrary(): dlopen(.../mac12/SPEC/soversion/V/master/build/lib/libROOTTPython.6.25.02.so, 0x0009): Library not loaded: @rpath/Python3.framework/Versions/3.8/Python3 23 March 2022, 20:23:09 UTC
31f4fad TClass for pair: avoid gathering information too early 21 March 2022, 16:44:14 UTC
26d6461 Always set kIsForeign bit for std::pair's TClass 21 March 2022, 16:44:14 UTC
55a3a6b TClass: Add clarifying comment 21 March 2022, 16:44:14 UTC
5852b70 Correcting impl of TClassEdit::IsStdPairBase(TStringView) 21 March 2022, 16:44:14 UTC
97ae6e0 Remove obsolete code comment 21 March 2022, 16:44:14 UTC
befc127 pair: properly update StreamerInfo Make sure that an old StreamerInfo transfered from an emulated TClass into a compiled or synthetic TClass is properly reset (correct TStreamerElement offfset and correct size). 21 March 2022, 16:44:14 UTC
c77babd BuildCheck: import old StreamerInfo. Because enums can change underlying type (especially since gathering the enum underlying info was inconsistent between TStreamerInfo::GenerateInfoForPair and TDataMember::Init, the schema layout for a std::pair *can* change .... 21 March 2022, 16:44:14 UTC
6b59b0a BuildCheck: std::pair is always unversioned 21 March 2022, 16:44:14 UTC
4ac1c2c TClass::IsForeign: always true for std::pair 21 March 2022, 16:44:14 UTC
5911ad0 TClass: look for collection to generate pair's TClass from. If we don't have a dictionary for a std::pair and do not have (in the call to TClass::Init) the hints necessary to build it correctly (offset and size), then look for a related collection (STL associated container) that would induce the generation of the std::pair's TClass (it's collection proxy has the necessary information). 21 March 2022, 16:44:14 UTC
be85384 TClass: don't complain about dict for pair's base class 21 March 2022, 16:44:14 UTC
b672505 tree: Always register FriendElement in external list. Always add the TFriendElement (owned by the main TTree) with the friend tree's fExternalFriends list so that it can be reset if the friend is deleted before the main TTree. Also implement TFriendElement::RecursiveRemove 19 March 2022, 17:41:13 UTC
189c41c [test] Moved `FilterDiagsRAII` class to ROOTUnitTestSupport.h (cherry-picked from 8844e28d7792900932b826c37f755504cb75067f) 15 March 2022, 23:47:12 UTC
0d83b79 [tcling] Add test against issue #8622 (cherry-picked, adapted from 50df68b968975f5487aca06013b5fc126512441a) 15 March 2022, 23:47:12 UTC
0081553 [tcling] Suppress -Wunused-result diagnostics in wrappers generated by TClingCallFunc A TClingCallFunc wrapper function might look as the excerpt below, where the function denoted by `func` may have been annotated as `[[nodiscard]]`. Note that if `ret == nullptr` the result of the call is unused. ``` extern "C" void __cf_0(void* obj, int nargs, void** args, void* ret) { if (ret) { new (ret) (return_type) ((class_name*)obj)->func(args...); } else { ((class_name*)obj)->func(args...); } } ``` In turn, this triggers warnings when used by cppyy/PyROOT, e.g. ``` >>> import ROOT >>> v = ROOT.std.vector(int)() >>> v.empty() input_line_34:10:7: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result] ((const vector<int>*)obj)->empty(); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ True >>> ``` Given the above, the second call expression will be casted to `void`. Closes issue #8622. (cherry-picked from commit 69b58a1e87c3e30299a7c9d9d11f909667c9dd50) 15 March 2022, 23:47:12 UTC
37f3dc2 [tcling] Implement `TCling::ReportDiagnosticsToErrorHandler()` This function allows users to route clang diagnostics to the ROOT error handler. Closes issue ROOT-7587. (cherry-picked from commit c0cbfe1600317f836f7a2f87998d4c33a3886d69) 15 March 2022, 15:07:08 UTC
1f5d9aa [cling] Enable replacement of the default diagnostic consumer These changes enable the replacement of the default DiagnosticConsumer provided by CIFactory. Concretely, two member functions have been added to the Interpreter class: - replaceDiagnosticConsumer(): replaces the default CIFactory-provided DiagnosticConsumer. - hasReplacedDiagnosticConsumer(): returns whether the default diagnostic consumer has been replaced. (cherry-picked from commit 3dbf55d522ca867290243487837b21b6b451022f) 15 March 2022, 15:07:08 UTC
58c1e42 hadd: Remove inadvertent deletion (and subsequent re-reading) of TDirectory. This fixes issue #9939. The mechanism introduced in commits e97dc3678ae9da6628242afceca3142d6c319832 and 30fd4c79425c8be12be7af6fe1936317d1f5eec7 : TFileMerger delete directory only if we induced its creation/loading also had the unforunate consequence leading to the deletion of the TDirectory object when reading other objects, leading to the need to re-read the TDirectory objects as many time as object in the directory ... (This is triggered only for the 2nd and higher files). 11 March 2022, 23:30:52 UTC
5b2033c [skip-ci][win] Fix Visual Studio versions and add VS 2022 (#10035) * [skip-ci][win] Fix Visual Studio versions and add VS 2022 (#10033) * [skip-ci][win] Fix Visual Studio versions and add VS 2022 * [skip-ci][win] Add win64 * [skip-ci][win] Add a warning if MSVC_VERSION is not implemented * [skip-ci][win] Use FATAL_ERROR instead of WARNING 03 March 2022, 16:31:58 UTC
back to top