Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Aug 2000 15:15:33 +0200 (CEST)
From:      Marc van Woerkom <marc.vanwoerkom@science-factory.com>
To:        bbec@capgemini.fr
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: Compile FreeBSD with an ANSI-C compiler
Message-ID:  <20000818131533.9FECA1E6B@nil.science-factory.com>
In-Reply-To: <399D0056.953E6B67@capgemini.fr> (message from Bruno BEC on Fri, 18 Aug 2000 11:22:30 %2B0200)
References:   <399D0056.953E6B67@capgemini.fr>

next in thread | previous in thread | raw e-mail | index | archive | help
> We made the same experience with the Linux Kernel and had bad surprises
> due to significant non ANSI code souce (this code is not rejected by gcc
> which is not fully ANSI-C).
> 
> Did one of you have any experience or information about the ANSI
> compliance of the FreeBSD kernel ?

Well in general there is old K&R style C, ANSI style C, and 
gcc C extensions.

You will run into K&R and ANSI style C in case of FreeBSD

Here is some K&R:

    static int
    mmrw(dev, uio, flags)
	    dev_t dev;
	    struct uio *uio;
	    int flags;
    {
	    register int o;
	    register u_int c, v;
	    u_int poolsize;
	    register struct iovec *iov;
	    int error = 0;
	    caddr_t buf = NULL;

	    while (uio->uio_resid > 0 && error == 0) {
		    iov = uio->uio_iov;
		    if (iov->iov_len == 0) {

source:
  
    http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/i386/i386/mem.c?rev=1.79.2.4&content-type=text/x-cvsweb-markup


I am not sure if there are any gcc specific features used
in the code.
Possibly inline assembler would come to mind, that would be
gcc specific syntax. But as far as I know the assembler code
in FreeBSD is put into separate .S files.

What I have seen are certain adjustment (extrac braces) to
make sure it compiles with gcc.

Guess you have to look at the code yourself.

Regards,
Marc




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




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