Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Dec 2022 19:16:37 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 268204] mail/dovecot: fix build with clang 15
Message-ID:  <bug-268204-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D268204

            Bug ID: 268204
           Summary: mail/dovecot: fix build with clang 15
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ler@FreeBSD.org
          Reporter: dim@FreeBSD.org
             Flags: maintainer-feedback?(ler@FreeBSD.org)
          Assignee: ler@FreeBSD.org

During an exp-run for llvm 15 (see bug 265425), it turned out that mail/dov=
ecot
failed to build with clang 15:

ioloop-notify-kqueue.c:70:2: error: call to undeclared function
'i_gettimeofday'; ISO C99 and later do not support implicit function
declarations [-Wimplicit-function-declaration]
        i_gettimeofday(&ioloop_timeval);
        ^
ioloop-notify-kqueue.c:70:2: note: did you mean 'gettimeofday'?
/usr/include/sys/time.h:617:5: note: 'gettimeofday' declared here
int     gettimeofday(struct timeval *, struct timezone *);
        ^

...
--- test-mail-index-transaction-update.o ---
test-mail-index-transaction-update.c:633:14: warning: comparison of function
'timezone' equal to a null pointer is always false
[-Wtautological-pointer-compare]
        test_assert(timezone =3D=3D 0);
                    ^~~~~~~~    ~
../../src/lib-test/test-common.h:20:8: note: expanded from macro 'test_asse=
rt'
        if (!(code)) test_assert_failed(#code, __FILE__, __LINE__); \
              ^~~~
test-mail-index-transaction-update.c:633:14: note: prefix with the address-=
of
operator to silence this warning
        test_assert(timezone =3D=3D 0);
                    ^
                    &
../../src/lib-test/test-common.h:20:8: note: expanded from macro 'test_asse=
rt'
        if (!(code)) test_assert_failed(#code, __FILE__, __LINE__); \
              ^
test-mail-index-transaction-update.c:648:42: warning: arithmetic on a point=
er
to the function type 'char *(int, int)' is a GNU extension
[-Wgnu-pointer-arith]
                hdr.day_stamp =3D tests[i].old_day_stamp + timezone;
                                                       ^ ~~~~~~~~
test-mail-index-transaction-update.c:648:17: error: incompatible pointer to
integer conversion assigning to 'uint32_t' (aka 'unsigned int') from 'char
*(*)(int, int)' [-Wint-conversion]
                hdr.day_stamp =3D tests[i].old_day_stamp + timezone;
                              ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test-mail-index-transaction-update.c:650:49: warning: arithmetic on a point=
er
to the function type 'char *(int, int)' is a GNU extension
[-Wgnu-pointer-arith]
                mail_index_update_day_headers(t, tests[i].now + timezone);
                                                              ^ ~~~~~~~~
test-mail-index-transaction-update.c:650:36: error: incompatible pointer to
integer conversion passing 'char *(*)(int, int)' to parameter of type 'time=
_t'
(aka 'long') [-Wint-conversion]
                mail_index_update_day_headers(t, tests[i].now + timezone);
                                                 ^~~~~~~~~~~~~~~~~~~~~~~
./mail-index-transaction-private.h:127:77: note: passing argument to parame=
ter
'day_stamp' here
void mail_index_update_day_headers(struct mail_index_transaction *t, time_t
day_stamp);
                                                                           =
 ^
test-mail-index-transaction-update.c:654:63: warning: arithmetic on a point=
er
to the function type 'char *(int, int)' is a GNU extension
[-Wgnu-pointer-arith]
                test_assert_idx(new_hdr.day_stamp =3D=3D tests[i].new_day_s=
tamp +
timezone, i);
                                                                           =
 ^
~~~~~~~~
../../src/lib-test/test-common.h:26:9: note: expanded from macro
'test_assert_idx'
                if (!(code)) test_assert_failed_idx(#code, __FILE__, __LINE=
__,
i); \
                      ^~~~
test-mail-index-transaction-update.c:654:37: warning: comparison between
pointer and integer ('uint32_t' (aka 'unsigned int') and 'char *(*)(int, in=
t)')
[-Wpointer-integer-compare]
                test_assert_idx(new_hdr.day_stamp =3D=3D tests[i].new_day_s=
tamp +
timezone, i);
                                ~~~~~~~~~~~~~~~~~ ^=20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/lib-test/test-common.h:26:9: note: expanded from macro
'test_assert_idx'
                if (!(code)) test_assert_failed_idx(#code, __FILE__, __LINE=
__,
i); \
                      ^~~~

Fix these warnings and errors by importing:
https://github.com/dovecot/core/commit/e983ead775671186b3c8567d59973d2e52b6=
78c7
https://github.com/dovecot/core/commit/1a7b1f66fe4b86cb642dbcfe5a0192c1b77d=
0e17
https://github.com/dovecot/core/commit/867a37fa7b74f798a931fb582214b5377f57=
610e

--=20
You are receiving this mail because:
You are the assignee for the bug.=



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