Commit Graph

9 Commits

Author SHA1 Message Date
Varun Gandhi
c440477690 [NFC] [ModuleTrace] Add negative test case for cycles in trace emission (ep2).
Context: rdar://67704000.
2020-08-25 23:47:58 -07:00
Varun Gandhi
32e030547f [NFC] Add test for self-cycles in module trace. 2020-08-20 14:40:30 -07:00
Varun Gandhi
6773d7e0c5 [NFC] [ModuleTrace] Add negative test for cycles in trace emission.
Context: rdar://66512316.
2020-08-07 18:07:16 -07:00
Varun Gandhi
7e34fb040a [ModuleTrace] More precise dependency tracking through ObjC.
We need to traverse the module dependency graph and track which modules expose
which other modules' ABIs, while making sure that we don't hit a loop while
trawling through Clang (sub)modules.

Fixes rdar://64993153.
2020-07-23 19:25:02 -07:00
Varun Gandhi
5f6dd24ec9 [ModuleTrace] Add complex test case for module trace.
Overlay-overlay dependencies are incorrectly marked indirect when the
downstream overlay's underlying module imports the upstream overlay's
underlying module but the downstream overlay does not explicitly import
the upstream overlay.
2020-07-23 16:02:03 -07:00
Robert Widmann
d61553efc1 [SR-7342] Teach EmitImportedModules action to evaluate conditional compilation blocks 2018-04-04 17:46:33 -04:00
Huon Wilson
0b2a02d083 [Test] Ensure that -emit-imported-modules doesn't load overlays. 2017-03-20 11:04:52 -07:00
Huon Wilson
09cd885140 [Frontend] Handle imports in the C code tied to a Swift module.
The underlying module and/or bridging header are likely to contain
module imports that we need to know about.
2017-03-17 18:46:09 -07:00
Huon Wilson
55b2ba2524 [Frontend] Add -emit-imported-modules: listing modules imported by the current one.
This is purely designed to cheaply compute dependency graphs between
modules, and thus only lists the top-level names (i.e. not submodules)
and doesn't do any form of semantic analysis.
2017-03-17 18:44:03 -07:00