llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-modules Author: Volodymyr Sapsai (vsapsai) <details> <summary>Changes</summary> Fix formatting for fdf8e3e31103bc81917cdb27150877f524bb2669. --- Patch is 43.45 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/102484.diff 4 Files Affected: - (modified) clang/include/clang/Serialization/ASTReader.h (+41-35) - (modified) clang/lib/Frontend/ASTUnit.cpp (+6-4) - (modified) clang/lib/Frontend/FrontendActions.cpp (+8-5) - (modified) clang/lib/Serialization/ASTReader.cpp (+153-124) ``````````diff diff --git a/clang/include/clang/Serialization/ASTReader.h b/clang/include/clang/Serialization/ASTReader.h index db93fbd703260..549396a3b6b38 100644 --- a/clang/include/clang/Serialization/ASTReader.h +++ b/clang/include/clang/Serialization/ASTReader.h @@ -130,8 +130,7 @@ class ASTReaderListener { /// /// \returns true to indicate the options are invalid or false otherwise. virtual bool ReadLanguageOptions(const LangOptions &LangOpts, - StringRef ModuleFilename, - bool Complain, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) { return false; } @@ -140,7 +139,8 @@ class ASTReaderListener { /// /// \returns true to indicate the target options are invalid, or false /// otherwise. - virtual bool ReadTargetOptions(const TargetOptions &TargetOpts, StringRef ModuleFilename, bool Complain, + virtual bool ReadTargetOptions(const TargetOptions &TargetOpts, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) { return false; } @@ -151,8 +151,7 @@ class ASTReaderListener { /// otherwise. virtual bool ReadDiagnosticOptions(IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts, - StringRef ModuleFilename, - bool Complain) { + StringRef ModuleFilename, bool Complain) { return false; } @@ -266,13 +265,14 @@ class ChainedASTReaderListener : public ASTReaderListener { bool ReadFullVersionInformation(StringRef FullVersion) override; void ReadModuleName(StringRef ModuleName) override; void ReadModuleMapFile(StringRef ModuleMapPath) override; - bool ReadLanguageOptions(const LangOptions &LangOpts, StringRef ModuleFilename, bool Complain, + bool ReadLanguageOptions(const LangOptions &LangOpts, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) override; - bool ReadTargetOptions(const TargetOptions &TargetOpts, StringRef ModuleFilename, bool Complain, + bool ReadTargetOptions(const TargetOptions &TargetOpts, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) override; bool ReadDiagnosticOptions(IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts, - StringRef ModuleFilename, - bool Complain) override; + StringRef ModuleFilename, bool Complain) override; bool ReadFileSystemOptions(const FileSystemOptions &FSOpts, bool Complain) override; @@ -281,8 +281,8 @@ class ChainedASTReaderListener : public ASTReaderListener { StringRef SpecificModuleCachePath, bool Complain) override; bool ReadPreprocessorOptions(const PreprocessorOptions &PPOpts, - StringRef ModuleFilename, - bool ReadMacros, bool Complain, + StringRef ModuleFilename, bool ReadMacros, + bool Complain, std::string &SuggestedPredefines) override; void ReadCounter(const serialization::ModuleFile &M, unsigned Value) override; @@ -306,16 +306,17 @@ class PCHValidator : public ASTReaderListener { PCHValidator(Preprocessor &PP, ASTReader &Reader) : PP(PP), Reader(Reader) {} - bool ReadLanguageOptions(const LangOptions &LangOpts, StringRef ModuleFilename, bool Complain, + bool ReadLanguageOptions(const LangOptions &LangOpts, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) override; - bool ReadTargetOptions(const TargetOptions &TargetOpts, StringRef ModuleFilename, bool Complain, + bool ReadTargetOptions(const TargetOptions &TargetOpts, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) override; bool ReadDiagnosticOptions(IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts, - StringRef ModuleFilename, - bool Complain) override; + StringRef ModuleFilename, bool Complain) override; bool ReadPreprocessorOptions(const PreprocessorOptions &PPOpts, - StringRef ModuleFilename, - bool ReadMacros, bool Complain, + StringRef ModuleFilename, bool ReadMacros, + bool Complain, std::string &SuggestedPredefines) override; bool ReadHeaderSearchOptions(const HeaderSearchOptions &HSOpts, StringRef ModuleFilename, @@ -335,8 +336,8 @@ class SimpleASTReaderListener : public ASTReaderListener { SimpleASTReaderListener(Preprocessor &PP) : PP(PP) {} bool ReadPreprocessorOptions(const PreprocessorOptions &PPOpts, - StringRef ModuleFilename, - bool ReadMacros, bool Complain, + StringRef ModuleFilename, bool ReadMacros, + bool Complain, std::string &SuggestedPredefines) override; }; @@ -1377,10 +1378,12 @@ class ASTReader SmallVectorImpl<ImportedModule> &Loaded, const ModuleFile *ImportedBy, unsigned ClientLoadCapabilities); - static ASTReadResult ReadOptionsBlock( - llvm::BitstreamCursor &Stream, StringRef Filename, unsigned ClientLoadCapabilities, - bool AllowCompatibleConfigurationMismatch, ASTReaderListener &Listener, - std::string &SuggestedPredefines); + static ASTReadResult + ReadOptionsBlock(llvm::BitstreamCursor &Stream, StringRef Filename, + unsigned ClientLoadCapabilities, + bool AllowCompatibleConfigurationMismatch, + ASTReaderListener &Listener, + std::string &SuggestedPredefines); /// Read the unhashed control block. /// @@ -1389,13 +1392,11 @@ class ASTReader ASTReadResult readUnhashedControlBlock(ModuleFile &F, bool WasImportedBy, unsigned ClientLoadCapabilities); - static ASTReadResult - readUnhashedControlBlockImpl(ModuleFile *F, llvm::StringRef StreamData, - StringRef Filename, - unsigned ClientLoadCapabilities, - bool AllowCompatibleConfigurationMismatch, - ASTReaderListener *Listener, - bool ValidateDiagnosticOptions); + static ASTReadResult readUnhashedControlBlockImpl( + ModuleFile *F, llvm::StringRef StreamData, StringRef Filename, + unsigned ClientLoadCapabilities, + bool AllowCompatibleConfigurationMismatch, ASTReaderListener *Listener, + bool ValidateDiagnosticOptions); llvm::Error ReadASTBlock(ModuleFile &F, unsigned ClientLoadCapabilities); llvm::Error ReadExtensionBlock(ModuleFile &F); @@ -1408,21 +1409,26 @@ class ASTReader unsigned ClientLoadCapabilities); llvm::Error ReadSubmoduleBlock(ModuleFile &F, unsigned ClientLoadCapabilities); - static bool ParseLanguageOptions(const RecordData &Record, StringRef ModuleFilename, bool Complain, + static bool ParseLanguageOptions(const RecordData &Record, + StringRef ModuleFilename, bool Complain, ASTReaderListener &Listener, bool AllowCompatibleDifferences); - static bool ParseTargetOptions(const RecordData &Record, StringRef ModuleFilename, bool Complain, + static bool ParseTargetOptions(const RecordData &Record, + StringRef ModuleFilename, bool Complain, ASTReaderListener &Listener, bool AllowCompatibleDifferences); - static bool ParseDiagnosticOptions(const RecordData &Record, StringRef ModuleFilename, bool Complain, + static bool ParseDiagnosticOptions(const RecordData &Record, + StringRef ModuleFilename, bool Complain, ASTReaderListener &Listener); static bool ParseFileSystemOptions(const RecordData &Record, bool Complain, ASTReaderListener &Listener); - static bool ParseHeaderSearchOptions(const RecordData &Record, StringRef ModuleFilename, bool Complain, + static bool ParseHeaderSearchOptions(const RecordData &Record, + StringRef ModuleFilename, bool Complain, ASTReaderListener &Listener); static bool ParseHeaderSearchPaths(const RecordData &Record, bool Complain, ASTReaderListener &Listener); - static bool ParsePreprocessorOptions(const RecordData &Record, StringRef ModuleFilename, bool Complain, + static bool ParsePreprocessorOptions(const RecordData &Record, + StringRef ModuleFilename, bool Complain, ASTReaderListener &Listener, std::string &SuggestedPredefines); diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp index aec1402d6cb95..84e273a3949ef 100644 --- a/clang/lib/Frontend/ASTUnit.cpp +++ b/clang/lib/Frontend/ASTUnit.cpp @@ -536,7 +536,8 @@ class ASTInfoCollector : public ASTReaderListener { LangOpt(LangOpt), TargetOpts(TargetOpts), Target(Target), Counter(Counter) {} - bool ReadLanguageOptions(const LangOptions &LangOpts, StringRef ModuleFilename, bool Complain, + bool ReadLanguageOptions(const LangOptions &LangOpts, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) override { if (InitializedLanguage) return false; @@ -598,14 +599,15 @@ class ASTInfoCollector : public ASTReaderListener { } bool ReadPreprocessorOptions(const PreprocessorOptions &PPOpts, - StringRef ModuleFilename, - bool ReadMacros, bool Complain, + StringRef ModuleFilename, bool ReadMacros, + bool Complain, std::string &SuggestedPredefines) override { this->PPOpts = PPOpts; return false; } - bool ReadTargetOptions(const TargetOptions &TargetOpts, StringRef ModuleFilename, bool Complain, + bool ReadTargetOptions(const TargetOptions &TargetOpts, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) override { // If we've already initialized the target, don't do it again. if (Target) diff --git a/clang/lib/Frontend/FrontendActions.cpp b/clang/lib/Frontend/FrontendActions.cpp index f9887fe634ec6..9f5d09e33ce24 100644 --- a/clang/lib/Frontend/FrontendActions.cpp +++ b/clang/lib/Frontend/FrontendActions.cpp @@ -622,7 +622,8 @@ namespace { Out.indent(2) << "Module map file: " << ModuleMapPath << "\n"; } - bool ReadLanguageOptions(const LangOptions &LangOpts, StringRef ModuleFilename, bool Complain, + bool ReadLanguageOptions(const LangOptions &LangOpts, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) override { Out.indent(2) << "Language options:\n"; #define LANGOPT(Name, Bits, Default, Description) \ @@ -645,7 +646,8 @@ namespace { return false; } - bool ReadTargetOptions(const TargetOptions &TargetOpts, StringRef ModuleFilename, bool Complain, + bool ReadTargetOptions(const TargetOptions &TargetOpts, + StringRef ModuleFilename, bool Complain, bool AllowCompatibleDifferences) override { Out.indent(2) << "Target options:\n"; Out.indent(4) << " Triple: " << TargetOpts.Triple << "\n"; @@ -665,7 +667,8 @@ namespace { } bool ReadDiagnosticOptions(IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts, - StringRef ModuleFilename, bool Complain) override { + StringRef ModuleFilename, + bool Complain) override { Out.indent(2) << "Diagnostic options:\n"; #define DIAGOPT(Name, Bits, Default) DUMP_BOOLEAN(DiagOpts->Name, #Name); #define ENUM_DIAGOPT(Name, Type, Bits, Default) \ @@ -718,8 +721,8 @@ namespace { } bool ReadPreprocessorOptions(const PreprocessorOptions &PPOpts, - StringRef ModuleFilename, - bool ReadMacros, bool Complain, + StringRef ModuleFilename, bool ReadMacros, + bool Complain, std::string &SuggestedPredefines) override { Out.indent(2) << "Preprocessor options:\n"; DUMP_BOOLEAN(PPOpts.UsePredefines, diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 7fbd0ddde2d8a..ad8d6c336f278 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -172,11 +172,9 @@ void ChainedASTReaderListener::ReadModuleMapFile(StringRef ModuleMapPath) { Second->ReadModuleMapFile(ModuleMapPath); } -bool -ChainedASTReaderListener::ReadLanguageOptions(const LangOptions &LangOpts, - StringRef ModuleFilename, - bool Complain, - bool AllowCompatibleDifferences) { +bool ChainedASTReaderListener::ReadLanguageOptions( + const LangOptions &LangOpts, StringRef ModuleFilename, bool Complain, + bool AllowCompatibleDifferences) { return First->ReadLanguageOptions(LangOpts, ModuleFilename, Complain, AllowCompatibleDifferences) || Second->ReadLanguageOptions(LangOpts, ModuleFilename, Complain, @@ -193,7 +191,8 @@ bool ChainedASTReaderListener::ReadTargetOptions( } bool ChainedASTReaderListener::ReadDiagnosticOptions( - IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts, StringRef ModuleFilename, bool Complain) { + IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts, StringRef ModuleFilename, + bool Complain) { return First->ReadDiagnosticOptions(DiagOpts, ModuleFilename, Complain) || Second->ReadDiagnosticOptions(DiagOpts, ModuleFilename, Complain); } @@ -206,21 +205,21 @@ ChainedASTReaderListener::ReadFileSystemOptions(const FileSystemOptions &FSOpts, } bool ChainedASTReaderListener::ReadHeaderSearchOptions( - const HeaderSearchOptions &HSOpts, StringRef ModuleFilename, StringRef SpecificModuleCachePath, - bool Complain) { - return First->ReadHeaderSearchOptions(HSOpts, ModuleFilename, SpecificModuleCachePath, - Complain) || - Second->ReadHeaderSearchOptions(HSOpts, ModuleFilename, SpecificModuleCachePath, - Complain); + const HeaderSearchOptions &HSOpts, StringRef ModuleFilename, + StringRef SpecificModuleCachePath, bool Complain) { + return First->ReadHeaderSearchOptions(HSOpts, ModuleFilename, + SpecificModuleCachePath, Complain) || + Second->ReadHeaderSearchOptions(HSOpts, ModuleFilename, + SpecificModuleCachePath, Complain); } bool ChainedASTReaderListener::ReadPreprocessorOptions( - const PreprocessorOptions &PPOpts, StringRef ModuleFilename, bool ReadMacros, bool Complain, - std::string &SuggestedPredefines) { - return First->ReadPreprocessorOptions(PPOpts, ModuleFilename, ReadMacros, Complain, - SuggestedPredefines) || - Second->ReadPreprocessorOptions(PPOpts, ModuleFilename, ReadMacros, Complain, - SuggestedPredefines); + const PreprocessorOptions &PPOpts, StringRef ModuleFilename, + bool ReadMacros, bool Complain, std::string &SuggestedPredefines) { + return First->ReadPreprocessorOptions(PPOpts, ModuleFilename, ReadMacros, + Complain, SuggestedPredefines) || + Second->ReadPreprocessorOptions(PPOpts, ModuleFilename, ReadMacros, + Complain, SuggestedPredefines); } void ChainedASTReaderListener::ReadCounter(const serialization::ModuleFile &M, @@ -283,35 +282,37 @@ ASTReaderListener::~ASTReaderListener() = default; /// \returns true if the languagae options mis-match, false otherwise. static bool checkLanguageOptions(const LangOptions &LangOpts, const LangOptions &ExistingLangOpts, - StringRef ModuleFilename, DiagnosticsEngine *Diags, + StringRef ModuleFilename, + DiagnosticsEngine *Diags, bool AllowCompatibleDifferences = true) { -#define LANGOPT(Name, Bits, Default, Description) \ - if (ExistingLangOpts.Name != LangOpts.Name) { \ - if (Diags) { \ - if (Bits == 1) \ - Diags->Report(diag::err_ast_file_langopt_mismatch) \ - << Description << LangOpts.Name << ExistingLangOpts.Name << ModuleFilename; \ - else \ - Diags->Report(diag::err_ast_file_langopt_value_mismatch) \ - << Description << ModuleFilename; \ - } \ - return true; \ - } - -#define VALUE_LANGOPT(Name, Bits, Default, Description) \ - if (ExistingLangOpts.Name != LangOpts.Name) { \ - if (Diags) \ - Diags->Report(diag::err_ast_file_langopt_value_mismatch) \ - << Description << ModuleFilename; \ - return true; \ - } - -#define ENUM_LANGOPT(Name, Type, Bits, Default, Description) \ - if (ExistingLangOpts.get##Name() != LangOpts.get##Name()) { \ - if (Diags) \ - Diags->Report(diag::err_ast_file_langopt_value_mismatch) \ - << Description << ModuleFilename; \ - return true; \ +#define LANGOPT(Name, Bits, Default, Description) \ + if (ExistingLangOpts.Name != LangOpts.Name) { \ + if (Diags) { \ + if (Bits == 1) \ + Diags->Report(diag::err_ast_file_langopt_mismatch) \ + << Description << LangOpts.Name << ExistingLangOpts.Name \ + << ModuleFilename; \ + else \ + Diags->Report(diag::err_ast_file_langopt_value_mismatch) \ + << Description << ModuleFilename; \ + } \ + return true; \ + } + +#define VALUE_LANGOPT(Name, Bits, Default, Description) \ + if (ExistingLangOpts.Name != LangOpts.Name) { \ + if (Diags) ... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/102484 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits