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
Misc ICC errors fixes. #7406
Misc ICC errors fixes. #7406
Conversation
A new Pull Request was created by @ktf (Giulio Eulisse) for CMSSW_7_4_X. Workaround ICC error. It involves the following packages: HLTrigger/Egamma @Martin-Grunewald, @perrotta, @cmsbuild, @nclopezo, @fwyzard can you please review it and eventually sign? Thanks. |
@@ -51,7 +51,7 @@ EcalRecHit::ESFlags ESRecHitSimAlgo::evalAmplitude(float * results, const ESData | |||
|
|||
// A from analytical formula: | |||
constexpr float t1 = 20.; | |||
#ifdef __clang__ | |||
#ifdef __clang__ || __INTEL_COMPILER |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This gives a compiler warning:
/scratch/CMS2/CMSSW_7_4_X_2015-01-28-0200/src/RecoLocalCalo/EcalRecAlgos/src/ESRecHitSimAlgo.cc:54:20: warning: extra tokens at end of #ifdef directive
#ifdef __clang__ || __INTEL_COMPILER
^
@cmsbuild please test |
A few comments.
|
Hi David, .A |
@cmsbuild please test |
The tests are being triggered in jenkins. |
|
Regarding 2nd point. From my experience with ARMv7/UBSan/etc/you need to be very careful with types. I think, C++ 4.7/3 applies here (integral conversion):
Now you have it easy. Later on if this becomes a problem you wont have a compiler diagnostic, you will have a difference in histogram, which will be way harder to track. My two cents. It's HLT and RECO decision. @fwyzard I think, this was discussed in Core Software meeting and it was OKed to have try |
Changing secondLegNr is simply moving the problem around, since |
regarding |
Ok, I think we all agree that if this needs to be fixed, it can be done in a separate PR. @slava77, can you +1 this? It should be trivial. |
Assuming @slava77 is ok with the changes, which are otherwise trivial. Merging. Complain if not. |
+1 for |
std::pair<int, int>
from what is actually a(int, size_t)
pair. This fix will workaround the problem by forcing a downcast ofsize_t
toint
, but it would result in a real issue ifsecondLegNr
was > 2**32. However, I assume we would have other problems in that case.constexpr
version forstd::exp
/std::pow
and in general anything coming fromcmath
. I think this is actually more an unsupported gcc extension.