Skip to content

Commit

Permalink
Remove the class-level deprecation annotation from legacy EDModules
Browse files Browse the repository at this point in the history
While in principle annotating the entire class would be the proper
thing to do, with gcc the constructor annotation appears to work
better for identifying the deriving classes that need to be migrated
to thread-friendly base classes.
  • Loading branch information
makortel committed Apr 28, 2022
1 parent 90a7a5d commit f401fce
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
8 changes: 7 additions & 1 deletion FWCore/Framework/interface/EDAnalyzer.h
Expand Up @@ -26,7 +26,13 @@ namespace edm {
class ModuleHolderT;
}

class CMS_DEPRECATED EDAnalyzer : public EDConsumerBase {
/**
* The legacy EDAnalyzer class is deprecated. We annotate the
* constructor only with the CMS_DEPRECATED, because with gcc it
* turns out to flag deriving classes more reliably than annotating
* the entire class.
*/
class EDAnalyzer : public EDConsumerBase {
public:
template <typename T>
friend class maker::ModuleHolderT;
Expand Down
8 changes: 7 additions & 1 deletion FWCore/Framework/interface/EDFilter.h
Expand Up @@ -36,7 +36,13 @@ namespace edm {
class ActivityRegistry;
class ThinnedAssociationsHelper;

class CMS_DEPRECATED EDFilter : public ProducerBase, public EDConsumerBase {
/**
* The legacy EDFilter class is deprecated. We annotate the
* constructor only with the CMS_DEPRECATED, because with gcc it
* turns out to flag deriving classes more reliably than annotating
* the entire class.
*/
class EDFilter : public ProducerBase, public EDConsumerBase {
public:
template <typename T>
friend class maker::ModuleHolderT;
Expand Down
8 changes: 7 additions & 1 deletion FWCore/Framework/interface/EDProducer.h
Expand Up @@ -33,7 +33,13 @@ namespace edm {
class ModuleHolderT;
}

class CMS_DEPRECATED EDProducer : public ProducerBase, public EDConsumerBase {
/**
* The legacy EDProducer class is deprecated. We annotate the
* constructor only with the CMS_DEPRECATED, because with gcc it
* turns out to flag deriving classes more reliably than annotating
* the entire class.
*/
class EDProducer : public ProducerBase, public EDConsumerBase {
public:
template <typename T>
friend class maker::ModuleHolderT;
Expand Down

0 comments on commit f401fce

Please sign in to comment.