Document Number: WG14 N635/X3J11 96-099 C9X Revision Proposal ===================== Title: ____Implicit int removal (old-style parameters)______ Author: _____________Larry Jones____________________________ Author Affiliation: _SDRC___________________________________ Postal Address: _____2000 Eastman Dr, Milford, OH 45150_____ E-mail Address: _____larry.jones@sdrc.com___________________ Telephone Number: ___513-576-2070___________________________ Fax Number: _________513-576-2843___________________________ Sponsor: ____________Larry Jones____________________________ Date: _______________30 December 1996_______________________ Proposal Category: __ Editorial change/non-normative contribution __ Correction __ New feature __ Addition to obsolescent feature list __ Addition to Future Directions x_ Other (please specify) Removal of feature____________ Area of Standard Affected: __ Environment x_ Language __ Preprocessor __ Library __ Macro/typedef/tag name __ Function __ Header __ Other (please specify) ______________________________ Prior Art: _________________________________________________ Target Audience: _C Programmers_____________________________ ____________________________________________________________ ____________________________________________________________ Related Documents (if any): ________________________________ ____________________________________________________________ ____________________________________________________________ Proposal Attached: x_ Yes __ No, but what's your interest? Abstract: At previous meetings, there has been overwhelming sentiment for removing the ``implicit int'' declarations from the language and requiring explicit declarations instead. This prevents subtle errors due to undeclared identifiers being implicitly declared rather than producing a diagnostic. This proposal handles one such case -- the implicit declaration of a parameter in an old- style function definition. Proposal: In subclause 6.7.1 Function definitions, Constraints, revise the first sentence of the final paragraph to read: If the declarator includes an identifier list, each declaration in the declaration list shall have at least one declarator, those declarators shall declare only identifiers from the identifier list, and every identifier in the identifier list shall be declared. In the same subclause, Semantics, remove the final sentence (``Any parameter that is not declared has type int.'') and revise the penultimate sentence to read: If the declarator includes an identifier list,[85] the types of the parameters shall be declared in a following declaration list.