cvs commit: src/sys/boot/arc/include arcfuncs.h src/sys/boot/i386/boot2 boot2.c src/sys/dev/aic7xxx/aicasm aicasm.c src/sys/dev/cx machdep.h src/sys/dev/ichsmb ichsmb.c src/sys/dev/iir iir.h src/sys/dev/isp ispvar.h src/sys/dev/mcd mcdreg.h ...

Maxime Henrion mux at freebsd.org
Fri Mar 12 14:46:31 PST 2004


Ruslan Ermilov wrote:
> On Fri, Mar 12, 2004 at 01:45:45PM -0800, Tom Rhodes wrote:
> [...]
> > Index: src/sys/dev/mcd/mcdreg.h
> >  
> > -#ifdef __GNUC__
> > -#if __GNUC__ >= 2
> > +#if defined(__GNUC__) || defined(__INTEL_COMPILER)
> > +#if __GNUC__ >= 2 || defined(__INTEL_COMPILER)
> >  #pragma pack(1)
> >  #endif
> >  #endif
> >  
> > -#ifdef __GNUC__
> > -#if __GNUC__ >= 2
> > +#if defined(__GNUC__) || defined(__INTEL_COMPILER)
> > +#if __GNUC__ >= 2 || defined(__INTEL_COMPILER)
> >  #pragma pack(4)
> >  #endif
> >  #endif
> > 
> These ifdefs are broken.
> 
> #if (defined(__GNUC__) && __GNUC >= 2) || defined(__INTEL_COMPILER)
> 
> would be more correct.
> 
> > Index: src/sys/dev/scd/scdreg.h
> > -#ifdef __GNUC__
> > -#if __GNUC__ >= 2
> > +#if defined(__GNUC__) || defined(__INTEL_COMPILER)
> > +#if __GNUC__ >= 2 || defined(__INTEL_COMPILER)
> >  #pragma pack(1)
> >  #endif
> >  #endif
> > 
> Ditto.
> 
> > Index: src/sys/i386/i386/in_cksum.c
> [...]
> > +#if !defined(__GNUC__) || defined(__INTEL_COMPILER)
> > 
> What, __INTEL_COMPILER can have __GNUC__ defined?
> 
> > Index: src/sys/i386/include/_types.h
> > diff -u src/sys/i386/include/_types.h:1.7 src/sys/i386/include/_types.h:1.8
> > --- src/sys/i386/include/_types.h:1.7	Sat Mar 29 21:24:52 2003
> > +++ src/sys/i386/include/_types.h	Fri Mar 12 13:45:29 2004
> > @@ -113,12 +113,12 @@
> >  /*
> >   * Unusual type definitions.
> >   */
> > -#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
> > +#if (defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3) && !defined(__INTEL_COMPILER))
> > 
> Redundant surrounding parenthesis.
> 
> > Index: src/sys/i386/include/in_cksum.h
> [...]
> > +#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
> > 
> I think these are mutually exclusive already, no?
> 
> > Index: src/sys/i386/include/stdarg.h
> [...]
> > -#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
> > +#if (defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3) && !defined(__INTEL_COMPILER))
> >  
> Redundant parenthesis.
> 
> > Index: src/sys/sys/cdefs.h
> > -#ifndef __GNUC__
> > +#if !(defined(__GNUC__) || defined(__INTEL_COMPILER))
> > 
> Mechanical non-optimized changes?  ;)
> 
> > -#if !__GNUC_PREREQ__(2, 5)
> > +#if !__GNUC_PREREQ__(2, 5) && !defined(__INTEL_COMPILER)
> > 
> Better than above.  ;)

It would be even better IMHO if you had used __GNUC_PREREQ__ in other
files, to simplify all those tests.  There is however one small nit with
__GNUC_PREREQ__, that bde@ pointed to me in that in FreeBSD, we usually
prefer calling this kind of macros __GNUC_PREREQ, ie without the
underscores at the end.  I left them in for now because I wanted to keep
compatibility with OpenBSD (and NetBSD too IIRC), from which it was
taken.  If most people feel we should remove those, I'm not opposed to
it either (this _doesn't_ mean "let's go for another bikshed", thanks).

Cheers,
Maxime


More information about the cvs-src mailing list