iains added a comment. In D140927#4024648 <https://reviews.llvm.org/D140927#4024648>, @ChuanqiXu wrote:
> [module.import]p1 says: > >> In a module unit, all module-import-declarations and export-declarations >> exporting module-import-declarations shall appear before all other >> declarations in the declaration-seq of the translation-unit and of the >> private-module-fragment (if any). > > So the following case is invalid: > > //--- b.hpp > void func() {} > import a; > > //--- c.cpp > module; > #include "b.hpp" > export module c; > > I feel we'd better to address such cases in the test. I am not sure about this - what you are suggesting above would seem to make modules useless when there is a GMF (since there is almost no point to having a GMF that has no decls). https://eel.is/c++draft/basic.link#1 Make the declaration-see of a module unit specifically follow the module keyword. https://eel.is/c++draft/module#import-1 (which you quoted from above) makes adds to this the PMF - but I do not see that it includes the GMF (since that is neither the declaration-seq of the module unit nor is it the PMF. (this + 15.5 named Header Unit import is why the original bug is there .. ) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140927/new/ https://reviews.llvm.org/D140927 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits