manmanren added a comment.

In this testing case, the first clang invocation builds a system module X and a 
non-system module Y (X imports Y). At the second clang invocation, the parent 
thread validates the existing module X and module Y. Because X is a system 
module, we don't diagnose the differences in diagnostic options. When building 
module Z in the child thread, since Z is not a system module, we will spot the 
diagnostic differences and invalidate module Y. But the parent thread will 
continue accessing the deleted FileEntry for module Y.


https://reviews.llvm.org/D25916



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

Reply via email to