================
@@ -1752,7 +1752,10 @@ void ASTWriter::WriteControlBlock(Preprocessor &PP, 
StringRef isysroot) {
   Record.push_back(PPOpts.UsePredefines);
   // Detailed record is important since it is used for the module cache hash.
   Record.push_back(PPOpts.DetailedRecord);
-  AddString(PPOpts.ImplicitPCHInclude, Record);
+  if (PPOpts.ImplicitPCHInclude.empty())
+    AddString(PPOpts.ImplicitPCHInclude, Record);
----------------
cyndyishida wrote:

I would be pretty surprised if a `string.empty()` check would make a noticeable 
difference. Where does your intuition come from? I also don't see how adding a 
check for empty input is complex in a centralized location. What I do believe 
is more complex is call sites needing to reason about that and not being sure 
why. 

https://github.com/llvm/llvm-project/pull/178781
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to