Commit a0b5dd4
committed
Separate parsing out Swift and Clang modules from the explicit module map
Since #63178 added support for Clang modules in the explicit module map, it is possible for there to be multiple modules with the same name: a Swift module and a Clang module. The current parsing logic just overwrites the corresponding entry module in a hashmap so we always only preserved the module that comes last, with the same name.
This change separates the parsing of the modulemap JSON file to produce a separate Swift module map and Clang module map. The Swift one is used by the 'ExplicitSwiftModuleLoader', as before, and the Clang one is only used to populate the ClangArgs with the requried -fmodule-... flags.1 parent e851856 commit a0b5dd4
File tree
5 files changed
+105
-51
lines changed- include/swift
- Frontend
- Serialization
- lib
- Frontend
- Serialization
- test/ScanDependencies
5 files changed
+105
-51
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
179 | | - | |
180 | | - | |
181 | | - | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
182 | 217 | | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | 218 | | |
188 | 219 | | |
189 | 220 | | |
190 | | - | |
191 | 221 | | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | 222 | | |
198 | 223 | | |
199 | 224 | | |
| |||
223 | 248 | | |
224 | 249 | | |
225 | 250 | | |
226 | | - | |
| 251 | + | |
| 252 | + | |
227 | 253 | | |
228 | 254 | | |
229 | 255 | | |
| |||
240 | 266 | | |
241 | 267 | | |
242 | 268 | | |
243 | | - | |
| 269 | + | |
244 | 270 | | |
245 | 271 | | |
246 | 272 | | |
| |||
269 | 295 | | |
270 | 296 | | |
271 | 297 | | |
272 | | - | |
| 298 | + | |
| 299 | + | |
273 | 300 | | |
274 | 301 | | |
275 | 302 | | |
276 | 303 | | |
277 | 304 | | |
278 | | - | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
279 | 309 | | |
280 | 310 | | |
281 | 311 | | |
282 | 312 | | |
283 | 313 | | |
284 | 314 | | |
285 | | - | |
| 315 | + | |
286 | 316 | | |
287 | | - | |
| 317 | + | |
288 | 318 | | |
289 | | - | |
| 319 | + | |
290 | 320 | | |
291 | | - | |
| 321 | + | |
292 | 322 | | |
293 | | - | |
| 323 | + | |
294 | 324 | | |
295 | | - | |
| 325 | + | |
296 | 326 | | |
297 | | - | |
| 327 | + | |
298 | 328 | | |
299 | 329 | | |
300 | 330 | | |
301 | 331 | | |
302 | 332 | | |
303 | 333 | | |
304 | 334 | | |
305 | | - | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
306 | 357 | | |
307 | 358 | | |
308 | 359 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
87 | 88 | | |
88 | | - | |
| 89 | + | |
| 90 | + | |
89 | 91 | | |
90 | 92 | | |
91 | 93 | | |
| |||
98 | 100 | | |
99 | 101 | | |
100 | 102 | | |
101 | | - | |
| 103 | + | |
102 | 104 | | |
103 | 105 | | |
104 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1859 | 1859 | | |
1860 | 1860 | | |
1861 | 1861 | | |
1862 | | - | |
| 1862 | + | |
1863 | 1863 | | |
1864 | 1864 | | |
1865 | 1865 | | |
1866 | 1866 | | |
| 1867 | + | |
1867 | 1868 | | |
1868 | | - | |
| 1869 | + | |
| 1870 | + | |
1869 | 1871 | | |
1870 | 1872 | | |
1871 | 1873 | | |
| |||
1877 | 1879 | | |
1878 | 1880 | | |
1879 | 1881 | | |
1880 | | - | |
1881 | | - | |
| 1882 | + | |
| 1883 | + | |
1882 | 1884 | | |
1883 | 1885 | | |
1884 | 1886 | | |
1885 | 1887 | | |
1886 | 1888 | | |
1887 | 1889 | | |
1888 | 1890 | | |
1889 | | - | |
| 1891 | + | |
1890 | 1892 | | |
1891 | 1893 | | |
1892 | 1894 | | |
| |||
1899 | 1901 | | |
1900 | 1902 | | |
1901 | 1903 | | |
1902 | | - | |
1903 | | - | |
| 1904 | + | |
1904 | 1905 | | |
1905 | 1906 | | |
1906 | 1907 | | |
| |||
1939 | 1940 | | |
1940 | 1941 | | |
1941 | 1942 | | |
1942 | | - | |
1943 | | - | |
1944 | | - | |
1945 | | - | |
1946 | | - | |
1947 | | - | |
1948 | | - | |
1949 | | - | |
1950 | | - | |
1951 | | - | |
1952 | 1943 | | |
1953 | 1944 | | |
1954 | 1945 | | |
| |||
1990 | 1981 | | |
1991 | 1982 | | |
1992 | 1983 | | |
1993 | | - | |
1994 | | - | |
| 1984 | + | |
| 1985 | + | |
1995 | 1986 | | |
1996 | 1987 | | |
1997 | 1988 | | |
1998 | 1989 | | |
1999 | | - | |
2000 | | - | |
| 1990 | + | |
| 1991 | + | |
2001 | 1992 | | |
2002 | 1993 | | |
2003 | 1994 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
87 | | - | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
| |||
Lines changed: 8 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
13 | 18 | | |
14 | 19 | | |
15 | 20 | | |
| |||
33 | 38 | | |
34 | 39 | | |
35 | 40 | | |
36 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
37 | 44 | | |
38 | 45 | | |
39 | 46 | | |
| |||
0 commit comments