mirror of
https://github.com/github/codeql.git
synced 2025-12-21 03:06:31 +01:00
WMO stands for whole module optimization. It's a compilation mode where all sources of a module are compiled together, e.g. ``` swift-frontend -emit-module A.swift B.swift -o Module.swiftmodule ``` This is opposed to incremental mode, where one would do something like ``` swift-frontend -emit-module -primary-file A.swift B.swift -module-name Module -o Module~A.swiftmodule swift-frontend -emit-module A.swift -primary-file B.swift -module-name Module -o Module~B.swiftmodule swift-frontend -merge-modules Module~A.swiftmodule Module~B.swiftmodule -o Module.swiftmodule ``` In WMO mode we were skipping extraction of all files after the first one, because we were filtering in only files with an associated output, and internally swift only assigns the output to the first input file in WMO mode (which is just an implementation detail). This patch refines that filter, by getting all input source files in case there are no primary inputs.
17 lines
491 B
Plaintext
17 lines
491 B
Plaintext
| A.swift:0:0:0:0 | A.swift |
|
|
| B.swift:0:0:0:0 | B.swift |
|
|
| C.swift:0:0:0:0 | C.swift |
|
|
| D.swift:0:0:0:0 | D.swift |
|
|
| E.swift:0:0:0:0 | E.swift |
|
|
| F1.swift:0:0:0:0 | F1.swift |
|
|
| F2.swift:0:0:0:0 | F2.swift |
|
|
| F3.swift:0:0:0:0 | F3.swift |
|
|
| F4.swift:0:0:0:0 | F4.swift |
|
|
| F5.swift:0:0:0:0 | F5.swift |
|
|
| G.swift:0:0:0:0 | G.swift |
|
|
| H1.swift:0:0:0:0 | H1.swift |
|
|
| H2.swift:0:0:0:0 | H2.swift |
|
|
| I1.swift:0:0:0:0 | I1.swift |
|
|
| I2.swift:0:0:0:0 | I2.swift |
|
|
| file://:0:0:0:0 | |
|