On Thu, 15 Feb 2024, Florian Weimer wrote: >> Naive questions: Can definitions really be prototypes (in C)? > Yes, I think so: definitions can be declarations, and function > prototypes are declarations. The standard uses the phrase “function > definition that does not include a function prototype declarator”. > Should I write “old-style function definition” instead? I think that would have helped me (as a not too much of a language expert). Only make that change if you think it makes sense, though. >>> +GCC will type-check function arguments after that, potentially >>> +requiring further changes. (Previously, the function declaration was >>> +treated as not having no prototype.) >> That second sentence uses double negation, which logically is the same as >> just the original statement. > Other reviews suggests to change it to “not having [a] prototype”. Ah, let's use that then. >>> +By default, GCC still accepts returning an expression of >>> +type void from within a function that itself >>> +returns void, as a GNU extension that matches C++ rules >>> +in this area. > Does the GNU extension match C++ (standard rules)? > Yes. Should I write “matches [standard] C++ rules”? Looks good to me. (At first I was confused, but I guess this is a GNU extension to the C standard - that matches standard C++ in this area?) Gerald