meta: Allow global disabling of AutoParsing during TClass::GetClass#222
meta: Allow global disabling of AutoParsing during TClass::GetClass#222smuzaffar wants to merge 2587 commits into
Conversation
|
A new Pull Request was created by @smuzaffar for branch cms/master/96292fedbc. @cmsbuild, @iarspider, @smuzaffar can you please review it and eventually sign? Thanks. |
|
cms-bot internal usage |
|
test parameters:
|
|
please test for CMSSW_15_1_ROOT6_X |
|
-1 Failed Tests: UnitTests RelVals The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic: You can see more details here: Unit TestsI found 2 errors in the following unit tests: ---> test TestFWCoreFramework had ERRORS ---> test testHeterogeneousCoreAlpakaTestWriteReadSerialSync had ERRORS RelVals |
143831c to
214f513
Compare
|
Pull request #222 was updated. |
|
please test for CMSSW_15_1_ROOT6_X |
|
-1 Failed Tests: UnitTests RelVals Unit TestsI found 4 errors in the following unit tests: ---> test test-das-selected-lumis had ERRORS ---> test test_edmPickEvents had ERRORS ---> test TestFWCoreFramework had ERRORS and more ... RelVals |
|
please test for CMSSW_15_1_ROOT6_X |
Idea to have exactly same interface as TPadPainter, but perform drawing on the TVirtualPS device. Add extra OnPad(pad) virtual method which specifies current pad which used for next commands
It replace pad painter by TPadPainterPS instance if gVirtualPS is detected. So PS painting can be done with pad painter API. At the end of Paint/PaintModified methods previous instance will be reset
Do not use gVirtualPS directly
Speical handling of TVirtualX in TPad::PaintBox. This method used for pad background painting and there difference between gVirtualX and gVirtualPS is significant. So keep two different handling of "native" (gVirtualX) and not-native kind of TPadPainter.
Excludes duplication of box boundary painting when fillstyle already 0. Appears in gmuiltierrors
So for both TVirtualX and TVirtualPS same code is used Slight difference in borders width calculation while before absolute pixel size was implemented in TVirtualPS
Create TSVG only after main canavas pad is selected with C->cd(); This important for size of created SVG image which ratio should correspond to ratio of pad pixel size
All four signature are changed
Need to provide special virtual method. Also supply default implementation
On the long run gVirtualPS should disappear
Similar to line, fill and text attributes while markers also used in pad painting
It is now not really necessary while attributes should be applied directly to pad painter
Now these methods act directly with actual pad painter to set attributes on device (gVirtualX or gVirtualPS) which is used. ModifyOn allows to work with pad pointer from user code
While new methods add to TAttLine and TAttFill
`NewPage()` used only PS to start page `IsCocoa()` let check if cocoa backend is used, invoved in several places `ResizeDrawable()` to change gVirtualX created pixmap Provide `TGLPadPainter::ClearDrawable()` while now pad painter API used in painting Now gVirtualPS usage in TPad minimized only to Print() method.
Only make sense when pad painter exists and has native funcitonality
Previously the output of ACLiC dependency generation stage was use the same name (in different directory) in all case on Windows to suppress the output of 'rmkdepend'. This commit changes the behavior by using the null device also on Windows (which fall backs if we can't determine the shell - but the fall back is now using a unique name).: Determine the null device based on the shell in use. COMSPEC unset or pointing to cmd.exe -> NUL COMSPEC pointing to powershell -> $null Anything else (e.g. bash/sh on Windows) -> `depfilename`.stderr.tmp
If TClass.cxx is build with the cpp macro: ROOT_DISABLE_TCLASS_GET_CLASS_AUTOPARSING defined, it will no longer do any auto-parsing during the execution of `TClass::GetClass`. This will result in not being able to find TClass-es when the name requires not-already loaded interpreted information (eg. a typedef to be resolved). Comments include additional possible interfaces to turn on this feature.
Use `gInterpreter->Print("autoparsed");` to print a list
of the class names that directly lead to auto-parsing.
Use `gCling->GetAutoParseClasses()` to programatically get a set
of the class names that directly lead to auto-parsing.
This allows to disable auto-parsing during `TClass::GetClass` for debugging purposes.
Use `gInterpreter->Print(autoloaded);` to print a list of the libraries that have been automaticaly loaded during TClass::GetClass and due to a symbol requested during code interpretation.
Add support for disabling the auto-parsing during TClass::GetClass by setting the
environment variable:
ROOT_DISABLE_TCLASS_GET_CLASS_AUTOPARSING
to any value.
214f513 to
9f38e06
Compare
|
This PR contains too many commits (2587 >= 240) and will not be processed. |
CMSSW tests for root-project#18402