On Sat, Nov 30, 2013 at 8:38 PM, Eitan Adler <li...@eitanadler.com> wrote:
> On Sat, Nov 30, 2013 at 11:26 PM, Peter Wemm <pe...@wemm.org> wrote:
>> On Sat, Nov 30, 2013 at 4:33 PM, Adrian Chadd <adr...@freebsd.org> wrote:
>> [..]
>>> Are you able to have clang/llvm/gcc tell us where/when code is relying
>>> on undefined behaviour? So we can, like, fix them?
>> It wasn't all that long ago that we had this wonderful thing called
>> -Werror and had a clean kernel build.
>> The problem is that gcc and clang have different warning sets.  I seem
>> to recall we had -Werror on for gcc and off for clang.  IMHO it would
>> be more useful to do it the other way around.
> Not all cases can be caught by static analysis.  They would all be
> caught be the integer sanitizer.  However, these have not yet been
> ported to FreeBSD.

I also missed the  -Wno-error-tautological-compare setting. Oops.

I personally tweak my builds a little so that:

  CC ../../../kern/kern_acct.c
  CC ../../../kern/kern_clock.c
WARNING: kern_clock.c: enum pmc_event has too many values: 1669 > 1023
  CC ../../../kern/kern_condvar.c
  CC ../../../kern/kern_conf.c
  CC ../../../kern/kern_cons.c
  CC ../../../kern/kern_cpu.c
  CC ../../../kern/kern_cpuset.c
../../../kern/kern_cpuset.c:637:16: warning: comparison of unsigned
expression < 0 is always false [-Wtautological-compare]
        for (i = 0; i < (_NCPUWORDS - 1); i++) {
                    ~ ^ ~~~~~~~~~~~~~~~~
1 warning generated.
  CC ../../../kern/kern_context.c
  CC ../../../kern/kern_descrip.c
  CC ../../../kern/kern_dtrace.c

Warnings stand out nicely that way.

The diff is along these lines:

--- kern.pre.mk    (revision 258784)
+++ kern.pre.mk    (working copy)
@@ -126,12 +126,12 @@
 # Optional linting. This can be overridden in /etc/make.conf.

+NORMAL_C= @echo "  CC ${.IMPSRC}" ; ${CC} -c ${CFLAGS} ${WERROR}
+NORMAL_S= @echo "  AS ${.IMPSRC}" ; ${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}

Unfortunately that interferes with my usual use of 'make -s' - silent.
Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV
UTF-8: for when a ' just won\342\200\231t do.
freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to