/dev/log06
由于寒假忙着做手术和打游戏,导致没有写开发日志,开学了补上。
最近遇到的一个好事是自己成为了 Clang-tidy 的 Maintainer (https://clang.llvm.org/extra/Maintainers.html),这是我第一次以真实身份在开源社区出道,算是满足了自己的一个小目标。
同时过去的一个月也做了不少事情:
首先,我的个人项目 CTIT (https://github.com/clang-tidy-infra/CTIT) 完成了初步的开发,且已经被几个 Reviewers/Maintainers 用上了。
它的功能是把 PR 的修改自动 apply 到 clang-tidy 的 codebase 上并编译,然后在大型开源项目(如 cppcheck, clang, curl)上运行来检测运行时崩溃、功能退化及误报变化,我还在里面塞了一个小的 AI Agent 来对 Logs 做自动分析。
LLVM 上的一些 PATCH 总结:
- 更新了一下 Clang-tidy 的文档,提醒 check authors 在写测试的时候要指定具体的语言 standards (https://github.com/llvm/llvm-project/pull/184750)
简单来说就是没有特殊情况写 `-std=c..-or-later`
- 修了 `misc-throw-by-value-catch-by-reference` 里两个完全失效的 Options (https://github.com/llvm/llvm-project/pull/184750)
非常诡异,这种代码是怎么进到仓库里的,之前的 Reviewer 在审什么东西.
- 两个补测试覆盖率的 NFC Patches (https://github.com/llvm/llvm-project/pull/184015 和 https://github.com/llvm/llvm-project/pull/184708)
- 修复了一个和 Attributes 相关的问题 (https://github.com/llvm/llvm-project/pull/184095)
第一次知道原来 Clang 的 Frontend 会把多个连续的 AttributedStmt 压缩成一个
- 给一个 check 加上了部分缺失的重载 (https://github.com/llvm/llvm-project/pull/183300)
我感觉 Clang-tidy 有很多类似的问题,不知道有没有办法根据标准库的函数声明来做针对性的自动化测试。
- 修了一个 readability-container-size-empty 中的 Assert Crash (https://github.com/llvm/llvm-project/pull/181557)
getName() 前不做 Sanity check 是坏文明,虽然我自己有时候也会写出这样不好的代码...
- 一个会影响 Clang-tidy 的 Clang Issue: https://github.com/llvm/llvm-project/pull/181712
Aaron 的评论让我学到了很多架构设计上的新知识:
> SDiagsWriter is a subclass of DiagnosticConsumer which defines the contract for finish(). So this means some subclasses will automagically handle finish() while others won't. WDYT about calling finish() explicitly in tooling? That means any diagnostic consumer will behave correctly, not just serialized diagnostics.
- 修了一个因为没有测试覆盖而导致的 Crash: https://github.com/llvm/llvm-project/pull/180351
这个 PR 也是我开始加强 Clang-tidy 测试覆盖率的主要原因。
- 更新了失效的 HICPP 文档链接: https://github.com/llvm/llvm-project/pull/180525
这个 PR 在社区里引起了一些其他讨论: https://discourse.llvm.org/t/rfc-regarding-the-current-status-of-hicpp-checks/89883/3
目前的共识是:HICPP 的 check 需要先重命名到别的 module 里,然后再考虑要不要直接删掉整个 module.
自己过去的一个 Commit 莫名其妙上了 LLVM Weekly Report: https://llvmweekly.org/issue/630,虽然只有一行 (争取以后做出更酷炫的成果)
---
编译器社区的一些新闻:
- https://discourse.llvm.org/t/rfc-ai-assisted-bazel-fixer-bot/89178/94
社区里吵了很久的 AI Bazel Bot 尘埃落定,还是放行了。
- Clang 22.1.0 发布:
https://releases.llvm.org/22.1.0/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/22.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html
- 世界上最流行的 C++ LSP 工具(之一) Clangd 处在爆炸的边缘:https://discourse.llvm.org/t/help-needed-with-clangd-maintenance/89820
支持 clice.io 谢谢喵
- GSoC 2026 如火如荼进行中!
QEMU: 快照快速加载、USB 设备重定向、vhost-user 内存隔离、COCONUT-SVSM 中支持 x86 PCID、SCSI 磁带设备模拟...
LLVM: https://discourse.llvm.org/t/gsoc-2026-projects-proposals-and-other-information/89967
---
生活琐事:
之前提到了给 2012 投简历的事情,由于官网那边完全没回复,所以我直接尝试微信私聊他们员工了,在等了两天后:
> 有的哈,今年岗位三月底开放,流程要届时才能推进了
也许真的有机会?
以防万一还是投了一些其它的公司,例如阿里平头哥和字节,私下聊天时,朋友给了一个抽象的建议:
> 去 mihoyo 搞 infra
虽然我既不懂游戏开发,也不会做 Infra,但我觉得这个想法实在太有乐子了。于是发动 Connection 获得了一个内推码直接投了简历,更抽象的是米哈游写简历的网页上还要写自己的游戏经历,于是:
崩坏星穹铁道 活跃6-12月 已退坑
现在 HR 初筛,期待开奖 ( ^ω^)