PR# 13870 Missing prototypes in runtime
Problem Report Summary
Submitter: prestoat2000
Category: Runtime
Priority: Low
Date: 2008/01/09
Class: Bug
Severity: Non-critical
Number: 13870
Release: 6.2.71821
Confidential: No
Status: Closed
Responsible:
Environment: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.1.9) Gecko/20071111 Firefox/2.0.0.9
Solaris 10 on x86
Synopsis: Missing prototypes in runtime
Description
There are some missing prototypes in the runtime code. A declaration extern void foo(); needs to be extern void foo(void); Otherwise, it is not considered a prototype (for compatability with K&R style code) - verified by experiment. This could cause undetected errors. Although it is just a style issue, I have also included cases where the definition of a function has an empty argument list instead of "(void)". It is easier to recognize function definitions at a glance if the argument list is never completely empty (i.e., if "()" always signifies a function call). See attached file for a full list of function declarations and definitions with no arguments that do not include "void" in the argument list.
To Reproduce
Problem Report Interactions
Indeed, this one was missing. Now it is fixed in rev#80575 of EiffelStudio 6.5 intermediate release. Thank you for your report.
I seem to have missed one place in my original list where "void" is not included in prototype: In malloc.c: rt_shared EIF_REFERENCE get_to_from_core(); /* Get a free eiffel chunk from kernel */
Fixed in rev#80336 of EiffelStudio 6.5 intermediate release.