<div dir="ltr">Richard: This ought to be ready for another round of review at this point, I Think.<br><br>Got test cases (showing opt and non-opt behavior, direct and indirect modular dependencies, unused modular code, etc - might need some more comments?), flag, moved the linkage code to GetGVALinkageForFunction.<br><br>One oddity was that LangOpts in the ModuleManager was a separate LangOpts than elsewhere - perhaps you know what the deal is there? Maybe I shouldn't've been using that LangOpts to detect ModularCodegen? (I propagated it through the ModuleManager ctor so it would work at the moment)<br><br>Also naming - ModularCodegen? -fmodule-codegen? EK_ReplyHazy? ;) Open to ideas about any of those, and any others that stand out.<br><br>(future work: internal linkage functions (need to be weak_odr and have a proper mangling, possibly with the module name), variables (static locals, etc), global initializers, type debug info, ... )<br><br>Thanks!</div><br><div class="gmail_quote"><div dir="ltr">On Tue, Jan 24, 2017 at 7:39 PM David Blaikie via Phabricator via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">dblaikie updated this revision to Diff 85686.<br class="gmail_msg">
dblaikie added a comment.<br class="gmail_msg">
<br class="gmail_msg">
- Add test coverage<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<a href="https://reviews.llvm.org/D28845" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D28845</a><br class="gmail_msg">
<br class="gmail_msg">
Files:<br class="gmail_msg">
  include/clang/AST/ASTContext.h<br class="gmail_msg">
  include/clang/AST/ExternalASTSource.h<br class="gmail_msg">
  include/clang/Basic/LangOptions.def<br class="gmail_msg">
  include/clang/Basic/Module.h<br class="gmail_msg">
  include/clang/Driver/CC1Options.td<br class="gmail_msg">
  include/clang/Serialization/ASTBitCodes.h<br class="gmail_msg">
  include/clang/Serialization/ASTReader.h<br class="gmail_msg">
  include/clang/Serialization/ASTWriter.h<br class="gmail_msg">
  lib/AST/ASTContext.cpp<br class="gmail_msg">
  lib/AST/ExternalASTSource.cpp<br class="gmail_msg">
  lib/Basic/Module.cpp<br class="gmail_msg">
  lib/CodeGen/CodeGenModule.cpp<br class="gmail_msg">
  lib/Frontend/CompilerInvocation.cpp<br class="gmail_msg">
  lib/Lex/ModuleMap.cpp<br class="gmail_msg">
  lib/Serialization/ASTReader.cpp<br class="gmail_msg">
  lib/Serialization/ASTWriter.cpp<br class="gmail_msg">
  lib/Serialization/ASTWriterDecl.cpp<br class="gmail_msg">
  test/Modules/Inputs/codegen/bar.h<br class="gmail_msg">
  test/Modules/Inputs/codegen/bar.modulemap<br class="gmail_msg">
  test/Modules/Inputs/codegen/foo.h<br class="gmail_msg">
  test/Modules/Inputs/codegen/foo.modulemap<br class="gmail_msg">
  test/Modules/Inputs/codegen/use.cpp<br class="gmail_msg">
  test/Modules/codegen.test<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
cfe-commits mailing list<br class="gmail_msg">
<a href="mailto:cfe-commits@lists.llvm.org" class="gmail_msg" target="_blank">cfe-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br class="gmail_msg">
</blockquote></div>