The author discovers an ambiguous edge case in the C89 standard regarding implicit function declarations, where GCC and Clang disagree on whether a self-referential declaration is legal. The issue stems from C89's now-removed feature of implicitly declaring undefined functions as returning int, which was never disambiguated before C99 removed it.
Background
C89/C90 was the first standardized version of the C programming language, featuring implicit function declarations that were considered dangerous and removed in C99. Compiler disagreements on ambiguous standard wording remain a known issue in the C ecosystem.
- Source
- Lobsters
- Published
- Aug 10, 2026 at 03:56 PM
- Score
- 6.0 / 10