E-Ink News Daily

Back to list

an ambiguity in c89 which will never be fixed

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