ckissane added inline comments.

================
Comment at: clang/lib/Serialization/ASTWriter.cpp:2003-2004
   // consumers will not want its contents.
+  llvm::compression::CompressionAlgorithm CompressionScheme =
+      llvm::compression::ZlibCompressionAlgorithm();
+
----------------
dblaikie wrote:
> Doesn't this cause slicing & end up with the base implementation?
> 
> (also the base class `CompressionAlgorithm` has no virtual functions, so I'm 
> not sure how this is meant to work - does this code all work? Then I must be 
> missing some things - how does this work?)
You are correct to observe that this patch does not fully pass around pointers 
to instances of the classes, however, because I don't pass pointers and the 
currently repetitive nature of the compression classes, this still functions 
correctly.
In short, a follow-up patch (which I will shortly upload) will convert this to 
using class instances and passing those around.
Including reworking functions throughout llvm-project to take advantage of this.
I am aiming to take this 2 step process to cut down on making an already large 
pass larger.
Let me know if you have any concerns or ideas.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130516

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

Reply via email to