作者发现C89标准中关于隐式函数声明的一个歧义边缘案例,GCC和Clang对此是否合法存在分歧。问题源于C89中现已移除的隐式声明未定义函数为返回int的特性,该特性在C99移除前从未被澄清。
背景
C89/C90是C语言首个标准化版本,包含被认为危险的隐式函数声明特性,该特性在C99中被移除。编译器对标准中歧义措辞的分歧是C生态系统中已知的问题。
- 来源
- Lobsters
- 发布时间
- 2026年8月10日 15:56
- 评分
- 6.0 / 10
作者发现C89标准中关于隐式函数声明的一个歧义边缘案例,GCC和Clang对此是否合法存在分歧。问题源于C89中现已移除的隐式声明未定义函数为返回int的特性,该特性在C99移除前从未被澄清。
C89/C90是C语言首个标准化版本,包含被认为危险的隐式函数声明特性,该特性在C99中被移除。编译器对标准中歧义措辞的分歧是C生态系统中已知的问题。