klimek accepted this revision.
klimek added a comment.
This revision is now accepted and ready to land.

LG



================
Comment at: lib/Frontend/PrecompiledPreamble.cpp:490
   PreprocessorOpts.DisablePCHValidation = true;
+  if (Storage.getKind() == PCHStorage::Kind::TempFile) {
+    const TempPCHFile &PCHFile = Storage.asFile();
----------------
ilya-biryukov wrote:
> klimek wrote:
> > ilya-biryukov wrote:
> > > klimek wrote:
> > > > This looks a bit like we should push it into the PCHStorage.
> > > I've extracted a function here to make the code read simpler.
> > > However, I placed it directly into the `PrecompiledPreamble` instead of 
> > > `PCHStorage` to keep `PCHStorage` responsible for just one thing: 
> > > managing the `variant`-like union.
> > It being called PCHStorage makes it sound like it handles the abstraction 
> > for how the preamble is stored. Given that the variant-like union is 
> > basically an interface with an implementation switch, I think all switching 
> > on it is also the responsibility of that class. Otherwise we'd need another 
> > abstraction on top of it?
> Abstraction on top of it is `PrecompiledPreamble` itself. And `PCHStorage` is 
> just an implementation detail.
> Does that sound reasonable?
That makes more sense now, thx for explaining. It still seems a bit off to me, 
but I can't come up with a better solution, so LG.


================
Comment at: lib/Frontend/PrecompiledPreamble.cpp:44
+    SmallString<64> Path;
+    llvm::sys::path::system_temp_directory(/*erasedOnReboot=*/true, Path);
+    llvm::sys::path::append(Path, "___clang_inmemory_preamble___");
----------------
erasedOnReboot seems weird for something that we don't want to have on the 
actual file system. Why do we even want a temp directory?


https://reviews.llvm.org/D39842



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

Reply via email to