Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!rutgers!mcnc!duke!cameron!dukee!amr From: amr@dukee.egr.duke.edu (Anthony M. Richardson) Newsgroups: comp.lang.c Subject: Prototypes with old style definitions Message-ID: <626@cameron.cs.duke.edu> Date: 7 Feb 90 00:26:20 GMT Sender: news@cameron.cs.duke.edu Lines: 33 Can someone with access to the (proposed?) ANSI standard answer the following for me? Does the Standard specify what action should occur when old style function definitions are preceded by new style declarations? That is, if we have ======================= float foo(float, int); float foo(x, n) float x; int n; { ......... } ======================= what does the standard say about parameter conversions in this case? I see only three possible answers: (1) foo must assume that x will be passed as a float and must return a float, i.e. must obey the prototype, (2) the standard does not allow mixing of new style declarations and old style definitions, (3) behavior is implementation dependent. I guess there could be a (4): (4) foo must do old style parameter conversions (specifically float -> double), but this doesn't seem too likely. Email would be appreciated as I don't subscribe to this group. Thanks, Tony Richardson amr@dukee.egr.duke.edu