dexonsmith closed this revision.
dexonsmith marked 2 inline comments as done.
dexonsmith added a comment.

Committed 83dcb34b6bf4c175040b18d3e8c3c468418009fc 
<https://reviews.llvm.org/rG83dcb34b6bf4c175040b18d3e8c3c468418009fc>.  Thanks 
for the reviews!



================
Comment at: clang/lib/Serialization/ASTReader.cpp:5503
 
+        F.DidReadMainModule = true;
         CurrentModule->setASTFile(F.File);
----------------
bruno wrote:
> dexonsmith wrote:
> > bruno wrote:
> > > Is this enough? Because this is done at the end of 
> > > `SUBMODULE_DEFINITION`, could it be that only some of the submodules were 
> > > read (top level or not) and this is still going to be true? I wonder if 
> > > marking this `true` at the end of successful `SUBMODULE_BLOCK` instead 
> > > wouldn't be a better option.
> > I see three cases to distinguish between:
> > 
> > 1. An error is encountered somewhere in the submodule block.
> > 2. The submodule block is read without error, but the main module is not 
> > seen/added.
> > 3. The submodule block is read without error, and the main module is 
> > seen/added.
> > 
> > Setting a flag to `true` at the end of a successful `SUBMODULE_BLOCK` would 
> > help to distinguish between (1) and (2 or 3), but the return status already 
> > tells us that, and `ReadAST` already deletes all the just-loaded modules in 
> > that case.
> > 
> > This patch as-is helps to distinguish between (2) and (3) once the early 
> > return for (1) has been avoided.
> > 
> > Does that make sense?  Or maybe I didn't follow your suggestion.
> Oh, I see now! Thanks for the explanation, perhaps add this to the commit 
> message? 
Added a comment there, and also reworded variables / diagnostics from talking 
about "main module" to talking about "top-level submodule", since I think that 
might be more consistent (and maybe more clear).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70063/new/

https://reviews.llvm.org/D70063



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to