Path: utzoo!attcan!uunet!wuarchive!udel!mmdf From: HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) Newsgroups: comp.os.minix Subject: Re: float VS double: The return... Message-ID: <16527@nigel.udel.EDU> Date: 11 Apr 90 14:56:04 GMT Sender: mmdf@udel.EDU Lines: 23 The point is: in the sequence test (a) float a; { .... } I change the ,,float'' to double as soon the argument declarations have been processed. The same promotions occur for char==>int, short==>int etc. Now, I am of the opinion that this is correct, although GCC (which I use as a reference compiler when I am not sure) converts the double back to a float in the startup code of the function if its address is used somewhere. I think this is a big mess. It really should be a syntax error to declare a ,,char'' argument of a function etc. (This might not be true if you use prototypes that might suppress the default promotions). My opinion at the moment is that I should not change this in the compiler. /Christoph van Wuellen P.S. with char/int it is the same problem if you don't assume that you can retrieve the char in the low order bits of the int (I wouldn't put such an assumption into the front end of a compiler)