明年发布的 GCC 16 编译器版本将继续增强编译器诊断支持的趋势,包括新功能,如可选地将编译器错误/警告诊断输出到 HTML 格式,以便更好地分析。
Red Hat 的 David Malcolm,他一直为 GNU 编译器集合(GCC)提供许多诊断改进,介绍了即将为 GCC 16 带来的增强功能。Malcolm 在葡萄牙波尔图的 GNU Tools Cauldron 2025 会议上进行了演讲。
下一年的 GCC 功能版本继续优化 C++诊断,包括实验性的 HTML 输出支持、-fanalyzer 功能的持续增强、libdigagnostics 的改进等。

GCC 16 将放弃对诊断的 JSON 输出支持,转而采用 SARIF,同时添加 HTML 输出支持。目前,可以通过 GCC 16 使用-fdiagnostics-add-output=experimental-html 启用此 HTML 输出支持。对于那些对支持感兴趣的人,可以查看 David Malcolm 提供的示例页面。正在进行的工作旨在增强视觉效果并使其更容易使用。对于某些区域,基于 HTML 的诊断可以比仅从终端或日志文件中的文本表示更容易分析。
GCC 16 还计划提供更好的 C++对-fanalyzer 选项的支持、更有用的 SARIF 诊断输出,以及 libdiagnostics 更好地处理逻辑位置和其他功能。尚未合并,但还在为 GCC 诊断使用 JSON-RPC 进行实验性的 IDE 集成工作。
对明年 GCC 16 编译器发布所进行的诊断工作感兴趣的人可以通过 GNU Tools Cauldron 2025 的演示资料了解更多信息。
转自 Improved Diagnostics For GCC 16 – Including Support For Outputting To HTML – Phoronix
Linuxeden开源社区