Trying to compile current master on OS-X, and get:

        gcc -Iinclude -Iebtree -Wall  -O0 -g -fno-strict-aliasing
-Wdeclaration-after-statement -fwrapv -fno-strict-overflow 
-Wno-address-of-packed-member -Wno-null-dereference
-Wno-unused-label       -DTPROXY -DUSE_ZLIB  -DENABLE_POLL
-DENABLE_KQUEUE -DUSE_OPENSSL
-I/Users/phemmer/git/haproxy/openssl-1.1.0h/include -DUSE_LUA
-I/Users/phemmer/git/haproxy/lua-5.3.4/src
-I/Users/phemmer/git/haproxy/lua-5.3.4/src -DUSE_PCRE
-I/opt/local/include  -DCONFIG_HAPROXY_VERSION=\"1.9-dev0-ba86c6-462\"
-DCONFIG_HAPROXY_DATE=\"2018/06/22\" \
                        -DBUILD_TARGET='"osx"' \
                        -DBUILD_ARCH='""' \
                        -DBUILD_CPU='"generic"' \
                        -DBUILD_CC='"gcc"' \
                        -DBUILD_CFLAGS='"-O0 -g -fno-strict-aliasing
-Wdeclaration-after-statement -fwrapv -fno-strict-overflow
-Wno-address-of-packed-member -Wno-null-dereference -Wno-unused-label"' \
                        -DBUILD_OPTIONS='"USE_ZLIB=1 USE_OPENSSL=1
USE_LUA=1 USE_PCRE=1"' \
                         -c -o src/haproxy.o src/haproxy.c
        clang: warning: argument unused during compilation:
'-fno-strict-overflow' [-Wunused-command-line-argument]
        src/haproxy.c:2476:16: error: cannot take the address of an
rvalue of type 'unsigned long'
                        HA_ATOMIC_AND(&all_threads_mask, ~tid_bit);
                                      ^~~~~~~~~~~~~~~~~
        include/common/hathreads.h:41:42: note: expanded from macro
'HA_ATOMIC_AND'
        #define HA_ATOMIC_AND(val, flags)    ({*(val) &= (flags);})
                                                 ^~~
        1 error generated.
        make: *** [src/haproxy.o] Error 1

Built with: Apple LLVM version 9.0.0 (clang-900.0.39.2)

This broke in change ba86c6c:
commit ba86c6c25bf252e44589ae2b4d51a67c4f47d244 (HEAD -> master,
origin/master, origin/HEAD)
Author: Christopher Faulet <cfau...@haproxy.com>
Date:   Thu Jun 21 09:57:39 2018 +0200

    MINOR: threads: Be sure to remove threads from all_threads_mask on exit
   
    When HAProxy is started with several threads, Each running thread
holds a bit in
    the bitfiled all_threads_mask. This bitfield is used here and there
to check
    which threads are registered to take part in a specific processing.
So when a
    thread exits, it seems normal to remove it from all_threads_mask.
   
    No direct impact could be identified with this right now but it would
    be better to backport it to 1.8 as a preventive measure to avoid complex
    situations like the one in previous bug.



-Patrick

Reply via email to