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
Simplify specifying consumes #31223
Simplify specifying consumes #31223
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-31223/17882
|
A new Pull Request was created by @Dr15Jones (Chris Jones) for master. It involves the following packages: FWCore/Framework @makortel, @smuzaffar, @cmsbuild, @Dr15Jones can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins.
|
-1 Tested at: 606f5f9 CMSSW: CMSSW_11_2_X_2020-08-24-1100 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: You can see the results of the tests here: I found follow errors while testing this PR Failed tests: Build ClangBuild
I found compilation error when building: /cvmfs/cms-ib.cern.ch/nweek-02643/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/include/c++/8.4.0/bits/stl_algobase.h:386:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = edm::EDGetTokenT*; _OI = edm::EDGetTokenT*]' /cvmfs/cms-ib.cern.ch/nweek-02643/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/include/c++/8.4.0/bits/stl_algobase.h:422:45: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = edm::EDGetTokenT*; _OI = edm::EDGetTokenT*]' /cvmfs/cms-ib.cern.ch/nweek-02643/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/include/c++/8.4.0/bits/stl_algobase.h:455:8: required from '_OI std::copy(_II, _II, _OI) [with _II = edm::EDGetTokenT*; _OI = edm::EDGetTokenT*]' /cvmfs/cms-ib.cern.ch/nweek-02643/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/include/c++/8.4.0/bits/vector.tcc:231:17: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = edm::EDGetTokenT; _Alloc = std::allocator >]' /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_2_X_2020-08-24-1100/src/JetMETCorrections/Type1MET/src/AddCorrectionsToGenericMET.cc:4:17: required from here /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_2_X_2020-08-24-1100/src/FWCore/Utilities/interface/EDGetToken.h:83:45: error: 'class edm::EDGetTokenT' has no member named 'consumes' EDGetTokenT temp(iAdapter.template consumes()); ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ gmake: *** [tmp/slc7_amd64_gcc820/src/JetMETCorrections/Type1MET/src/JetMETCorrectionsType1MET/AddCorrectionsToGenericMET.cc.o] Error 1 >> Building shared library tmp/slc7_amd64_gcc820/src/JetMETCorrections/Type1MET/src/JetMETCorrectionsType1MET/libJetMETCorrectionsType1MET.so c++: error: tmp/slc7_amd64_gcc820/src/JetMETCorrections/Type1MET/src/JetMETCorrectionsType1MET/AddCorrectionsToGenericMET.cc.o: No such file or directory
I found compilation error while trying to compile with clang. Command used:
>> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_2_X_2020-08-24-1100/src/Calibration/HcalCalibAlgos/plugins/HcalHBHEMuonAnalyzer.cc >> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_2_X_2020-08-24-1100/src/Calibration/HcalCalibAlgos/plugins/HcalHBHEMuonHighEtaAnalyzer.cc >> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_2_X_2020-08-24-1100/src/Calibration/HcalCalibAlgos/plugins/HcalIsoTrkAnalyzer.cc In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_2_X_2020-08-24-1100/src/Calibration/HcalCalibAlgos/plugins/HOCalibAnalyzer.cc:30: In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_2_X_2020-08-24-1100/src/FWCore/Framework/interface/EDAnalyzer.h:7: /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_2_X_2020-08-24-1100/src/FWCore/Framework/interface/EDConsumerBase.h:221:56: error: constexpr function's 1st parameter type 'edm::ESInputTag' is not a literal type [[nodiscard]] constexpr auto esConsumes(ESInputTag tag) noexcept { ~~~~~~~~~~~^~~ /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_2_X_2020-08-24-1100/src/FWCore/Utilities/interface/ESInputTag.h:87:9: note: 'ESInputTag' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors class ESInputTag { ^ 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: |
Comparison not run due to Build errors (RelVals and Igprof tests were also skipped) |
The
Somehow the compiler picks the templated assignment-from-adapter instead of the copy assignment (or move assignment). Can that be caused by the latter two being declared |
I'm working on it now. My theory is the type is actually |
The tests are being triggered in jenkins.
|
+1 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: |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
Made it possible to deduce the template parameters of the
edm::EDGetTokenT
and theedm::ESGetToken
when specifying consumes.PR validation:
The code compiles and all framework units pass.