Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Oct 2003 19:23:13 +1100
From:      Peter Jeremy <PeterJeremy@optushome.com.au>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        cvs-src@freebsd.org
Subject:   Re: cvs commit: src/usr.bin/chat Makefile
Message-ID:  <20031030082313.GA1649@cirb503493.alcatel.com.au>
In-Reply-To: <20031028222117.X4879@gamplex.bde.org>
References:  <200310260449.h9Q4nwm9016893@repoman.freebsd.org> <20031026171515.P17272@gamplex.bde.org> <xzpu15w9rhk.fsf@dwp.des.no> <20031027152156.Y21211@gamplex.bde.org> <xzpbrs1afvz.fsf@dwp.des.no> <20031028222117.X4879@gamplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 28, 2003 at 10:28:24PM +1100, Bruce Evans wrote:
>Similarly for `return (log(3));`.  gcc doesn't do the log() inline, at
>least on i386's with no options, but it knows to pass 3.0 and convert
>the return value to int.

It shouldn't.  If I write:
	int foo(int x)
	{
		return (log(x));
	}
without explicitly declaring any prototype for log(), gcc should
assume a declaration "int log(int);".  Arbitrarily deciding that
the declaration should be "double log(double);" breaks K&R C and
C90 programs.

It seems that gcc is diverging more and more from the ISO standards.

Peter



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031030082313.GA1649>