Date: Tue, 16 Apr 2013 06:19:43 +0200 From: keramida@ceid.upatras.gr (=?utf-8?B?zpPOuc+Oz4HOs86/z4IgzprOtc+BzrE=?= =?utf-8?B?zrzOr860zrHPgg==?=) To: Dimitry Andric <dim@FreeBSD.org>, Gregory Shapiro <gshapiro@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r246880 - in head: lib/libsm libexec/mail.local libexec/smrsh share/mk usr.bin/vacation usr.sbin/sendmail Message-ID: <87a9ozayzk.fsf@saturn.laptop> In-Reply-To: <201302162017.r1GKHVdY022667@svn.freebsd.org> (Dimitry Andric's message of "Sat, 16 Feb 2013 20:17:31 %2B0000 (UTC)") References: <201302162017.r1GKHVdY022667@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 16 Feb 2013 20:17:31 +0000 (UTC), Dimitry Andric <dim@FreeBSD.org> wrote: > Author: dim > Date: Sat Feb 16 20:17:31 2013 > New Revision: 246880 > URL: http://svnweb.freebsd.org/changeset/base/246880 > > Log: > Since clang 3.2 now has an option to suppress warnings about implicitly > promoted K&R parameters, remove the workarounds added for sendmail > components in r228558. > > MFC after: 1 week > Modified: head/usr.sbin/sendmail/Makefile > ============================================================================== > --- head/usr.sbin/sendmail/Makefile Sat Feb 16 19:11:57 2013 (r246879) > +++ head/usr.sbin/sendmail/Makefile Sat Feb 16 20:17:31 2013 (r246880) > @@ -45,11 +45,6 @@ CFLAGS+= -DNETINET6 > > WARNS?= 1 > > -# Unfortunately, clang gives warnings about sendmail code that cannot > -# be turned off yet. Since this is contrib code, and we don't really > -# care about the warnings, just make them non-fatal for now. > -NO_WERROR.clang= > - > DPADD= ${LIBUTIL} ${LIBWRAP} > LDADD= -lutil -lwrap The part of the commit that removes NO_WERROR.clang for usr.sbin/sendmail/ breaks the build of Sendmail with -DSASL. I just tried rebuilding Sendmail with the following in "/etc/make.conf": # Build Sendmail with SASL support. SENDMAIL_CFLAGS ?= -I/usr/local/include -DSASL=20126 SENDMAIL_LDFLAGS ?= -L/usr/local/lib SENDMAIL_LDADD ?= -lsasl2 The warnings that usersmtp.c still triggers when -DSASL is used are: : cc -O2 -pipe -I/usr/src/usr.sbin/sendmail/../../contrib/sendmail/src -I/usr/src/usr.sbin/sendmail/../../contrib/sendmail/include -I. -DNEWDB -DNIS -DTCPWRAPPERS -DMAP_REGEX -DDNSMAP -DNETINET6 -DSTARTTLS -D_FFR_TLS_1 -I/usr/local/include -DSASL=20126 -std=gnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-conversion -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses -c /usr/src/usr.sbin/sendmail/../../contrib/sendmail/src/usersmtp.c : /usr/src/usr.sbin/sendmail/../../contrib/sendmail/src/usersmtp.c:1797:50: warning: incompatible pointer types passing 'void ()' to parameter of type 'void (*)(char *, bool, MAILER *, struct : mailer_con_info *, ENVELOPE *)' [-Wincompatible-pointer-types] : smtpresult = reply(m, mci, e, TimeOuts.to_auth, getsasldata, NULL, : ^~~~~~~~~~~ : /usr/src/usr.sbin/sendmail/../../contrib/sendmail/src/sendmail.h:2519:67: note: passing argument to parameter here : extern int reply __P((MAILER *, MCI *, ENVELOPE *, time_t, void (*)__P((char *, bool, MAILER *, MCI *, ENVELOPE *)), char **, int)); : ^ : /usr/include/sys/cdefs.h:136:21: note: expanded from macro '__P' : #define __P(protos) protos /* full-blown ANSI C */ : ^ : /usr/src/usr.sbin/sendmail/../../contrib/sendmail/src/usersmtp.c:1842:9: warning: incompatible pointer types passing 'void ()' to parameter of type 'void (*)(char *, bool, MAILER *, struct : mailer_con_info *, ENVELOPE *)' [-Wincompatible-pointer-types] : getsasldata, NULL, XS_AUTH); : ^~~~~~~~~~~ : /usr/src/usr.sbin/sendmail/../../contrib/sendmail/src/sendmail.h:2519:67: note: passing argument to parameter here : extern int reply __P((MAILER *, MCI *, ENVELOPE *, time_t, void (*)__P((char *, bool, MAILER *, MCI *, ENVELOPE *)), char **, int)); : ^ : /usr/include/sys/cdefs.h:136:21: note: expanded from macro '__P' : #define __P(protos) protos /* full-blown ANSI C */ : ^ : /usr/src/usr.sbin/sendmail/../../contrib/sendmail/src/usersmtp.c:1864:8: warning: incompatible pointer types passing 'void ()' to parameter of type 'void (*)(char *, bool, MAILER *, struct : mailer_con_info *, ENVELOPE *)' [-Wincompatible-pointer-types] : getsasldata, NULL, XS_AUTH); : ^~~~~~~~~~~ : /usr/src/usr.sbin/sendmail/../../contrib/sendmail/src/sendmail.h:2519:67: note: passing argument to parameter here : extern int reply __P((MAILER *, MCI *, ENVELOPE *, time_t, void (*)__P((char *, bool, MAILER *, MCI *, ENVELOPE *)), char **, int)); : ^ : /usr/include/sys/cdefs.h:136:21: note: expanded from macro '__P' : #define __P(protos) protos /* full-blown ANSI C */ : ^ : 3 warnings generated. We have to either fix the warnings in the contrib/sendmail/src/usersmtp.c code or put back NO_WERROR.clang, at least for usr.sbin/sendmail/Makefile.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87a9ozayzk.fsf>