Conversation
…ers (#37) Follow-up to the ESP32 reference implementation — applies the same builder-pattern wiring to every other platform so PlatformIO `build_unflags` now strips framework/toolchain-contributed flags on AVR, Teensy, generic ARM (STM32 / RP2040 / Apollo3), nRF52, Renesas, Silabs, CH32V, SAM, and ESP8266. Per-compiler changes are identical in shape: - Add `build_unflags: Vec<String>` field, initialized empty in constructor - Add `with_build_unflags(...)` builder method - Override `Compiler::build_unflags()` to return `&self.build_unflags` Each platform orchestrator chains `.with_build_unflags(ctx.build_unflags.clone())` on every `XxxCompiler::new(...)` site (one per orchestrator, except stm32 which has two). Default-impl `compile_c` / `compile_cpp` in the `Compiler` trait already filter both platform and `extra_flags` through this set when it's non-empty (added in PR #63), so wiring each platform picks up framework-scope filtering automatically. All 447 fbuild-build lib tests pass; clippy -D warnings clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 42 minutes and 6 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (20)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Follow-up to PR #63 (ESP32 reference impl). Applies the same one-line builder-pattern wiring to every other platform, so PlatformIO `build_unflags` now strips framework/toolchain-contributed flags on:
Per-compiler changes
Identical shape across 9 compiler files:
Per-orchestrator changes
Each orchestrator chains `.with_build_unflags(ctx.build_unflags.clone())` on every `XxxCompiler::new(...)` site (one per orchestrator; stm32 has two). Default-impl `compile_c` / `compile_cpp` in the `Compiler` trait already filter both platform and `extra_flags` through this set when non-empty (added in PR #63), so wiring each platform picks up framework-scope filtering automatically.
Test plan
Closes the remaining scope of #37.
🤖 Generated with Claude Code