Warnings from clang 7.0 when compiling dovecot-openssl-common.c from dovecot
2.3.5 with openssl 1.1.1a.
This is dovecot's configuration:
> config_options="--prefix=$prefix \
> --sysconfdir=$prefix/etc \
> --datarootdir=$prefix/share \
> --mandir=$man \
> --docdir=$doc \
> --with-docs \
> --with-ssl=openssl --with-ssldir=$prefix/etc \
> --with-sodium \
> --with-libiconv-prefix=/opt/libiconv \
> \
> --with-bzlib=no \
> --with-gssapi=no \
> --with-ldap=no \
> --with-lucene=no \
> --with-lz4=no \
> --with-lzma=no \
> --with-pam=no \
> --with-solr=no \
> --with-sql=no \
> --with-vpopmail=no \
> --with-zlib=no \
> \
> --enable-dependency-tracking";
Note on passing: --with-ssldir=$prefix/etc is ignored by the configurator, as
it forces $prefix/etc/dovecot.
dovecot-openssl-common.c:61:31: warning: incompatible pointer types passing
'void *(size_t)' (aka 'void *(unsigned long)') to parameter of type 'void
*(*)(size_t, const char *, int)' (aka 'void *(*)(unsigned long, const char *,
int)') [-Wincompatible-pointer-types]
if (CRYPTO_set_mem_functions(dovecot_openssl_malloc,
^~~~~~~~~~~~~~~~~~~~~~
/opt/openssl/include/openssl/crypto.h:262:17: note: passing argument to
parameter 'm' here
void *(*m) (size_t, const char *, int),
^
dovecot-openssl-common.c:62:10: warning: incompatible pointer types passing
'void *(void *, size_t)' (aka 'void *(void *, unsigned long)') to parameter of
type 'void *(*)(void *, size_t, const char *, int)' (aka 'void *(*)(void *,
unsigned long, const char *, int)') [-Wincompatible-pointer-types]
dovecot_openssl_realloc,
dovecot_openssl_free) == 0) {
^~~~~~~~~~~~~~~~~~~~~~~
/opt/openssl/include/openssl/crypto.h:263:17: note: passing argument to
parameter 'r' here
void *(*r) (void *, size_t, const char *, int),
^
dovecot-openssl-common.c:62:35: warning: incompatible pointer types passing
'void (void *)' to parameter of type 'void (*)(void *, const char *, int)'
[-Wincompatible-pointer-types]
dovecot_openssl_realloc,
dovecot_openssl_free) == 0) {
^~~~~~~~~~~~~~~~~~~~
/opt/openssl/include/openssl/crypto.h:264:16: note: passing argument to
parameter 'f' here
void (*f) (void *, const char *, int));
^
3 warnings generated.
Command line (with current working directory = .):
/opt/perl/bin/perl ./Configure no-ssl3 no-ssl3-method no-aria no-camellia
no-cast no-gost no-idea no-rc2 no-rc4 no-rc5 no-seed no-sm2 no-sm3 no-sm4
no-psk no-srp enable-cms -DTERMIOS -DANSI_SOURCE shared no-zlib
--prefix=/opt/openssl --openssldir=/etc/ssl darwin64-x86_64-cc
Perl information:
/opt/perl/bin/perl
5.28.1 for darwin-2level
Enabled features:
asm
async
autoalginit
autoerrinit
autoload-config
bf
blake2
capieng
chacha
cmac
cms
comp
ct
deprecated
des
dgram
dh
dsa
dso
dtls
dynamic-engine
ec
ec2m
ecdh
ecdsa
engine
err
filenames
hw(-.+)?
makedepend
md4
mdc2
multiblock
nextprotoneg
ocb
ocsp
pic
poly1305
posix-io
rdrand
rfc3779
rmd160
scrypt
shared
siphash
sock
srtp
sse2
ssl
static-engine
stdio
tests
threads
tls
ts
ui-console
whirlpool
tls1
tls1-method
tls1_1
tls1_1-method
tls1_2
tls1_2-method
tls1_3
dtls1
dtls1-method
dtls1_2
dtls1_2-method
Disabled features:
afalgeng [not-linux]
aria [option] OPENSSL_NO_ARIA (skip
crypto/aria)
asan [default] OPENSSL_NO_ASAN
camellia [option] OPENSSL_NO_CAMELLIA (skip
crypto/camellia)
cast [option] OPENSSL_NO_CAST (skip
crypto/cast)
crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
crypto-mdebug-backtrace [default]
OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
devcryptoeng [default] OPENSSL_NO_DEVCRYPTOENG
ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
egd [default] OPENSSL_NO_EGD
external-tests [default] OPENSSL_NO_EXTERNAL_TESTS
fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER
fuzz-afl [default] OPENSSL_NO_FUZZ_AFL
gost [option] OPENSSL_NO_GOST
heartbeats [default] OPENSSL_NO_HEARTBEATS
idea [option] OPENSSL_NO_IDEA (skip
crypto/idea)
md2 [default] OPENSSL_NO_MD2 (skip
crypto/md2)
msan [default] OPENSSL_NO_MSAN
psk [option] OPENSSL_NO_PSK
rc2 [option] OPENSSL_NO_RC2 (skip
crypto/rc2)
rc4 [option] OPENSSL_NO_RC4 (skip
crypto/rc4)
rc5 [option] OPENSSL_NO_RC5 (skip
crypto/rc5)
sctp [default] OPENSSL_NO_SCTP
seed [option] OPENSSL_NO_SEED (skip
crypto/seed)
sm2 [option] OPENSSL_NO_SM2 (skip
crypto/sm2)
sm3 [option] OPENSSL_NO_SM3 (skip
crypto/sm3)
sm4 [option] OPENSSL_NO_SM4 (skip
crypto/sm4)
srp [option] OPENSSL_NO_SRP (skip
crypto/srp)
ssl-trace [default] OPENSSL_NO_SSL_TRACE
ubsan [default] OPENSSL_NO_UBSAN
unit-test [default] OPENSSL_NO_UNIT_TEST
weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS
zlib [option]
zlib-dynamic [default]
ssl3 [option(ssl3-method)] OPENSSL_NO_SSL3
ssl3-method [option] OPENSSL_NO_SSL3_METHOD
Config target attributes:
AR => "ar",
ARFLAGS => "r",
CC => "cc",
CFLAGS => "-O3 -Wall",
HASHBANGPERL => "/usr/bin/env perl",
RANLIB => "ranlib -c",
RC => "windres",
aes_asm_src => "aes-x86_64.s vpaes-x86_64.s bsaes-x86_64.s aesni-x86_64.s
aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s",
aes_obj => "aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o
aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o",
apps_aux_src => "",
apps_init_src => "",
apps_obj => "",
bf_asm_src => "bf_enc.c",
bf_obj => "bf_enc.o",
bn_asm_src => "asm/x86_64-gcc.c x86_64-mont.s x86_64-mont5.s x86_64-gf2m.s
rsaz_exp.c rsaz-x86_64.s rsaz-avx2.s",
bn_obj => "asm/x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o
rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o",
bn_ops => "SIXTY_FOUR_BIT_LONG",
build_file => "Makefile",
build_scheme => [ "unified", "unix" ],
cast_asm_src => "c_enc.c",
cast_obj => "c_enc.o",
cflags => "-arch x86_64",
chacha_asm_src => "chacha-x86_64.s",
chacha_obj => "chacha-x86_64.o",
cmll_asm_src => "cmll-x86_64.s cmll_misc.c",
cmll_obj => "cmll-x86_64.o cmll_misc.o",
cppflags => "-D_REENTRANT",
cpuid_asm_src => "x86_64cpuid.s",
cpuid_obj => "x86_64cpuid.o",
defines => [ ],
des_asm_src => "des_enc.c fcrypt_b.c",
des_obj => "des_enc.o fcrypt_b.o",
disable => [ ],
dso_extension => ".dylib",
dso_scheme => "dlfcn",
ec_asm_src => "ecp_nistz256.c ecp_nistz256-x86_64.s x25519-x86_64.s",
ec_obj => "ecp_nistz256.o ecp_nistz256-x86_64.o x25519-x86_64.o",
enable => [ ],
exe_extension => "",
includes => [ ],
keccak1600_asm_src => "keccak1600-x86_64.s",
keccak1600_obj => "keccak1600-x86_64.o",
lflags => "-Wl,-search_paths_first",
lib_cflags => "",
lib_cppflags => "-DL_ENDIAN",
lib_defines => [ ],
md5_asm_src => "md5-x86_64.s",
md5_obj => "md5-x86_64.o",
modes_asm_src => "ghash-x86_64.s aesni-gcm-x86_64.s",
modes_obj => "ghash-x86_64.o aesni-gcm-x86_64.o",
module_cflags => "-fPIC",
module_cxxflags => "",
module_ldflags => "-bundle",
padlock_asm_src => "e_padlock-x86_64.s",
padlock_obj => "e_padlock-x86_64.o",
perlasm_scheme => "macosx",
poly1305_asm_src => "poly1305-x86_64.s",
poly1305_obj => "poly1305-x86_64.o",
rc4_asm_src => "rc4-x86_64.s rc4-md5-x86_64.s",
rc4_obj => "rc4-x86_64.o rc4-md5-x86_64.o",
rc5_asm_src => "rc5_enc.c",
rc5_obj => "rc5_enc.o",
rmd160_asm_src => "",
rmd160_obj => "",
sha1_asm_src => "sha1-x86_64.s sha256-x86_64.s sha512-x86_64.s
sha1-mb-x86_64.s sha256-mb-x86_64.s",
sha1_obj => "sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o
sha256-mb-x86_64.o",
shared_cflag => "-fPIC",
shared_defines => [ ],
shared_extension => ".\$(SHLIB_VERSION_NUMBER).dylib",
shared_extension_simple => ".dylib",
shared_ldflag => "-dynamiclib -current_version \$(SHLIB_VERSION_NUMBER)
-compatibility_version \$(SHLIB_VERSION_NUMBER)",
shared_rcflag => "",
shared_sonameflag => "-install_name \$(INSTALLTOP)/\$(LIBDIR)/",
shared_target => "darwin-shared",
sys_id => "MACOSX",
thread_defines => [ ],
thread_scheme => "pthreads",
unistd => "<unistd.h>",
uplink_aux_src => "",
uplink_obj => "",
wp_asm_src => "wp-x86_64.s",
wp_obj => "wp-x86_64.o",
Recorded environment:
AR = /opt/llvm/bin/llvm-ar
BUILDFILE =
CC = /opt/llvm/bin/clang
CROSS_COMPILE =
CXX = /opt/llvm/bin/clang++
HASHBANGPERL =
OPENSSL_LOCAL_CONFIG_DIR =
PERL =
RANLIB = /opt/llvm/bin/llvm-ranlib
RC =
WINDRES =
__CNF_CFLAGS =
__CNF_CPPDEFINES =
__CNF_CPPFLAGS =
__CNF_CPPINCLUDES =
__CNF_CXXFLAGS =
__CNF_LDFLAGS =
__CNF_LDLIBS =
Makevars:
AR = /opt/llvm/bin/llvm-ar
ARFLAGS = r
CC = /opt/llvm/bin/clang
CFLAGS = -O3 -Wall
CPPDEFINES = TERMIOS ANSI_SOURCE
CPPFLAGS =
CPPINCLUDES =
CXX = /opt/llvm/bin/clang++
CXXFLAGS =
HASHBANGPERL = /usr/bin/env perl
LDFLAGS =
LDLIBS =
PERL = /opt/perl/bin/perl
RANLIB = /opt/llvm/bin/llvm-ranlib
RC = windres
NOTE: These variables only represent the configuration view. The build file
template may have processed these variables further, please have a look at the
build file for more exact data:
Makefile
build file:
Makefile
build file templates:
Configurations/common0.tmpl
Configurations/unix-Makefile.tmpl
Configurations/common.tmpl