hubert.reinterpretcast added inline comments.

================
Comment at: clang/lib/CodeGen/CGDeclCXX.cpp:562
 
+static std::string getTransformedFileName(llvm::Module &M) {
+  SmallString<128> FileName = llvm::sys::path::filename(M.getName());
----------------
Consider having the `SmallString<128>` buffer passed in and returning a 
`StringRef` backed by that buffer.


================
Comment at: clang/lib/CodeGen/CodeGenModule.h:1056
 
+  /// Add a destructor to the C++ global destructor function.
+  void AddCXXDtorEntry(llvm::FunctionCallee DtorFn) {
----------------
What is "the C++ global destructor function"? Based on the comment on 
`CXXGlobalDtors` it has something to do with termination of the program. The 
existing usage is limited and consistent: This is a facility used when even 
`atexit` is not available.


================
Comment at: clang/lib/CodeGen/CodeGenModule.h:1058
+  void AddCXXDtorEntry(llvm::FunctionCallee DtorFn) {
+    CXXGlobalDtors.emplace_back(DtorFn.getFunctionType(), DtorFn.getCallee(),
+                                nullptr);
----------------
The description of `CXXGlobalDtors` is
> Global destructor functions and arguments that need to run on termination.



================
Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:4501
+
+  CGM.AddCXXDtorEntry(StermFn);
 }
----------------
The purpose of the specific interface does not appear to match its usage here 
(see my other comment). This function is meant to be called on unloading a 
shared library. The usual termination path calls destructors via `atexit`.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D74166



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

Reply via email to