[modules] Flatten -fmodule-name= and -fmodule-implementation-of= into a singleoption. Previously these options could both be used to specify that you werecompiling the implementation file of a modu
[modules] Flatten -fmodule-name= and -fmodule-implementation-of= into a singleoption. Previously these options could both be used to specify that you werecompiling the implementation file of a module, with a different set of minorbugs in each case.This change removes -fmodule-implementation-of, and instead tracks a flag todetermine whether we're currently building a module. -fmodule-name now behavesthe same way that -fmodule-implementation-of previously did.llvm-svn: 261372
show more ...
Make module files passed to a module build via -fmodule-file= available toconsumers of that module.Previously, such a file would only be available if the module happened toactually import somethi
Make module files passed to a module build via -fmodule-file= available toconsumers of that module.Previously, such a file would only be available if the module happened toactually import something from that module.llvm-svn: 232583
[modules] Initial support for explicitly loading .pcm files.Implicit module builds are not well-suited to a lot of build systems. Inparticular, they fare badly in distributed build systems, and th
[modules] Initial support for explicitly loading .pcm files.Implicit module builds are not well-suited to a lot of build systems. Inparticular, they fare badly in distributed build systems, and they lead tobuild artifacts that are not tracked as part of the usual dependency managementprocess. This change allows explicitly-built module files (which are alreadysupported through the -emit-module flag) to be explicitly loaded into a build,allowing build systems to opt to manage module builds and dependenciesthemselves.This is only the first step in supporting such configurations, and it shouldbe considered experimental and subject to change or removal for now.llvm-svn: 220359