================ @@ -830,6 +843,19 @@ class PCHGenerator : public SemaConsumer { bool hasEmittedPCH() const { return Buffer->IsComplete; } }; +class ReducedBMIGenerator : public PCHGenerator { +public: + ReducedBMIGenerator(const Preprocessor &PP, InMemoryModuleCache &ModuleCache, + StringRef OutputFile, std::shared_ptr<PCHBuffer> Buffer, + bool IncludeTimestamps); + + void HandleTranslationUnit(ASTContext &Ctx) override; +}; + +/// If the definition may impact the ABI. If yes, we're allowed to eliminate +/// the definition of D in reduced BMI. +bool MayDefAffectABI(const Decl *D); ---------------- iains wrote:
Perhaps this would be better named ShouldElideDecl? I also find the comment a bit confusing - normally if something affects ABI we cannot change it (so I think we really mean that this would introduce a break into the 'module interface ABI'). Maybe the comment could better refer to the bug and/or descriiption of the issue. https://github.com/llvm/llvm-project/pull/75894 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits