From owner-freebsd-current@FreeBSD.ORG Wed Jun 6 16:51:57 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6B960106566B; Wed, 6 Jun 2012 16:51:57 +0000 (UTC) (envelope-from venture37@gmail.com) Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id C08048FC16; Wed, 6 Jun 2012 16:51:56 +0000 (UTC) Received: by werg1 with SMTP id g1so5681935wer.13 for ; Wed, 06 Jun 2012 09:51:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=60IVqkiLZL6Q5vjh9TZblBAtE+WtWS+mE7QTf7NpVRU=; b=UYWq2b9NFaXib1bqlOgmH9Oin/n6Iwn6Xs4bHas1oyfSSaWZ+eLzUswBIWb90xiwKa 7OgUmrlDs7Ftq6/raiFRjxI/wwHvST9q69CrK/Xzx6wtyGSx8dsPt+e1ydmX8oDwwO2q pe4iJZ1j7dIHKWv/2lFOkaAT43SD3v4yzyfmg57CjCwPvDlGeXCqjMXb+xX3+wAaus+1 I2c2CzSUwiCutO+L6Mr7kBF9azCSOLcLted1ia3At9jJwjdFkV//79ON35xCkQ/+ky0d Kl02xLl2IlszsY9bYuUtjPe9yynY6/I1Lab8rH96bIcLmMzOCcUqLOy7O+w7c0gxryRB EjFg== MIME-Version: 1.0 Received: by 10.216.227.101 with SMTP id c79mr2785031weq.188.1339001509780; Wed, 06 Jun 2012 09:51:49 -0700 (PDT) Received: by 10.180.96.40 with HTTP; Wed, 6 Jun 2012 09:51:49 -0700 (PDT) In-Reply-To: <4FCF35BF.5080006@FreeBSD.org> References: <4FCE8306.1020000@gmail.com> <4FCF35BF.5080006@FreeBSD.org> Date: Wed, 6 Jun 2012 17:51:49 +0100 Message-ID: From: "Sevan / Venture37" To: Dimitry Andric Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: "freebsd-current@freebsd.org" Subject: Re: Unable to buildworld with ccache X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Jun 2012 16:51:57 -0000 On 6 June 2012 11:49, Dimitry Andric wrote: > This is because clang suppresses a number of warnings for specific > patterns in macros. =C2=A0Since ccache passes clang the preprocessed file= , > those suppressions will not work, and some additional warnings can be > triggered. > > See also the following threads on the cfe-dev mailing list: > > =C2=A0http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-September/017250.ht= ml > =C2=A0http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-June/021824.html > > That said, I had a look at the specific warnings you posted for libc, > and they are easy enough to fix. =C2=A0Please try the attached patch. Worked a treat, now it barfs on libelf /usr/local/libexec/ccache/world/cc -O2 -fno-strict-aliasing -pipe -march=3Dcore2 -I/usr/src/lib/libelf -I/usr/src/lib/libelf/../../sys -DLIBELF_TEST_HOOKS -std=3Dgnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -c /usr/src/lib/libelf/elf_strptr.c -o elf_strptr.o In file included from /usr/src/lib/libelf/elf_scn.c:1: /usr/src/lib/libelf/elf_scn.c:198:41: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] if (((&e->e_u.e_elf.e_scn)->stqh_first =3D=3D ((void *)0))) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /usr/src/lib/libelf/elf_scn.c:198:41: note: remove extraneous parentheses around the comparison to silence this warning if (((&e->e_u.e_elf.e_scn)->stqh_first =3D=3D ((void *)0))) { ~ ^ ~ /usr/src/lib/libelf/elf_scn.c:198:41: note: use '=3D' to turn this equality comparison into an assignment if (((&e->e_u.e_elf.e_scn)->stqh_first =3D=3D ((void *)0))) { ^~ =3D 1 error generated. *** [elf_scn.So] Error code 1 In file included from /usr/src/lib/libelf/elf_scn.c:1: /usr/src/lib/libelf/elf_scn.c:198:41: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] if (((&e->e_u.e_elf.e_scn)->stqh_first =3D=3D ((void *)0))) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /usr/src/lib/libelf/elf_scn.c:198:41: note: remove extraneous parentheses around the comparison to silence this warning if (((&e->e_u.e_elf.e_scn)->stqh_first =3D=3D ((void *)0))) { ~ ^ ~ /usr/src/lib/libelf/elf_scn.c:198:41: note: use '=3D' to turn this equality comparison into an assignment if (((&e->e_u.e_elf.e_scn)->stqh_first =3D=3D ((void *)0))) { ^~ =3D 1 error generated. *** [elf_scn.o] Error code 1 In file included from /usr/src/lib/libelf/elf_update.c:1: /usr/src/lib/libelf/elf_update.c:570:32: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] if (((&s->s_data)->stqh_first =3D=3D ((void *)0))) { ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /usr/src/lib/libelf/elf_update.c:570:32: note: remove extraneous parentheses around the comparison to silence this warning if (((&s->s_data)->stqh_first =3D=3D ((void *)0))) { ~ ^ ~ /usr/src/lib/libelf/elf_update.c:570:32: note: use '=3D' to turn this equality comparison into an assignment if (((&s->s_data)->stqh_first =3D=3D ((void *)0))) { ^~ =3D 1 error generated. *** [elf_update.o] Error code 1