Commit 8eedf15
committed
The Windows leg failed with
module file 'D:amcppmcpptargetx86_64-windows-msvcc1ffdc8b90b687f4pcm.cachestd.pcm'
not found
i.e. D:\a\mcpp\mcpp\target\...\pcm.cache\std.pcm with every separator eaten.
Response-file content is tokenized GNU-style, where backslash is an ESCAPE
character. Switching escape_flag_path to generic_string() covered the -I
paths this file builds itself, but $cxxflags carries paths produced
elsewhere — flags.cppm's -fprebuilt-module-path= and module-file mappings —
which are still native-separated. Moving those off the command line broke
every `import std;`.
The fix is to scope the response file to what this file can guarantee the
form of: $local_includes only. $cxxflags / $unit_cxxflags / $asmflags stay
inline, where a backslash is just a character. That is also sufficient for
#261: the unbounded axis is one -I per dependency include dir, and the rest
of the payload is bounded. Making every flag producer emit forward slashes
would be the more general fix, but it is a much wider change than this batch
should carry, and it is not needed for the ceiling.
Only the `mcpp test` step failed, not the build: the build step runs the
bootstrap mcpp, so the freshly-built binary is first exercised when it
compiles the test targets.
Also makes e2e 118 use a portable in-place edit. Dropping its
`# requires: gcc` gate in #257 meant it ran on macOS for the first time,
where BSD sed reads `-i`'s next argument as a backup suffix and swallows the
script. The other three new e2e tests pass on macOS as-is.
1 parent 58294b4 commit 8eedf15
3 files changed
Lines changed: 51 additions & 21 deletions
File tree
- src/build
- tests
- e2e
- unit
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
554 | 554 | | |
555 | 555 | | |
556 | 556 | | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
557 | 569 | | |
558 | 570 | | |
559 | 571 | | |
| |||
576 | 588 | | |
577 | 589 | | |
578 | 590 | | |
579 | | - | |
580 | | - | |
581 | | - | |
582 | | - | |
583 | | - | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
584 | 595 | | |
585 | 596 | | |
586 | 597 | | |
| |||
604 | 615 | | |
605 | 616 | | |
606 | 617 | | |
607 | | - | |
608 | | - | |
| 618 | + | |
| 619 | + | |
609 | 620 | | |
610 | 621 | | |
611 | 622 | | |
| |||
621 | 632 | | |
622 | 633 | | |
623 | 634 | | |
624 | | - | |
625 | | - | |
| 635 | + | |
| 636 | + | |
626 | 637 | | |
627 | 638 | | |
628 | 639 | | |
| |||
641 | 652 | | |
642 | 653 | | |
643 | 654 | | |
644 | | - | |
| 655 | + | |
645 | 656 | | |
646 | | - | |
| 657 | + | |
647 | 658 | | |
648 | 659 | | |
649 | 660 | | |
650 | 661 | | |
651 | 662 | | |
652 | 663 | | |
653 | 664 | | |
654 | | - | |
| 665 | + | |
655 | 666 | | |
656 | 667 | | |
657 | 668 | | |
| |||
733 | 744 | | |
734 | 745 | | |
735 | 746 | | |
736 | | - | |
| 747 | + | |
737 | 748 | | |
738 | 749 | | |
739 | 750 | | |
740 | | - | |
| 751 | + | |
741 | 752 | | |
742 | 753 | | |
743 | 754 | | |
744 | 755 | | |
745 | | - | |
| 756 | + | |
746 | 757 | | |
747 | 758 | | |
748 | 759 | | |
| |||
757 | 768 | | |
758 | 769 | | |
759 | 770 | | |
760 | | - | |
| 771 | + | |
| 772 | + | |
761 | 773 | | |
762 | 774 | | |
763 | 775 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
20 | 27 | | |
21 | 28 | | |
22 | 29 | | |
| |||
51 | 58 | | |
52 | 59 | | |
53 | 60 | | |
54 | | - | |
| 61 | + | |
55 | 62 | | |
56 | 63 | | |
57 | 64 | | |
| |||
83 | 90 | | |
84 | 91 | | |
85 | 92 | | |
86 | | - | |
| 93 | + | |
87 | 94 | | |
88 | 95 | | |
89 | 96 | | |
| |||
130 | 137 | | |
131 | 138 | | |
132 | 139 | | |
133 | | - | |
| 140 | + | |
134 | 141 | | |
135 | 142 | | |
136 | 143 | | |
| |||
158 | 165 | | |
159 | 166 | | |
160 | 167 | | |
161 | | - | |
| 168 | + | |
162 | 169 | | |
163 | 170 | | |
164 | 171 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
637 | 637 | | |
638 | 638 | | |
639 | 639 | | |
640 | | - | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
641 | 647 | | |
642 | 648 | | |
643 | 649 | | |
644 | 650 | | |
645 | 651 | | |
646 | 652 | | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
647 | 658 | | |
648 | 659 | | |
649 | 660 | | |
| |||
0 commit comments