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

Reply via email to