================
@@ -138,6 +139,14 @@ struct ModuleDeps {
   /// determined that the differences are benign for this compilation.
   std::vector<ModuleID> ClangModuleDeps;
 
+  /// The set of libraries or frameworks to link against when
+  /// an entity from this module is used.
+  llvm::SmallVector<Module::LinkLibrary, 2> LinkLibraries;
+
+  /// Autolinking uses the framework name for linking purposes
+  /// when this is false and the export_as name otherwise.
+  bool UseExportAsModuleLinkName;
----------------
artemcm wrote:

It seems that `LinkLibraries` are still collected for a `Module` separately 
just in case it gets discovered/imported by a module matching a `export_as` 
name. So I can see why a separate flag was introduced. 

The logic for adding linker flags in CodeGen omits these modules if this flag 
(`UseExportAsModuleLinkName`) is set, and that matching the intent behind this 
change here, I think it would make sense to model the same in the scanner. i.e. 
omit `LinkLibraries` of such module, because by the time we've discovered all 
the dependencies we are guaranteed to have the required knowledge to make this 
decision. 

https://github.com/llvm/llvm-project/pull/93588
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to