Skip to content

Don't wait depfiles for gcc/clang preprocessed inputs#2665

Merged
sylvestre merged 1 commit into
mozilla:mainfrom
AJIOB:fix-asm-depfile
May 4, 2026
Merged

Don't wait depfiles for gcc/clang preprocessed inputs#2665
sylvestre merged 1 commit into
mozilla:mainfrom
AJIOB:fix-asm-depfile

Conversation

@AJIOB

@AJIOB AJIOB commented Apr 3, 2026

Copy link
Copy Markdown
Contributor

Fixes #2664

@codecov-commenter

codecov-commenter commented Apr 3, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 96.87500% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.34%. Comparing base (6f7e664) to head (81e96e1).

Files with missing lines Patch % Lines
src/compiler/gcc.rs 96.87% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2665      +/-   ##
==========================================
+ Coverage   74.27%   74.34%   +0.06%     
==========================================
  Files          70       70              
  Lines       39325    39373      +48     
==========================================
+ Hits        29208    29270      +62     
+ Misses      10117    10103      -14     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@AJIOB

AJIOB commented Apr 14, 2026

Copy link
Copy Markdown
Contributor Author

Hi @sylvestre ,

Friendly ping for this PR (and anothers too, please).

I hope you have some time for it.

@AJIOB AJIOB force-pushed the fix-asm-depfile branch 4 times, most recently from 292eeec to 410b44c Compare April 23, 2026 19:28
@codspeed-hq

codspeed-hq Bot commented Apr 23, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 60 untouched benchmarks
⏩ 4 skipped benchmarks1


Comparing AJIOB:fix-asm-depfile (81e96e1) with main (6f7e664)

Open in CodSpeed

Footnotes

  1. 4 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Comment thread src/compiler/gcc.rs
},
);
// If the language doesn't need preprocessing, it doesn't generate a dependency file. See issue #2664
if language.needs_c_preprocessing() {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cannot do it without explicit external if, because clippy is not happy with if let ... && ... and with if ... && let ...

See rust-lang/rust#53667 for more details

@sylvestre

Copy link
Copy Markdown
Collaborator

please add integration tests for both gcc & clang
thanks

@AJIOB AJIOB force-pushed the fix-asm-depfile branch 2 times, most recently from 09604df to 7b85b90 Compare April 24, 2026 08:49
@AJIOB

AJIOB commented Apr 24, 2026

Copy link
Copy Markdown
Contributor Author

Looks like freebsd error is not related to my changes.

So, the PR is ready.

@sylvestre , I've added the integration tests too

@AJIOB AJIOB force-pushed the fix-asm-depfile branch from 7b85b90 to 81e96e1 Compare April 30, 2026 13:45
@sylvestre sylvestre merged commit 9ce55d9 into mozilla:main May 4, 2026
52 checks passed
@AJIOB AJIOB deleted the fix-asm-depfile branch May 4, 2026 13:55
eleboucher pushed a commit to eleboucher/towonel that referenced this pull request Jun 19, 2026
….0) (#36)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mozilla/sccache](https://github.com/mozilla/sccache) | minor | `0.15.0` → `0.16.0` |

---

### Release Notes

<details>
<summary>mozilla/sccache (mozilla/sccache)</summary>

### [`v0.16.0`](https://github.com/mozilla/sccache/releases/tag/v0.16.0)

[Compare Source](mozilla/sccache@v0.15.0...v0.16.0)

##### sccache 0.16.0

##### Summary

sccache 0.16.0 is a smaller, stabilizing release on top of 0.15.0's multi-tier caching work, with a few new capabilities:

- **Read-only backends**: Any storage backend can now be marked read-only, not just a select few ([#&#8203;2705](mozilla/sccache#2705)).
- **Remote execution on aarch64**: Distributed/remote execution now works on Linux aarch64, including fixes for `ldd` output parsing and toolchain packaging on non-x86\_64 Linux ([#&#8203;2668](mozilla/sccache#2668)).
- **CUDA**: `nvcc`'s `--dependency-output` argument is now handled ([#&#8203;2708](mozilla/sccache#2708)).
- **Resilience**: Fall back to a direct cache write when tempfile creation on the same filesystem fails ([#&#8203;2369](mozilla/sccache#2369)), and give a meaningful error when a multi-level chain references a backend that wasn't compiled in ([#&#8203;2695](mozilla/sccache#2695)).
- **Client efficiency**: The client and dist-client now use a single-threaded tokio runtime, avoiding a thread explosion when many short-lived clients run on many-core hosts ([#&#8203;2704](mozilla/sccache#2704)).
- **Correctness**: Strip `SCCACHE_BASEDIRS` from escaped-backslash paths on Windows ([#&#8203;2736](mozilla/sccache#2736)), ignore empty-set environment values in config ([#&#8203;2639](mozilla/sccache#2639)), and avoid the sccache wrapper when resolving the real compiler ([#&#8203;2720](mozilla/sccache#2720)).
- **Security/logging**: JWT keys and cert digests are now base64-encoded in logs ([#&#8203;2712](mozilla/sccache#2712)), plus general logging improvements ([#&#8203;2734](mozilla/sccache#2734)).

Welcome to 4 new contributors!

##### Features

- feat: all backends support making them as read-only by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2705](mozilla/sccache#2705)
- Enable RE on Linux-aarch64 by [@&#8203;malfet](https://github.com/malfet) in [#&#8203;2668](mozilla/sccache#2668)
- feat(nvcc): support argument: `--dependency-output` by [@&#8203;ZRHann](https://github.com/ZRHann) in [#&#8203;2708](mozilla/sccache#2708)
- feat: avoid sccache wrapper when resolving compiler by [@&#8203;iTrooz](https://github.com/iTrooz) in [#&#8203;2720](mozilla/sccache#2720)
- Fall back to direct cache write if tempfile creation on the same fs fails by [@&#8203;myzhang1029](https://github.com/myzhang1029) in [#&#8203;2369](mozilla/sccache#2369)
- Don't wait depfiles for gcc/clang preprocessed inputs by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2665](mozilla/sccache#2665)

##### Fixes

- fix: strip SCCACHE\_BASEDIRS from escaped-backslash paths on Windows by [@&#8203;rconde01](https://github.com/rconde01) in [#&#8203;2736](mozilla/sccache#2736)
- fix: ignore empty-set environment values for config by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2639](mozilla/sccache#2639)
- fix: handle disabled cache backend features in multilevel chain by [@&#8203;cryptomilk](https://github.com/cryptomilk) in [#&#8203;2695](mozilla/sccache#2695)
- fix: use single-threaded tokio runtime in sccache (dist-)client by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2704](mozilla/sccache#2704)
- fix: add newline when printing dist-status to stdout by [@&#8203;iTrooz](https://github.com/iTrooz) in [#&#8203;2710](mozilla/sccache#2710)

##### Logging

- chore: encode jwt key and cert digest with base64 in logs by [@&#8203;iTrooz](https://github.com/iTrooz) in [#&#8203;2712](mozilla/sccache#2712)
- Slightly improve logging by [@&#8203;glandium](https://github.com/glandium) in [#&#8203;2734](mozilla/sccache#2734)

##### Cleanup

- chore: make clippy happy by [@&#8203;AJIOB](https://github.com/AJIOB) in [#&#8203;2727](mozilla/sccache#2727)
- Extract new\_client\_runtime() helper to DRY up client runtime creation by [@&#8203;sylvestre](https://github.com/sylvestre) in [#&#8203;2744](mozilla/sccache#2744)

##### New Contributors

- [@&#8203;ZRHann](https://github.com/ZRHann) made their first contribution in [#&#8203;2708](mozilla/sccache#2708)
- [@&#8203;myzhang1029](https://github.com/myzhang1029) made their first contribution in [#&#8203;2369](mozilla/sccache#2369)
- [@&#8203;malfet](https://github.com/malfet) made their first contribution in [#&#8203;2668](mozilla/sccache#2668)
- [@&#8203;rconde01](https://github.com/rconde01) made their first contribution in [#&#8203;2736](mozilla/sccache#2736)

**Full Changelog**: <mozilla/sccache@v0.15.0...v0.16.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9naXRodWItcmVsZWFzZSIsInR5cGUvbWlub3IiXX0=-->

Reviewed-on: https://codeberg.org/towonel/towonel/pulls/36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Assembly without preprocessing doesn't ignore depfile

3 participants