Commit 2f5b71c
committed
fix(emit): a plan that builds nothing writes no link specs
prepare_build ran `g++ -dumpspecs` to write mcpp-clean-link.specs under
plan_only. The file is read only by the link line, so the planning pass
neither needs it nor should run the driver for it, and the compile arguments
are the same without it (e2e 688 F still compares them with configure-only's).
Found by an independent review of #639.
e2e 688 criterion L measures what SPEC-005 R2.2 states: the fresh work
directory holds the resolution record and no object, BMI or link specs, and
a home whose build cache is empty stays without objects or BMIs while its
document lists the std unit. Its control leg runs configure-only on a copy
in the same home and sees the std module compiled. R2.2 now says what is
true: nothing is compiled, and the toolchain is still queried as for
`mcpp build`.
Refs #6361 parent db74e78 commit 2f5b71c
4 files changed
Lines changed: 68 additions & 8 deletions
File tree
- .agents/docs
- docs/specs
- src/build
- tests/e2e
Lines changed: 16 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
387 | 387 | | |
388 | 388 | | |
389 | 389 | | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
394 | 398 | | |
395 | 399 | | |
396 | 400 | | |
| |||
511 | 515 | | |
512 | 516 | | |
513 | 517 | | |
514 | | - | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
515 | 526 | | |
516 | 527 | | |
517 | 528 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
48 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11895 | 11895 | | |
11896 | 11896 | | |
11897 | 11897 | | |
11898 | | - | |
| 11898 | + | |
| 11899 | + | |
| 11900 | + | |
| 11901 | + | |
11899 | 11902 | | |
11900 | 11903 | | |
11901 | 11904 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
32 | 38 | | |
33 | 39 | | |
34 | 40 | | |
| |||
262 | 268 | | |
263 | 269 | | |
264 | 270 | | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
265 | 299 | | |
266 | 300 | | |
267 | 301 | | |
| |||
288 | 322 | | |
289 | 323 | | |
290 | 324 | | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
0 commit comments