================ @@ -2527,7 +2527,7 @@ class BitsUnpacker { inline bool shouldSkipCheckingODR(const Decl *D) { return D->getASTContext().getLangOpts().SkipODRCheckInGMF && - D->isFromGlobalModule(); + (D->isFromGlobalModule() || !D->isInNamedModule()); ---------------- dmpolukhin wrote:
Added `isFromHeaderUnits()` and use it now. But in general from my reading of C++ standard header units should treated as GMF see [10.3p5 note 2](https://eel.is/c++draft/module#import-note-2): > [Note 2: A header unit is a separate translation unit with an independent set > of defined macros. All declarations within a header unit are implicitly > exported ([module.interface]), and are attached to the global module > ([module.unit]). — end note] So perhaps `isFromGlobalModule` should also include header units, it is used only in very few places. WDYT? https://github.com/llvm/llvm-project/pull/111160 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits