Skip to content
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

Intrusive 'private' and 'protected' macros (cleanup list) #11939

Conversation

cmsbuild
Copy link
Contributor

We cannot redefine 'private' and 'protected' keywords via macros to e.g.
'public'. This is extremely intrusive and breaks encapsulation.

This does not work anymore with new libstdc++ libraries, because foward
delcaration of struct is implicitly private and then implementation is
under explicit private clause. Redefining 'private' only change one of
them thus creating compile-time errors in sstream.

Details in PR65899 (GCC BZ). It's WONTFIX.

Such cleanups are required for GCC 5 and above.

The files in this PR used such intrusive macros, but removal of them
breaks compilation. Thus additional review and refactoring is required
for droping intrusive macros. This PR acts as a cleanup list.

Most of such things (about 35 out of 45) are used in tests.

Signed-off-by: David Abdurachmanov [email protected]
Automatically ported from CMSSW_7_6_X #11520 (original by @davidlt).

We cannot redefine 'private' and 'protected' keywords via macros to e.g.
'public'. This is extremely intrusive and breaks encapsulation.

This does not work anymore with new libstdc++ libraries, because foward
delcaration of struct is implicitly private and then implementation is
under explicit private clause. Redefining 'private' only change one of
them thus creating compile-time errors in sstream.

Details in PR65899 (GCC BZ). It's WONTFIX.

Such cleanups are required for GCC 5 and above.

The files in this PR used such intrusive macros, but removal of them
breaks compilation. Thus additional review and refactoring is required
for droping intrusive macros. This PR acts as a cleanup list.

Signed-off-by: David Abdurachmanov <[email protected]>
@cmsbuild
Copy link
Contributor Author

A new Pull Request was created by @cmsbuild for CMSSW_8_0_X.

Intrusive 'private' and 'protected' macros (cleanup list)

It involves the following packages:

CalibTracker/SiStripDCS
CondCore/DBCommon
CondFormats/Common
DataFormats/Common
DataFormats/EcalDigi
DataFormats/Provenance
DataFormats/TrackReco
FWCore/Framework
FWCore/PluginManager
FWCore/ServiceRegistry
FWCore/Utilities
Fireworks/Core
Fireworks/Electrons
Fireworks/Eve
Fireworks/FWInterface
Fireworks/Geometry
Fireworks/Vertices
MagneticField/Engine
MagneticField/GeomBuilder
MuonAnalysis/MomentumScaleCalibration
PerfTools/Callgrind
RecoPixelVertexing/PixelLowPtUtilities
RecoPixelVertexing/PixelTriplets
SimG4Core/Geometry
TrackingTools/PatternTools

@smuzaffar, @civanch, @diguida, @cvuosalo, @mdhildreth, @monttj, @cmsbuild, @alja, @franzoni, @Dr15Jones, @cerminar, @slava77, @ggovi, @vadler, @mmusich can you please review it and eventually sign? Thanks.
@ghellwig, @abbiendi, @argiro, @Martin-Grunewald, @frmeier, @battibass, @makortel, @jhgoh, @jlagram, @cerati, @trocino, @wmtan, @GiacomoSguazzoni, @namapane, @rovere, @VinInn, @bellan, @mmusich, @dgulhan, @apfeiffer1, @gbenelli, @wddgit, @alja, @gpetruc, @istaslis this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@Degano you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@slava77
Copy link
Contributor

slava77 commented Oct 19, 2015

@davidlt
is it more practical to keep it in the issues?
If I recall correctly, this is not a PR.

@davidlt
Copy link
Contributor

davidlt commented Oct 19, 2015

Closing this one.

@davidlt davidlt closed this Oct 19, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants